Subject: bug#22692: 25.0.91; xref-find-definitions fails to prompt

From: Mike Kupfer <[email-masked]>
Date: Mon, 15 Feb 2016 17:02:03 -0800

If point is on a token that isn't defined in the current tags file,
M-. gives me an error (look for "Cygwin" further down in this bug
report).  I expect to get a prompt.

Ditto if point is at the "#" of "#include" or "#ifdef".

More broadly, I think the default for xref-prompt-for-identifier is a
usability regression.  When I'm examining code, point is rarely at the
token I want to find the definition for.  So with the default behavior,
I either have to move my hand to the mouse to set point and then move it
back to the keyboard for the "." in M-., or I have to type in a bunch of
navigation keystrokes, or I have to add a C-u prefix.  Either way, the
default behavior is getting in my way, not helping.

In GNU Emacs 25.0.91.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw scroll bars)
 of 2016-02-14 built on allegro
Windowing system distributor 'The X.Org Foundation', version 11.0.11604000
System Description:	Debian GNU/Linux 8.3 (jessie)

Configured using:
 'configure --prefix=/usr/new'

Configured features:
XPM JPEG TIFF GIF PNG SOUND NOTIFY LIBXML2 FREETYPE XFT ZLIB
TOOLKIT_SCROLL_BARS LUCID X11

Important settings:
  value of $LC_TIME: C
  value of $LANG: en_US.utf8
  locale-coding-system: utf-8-unix

Major mode: Help

Minor modes in effect:
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  delete-selection-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-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
  buffer-read-only: t
  transient-mark-mode: t

Recent messages:
Please type y or n, or C-v to scroll: y [3 times]
user-error: No definitions found for: Cygwin
Type "q" in help window to delete it
Quit

find-tag is not on any key
Mark set
GNU Emacs 25.0.91.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw scroll bars) of 2016-02-14
You can run the command ‘emacs-version’ with M-x em-v RET
GNU Emacs 25.0.91.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw scroll bars) of 2016-02-14

Load-path shadows:
None found.

Features:
(shadow emacsbug pulse etags xref project cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs eieio-opt
speedbar sb-image ezimage dframe ediff-merg ediff-wind ediff-diff
ediff-mult ediff-help ediff-init ediff-util ediff mh-limit sgml-mode
diff-mode pp gnus-mh mh-alias crm shr-color color shr seq dom subr-x
browse-url mh-search qp mh-thread sort gnus-async gnus-bcklg gnus-kill
gnus-dup gnus-ml disp-table timezone url-http url-gw url-cache url-auth
url-handlers nnrss xml mm-url url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util url-parse
url-vars nndraft nnmh utf-7 rfc2104 network-stream nsm starttls
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp
gnus-cache flow-fill mm-archive mail-extr character-fold misearch
multi-isearch mh-mime mh-identity mh-letter mh-show goto-addr thingatpt
gnus-cite gnus-art mm-uu mml2015 gnus-sum gnus-group gnus-undo
gnus-start gnus-cloud nnimap nnmail mail-source tls gnutls utf7 netrc
nnoo parse-time gnus-spec gnus-int gnus-win gnus-range gnus gnus-ems
nnheader wid-edit mh-comp mh-gnus mm-view mml-smime smime dig mailcap
vc-hg org-element org-rmail org-mhe org-irc org-info org-gnus
org-docview doc-view jka-compr image-mode org-bibtex bibtex org-bbdb
org-w3m org org-macro org-footnote org-pcomplete org-list org-faces
org-entities org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval org-compat
org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs
pcmpl-unix mh-inc hl-line mh-tool-bar mh-seq mh-xface mh-utils mh-folder
which-func imenu mh-scan mh-e mh-compat mh-acros cl mh-buffers
mh-loaddefs shell pcomplete mdk-mail smtpmail auth-source cl-seq eieio
byte-opt bytecomp byte-compile cl-extra cconv eieio-core cl-macs gv
password-cache sendmail message format-spec rfc822 mml mml-sec epg
epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 ietf-drums mm-util help-fns help-mode mail-prsvr
mailabbrev mail-utils gmm-utils mailheader server noutline outline
easy-mmode comint ansi-color ring xcscope easymenu advice ispell delsel
vc cl-loaddefs pcase cl-lib vc-dispatcher dired timeclock mdk-hacks
time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset
image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core 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 charscript case-table epa-hook
jka-cmpr-hook help simple abbrev 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 inotify dynamic-setting
font-render-setting x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 509163 47425)
 (symbols 48 47223 0)
 (miscs 40 492 1325)
 (strings 32 119455 22990)
 (string-bytes 1 3536292)
 (vectors 16 42300)
 (vector-slots 8 881800 34425)
 (floats 8 791 405)
 (intervals 56 48671 33)
 (buffers 976 47)
 (heap 1024 56510 27603))