GNU bug report logs -
#49124
Wdired doesn't like re-search-forward/replace-match
Previous Next
Reported by: Eduardo Ochs <eduardoochs <at> gmail.com>
Date: Sun, 20 Jun 2021 00:34:02 UTC
Severity: normal
Tags: moreinfo, patch
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Here's how to see the bug in action. Define `foo' by executing this
defun:
(defun foo (s e)
"Replace all `a's by `b's in the region."
(interactive "r")
(save-excursion
(save-restriction
(narrow-to-region s e)
(goto-char (point-min))
(while (re-search-forward "a" nil 'noerror)
(replace-match "b" 'fixedcase 'literal)))))
and run this to create a directory /tmp/foo with some scratch files:
rm -Rv /tmp/foo/
mkdir /tmp/foo/
cd /tmp/foo/
touch aaaa
touch aaaaa
touch aaaaaa
Visit /tmp/foo/ in dired mode, and run `M-x
wdired-change-to-wdired-mode' to switch to wdired mode. Mark a region
with two "aa"s in the middle of one of the file names, and run `M-x
foo'. The first "a" will be changed to a "b" and `foo' will abort with
the error message "Text is read-only" - not good. Leave wdired with
`C-c C-c'. The "a" that was changed to a "b" will be reverted back to
an "a", and wdired will display the message "(No changes to be
performed)" - not good again.
Tested with this version of Emacs:
GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.5, cairo version 1.16.0) of 2021-06-08
on a Debian box, with:
~/bigsrc/emacs28/src/emacs \
-T emacs28 -fg bisque -bg black -fn 6x13 \
-Q ~/TODO
I told Emacs to ignore the local variables list in my ~/TODO file.
Cheers,
Eduardo Ochs
http://angg.twu.net/#eev
edrx at irc.libera.chat
This bug report was last modified 3 years and 301 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.