Subject: bug#31492: 26.1; query-replace-regexp undo fails in regexps w/o printable chars

From: Eli Zaretskii <[email-masked]>
Date: Fri, 18 May 2018 18:07:13 +0300

> From: Tino Calancha <[email-masked]>
> Date: Fri, 18 May 2018 23:22:13 +0900 (JST)
> cc: Tino Calancha <[email-masked]>, [email-masked]
> 
> >> emacs -Q
> >>
> >> < C-M-% \b RET foo RET TAB TAB TAB
> >> U ; undo all replacements
> >> ;; Nothing is undid :-(
> >
> > I'm probably missing something, because I cannot reproduce the problem
> > I guess the explanation is in what does "<" mean and, more
> '<' stands for `beginning-of-buffer'.  Then you have text to replace in 
> the *scratch* buffer.  Otherwise you at the end of the buffer and my
> regexp cannot match.

Sorry, I'm still in the dark.  After "emacs -Q", the current buffer is
*scratch*, and in that buffer, typing '<' inserts that character into
the buffer, it doesn't invoke beginning-of-buffer.  And 'U' doesn't
undo, either.  These are self-inserting characters in Lisp Interaction
mode.

What am I missing?