Subject: bug#10344: 24.0.92; make semantic more like tags

From: Tom Tromey <[email-masked]>
Date: Wed, 21 Dec 2011 11:56:40 -0700

I recently started using semantic.
I like it quite a bit, primarily because I don't have to do anything
special to make it work.  However, it has a few problems as compared to
tags.

* Tags has M-*, aka pop-tag-mark.
  I couldn't find anything like this for `C-c , J'

* Tags has C-u M-. for iterating through the matches.
  I think C-c , J should have this as well

* If I type `C-c , J' over a symbol, it will say that symbol is the
  default.  But, I can't use M-n to edit the default, and TAB will try
  to complete all symbols.

* I somewhat wish that enabling semantic rebound M-. and M-*.
  C-c , J is clunky to type.

In GNU Emacs 24.0.92.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.7)
 of 2011-12-03 on barimba
Windowing system distributor `Fedora Project', version 11.0.11004000
configured using `configure  '--prefix=/home/tromey/Space/EmacsBzr/emacs-mt/install''

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: @im=none
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: C/l

Minor modes in effect:
  global-semanticdb-minor-mode: t
  global-semantic-idle-scheduler-mode: t
  semantic-idle-scheduler-mode: t
  semantic-mode: t
  global-auto-revert-mode: t
  bug-reference-prog-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-spelling-mode: t
  erc-truncate-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  flyspell-mode: t
  erc-status-mode: t
  erc-services-mode: t
  erc-networks-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-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:
o f SPC t h i s SPC t e x t <return> I ' m SPC f <backspace> 
r u n n i n g SPC f r o m SPC b z r , SPC s o . . . 
<return> <f10> C-z o C-z o C-x b * G r <tab> C-a C-k 
C-g C-z o C-z n <f10> <f10> C-x b r . c <return> i 
n t SPC x ; <return> C-x C-s C-c , J f <return> <tab> 
<tab> <tab> <return> C-z n C-x k <return> C-x C-g C-c 
b C-x k <return> C-x k <return> C-x k <return> C-x 
k <return> C-x k <return> C-z n C-c C-SPC C-z n M-v 
M-v l l C-z o e <backspace> w h e n S-SPC I SPC t y 
p e SPC t h <M-backspace> i t SPC d i s p p e a r s 
<return> b u t SPC i f SPC I SPC w a i t SPC i t SPC 
r e a p p e a r s <return> s u p e r SPC i C-a C-k 
C-c C-SPC C-z o C-x b l i n e s p <tab> C-g C-x C-f 
g n <tab> <M-backspace> S p <tab> S e <tab> a r <tab> 
g d <tab> t <backspace> l i n e <tab> c <return> C-v 
C-v C-v C-v C-v M-> C-c , J a d d _ s a l _ t o _ s 
a l s <return> M-v M-v M-> C-c , J c p l u s p l u 
s s <backspace> <tab> <return> C-z o C-c C-SPC C-c 
C-SPC C-z n M-x r e p o r t - e m a c s - b u g <r
eturn>

Recent messages:
Jump to symbol: f [1 of 2 matches]
Jump to symbol: f [2 of 2 matches]
Mark set
function: f 
scroll-down-command: Beginning of buffer
Quit
Mark set [2 times]
function: add_sal_to_sals 
Mark set [2 times]
function: cplusplus_error 

Load-path shadows:
/home/tromey/lib/lisp/rpm-spec-mode hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/site-lisp/rpm-spec-mode
/home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/site-lisp/flim/md4 hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/md4
/home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/site-lisp/flim/hex-util hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/hex-util
/home/tromey/.emacs.d/elpa/css-mode-1.0/css-mode hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/textmodes/css-mode
/home/tromey/.emacs.d/elpa/ruby-mode-1.0/ruby-mode hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/progmodes/ruby-mode
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-uchnm hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/nxml-uchnm
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-rap hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/nxml-rap
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-uri hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/rng-uri
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-parse hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/rng-parse
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-ns hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/nxml-ns
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-enc hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/nxml-enc
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/xmltok hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/xmltok
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-nxml hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/rng-nxml
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-maint hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/rng-maint
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-pttrn hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/rng-pttrn
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-match hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/rng-match
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-xsd hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/rng-xsd
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-util hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/nxml-util
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-loc hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/rng-loc
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-glyph hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/nxml-glyph
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-mode hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/nxml-mode
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-outln hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/nxml-outln
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-dt hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/rng-dt
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-cmpct hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/rng-cmpct
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-valid hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/rng-valid
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/xsd-regexp hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/xsd-regexp
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-maint hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/nxml-maint
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-parse hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/nxml-parse
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-util hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/nxml/rng-util
/home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/site-lisp/flim/sasl-digest hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/net/sasl-digest
/home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/site-lisp/flim/sasl-ntlm hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/net/sasl-ntlm
/home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/site-lisp/flim/sasl hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/net/sasl
/home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/site-lisp/flim/ntlm hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/net/ntlm
/home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/site-lisp/flim/hmac-def hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/net/hmac-def
/home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/site-lisp/flim/sasl-cram hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/net/sasl-cram
/home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/site-lisp/flim/hmac-md5 hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/net/hmac-md5
/home/tromey/.emacs.d/elpa/emms-3.0/tq hides /home/tromey/Space/EmacsBzr/emacs-mt/install/share/emacs/24.0.92/lisp/emacs-lisp/tq

Features:
(find-dired find-func shadow emacsbug debug noutline outline
semantic/edit inversion semantic/wisent/python semantic/wisent/python-wy
semantic/wisent semantic/wisent/wisent python-21 python smerge-mode tcl
etags thai-util thai-word gnus-draft semantic/find autoconf
autoconf-mode rfc2368 bbdb-hooks find-file semantic/tag-write
semantic/tag-file semantic/complete eieio-opt semantic/bovine
semantic/db-file cedet-files semantic/bovine/c semantic/decorate/include
semantic/db-find semantic/db-ref semantic/decorate/mode
semantic/decorate pulse semantic/bovine/c-by semantic/lex-spp
semantic/bovine/gcc semantic/dep semantic/analyze semantic/sort
semantic/scope semantic/analyze/fcn semantic/db-mode semantic/db
eieio-base semantic/idle semantic/format ezimage semantic/tag-ls
semantic/ctxt semantic/util-modes semantic/util semantic semantic/tag
semantic/lex semantic/fw mode-local cedet shr-color color mailalias
bbdb-sc supercite regi mail-hist grep vc-arch vc-mtn vc-hg cus-start
cus-load autorevert goto-addr idutils cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs vc-git vc-bzr
vc-sccs vc-svn vc-cvs vc-dir ewoc erc-menu erc-join erc-ring
erc-pcomplete erc-track erc-match erc-button erc-fill erc-stamp
erc-netsplit erc-spelling erc-truncate shell pcomplete compile help-mode
view diff-mode jka-compr shr flow-fill qp bbdb-gui gnus-html browse-url
url-cache mm-url mule-util smiley ansi-color gnus-cite gnus-async
gnus-bcklg gnus-ml disp-table nndraft nnmh gnutls parse-time netrc
network-stream starttls tls nnml nnfolder bbdb-gnus bbdb-snarf mail-extr
bbdb-com warnings nnnil gnus-agent gnus-srvr gnus-score score-mode
nnvirtual gnus-msg gnus-art mm-uu mml2015 epg-config mm-view mml-smime
smime dig nntp gnus-cache nnir gnus-sum nnoo gnus-group gnus-undo nnmail
mail-source smtpmail sendmail gnus-start gnus-spec gnus-int gnus-range
message idna rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader
gnus-win gnus gnus-ems nnheader mail-utils wid-edit log-edit pcvs-util
add-log copyright dabbrev newcomment vc ediff-merg ediff-diff ediff-wind
ediff-help ediff-util ediff-mult ediff-init ediff vc-dispatcher
multi-isearch vc-rcs flyspell ispell eldoc emms-status emms-lastfm
emms-browser sort emms-playlist-sort emms-score emms-player-xine
emms-player-mpd emms-url url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-util url-parse auth-source eieio
byte-opt bytecomp byte-compile cconv macroexp assoc gnus-util
password-cache url-vars mm-util mail-prsvr mailcap tq emms-playing-time
emms-lyrics derived emms-streams emms-mode-line emms-cache
emms-info-ogginfo emms-info-mp3info emms-info later-do
emms-playlist-mode edmacro kmacro emms-player-mplayer emms-player-simple
emms-source-playlist emms-source-file locate dired emms-setup emms
emms-compat gdb-shell-autoloads nxml-enc pydoc-info-autoloads info-look
info weblogger-autoloads xml-rpc-autoloads package reporter cal-china
lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays hol-loaddefs
appt diary-lib diary-loaddefs cal-menu easymenu calendar cal-loaddefs
uniquify mouse-sel easy-mmode notifications status cl dbus xml
erc-services erc-networks erc-goodies erc erc-backend erc-compat
format-spec thingatpt pp advice help-fns advice-preload bbdb timezone
ange-ftp comint regexp-opt ring server bbdb-autoloads time-date tooltip
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image fringe 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 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)

Tom