GNU bug report logs - #61038
30.0.50; `project-query-replace-regexp' also attempts search and replace in auto-save files

Previous Next

Package: emacs;

Reported by: Mickey Petersen <mickey <at> masteringemacs.org>

Date: Tue, 24 Jan 2023 10:44:01 UTC

Severity: normal

Found in version 30.0.50

Full log


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

From: Mickey Petersen <mickey <at> masteringemacs.org>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: 61038 <at> debbugs.gnu.org
Subject: Re: bug#61038: 30.0.50; `project-query-replace-regexp' also
 attempts search and replace in auto-save files
Date: Wed, 25 Jan 2023 20:34:07 +0000
Dmitry Gutov <dgutov <at> yandex.ru> writes:

> On 25/01/2023 09:30, Mickey Petersen wrote:
>> Dmitry Gutov<dgutov <at> yandex.ru>  writes:
>>
>>> On 24/01/2023 12:37, Mickey Petersen wrote:
>>>> I think it'd be more useful if auto-save files (or even backup files)
>>>> were excluded from all the various `project-' commands that operate on
>>>> project files.
>>> I think that depends on the project backend.
>>>
>>> The default implementation uses grep-find-ignored-files (which include
>>> auto-save files, I think?).
>>>
>>> But the vc-aware backend ignores generally what the repository
>>> configuration tells it to ignore. Which would generally include
>>> auto-save files as well, but that depends on factors external to
>>> Emacs.
>>>
>>> What kind of backend were you trying this command with?
>> Default git backend. However, I'd charge that Emacs should know about
>> its own backup files (and not necessarily those of other Emacs
>> instances that may be running.)
>
> It's hard for me to say what is TRT here. If we explicitly ignore
> backups, does that mean we should add compiled objects files, etc,
> that is, everything from grep-find-ignored-files?
>
> But I have configured my backups to be saved inside ~/.emacs.d/
> directory, like a lot of people recommend. Via backup-directory-alist.
>
> If you don't do that, and you have them saved side-by-side inside Git
> repository, don't you usually add .gitignore rules for them then?
>
> So that they don't get in the way of other operations, outside of Emacs.

(Actually this issue also afflicts auto-save files in my Emacs.)

And the files in question are not committed to the index, nor are they
part of the git tree. So they're just stray files that happen to be
important (backup, auto save) to Emacs.

It seems odd that you'd want to search and replace those by default,
particularly when Emacs is well aware of the fact that they are indeed
backups or auto saves of other files used by that instance of Emacs.

And yes indeed: why not make the project replace mechanism ignore dumb
things no one wants to edit.

And committing large, binary files to a tree is common in a wide range
of situations, though less so in Git, as it's terrible at it.

So, yes, `grep-find-ignored-files' (or a project.el equivalent) should
indeed exist.




This bug report was last modified 2 years and 143 days ago.

Previous Next


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