GNU bug report logs - #68697
Add option to not always use *grep* buffer when executing `grep' or `vc-git-grep' command

Previous Next

Package: emacs;

Reported by: Nafiz Islam <nafiz.islam1001 <at> gmail.com>

Date: Wed, 24 Jan 2024 20:17:02 UTC

Severity: normal

Fix blocked by 68570: 29.1; recompile might not re-use project-compile's buffer

Full log


View this message in rfc822 format

From: Juri Linkov <juri <at> linkov.net>
To: Nafiz Islam <nafiz.islam1001 <at> gmail.com>
Cc: 68697 <at> debbugs.gnu.org
Subject: bug#68697: Add option to not always use *grep* buffer when executing `grep' or `vc-git-grep' command
Date: Thu, 25 Jan 2024 09:45:40 +0200
> The way `grep' and `vc-git-grep' works right now is that it will always
> output its result to a buffer called `*grep*'. So, if I perform another
> `grep' command, it will overwrite the previous grep result (unless I rename
> the buffer beforehand).
>
> I would like, at least, an option to create a new buffer each time a `grep'
> command is executed.

I'm using such config to create unique buffer names for
`compile' and `grep':

```
(setq compilation-buffer-name-function
      (lambda (name-of-mode)
        (generate-new-buffer-name
         (concat "*" (downcase name-of-mode) "*"))))
```

Currently in bug#68570 we are discussing about adding an option
to `project-compilation-buffer-name-function' to create unique names
for project compilation buffers.

So the same way we could turn `compilation-buffer-name-function'
into a defcustom with an option for unique compilation/grep buffers.

> Maybe each new buffer could be given the name based on
> the regexp or the grep shell command used.

A name based on a regexp could be another option indeed.
Here is what I'm using for xref buffer names with a regexp:

```
(with-eval-after-load 'project
  ;; Instead of numbers append the regexp to the xref buffer name:
  (define-advice project-find-regexp (:around (ofun &rest args) unique)
    (require 'xref)
    (let ((xref-buffer-name
           (generate-new-buffer-name
            (format "%s<%s>" xref-buffer-name (car args)))))
      (apply ofun args))))
```




This bug report was last modified 99 days ago.

Previous Next


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