GNU bug report logs - #60887
29.0.60; Same keys for vc-dir-mark-by-regexp and dired-mark-files-regexp

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> linkov.net>

Date: Tue, 17 Jan 2023 17:35:02 UTC

Severity: normal

Fixed in version 29.0.60

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 60887 in the body.
You can then email your comments to 60887 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#60887; Package emacs. (Tue, 17 Jan 2023 17:35:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Juri Linkov <juri <at> linkov.net>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 17 Jan 2023 17:35:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.60; Same keys for vc-dir-mark-by-regexp and
 dired-mark-files-regexp
Date: Tue, 17 Jan 2023 19:15:27 +0200
[Message part 1 (text/plain, inline)]
etc/NEWS:

 +++
 *** New command '%' ('vc-dir-mark-by-regexp').
 This command marks files based on a regexp.  If given a prefix
 argument, unmark instead.

This will cause problems when in the next versions users will request
more Dired keys in Vc-Dir.  For marking a regexp, Dired uses two keymaps:

  % m   dired-mark-files-regexp
  * %   dired-mark-files-regexp

This patch uses the same keys for compatibility between Dired and Vc-Dir:

[vc-dir-mark-by-regexp.patch (text/x-diff, inline)]
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 8c77ded55d3..6cb4309c21b 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -1331,11 +1331,17 @@ VC Directory Commands
 listed files and directories.
 
 @findex vc-dir-mark-by-regexp
-@item %
+@item % m
 You can use this command to mark files by regexp
 (@code{vc-dir-mark-by-regexp}).  If given a prefix, unmark files
 instead.
 
+@findex vc-dir-mark-registered-files
+@item * r
+You can use this command to mark files that are in one of registered
+state, including edited, added or removed.
+(@code{vc-dir-mark-registered-files}).
+
 @item G
 Add the file under point to the list of files that the VC should
 ignore (@code{vc-dir-ignore}).  For instance, if the VC is Git, it
diff --git a/etc/NEWS b/etc/NEWS
index ac338da71e8..435a84e7f81 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2077,7 +2077,7 @@ The VC Directory buffer now uses the prefix 'b' for these branch-related
 commands.
 
 +++
-*** New command '%' ('vc-dir-mark-by-regexp').
+*** New command '% m' ('vc-dir-mark-by-regexp').
 This command marks files based on a regexp.  If given a prefix
 argument, unmark instead.
 
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el
index 312556f644a..749539b9518 100644
--- a/lisp/vc/vc-dir.el
+++ b/lisp/vc/vc-dir.el
@@ -325,7 +325,6 @@ vc-dir-mode-map
     (define-key map "U" #'vc-dir-unmark-all-files)
     (define-key map "\C-?" #'vc-dir-unmark-file-up)
     (define-key map "\M-\C-?" #'vc-dir-unmark-all-files)
-    (define-key map "%" #'vc-dir-mark-by-regexp)
     ;; Movement.
     (define-key map "n" #'vc-dir-next-line)
     (define-key map " " #'vc-dir-next-line)
@@ -361,8 +360,13 @@ vc-dir-mode-map
       (define-key branch-map "l" #'vc-print-branch-log)
       (define-key branch-map "s" #'vc-switch-branch))
 
+    (let ((regexp-map (make-sparse-keymap)))
+      (define-key map "%" regexp-map)
+      (define-key regexp-map "m" #'vc-dir-mark-by-regexp))
+
     (let ((mark-map (make-sparse-keymap)))
       (define-key map "*" mark-map)
+      (define-key mark-map "%" #'vc-dir-mark-by-regexp)
       (define-key mark-map "r" #'vc-dir-mark-registered-files))
 
     ;; Hook up the menu.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60887; Package emacs. (Wed, 18 Jan 2023 13:04:02 GMT) Full text and rfc822 format available.

Message #8 received at 60887 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Juri Linkov <juri <at> linkov.net>
Cc: 60887 <at> debbugs.gnu.org
Subject: Re: bug#60887: 29.0.60;
 Same keys for vc-dir-mark-by-regexp and dired-mark-files-regexp
Date: Wed, 18 Jan 2023 15:03:36 +0200
> From: Juri Linkov <juri <at> linkov.net>
> Date: Tue, 17 Jan 2023 19:15:27 +0200
> 
> etc/NEWS:
> 
>  +++
>  *** New command '%' ('vc-dir-mark-by-regexp').
>  This command marks files based on a regexp.  If given a prefix
>  argument, unmark instead.
> 
> This will cause problems when in the next versions users will request
> more Dired keys in Vc-Dir.  For marking a regexp, Dired uses two keymaps:
> 
>   % m   dired-mark-files-regexp
>   * %   dired-mark-files-regexp
> 
> This patch uses the same keys for compatibility between Dired and Vc-Dir:

Thanks, this is okay for the emacs-29 branch.

> +@findex vc-dir-mark-registered-files
> +@item * r
> +You can use this command to mark files that are in one of registered
> +state, including edited, added or removed.
   ^^^^^
"states", I guess?

And why isn't there a NEWS entry about the second change you make
here?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60887; Package emacs. (Wed, 18 Jan 2023 17:57:01 GMT) Full text and rfc822 format available.

Message #11 received at 60887 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 60887 <at> debbugs.gnu.org
Subject: Re: bug#60887: 29.0.60; Same keys for vc-dir-mark-by-regexp and
 dired-mark-files-regexp
Date: Wed, 18 Jan 2023 19:56:03 +0200
close 60887 29.0.60
quit

>>  *** New command '%' ('vc-dir-mark-by-regexp').
>>  This command marks files based on a regexp.  If given a prefix
>>  argument, unmark instead.
>> 
>> This will cause problems when in the next versions users will request
>> more Dired keys in Vc-Dir.  For marking a regexp, Dired uses two keymaps:
>> 
>>   % m   dired-mark-files-regexp
>>   * %   dired-mark-files-regexp
>> 
>> This patch uses the same keys for compatibility between Dired and Vc-Dir:
>
> Thanks, this is okay for the emacs-29 branch.

Pushed.

>> +@findex vc-dir-mark-registered-files
>> +@item * r
>> +You can use this command to mark files that are in one of registered
>> +state, including edited, added or removed.
>    ^^^^^
> "states", I guess?
>
> And why isn't there a NEWS entry about the second change you make
> here?

Fixed as well.




bug marked as fixed in version 29.0.60, send any further explanations to 60887 <at> debbugs.gnu.org and Juri Linkov <juri <at> linkov.net> Request was from Juri Linkov <juri <at> linkov.net> to control <at> debbugs.gnu.org. (Wed, 18 Jan 2023 17:57:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 16 Feb 2023 12:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 82 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.