Subject: bug#21964: 25.1.50; etags xref broken

From: Mark Oteiza <[email-masked]>
Date: Fri, 20 Nov 2015 11:43:13 -0500

When doing M-. in a C project:

Debugger entered--Lisp error: (cl-no-applicable-method xref-backend-identifier-completion-table nil)
  signal(cl-no-applicable-method (xref-backend-identifier-completion-table nil))
  cl-no-applicable-method([cl-struct-cl--generic xref-backend-identifier-completion-table ((0 [cl-struct-cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\301BB\207" [gethash (cl--generic-eql-used)] 5 "\n\n(fn NAME &rest _)"] #[385 "\242\300=\205	C\207" [eql] 4 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [(t)] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method ((eql etags)) nil nil #[257 "\300 \207" [tags-lazy-completion-table] 2 "\n\n(fn BACKEND)"]] [cl-struct-cl--generic-method ((eql elisp)) nil nil #[257 "\207" [elisp--xref-identifier-completion-table] 2 "\n\n(fn BACKEND)"]]) nil] nil)
  apply(cl-no-applicable-method [cl-struct-cl--generic xref-backend-identifier-completion-table ((0 [cl-struct-cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\301BB\207" [gethash (cl--generic-eql-used)] 5 "\n\n(fn NAME &rest _)"] #[385 "\242\300=\205	C\207" [eql] 4 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [(t)] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method ((eql etags)) nil nil #[257 "\300 \207" [tags-lazy-completion-table] 2 "\n\n(fn BACKEND)"]] [cl-struct-cl--generic-method ((eql elisp)) nil nil #[257 "\207" [elisp--xref-identifier-completion-table] 2 "\n\n(fn BACKEND)"]]) nil] nil)
  #[128 "\301\302\300#\207" [[cl-struct-cl--generic xref-backend-identifier-completion-table ((0 [cl-struct-cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\301BB\207" [gethash ...] 5 "\n\n(fn NAME &rest _)"] #[385 "\242\300=\205	C\207" [eql] 4 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method ((eql etags)) nil nil #[257 "\300 \207" [tags-lazy-completion-table] 2 "\n\n(fn BACKEND)"]] [cl-struct-cl--generic-method ((eql elisp)) nil nil #[257 "\207" [elisp--xref-identifier-completion-table] 2 "\n\n(fn BACKEND)"]]) nil] apply cl-no-applicable-method] 5 "\n\n(fn &rest ARGS)"](nil)
  apply(#[128 "\301\302\300#\207" [[cl-struct-cl--generic xref-backend-identifier-completion-table ((0 [cl-struct-cl--generic-generalizer cl--generic-eql-generalizer 100 #[385 "\300\301BB\207" [gethash ...] 5 "\n\n(fn NAME &rest _)"] #[385 "\242\300=\205	C\207" [eql] 4 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method ((eql etags)) nil nil #[257 "\300 \207" [tags-lazy-completion-table] 2 "\n\n(fn BACKEND)"]] [cl-struct-cl--generic-method ((eql elisp)) nil nil #[257 "\207" [elisp--xref-identifier-completion-table] 2 "\n\n(fn BACKEND)"]]) nil] apply cl-no-applicable-method] 5 "\n\n(fn &rest ARGS)"] nil nil)
  xref-backend-identifier-completion-table(nil)
  xref--read-identifier("Find definitions of: ")
  byte-code("\300\301!C\207" [xref--read-identifier "Find definitions of: "] 2)
  call-interactively(xref-find-definitions nil nil)
  command-execute(xref-find-definitions)

In GNU Emacs 25.1.50.2 (x86_64-unknown-linux-gnu, X toolkit, cairo version 1.14.4, Xaw scroll bars)
 of 2015-11-19
Repository revision: 5c81fd58e32d965c2551663622e084f2800e1e90
Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --without-gconf --without-imagemagick --with-cairo
 --with-x-toolkit=lucid 'CFLAGS=-march=x86-64 -mtune=generic -O0 -pipe
 -fstack-protector-strong --param=ssp-buffer-size=4 -g
 -fvar-tracking-assignments -g -fvar-tracking-assignments'
 LDFLAGS=-Wl,-O0,--sort-common,--as-needed,-z,relro'

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS NOTIFY ACL
GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
LUCID X11

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

Major mode: C

Minor modes in effect:
  diff-auto-refine-mode: t
  rainbow-delimiters-mode: t
  flycheck-mode: t
  company-mode: t
  display-time-mode: t
  save-place-mode: t
  show-paren-mode: t
  savehist-mode: t
  winner-mode: t
  tooltip-mode: t
  global-eldoc-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
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent messages:
Wrote /home/mvo/bin/transmission/transmission.el
Mark set
Type "q" in help window to restore its previous buffer, C-M-v to scroll help.
Mark saved where search started
When done with a buffer, type C-x #
cl-no-applicable-method: No applicable method for %S: xref-backend-identifier-completion-table, nil
Undo!
Debug on Error enabled globally
Entering debugger...
Mark set
next-line: End of buffer [3 times]

Load-path shadows:
/home/mvo/.emacs.d/elpa/company-0.8.12/.dir-locals hides /usr/share/emacs/25.1.50/lisp/gnus/.dir-locals
/home/mvo/.emacs.d/elpa/kv-0.0.19/kv hides /home/mvo/.emacs.d/site-lisp/emacs-kv/kv
/home/mvo/.emacs.d/elpa/kv-0.0.19/kv-tests hides /home/mvo/.emacs.d/site-lisp/emacs-kv/kv-tests
/home/mvo/.emacs.d/elpa/esxml-0.3.1/esxml hides /home/mvo/.emacs.d/site-lisp/esxml/esxml

Features:
(shadow sort gnus-util mail-extr emacsbug message idna dired format-spec
rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils debug cus-start cus-load thingatpt cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs character-fold misearch multi-isearch pp help-fns smerge-mode vc
vc-dispatcher vc-git diff-mode transmission derived let-alist json map
calc-bin calc-ext calc calc-loaddefs calc-macs term/xterm xterm server
paredit easy-mmode rainbow-delimiters flycheck find-func rx subr-x seq
dash company-files company-oddmuse company-keywords company-etags etags
xref cl-seq project eieio byte-opt bytecomp byte-compile cl-extra
help-mode cconv eieio-core cl-macs company-gtags company-dabbrev-code
company-dabbrev company-capf company-cmake company-ropemacs
company-xcode company-clang company-semantic company-eclim
company-template company-css company-nxml company-bbdb company
finder-inf info package easymenu geiser-install geiser gv time windmove
edmacro kmacro cl-loaddefs pcase cl-lib saveplace time-date paren
savehist winner ring zenburn-theme 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 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 dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo x-toolkit x multi-tty make-network-process
emacs)

Memory information:
((conses 16 228989 115764)
 (symbols 48 31064 15)
 (miscs 40 418 1264)
 (strings 32 57680 78751)
 (string-bytes 1 1658445)
 (vectors 16 25865)
 (vector-slots 8 943377 96397)
 (floats 8 324 2314)
 (intervals 56 1950 344)
 (buffers 976 20)
 (heap 1024 42109 9268))