Subject: bug#4894: 23.1; emacs ignores number characters in incremental search in keyboard macros

From: Petr Machata <[email-masked]>
Date: Mon, 09 Nov 2009 18:54:12 +0100

Do the following to record a macro involving an incremental search
looking for a string "x00x":

 M-x kmacro-start-macro C-s x 0 0 x M-x kmacro-end-macro

Observe that the macro doesn't include the 0 characters at all:

 M-x kmacro-view-macro

On my machine, the above shows:

 Last macro: C-s xx M-x kmacro-en TAB ma TAB [2 times]

(i.e. the macro system seems to ignore the zeroes, and take more
keystrokes from the queue or whatever the underlying implementation
is.)

In GNU Emacs 23.1.1 (x86_64-redhat-linux-gnu, GTK+ Version 2.16.6)
 of 2009-09-29 on x86-6.fedora.phx.redhat.com
Windowing system distributor `The X.Org Foundation', version 11.0.10603901
configured using `configure  '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-dbus' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xft' '--with-xpm' '--with-x-toolkit=gtk' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ru_RU.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: C++/l

Minor modes in effect:
  flyspell-mode: t
  shell-dirtrack-mode: t
  show-paren-mode: t
  iswitchb-mode: t
  global-hl-line-mode: t
  desktop-save-mode: t
  delete-selection-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
<down> <down> C-x e C-z C-z M-x k e y <tab> <tab> <tab> 
<C-backspace> a <backspace> m a <tab> <backspace> <backspace> 
k b <tab> <tab> <tab> <tab> <return> M-x m a c <tab> 
<tab> <backspace> <backspace> <backspace> - m a c <tab> 
<tab> <tab> C-a C-k k m <tab> v i <tab> <tab> m <tab> 
<return> M-e M-r M-r M-e C-z C-z <up> C-z C-z <home> 
C-x ( <end> C-SPC <left> <left> <left> <left> <left> 
<S-delete> C-r <kp-0> x <right> <right> <right> <right> 
<right> <S-insert> <home> <down> C-x ) C-x e C-z <up> 
<down> M-x <up> <return> <home> C-x ( C-g C-z C-z C-z 
<home> C-x ( C-s <kp-0> x C-x ) C-x e e e e <up> <up> 
<up> <up> <up> <up> <up> <up> C-x ( C-s <kp-0> C-x 
) M-x <up> <return> <down> <up> C-x e e e e e e <up> 
<down> <up> <kp-0> <kp-0> <kp-0> <kp-0> <kp-0> <kp-0> 
<kp-0> <kp-0> <kp-0> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> SPC <up> C-x <C-up> C-x 
<C-up> C-x <C-up> C-x ( C-s <kp-0> <kp-0> <kp-0> <kp-0> 
<kp-0> C-x ) C-x e e e <up> C-x e M-x <up> <up> <down> 
<return> C-g <down> <end> <C-backspace> <backspace> 
C-x C-s M-x r e p o <tab> r <tab> <return> E m a c 
s SPC i g n o r e s SPC C-g SPC SPC SPC x <insert> 
<insert> <kp-0> <kp-0> <kp-0> <kp-0> <kp-0> <kp-0> 
x <C-left> <C-left> C-x ( C-s x <kp-0> <kp-0> C-x ) 
<up> C-x e M-x <up> <up> <return> <right> <right> <delete> 
<delete> <delete> <delete> <kp-0> <up> C-x ( x <kp-0> 
<kp-0> <kp-0> C-z C-x ( C-x C-g C-g C-x ( C-s x <kp-0> 
<kp-0> <kp-0> x <left> C-x ) <home> C-x e C-x <up> 
C-x <down> M-x <up> <return> M-x <up> <up> <return

Recent messages:
Undo!
Already defining keyboard macro.
Quit
Defining kbd macro...
Mark saved where search started
Keyboard macro defined
Mark saved where search started
After 0 kbd macro iterations: isearch-search: Keyboard macro terminated by a command ringing the bell
Last macro: C-s xx <left>
Auto-saving...