Subject: 26.2; CEDET/Semantic - Semantic constantly entering debugger with scheme

From: David Palma <[email-masked]>
Date: Sat, 6 Jul 2019 12:45:20 +0100

Semantic enters the debugger whenever it's parsing invalid scheme code with
matching parentheses. The error code is "A Rule must return a single
tag-line list!"

To trigger this simply write
(define )

with electric matching pair mode active, the ending parenthesis is
automatically put and semantic constantly tries to enter the debugger,
making it unusable.
This has already been reported here
https://sourceforge.net/p/cedet/mailman/message/36185774/

In GNU Emacs 26.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.8)
of 2019-04-12 built on juergen
Windowing system distributor 'The X.Org Foundation', version 11.0.12005000
Recent messages:
Checking 176 files in /usr/share/emacs/26.2/lisp/emacs-lisp...
Checking 24 files in /usr/share/emacs/26.2/lisp/cedet...
Checking 57 files in /usr/share/emacs/26.2/lisp/calendar...
Checking 87 files in /usr/share/emacs/26.2/lisp/calc...
Checking 105 files in /usr/share/emacs/26.2/lisp/obsolete...
Checking for load-path shadows...done
Quit
scroll-down-command: Beginning of buffer [2 times]
Turning on magit-auto-revert-mode...done
completing-read-default: Command attempted to use minibuffer while in 
minibuffer [2 times]
command-execute: Buffer is read-only: #<buffer tag.el.gz>
Configured using:
'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
--localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-modules
'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong
-fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2
LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB
NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD LCMS2

Important settings:
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=fcitx
locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
global-magit-file-mode: t
magit-auto-revert-mode: t
global-git-commit-mode: t
electric-pair-mode: t
yas-global-mode: t
yas-minor-mode: t
diff-auto-refine-mode: t
pyvenv-mode: t
shell-dirtrack-mode: t
ws-butler-mode: t
clean-aindent-mode: t
recentf-mode: t
global-semantic-idle-scheduler-mode: t
semantic-idle-scheduler-mode: t
global-semanticdb-minor-mode: t
semantic-mode: t
helm-mode: t
async-bytecomp-package-mode: t
helm-autoresize-mode: t
company-quickhelp-mode: t
company-quickhelp-local-mode: t
global-company-mode: t
company-mode: t
show-paren-mode: t
global-display-line-numbers-mode: t
display-line-numbers-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-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
buffer-read-only: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t

Load-path shadows:
/home/hnasiet/.emacs.d/elpa/cmake-mode-20180709.1426/cmake-mode hides 
/usr/share/emacs/site-lisp/cmake-mode

Features:
(magit-bookmark magit-submodule magit-obsolete magit-blame magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log
magit-diff smerge-mode magit-core magit-autorevert autorevert filenotify
magit-margin magit-transient magit-process magit-mode transient
git-commit magit-git magit-section magit-utils crm log-edit pcvs-util
add-log with-editor dash shadow sort mail-extr emacsbug message rmc puny
rfc822 mml mml-sec epa derived epg gnus-util rmail rmail-loaddefs
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr
mail-utils jka-compr cl-print debug semantic/edit semantic/bovine/scm
semantic/decorate/include semantic/bovine/scm-by scheme
semantic/bovine/grammar semantic/grammar semantic/grammar-wy
semantic/wisent semantic/wisent/wisent semantic/tag-write
semantic/decorate/mode vc-git image-file dired dired-loaddefs
helm-x-files helm-for-files helm-bookmark helm-adaptive bookmark winner
helm-external helm-net browse-url xml url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
mailcap perspective one-dark-theme one-themes hideshow setup-scheme
yasnippet-snippets cl-extra yasnippet elec-pair highlight-indentation
flymake-proc flymake warnings help-fns radix-tree help-mode elpy
find-file-in-project ivy delsel colir color ivy-overlay ffap windmove
diff-mode elpy-shell pyvenv esh-var esh-io esh-cmd esh-opt esh-ext
esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util
elpy-profile elpy-django s elpy-refactor python tramp-sh tramp
tramp-compat tramp-loaddefs trampver ucs-normalize shell pcomplete
parse-time json map ido grep compile comint ansi-color files-x cus-edit
cus-start cus-load setup-python ws-butler clean-aindent-mode setup-ws
srefactor-lisp semantic/bovine/el thingatpt semantic/db-el eieio-opt
srefactor srefactor-ui recentf tree-widget srecode/semantic
semantic/senator semantic/decorate srecode/insert srecode/filters
srecode/args ede/speedbar ede/files ede ede/detect ede/base ede/auto
ede/source eieio-speedbar speedbar sb-image dframe eieio-custom wid-edit
srecode/find srecode/map srecode/ctxt srecode/compile srecode/dictionary
srecode/table srecode semantic/doc semantic/tag-file company-c-headers
cl rx company-yasnippet macrostep-c cmacexp macrostep pp
semantic/db-file data-debug cedet-files semantic/bovine/c hideif
semantic/bovine/c-by semantic/lex-spp semantic/bovine/gcc semantic/dep
semantic/bovine semantic/analyze/refs semantic/db-find semantic/db-ref
semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn
semantic/idle semantic/format ezimage semantic/tag-ls semantic/find
semantic/ctxt semantic/db-mode semantic/db eieio-base
semantic/util-modes semantic/util semantic semantic/tag semantic/lex
semantic/fw mode-local find-func cedet cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs setup-c
helm-gtags pulse which-func imenu helm-mode helm-company subr-x
helm-elisp helm-eval edebug helm-info helm-files helm-buffers helm-occur
helm-tags helm-locate helm-grep helm-regexp format-spec helm-utils
helm-help helm-types helm-config helm-easymenu async-bytecomp helm
easy-mmode helm-source eieio-compat helm-multi-match helm-lib advice
async setup-helm company-quickhelp pos-tip company-oddmuse
company-keywords company-etags etags xref project ring
company-dabbrev-code company-dabbrev company-files company-capf
company-cmake company-xcode company-clang company-semantic company-eclim
company-bbdb company-gtags company-template company pcase
setup-completion finder-inf tex-site edmacro kmacro slime-autoloads info
package easymenu epg-config url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache url-vars seq
byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib paren
display-line-numbers server time-date mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 731052 100135)
(symbols 48 54428 9)
(miscs 40 2441 894)
(strings 32 180031 12479)
(string-bytes 1 5155155)
(vectors 16 92322)
(vector-slots 8 1489339 113970)
(floats 8 362 695)
(intervals 56 6937 807)
(buffers 992 50))