Subject: bug#35557: 26.1; false positive: Match data clobbered by buffer modification hooks

From: David Bremner <[email-masked]>
Date: Sat, 04 May 2019 08:35:57 -0300

1. Save the following as test.el

(let ((inhibit-modification-hooks t))
  (with-temp-buffer
    (insert "P'")
    (goto-char (point-min))
    (while (re-search-forward "\\([^\\]\\)'" nil t)
      (replace-match    "\\1`"))
    (buffer-substring (point-min) (point-max))))

2. run "emacs --batch --quick --load ./test.el"

3. Under docker, with Debian's emacs-nox (but not emacs-lucid or
   emacs-gtk, I get an error "Match data clobbered by buffer modification
   hooks".

I don't think this is Debian specific, as someone was also able to
duplicate it with "nixpkgs.emacs26-nox" (also in Docker).
   
I agree the setup sounds pretty specific, but it is used by a Debian CI
setup, which is why I care.

Here's the build info, copied out of docker:

In GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu)
 of 2019-02-03, modified by Debian built on zam904
Recent messages:
Loading /etc/emacs/site-start.d/00debian.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/lib
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --enable-libsystemd --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/sh\
are/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --build
 x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
 --libexecdir=/usr/lib --localstatedir=/var/lib
 --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
 --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/sh\
are/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --with-x=no
 --without-gsettings 'CFLAGS=-g -O2
 -fdebug-prefix-map=/build/emacs-26.1+1=. -fstack-protector-strong
 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'