Subject: 24.3; c-perl misbehavior

From: Steven Hirsch <[email-masked]>
Date: Tue, 20 Mar 2018 11:49:31 -0400 (EDT)

This bug report will be sent to the Bug-GNU-Emacs mailing list
and the GNU bug tracker at debbugs.gnu.org.  Please check that
the From: line contains a valid email address.  After a delay of up
to one day, you should receive an acknowledgment at that address.

Please write in English if possible, as the Emacs maintainers
usually do not have translators for other languages.

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':

Edit any Perl source file using c-perl.  Trigger a syntax expansion by,
e.g. entering 'if' followed by space.  Having done so, the next key
stroke (regardless of what it is) causes an annoying bell and a
minibuffer message that implies a 'C-h' was entered prior to the actual
key.  No such character was entered.  This makes the editing process
highly annoying.

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/share/emacs/24.3/etc/DEBUG.

GNU Emacs 24.3.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.22.10)
  of 2017-09-20 on c1bm.rdu2.centos.org
Windowing system distributor `The X.Org Foundation', version 11.0.11903000
System Description:	CentOS Linux release 7.4.1708 (Core)

Configured using:
  `configure '--build=x86_64-redhat-linux-gnu'
  '--host=x86_64-redhat-linux-gnu' '--program-prefix='
  '--disable-dependency-tracking' '--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=gtk3' '--with-gpm=no'
  'build_alias=x86_64-redhat-linux-gnu'
  'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g
  -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
  -fstack-protector-strong --param=ssp-buffer-size=4
  -grecord-gcc-switches -m64 -mtune=generic' 'LDFLAGS=-Wl,-z,relro ''

Important settings:
   value of $LANG: en_US.UTF-8
   locale-coding-system: utf-8-unix
   default enable-multibyte-characters: t

Major mode: CPerl

Minor modes in effect:
   shell-dirtrack-mode: t
   tooltip-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
   line-number-mode: t
   transient-mark-mode: t
   abbrev-mode: t

Recent input:
<S-down> <S-down> <S-down> <S-down> <S-down> <S-down>
<S-down> <S-down> <S-down> <S-down> <S-down> <S-up>
C-w <down> <down> C-k C-k C-@ <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> C-w C-x C-s <prior> <next> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <return>
<tab> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <down> <down> <down> <down> <right> <S-down>
<S-down> <S-down> <S-down> <S-down> <S-down> <S-down>
<S-up> C-w <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <return> C-y <up> <up>
<up> <up> <up> <up> C-x C-s <down> <down> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <down> <up> <up> <up>
C-k C-k C-k C-k <return> m y SPC $ f i e l d _ c o
u n t ; C-x C-s <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <return>
<tab> $ f i e l d _ c o u n t SPC = SPC s c a l a r
SPC @ t o k e n s ; <right> <down> <down> <return>
<tab> C-x C-s <left> <left> <left> <left> SPC e l s
e SPC <right> <up> <up> <down> <left> <left> <left>
<left> <left> <return> <down> <tab> C-x C-s i f SPC
s c a l <backspace> <backspace> <backspace> s c l a
r a SPC <backspace> <backspace> <backspace> <backspace>
<backspace> <backspace> <backspace> <backspace> <up>
<up> <right> <down> C-k C-k C-k <tab> i f SPC SPC <down-mouse-1>
<drag-mouse-1> <help-echo> M-x r e p o r t - e m <tab>
<return>

Recent messages:
Invalid face reference: quote
Auto-saving...
Invalid face reference: normal
Invalid face reference: quote
Invalid face reference: normal
Invalid face reference: quote
Invalid face reference: normal
Invalid face reference: quote
Invalid face reference: normal
Invalid face reference: quote

