Subject: bug#48625: 28.0.50; Cannot replace more than one match in wdired mode

From: Alexis Praga <[email-masked]>
Date: Mon, 24 May 2021 17:38:27 +0200

Hi,

In wdired-mode, it looks like I only replace the first match.
Steps to reproduce :

1. Open a folder in wdired-mode
2. M-x replace-string

This should only replace the first occurences and fails for other with
the backtrace below:

Debugger entered--Lisp error: (error "Match data clobbered by buffer
modification hooks")
  replace-match-maybe-edit("LOL" nil t nil (1992 1994 #<buffer alex<home>>)
nil)
  perform-replace("py" "LOL" nil nil nil nil nil nil nil nil nil)
  replace-string("py" "LOL" nil nil nil nil nil)
  funcall-interactively(replace-string "py" "LOL" nil nil nil nil nil)
  command-execute(replace-string record)
  execute-extended-command(nil "replace-string" nil)
  funcall-interactively(execute-extended-command nil "replace-string" nil)
  command-execute(execute-extended-command)

My setup is below. Thanks !

8<-------------------------------------------------------------------------------

In GNU Emacs 28.0.50 (build 1, x86_64-unknown-freebsd13.0, GTK+ Version
3.24.27, cairo version 1.16.0)
 of 2021-04-20 built on ecchi
Repository revision: b5c76530fab4b99e76249bfb9a105b30bef4ce67
Repository branch: feature/native-comp
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: 13.0-RELEASE

Configured using:
 'configure --with-native-compilation'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBOTF LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY KQUEUE PDUMPER
PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3
ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Debugger

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: (only . t)

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny rfc822 mml mml-sec epa
derived epg epg-config gnus-util rmail rmail-loaddefs auth-source eieio
eieio-core eieio-loaddefs password-cache json map text-property-search
time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils cl-print debug backtrace find-func cus-edit pp
wid-edit cus-start cus-load help-fns radix-tree thingatpt wdired
dired-aux comp comp-cstr warnings subr-x rx cl-seq cl-macs cl-extra
help-mode seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib
dired dired-loaddefs iso-transl tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads dbusbind kqueue lcms2
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit x multi-tty make-network-process nativecomp
emacs)

Memory information:
((conses 16 127769 8508)
 (symbols 48 9903 1)
 (strings 32 28404 3154)
 (string-bytes 1 966479)
 (vectors 16 20433)
 (vector-slots 8 353075 22979)
 (floats 8 42 108)
 (intervals 56 2965 0)
 (buffers 992 16))

-- 
Alexis Praga