Subject: bug#5851: 24.0.50; first character after opening quote often gets eaten in CC modes

From: Paul Pogonyshev <[email-masked]>
Date: Tue, 6 Apr 2010 23:21:07 +0300

This bug report will be sent to the Free Software Foundation,
not to your local site managers!
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the [email-masked] mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug.  If you can, give
a recipe starting from `emacs -Q':

As can be seen from 'recent input' section below, I typed a string in
C++ mode like this:

    "{}

However, due to an error in the Lisp code (byte-code: Invalid search
bound (wrong side of point)), it ended up looking like this:

    "}

i.e. the very first character after the opening quote got eaten and
never inserted into the buffer.

This does not happen always, but often enough.  It has been happening
for quite some time now, i.e. it is not something introduced very
recently.

Paul

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/usr/local/share/emacs/24.0.50/etc/DEBUG.

In GNU Emacs 24.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.18.9)
 of 2010-04-04 on gonzo
Windowing system distributor `The X.Org Foundation', version 11.0.10706000
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: en_US.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:
  which-function-mode: t
  show-paren-mode: t
  server-mode: t
  auto-image-file-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
  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:
a r & <backspace> * SPC d e l i m i t e r s . SPC <backspace> 
<backspace> , SPC C-e <down> <down> <left> <left> <left> 
<left> d e M-/ [ 0 ] C-M-k C-s C-s C-g <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <M-left> 
<M-right> <right> <right> <right> <right> C-M-k d e 
M-/ [ 1 ] <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <up> <up> <up> <up> <up> <up> <left> <left> 
<left> <left> M-/ [ 0 ] C-M-k <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <M-left> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <left> <left> 
C-M-k d e M-/ [ 1 ] C-x C-s C-s p r i n t _ r C-w C-s 
C-s C-s <M-right> <M-right> <end> <left> <left> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<C-left> <C-left> <C-left> <C-left> " [ ] " , SPC C-x 
C-s C-x C-f C-g C-x C-f s e t <return> <M-right> <M-right> 
<M-left> " { } " , SPC <tab> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> C-x C-s C-x C-f 
m a <right> <return> <down> C-SPC <C-down> C-w <C-down> 
<C-down> <C-down> <C-down> <C-down> <C-down> <C-down> 
<C-down> <C-down> <C-up> <C-up> <C-up> <up> <M-left> 
<M-left> <M-left> <M-left> " { } <S-backspace> { } 
" , SPC C-x C-s <M-S-f9> <f5> <f5> <M-left> <M-left> 
<M-left> <M-left> c o n s t SPC c h a r * SPC M-/ , 
SPC C-x C-s <M-S-f9> C-e <f5> <end> <M-left> <M-left> 
<M-left> <M-left> " { } " , SPC <M-S-f9> y <f5> <end> 
<M-left> <M-left> <M-left> <M-left> " { } M-x r e p 
o r <tab> <return>

Recent messages:
Wrote /home/paul/mct/tests/map.cpp
(No files need saving)
Compilation exited abnormally with code 2
Saving file /home/paul/mct/tests/common.hpp...
Wrote /home/paul/mct/tests/common.hpp
(No files need saving)
Compilation exited abnormally with code 2
Saving file /home/paul/mct/tests/map.cpp...
Wrote /home/paul/mct/tests/map.cpp
Compilation exited abnormally with code 2
byte-code: Invalid search bound (wrong side of point)

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr message sendmail rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mailabbrev mail-utils gmm-utils mailheader
emacsbug grep newcomment dabbrev multi-isearch vc-bzr sha1 hex-util
cc-mode cc-fonts easymenu cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs compile comint ring which-func imenu eldoc saveplace
paren server ido cus-start cus-load thumbs image-file dired regexp-opt
advice help-fns advice-preload tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd fontset
image fringe lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core
frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev loaddefs button minibuffer faces cus-face files
text-properties overlay md5 base64 format env code-pages mule custom
widget hashtable-print-readable backquote make-network-process dbusbind
system-font-setting font-render-setting gtk x-toolkit x multi-tty emacs)