Load-path shadows:
/home/hirschs/emacs/org-8.3.2/lisp/org-id hides 
/usr/share/emacs/24.3/lisp/org/org-id
/home/hirschs/emacs/org-8.3.2/lisp/org-pcomplete hides 
/usr/share/emacs/24.3/lisp/org/org-pcomplete
/home/hirschs/emacs/org-8.3.2/lisp/org-eshell hides 
/usr/share/emacs/24.3/lisp/org/org-eshell
/home/hirschs/emacs/org-8.3.2/lisp/org-entities hides 
/usr/share/emacs/24.3/lisp/org/org-entities
/home/hirschs/emacs/org-8.3.2/lisp/org-element hides 
/usr/share/emacs/24.3/lisp/org/org-element
/home/hirschs/emacs/org-8.3.2/lisp/org-mouse hides 
/usr/share/emacs/24.3/lisp/org/org-mouse
/home/hirschs/emacs/org-8.3.2/lisp/org-docview hides 
/usr/share/emacs/24.3/lisp/org/org-docview
/home/hirschs/emacs/org-8.3.2/lisp/org-mobile hides 
/usr/share/emacs/24.3/lisp/org/org-mobile
/home/hirschs/emacs/org-8.3.2/lisp/org-bbdb hides 
/usr/share/emacs/24.3/lisp/org/org-bbdb
/home/hirschs/emacs/org-8.3.2/lisp/org-mhe hides 
/usr/share/emacs/24.3/lisp/org/org-mhe
/home/hirschs/emacs/org-8.3.2/lisp/org-attach hides 
/usr/share/emacs/24.3/lisp/org/org-attach
/home/hirschs/emacs/org-8.3.2/lisp/org-macs hides 
/usr/share/emacs/24.3/lisp/org/org-macs
/home/hirschs/emacs/org-8.3.2/lisp/org-archive hides 
/usr/share/emacs/24.3/lisp/org/org-archive
/home/hirschs/emacs/org-8.3.2/lisp/org-agenda hides 
/usr/share/emacs/24.3/lisp/org/org-agenda
/home/hirschs/emacs/org-8.3.2/lisp/ob hides 
/usr/share/emacs/24.3/lisp/org/ob
/home/hirschs/emacs/org-8.3.2/lisp/ob-tangle hides 
/usr/share/emacs/24.3/lisp/org/ob-tangle
/home/hirschs/emacs/org-8.3.2/lisp/org-loaddefs hides 
/usr/share/emacs/24.3/lisp/org/org-loaddefs
/home/hirschs/emacs/org-8.3.2/lisp/ob-table hides 
/usr/share/emacs/24.3/lisp/org/ob-table
/home/hirschs/emacs/org-8.3.2/lisp/org-list hides 
/usr/share/emacs/24.3/lisp/org/org-list
/home/hirschs/emacs/org-8.3.2/lisp/ob-sqlite hides 
/usr/share/emacs/24.3/lisp/org/ob-sqlite
/home/hirschs/emacs/org-8.3.2/lisp/ob-sql hides 
/usr/share/emacs/24.3/lisp/org/ob-sql
/home/hirschs/emacs/org-8.3.2/lisp/ob-shen hides 
/usr/share/emacs/24.3/lisp/org/ob-shen
/home/hirschs/emacs/org-8.3.2/lisp/ob-screen hides 
/usr/share/emacs/24.3/lisp/org/ob-screen
/home/hirschs/emacs/org-8.3.2/lisp/ob-scheme hides 
/usr/share/emacs/24.3/lisp/org/ob-scheme
/home/hirschs/emacs/org-8.3.2/lisp/org-irc hides 
/usr/share/emacs/24.3/lisp/org/org-irc
/home/hirschs/emacs/org-8.3.2/lisp/ob-scala hides 
/usr/share/emacs/24.3/lisp/org/ob-scala
/home/hirschs/emacs/org-8.3.2/lisp/org-install hides 
/usr/share/emacs/24.3/lisp/org/org-install
/home/hirschs/emacs/org-8.3.2/lisp/ob-sass hides 
/usr/share/emacs/24.3/lisp/org/ob-sass
/home/hirschs/emacs/org-8.3.2/lisp/ob-ruby hides 
/usr/share/emacs/24.3/lisp/org/ob-ruby
/home/hirschs/emacs/org-8.3.2/lisp/ob-ref hides 
/usr/share/emacs/24.3/lisp/org/ob-ref
/home/hirschs/emacs/org-8.3.2/lisp/ob-python hides 
/usr/share/emacs/24.3/lisp/org/ob-python
/home/hirschs/emacs/org-8.3.2/lisp/org-inlinetask hides 
/usr/share/emacs/24.3/lisp/org/org-inlinetask
/home/hirschs/emacs/org-8.3.2/lisp/ob-plantuml hides 
/usr/share/emacs/24.3/lisp/org/ob-plantuml
/home/hirschs/emacs/org-8.3.2/lisp/org-indent hides 
/usr/share/emacs/24.3/lisp/org/org-indent
/home/hirschs/emacs/org-8.3.2/lisp/ob-picolisp hides 
/usr/share/emacs/24.3/lisp/org/ob-picolisp
/home/hirschs/emacs/org-8.3.2/lisp/org-info hides 
/usr/share/emacs/24.3/lisp/org/org-info
/home/hirschs/emacs/org-8.3.2/lisp/ob-perl hides 
/usr/share/emacs/24.3/lisp/org/ob-perl
/home/hirschs/emacs/org-8.3.2/lisp/org hides 
/usr/share/emacs/24.3/lisp/org/org
/home/hirschs/emacs/org-8.3.2/lisp/ob-org hides 
/usr/share/emacs/24.3/lisp/org/ob-org
/home/hirschs/emacs/org-8.3.2/lisp/ob-octave hides 
/usr/share/emacs/24.3/lisp/org/ob-octave
/home/hirschs/emacs/org-8.3.2/lisp/ob-ocaml hides 
/usr/share/emacs/24.3/lisp/org/ob-ocaml
/home/hirschs/emacs/org-8.3.2/lisp/ob-mscgen hides 
/usr/share/emacs/24.3/lisp/org/ob-mscgen
/home/hirschs/emacs/org-8.3.2/lisp/org-habit hides 
/usr/share/emacs/24.3/lisp/org/org-habit
/home/hirschs/emacs/org-8.3.2/lisp/ob-maxima hides 
/usr/share/emacs/24.3/lisp/org/ob-maxima
/home/hirschs/emacs/org-8.3.2/lisp/org-gnus hides 
/usr/share/emacs/24.3/lisp/org/org-gnus
/home/hirschs/emacs/org-8.3.2/lisp/ob-matlab hides 
/usr/share/emacs/24.3/lisp/org/ob-matlab
/home/hirschs/emacs/org-8.3.2/lisp/ob-lob hides 
/usr/share/emacs/24.3/lisp/org/ob-lob
/home/hirschs/emacs/org-8.3.2/lisp/ob-lisp hides 
/usr/share/emacs/24.3/lisp/org/ob-lisp
/home/hirschs/emacs/org-8.3.2/lisp/ob-lilypond hides 
/usr/share/emacs/24.3/lisp/org/ob-lilypond
/home/hirschs/emacs/org-8.3.2/lisp/org-footnote hides 
/usr/share/emacs/24.3/lisp/org/org-footnote
/home/hirschs/emacs/org-8.3.2/lisp/ob-ledger hides 
/usr/share/emacs/24.3/lisp/org/ob-ledger
/home/hirschs/emacs/org-8.3.2/lisp/org-feed hides 
/usr/share/emacs/24.3/lisp/org/org-feed
/home/hirschs/emacs/org-8.3.2/lisp/ob-latex hides 
/usr/share/emacs/24.3/lisp/org/ob-latex
/home/hirschs/emacs/org-8.3.2/lisp/org-faces hides 
/usr/share/emacs/24.3/lisp/org/org-faces
/home/hirschs/emacs/org-8.3.2/lisp/ob-keys hides 
/usr/share/emacs/24.3/lisp/org/ob-keys
/home/hirschs/emacs/org-8.3.2/lisp/ob-js hides 
/usr/share/emacs/24.3/lisp/org/ob-js
/home/hirschs/emacs/org-8.3.2/lisp/org-w3m hides 
/usr/share/emacs/24.3/lisp/org/org-w3m
/home/hirschs/emacs/org-8.3.2/lisp/ob-java hides 
/usr/share/emacs/24.3/lisp/org/ob-java
/home/hirschs/emacs/org-8.3.2/lisp/org-version hides 
/usr/share/emacs/24.3/lisp/org/org-version
/home/hirschs/emacs/org-8.3.2/lisp/ob-io hides 
/usr/share/emacs/24.3/lisp/org/ob-io
/home/hirschs/emacs/org-8.3.2/lisp/org-timer hides 
/usr/share/emacs/24.3/lisp/org/org-timer
/home/hirschs/emacs/org-8.3.2/lisp/ob-haskell hides 
/usr/share/emacs/24.3/lisp/org/ob-haskell
/home/hirschs/emacs/org-8.3.2/lisp/org-datetree hides 
/usr/share/emacs/24.3/lisp/org/org-datetree
/home/hirschs/emacs/org-8.3.2/lisp/ob-gnuplot hides 
/usr/share/emacs/24.3/lisp/org/ob-gnuplot
/home/hirschs/emacs/org-8.3.2/lisp/org-ctags hides 
/usr/share/emacs/24.3/lisp/org/org-ctags
/home/hirschs/emacs/org-8.3.2/lisp/ob-fortran hides 
/usr/share/emacs/24.3/lisp/org/ob-fortran
/home/hirschs/emacs/org-8.3.2/lisp/org-crypt hides 
/usr/share/emacs/24.3/lisp/org/org-crypt
/home/hirschs/emacs/org-8.3.2/lisp/ob-exp hides 
/usr/share/emacs/24.3/lisp/org/ob-exp
/home/hirschs/emacs/org-8.3.2/lisp/org-table hides 
/usr/share/emacs/24.3/lisp/org/org-table
/home/hirschs/emacs/org-8.3.2/lisp/ob-eval hides 
/usr/share/emacs/24.3/lisp/org/ob-eval
/home/hirschs/emacs/org-8.3.2/lisp/org-src hides 
/usr/share/emacs/24.3/lisp/org/org-src
/home/hirschs/emacs/org-8.3.2/lisp/ob-emacs-lisp hides 
/usr/share/emacs/24.3/lisp/org/ob-emacs-lisp
/home/hirschs/emacs/org-8.3.2/lisp/org-colview hides 
/usr/share/emacs/24.3/lisp/org/org-colview
/home/hirschs/emacs/org-8.3.2/lisp/ob-dot hides 
/usr/share/emacs/24.3/lisp/org/ob-dot
/home/hirschs/emacs/org-8.3.2/lisp/ob-ditaa hides 
/usr/share/emacs/24.3/lisp/org/ob-ditaa
/home/hirschs/emacs/org-8.3.2/lisp/org-compat hides 
/usr/share/emacs/24.3/lisp/org/org-compat
/home/hirschs/emacs/org-8.3.2/lisp/ob-css hides 
/usr/share/emacs/24.3/lisp/org/ob-css
/home/hirschs/emacs/org-8.3.2/lisp/org-rmail hides 
/usr/share/emacs/24.3/lisp/org/org-rmail
/home/hirschs/emacs/org-8.3.2/lisp/ob-comint hides 
/usr/share/emacs/24.3/lisp/org/ob-comint
/home/hirschs/emacs/org-8.3.2/lisp/org-clock hides 
/usr/share/emacs/24.3/lisp/org/org-clock
/home/hirschs/emacs/org-8.3.2/lisp/ob-clojure hides 
/usr/share/emacs/24.3/lisp/org/ob-clojure
/home/hirschs/emacs/org-8.3.2/lisp/org-capture hides 
/usr/share/emacs/24.3/lisp/org/org-capture
/home/hirschs/emacs/org-8.3.2/lisp/ob-calc hides 
/usr/share/emacs/24.3/lisp/org/ob-calc
/home/hirschs/emacs/org-8.3.2/lisp/ob-awk hides 
/usr/share/emacs/24.3/lisp/org/ob-awk
/home/hirschs/emacs/org-8.3.2/lisp/ob-asymptote hides 
/usr/share/emacs/24.3/lisp/org/ob-asymptote
/home/hirschs/emacs/org-8.3.2/lisp/org-bibtex hides 
/usr/share/emacs/24.3/lisp/org/org-bibtex
/home/hirschs/emacs/org-8.3.2/lisp/ob-R hides 
/usr/share/emacs/24.3/lisp/org/ob-R
/home/hirschs/emacs/org-8.3.2/lisp/org-protocol hides 
/usr/share/emacs/24.3/lisp/org/org-protocol
/home/hirschs/emacs/org-8.3.2/lisp/ob-C hides 
/usr/share/emacs/24.3/lisp/org/ob-C
/home/hirschs/emacs/org-8.3.2/lisp/org-plot hides 
/usr/share/emacs/24.3/lisp/org/org-plot

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mail-utils two-column face-remap
rect cperl-mode nxml-uchnm rng-xsd xsd-regexp rng-cmpct rng-nxml
rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util
rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph
nxml-enc xmltok python rx scala-mode-feature-electric speedbar sb-image
ezimage dframe scala-mode-feature-speedbar etags scala-mode-feature-tags
scala-mode-feature edmacro scala-mode-inf scala-mode-ui
scala-mode-fontlock scala-mode-indent scala-mode-navigation
scala-mode-lib scala-mode-variables scala-mode-constants scala-mode
misearch multi-isearch kmacro sh-script smie executable vc-git sql
thingatpt paren delsel cus-start cus-load server disp-table tramp
tramp-compat auth-source eieio gnus-util mm-util mail-prsvr
password-cache tramp-loaddefs shell pcomplete comint ansi-color ring
format-spec bison-mode make-regexp flex-mode spl-mode groovy-mode
derived warnings advice help-fns advice-preload cl-macs gv byte-opt
bytecomp byte-compile cconv cc-bytecomp cc-langs cl cl-lib cc-mode
cc-fonts easymenu cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs scala-mode-auto ox-gfm-autoloads package preview-latex
tex-site auto-loads time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar 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 minibuffer loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)

--