Subject: Re: bug#51337: Subject: 27.2; mouse-buffer-menu-mode-groups

From: Juri Linkov <[email-masked]>
Date: Mon, 08 Nov 2021 21:24:21 +0200

close 51337 28.0.60
quit

>> Oh, it's unfortunate that "log\\|diff..." also matches "verilog".
>> This regexp should be tightened to match only VC buffers, but
>> not buffers from other modes.  Maybe something like
>>
>>   ("vc.*log\\|diff\\|vc\\|cvs\\|Git\\|Annotate" . "Version Control")
>
> Makes sense to me -- there's also a bunch of other buffers that have
> names ending with "log", so it's not just about verilog buffers.

Some examples of mode names that belong to "Version Control":

  "Log-Edit/git" (e.g. in a buffer named "*vc-log*")
  "Git-Log-View" (e.g. "*vc-change-log*", "*vc-search-log*")
  "Change Log" (e.g. "ChangeLog")
  "Diff" (e.g. "*vc-diff*")
  "VC dir" (e.g. "*vc-dir*")
  "Annotate" (e.g. "*Annotate file*")

Grepping reveals more mode names belonging to "Version Control":

  "Log-Edit", "Log-View", "Bzr-Log-View", "Hg-Log-View",
  "Log-Edit/hg", "Mtn-Log-View", "SVN-Log-View"

Whereas here is a list of mode names that should be
excluded from "Version Control" and thus should not match:

  "Verilog", "Prolog", "Prolog[Mercury]", "Inferior Prolog",
  "Rlogin", "recentf-dialog"

So I pushed this fix to emacs-28:

diff --git a/lisp/mouse.el b/lisp/mouse.el
index d6912892ef..aa73c80d61 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -2477,7 +2481,7 @@ mouse-buffer-menu-mode-groups
     ("Text" . "Text")
     ("Outline" . "Text")
     ("\\(HT\\|SG\\|X\\|XHT\\)ML" . "SGML")
-    ("log\\|diff\\|vc\\|cvs\\|Git\\|Annotate" . "Version Control")
+    ("\\blog\\b\\|diff\\|\\bvc\\b\\|cvs\\|Git\\|Annotate" . "Version Control")
     ("Threads\\|Memory\\|Disassembly\\|Breakpoints\\|Frames\\|Locals\\|Registers\\|Inferior I/O\\|Debugger"
      . "GDB")
     ("Lisp" . "Lisp")))
--