GNU bug report logs - #17250
24.3; find-variable gives search-failed error message

Previous Next

Package: emacs;

Reported by: Johan Claesson <johanclaesson <at> bredband.net>

Date: Sat, 12 Apr 2014 12:39:02 UTC

Severity: minor

Tags: confirmed, fixed, patch

Found in version 24.3

Fixed in version 27.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 17250 in the body.
You can then email your comments to 17250 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#17250; Package emacs. (Sat, 12 Apr 2014 12:39:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Johan Claesson <johanclaesson <at> bredband.net>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 12 Apr 2014 12:39:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Johan Claesson <johanclaesson <at> bredband.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3; find-variable gives search-failed error message
Date: Sat, 12 Apr 2014 14:38:04 +0200

Hi,

emacs -Q
(defvar foo nil) C-M-x
M-x find-variable RET foo RET

This gives the following error:

Search failed: "Vfoo
"

Since foo is defined interactively in the *scratch* buffer emacs does
not know what file it belongs to.  That is expected.  I just think it
should say something like "Don't know where foo is defined" instead of
the above error message.

Same thing on todays bzr trunk (GNU Emacs 24.4.50.1 (i686-pc-linux-gnu,
GTK+ Version 3.8.6) of 2014-04-12 on goblin).

Regards,

/Johan




In GNU Emacs 24.3.6 (i686-pc-linux-gnu, GTK+ Version 3.8.6)
 of 2014-04-06 on goblin
Windowing system distributor `The X.Org Foundation', version 11.0.11405000
System Description:	Ubuntu 13.10

Configured using:
 `configure '--prefix=/home/jcl/usr' '--without-toolkit-scroll-bars'
 '-C' '--without-compress-info''

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

Major mode: Term

Minor modes in effect:
  magit-auto-revert-mode: t
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  display-time-mode: t
  minibuffer-depth-indicate-mode: t
  which-function-mode: t
  minibuffer-electric-default-mode: t
  winner-mode: t
  icomplete-mode: t
  ido-everywhere: t
  electric-layout-mode: t
  electric-indent-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
  temp-buffer-resize-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
e m <tab> SPC - Q <return> <up> <return> C-h n q <up> 
<return> <switch-frame> q C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n <return> / o <return> <home> 
C-s f i n d - v a r <up> <up> <home> C-s s e a r c 
h C-s C-s C-s <left> SPC N P q C-h i d m <backspace> 
e m a <tab> C-g m e l i <tab> <return> i r e p o <tab> 
<backspace> <backspace> <backspace> C-g d , e d m e 
n a <tab> <backspace> <backspace> m a <tab> <return> 
i r e p o <tab> r t <tab> i n g <tab> <return> <tab> 
<return> C-h C-p <next> <home> C-s s e a r c h - f 
<up> <M-next> <next> <prior> <home> <tab> <tab> M-x 
l i s t y - <backspace> <backspace> - p a c <tab> <return> 
C-s d e b b <left> i U x SPC <up> <switch-frame> C-h 
i <C-tab> M-x d e b b u g <tab> g n u - e <backspace> 
s e <tab> r a <tab> <backspace> <backspace> a r <tab> 
<return> s e a r c h - f a i l e d <return> <return> 
M-1 C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n <return> 
SPC n n q C-h m M-x <up> <return> f i n d - v a r i 
a b l e <return> <return> q <next> <prior> <up> <up> 
<up> <tab> <return> q C-h i l l <next> <next> <next> 
<next> <next> <next> <next> <next> <home> <end> <prior> 
<home> <end> <prior> <next> <home> C-1 C-1 e m a c 
s SPC - Q <S-return> M-x r e p o r t - e m <tab> b 
<tab> <return>

Recent messages:
Preparing diary...done
No event to add
Making completion list...
Contacting host: debbugs.gnu.org:80 [3 times]
Wrote /tmp/gnus-temp-group-20992fgk
Opening nndoc server on /tmp/gnus-temp-group-20992fgk-ephemeral...done
Type C-x 1 to delete the help window, C-M-v to scroll help.
Contacting host: debbugs.gnu.org:80
scroll-up: End of buffer
Mark set [5 times]

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

Features:
(shadow emacsbug nndoc url-handlers pcase texinfo toolbar-x prv-emacs
desktop context plain-tex latex tex-style tex-buf tex dbus auto-complete
popup butler-util butler-servers deferred json debbugs-gnu debbugs
soap-client debbugs-autoloads locate emms-librefm-stream
emms-playlist-limit emms-volume emms-volume-amixer emms-i18n
emms-history emms-score emms-stream-info emms-metaplaylist-mode
emms-bookmarks emms-cue emms-mode-line-icon emms-browser
emms-player-xine emms-player-mpd emms-lyrics emms-streams
emms-tag-editor emms-info-metaflac emms-mark emms-url
emms-librefm-scrobbler xml emms-playlist-sort emms-last-played tempo
haskell-show haskell-process haskell-navigate-imports
haskell-presentation-mode haskell-str haskell-compat haskell-session
haskell-font-lock magit-key-mode magit iswitchb epa epg git-rebase-mode
git-commit-mode log-edit pcvs-util rng-loc rng-uri rng-parse rng-match
rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util
org-table esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg
esh-groups eshell esh-module esh-mode esh-util org-id ob-octave
slime-repl-tests slime-mdot-fu slime-indentation slime-tests tree-widget
elp inferior-slime slime-banner slime-enclosing-context slime-cl-indent
cl-indent gud autoload tar-mode url-http url-gw url-cache url-auth url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util sort gnus-cite mm-archive mail-extr gnus-bcklg
gnus-async add-log apropos vc-git w3m-cookie smiley jcl-replace jcl-ruby
jcl-games-init jcl-text-translator-init text-translator
text-translator-window text-translator-vars text-translator-sites
jcl-muse-init htmlize-hack htmlize sgml-mode muse-latex muse-html
muse-xml-common muse-colors cus-edit cus-start cus-load muse-publish
muse-project muse-protocols muse-regexps derived muse muse-nested-tags
muse-mode jcl-dictem-init dictem misearch multi-isearch mule-util
image-file org-indent org-rmail org-mhe org-irc org-info org-gnus
org-docview org-bibtex bibtex org-bbdb org-w3m jcl-renegade-goblin
jcl-home-boot network-stream tls qp parse-time gnus-ml gnus-topic
nndraft nnmh nnfolder nnml gnus-agent gnus-srvr gnus-score score-mode
nnvirtual nntp gnus-cache jcl-torrent jcl-goblin fuzzy-match jcl-load
jcl-boot text-translator-load jcl-stumpwm jcl-slime slime-fancy
slime-trace-dialog slime-fontifying-fu slime-package-fu slime-references
slime-compiler-notes-tree slime-scratch slime-presentations bridge
slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c
slime-editing-commands slime-autodoc slime-repl slime-parse slime
hyperspec jcl-sty jcl-org-init org-feed org-latex org-export-latex
org-beamer org-exp org-exp-blocks footnote poporg vc-dir vc
vc-dispatcher jcl-epresent epresent ox-latex ox-icalendar ox-html
ox-ascii ox-publish ox org-element diet jcl-midnite-init midnight
jcl-picpocket-init picpocket-test jcl-erc-init erc-goodies erc
erc-backend erc-compat jcl-file-cache-init jcl-file-cache filecache
jcl-grep-sbg sbg jcl-ido-init jcl-dired-init jcl-dired jcl-dired-lexical
picpocket dired-details wdired dired-aux jcl-register-init
jcl-command-subset-init jcl-generic-init generic-x jcl-erlang-init
jcl-sbg jcl-erlang-log bookmark pp jcl-sbg-ssit erlang-eunit jcl-erlang
distel-ie edb distel jcl-eel bindat patmatch erl-service derl epmd
net-fsm erl erlext jcl-safe-init jcl-abbrev-init jcl-ediff-init
ediff-merg ediff-diff ediff-wind ediff-help ediff-util ediff-mult
ediff-init ediff jcl-term-init jcl-face-init hl-line jcl-elisp-init
profiler edebug lib-requires loadhist hi-lock jcl-template-init
jcl-template cperl-mode tagbag-init erlang jcl-register jcl-grep-init
jcl-grep jcl-motion jcl-modes-init jcl-advice calc calc-loaddefs
calc-macs jcl-rfc rfcview goto-addr proced table picture python rx
inf-ruby ruby-mode inf-haskell haskell-cabal haskell-utils
haskell-decl-scan haskell-mode haskell-string haskell-sort-imports
haskell-align-imports flymake dabbrev cc-langs cwarn cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
grep jcl-command-subset nrepl nrepl-macroexpansion
nrepl-interaction-mode nrepl-selector nrepl-repl-mode nrepl-repl
nrepl-version pkg-info lisp-mnt epl nrepl-client compile eldoc arc-mode
archive-mode etags dash clojure-mode inf-lisp view jcl-calendar-init
jcl-emms-init emms-playing-time emms-mode-line emms-cache
emms-info-ogginfo emms-info-mp3info emms-info later-do
emms-playlist-mode emms-player-vlc emms-player-mplayer
emms-player-simple emms-source-playlist emms-source-file emms-setup emms
emms-compat jcl-gnus-init jcl-gnus jcl-w3m-init w3m-search jcl-term
time-stamp ange-ftp w3m-bookmark w3m-antenna w3m-rss
jcl-org-import-icalendar jcl-status org-agenda org org-macro
org-footnote org-pcomplete org-list org-faces org-entities noutline
outline org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob
ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs
org-loaddefs autorevert appt jcl-calendar jcl-swedish-postfix quail
help-mode holidays hol-loaddefs icalendar diary-lib diary-loaddefs
cal-menu calendar cal-loaddefs dired-x gnus-msg gnus-art mm-uu mml2015
epg-config mm-view mml-smime smime dig gnus-sum nnoo gnus-group
gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range
gnus-win mailcap starttls smtpmail sendmail message rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev gmm-utils mailheader gnus gnus-ems nnheader
mail-utils jcl-keys-init diff-mode easy-mmode tagbag tramp tramp-compat
tramp-loaddefs cl-macs gv shell pcomplete format-spec windmove jcl-keys
jcl-global-init wc-mode time paren mic-paren printing ps-print ps-def
lpr uniquify mb-depth whitespace ffap url-parse auth-source eieio
gnus-util mm-util mail-prsvr password-cache url-vars byte-opt warnings
bytecomp byte-compile cconv saveplace jcl-imenu which-func imenu
jcl-copyright jcl-duff clearcase tq reporter cl minibuf-eldef winner
icomplete jcl-sl-init w3m browse-url doc-view jka-compr image-mode
timezone w3m-hist w3m-fb bookmark-w3m w3m-ems wid-edit w3m-ccl ccl
w3m-favicon w3m-image w3m-proc w3m-util jcl-misc jcl-ert ispell
thingatpt find-lisp comint ansi-color dired jcl-misc-lexical jcl-windows
ido ert find-func ewoc debug jcl-compile jcl-site-start jpt-mode
erlang-start jcl-elpa-init num3-mode jcl-compat-init term disp-table
ehelp electric ring sh-script smie executable jcl-times-init advice
help-fns advice-preload jcl-util jcl-times cl-lib server jcl-load-path
adjust-parens-autoloads ascii-art-to-unicode-autoloads async-autoloads
auctex-autoloads tex-site auto-complete-autoloads butler-autoloads
deferred-autoloads dired-details-autoloads eimp-autoloads
el-mock-autoloads emms-autoloads epresent-autoloads erlang-autoloads
etags-select-autoloads flymake-autoloads fuzzy-match-autoloads
gitconfig-mode-autoloads gitignore-mode-autoloads gnugo-autoloads
gnuplot-autoloads gnuplot-mode-autoloads haskell-mode-autoloads edmacro
kmacro htmlize-autoloads inf-ruby-autoloads ipython-autoloads
key-chord-autoloads keywiz-autoloads lib-requires-autoloads
lua-mode-autoloads macrostep-autoloads magit-autoloads
git-rebase-mode-autoloads git-commit-mode-autoloads
markdown-mode-autoloads mic-paren-autoloads mo-git-blame-autoloads
muse-autoloads nrepl-autoloads dash-autoloads clojure-mode-autoloads
num3-mode-autoloads org-present-autoloads org-autoloads outorg-autoloads
pkg-info-autoloads epl-autoloads popup-autoloads pysmell-autoloads
python-autoloads s-autoloads slime-autoloads finder-inf tabbar-autoloads
w3m-autoloads info easymenu web-autoloads yaoddmuse-autoloads package
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)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17250; Package emacs. (Tue, 17 Apr 2018 23:00:02 GMT) Full text and rfc822 format available.

Message #8 received at 17250 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Johan Claesson <johanclaesson <at> bredband.net>
Cc: 17250 <at> debbugs.gnu.org
Subject: Re: bug#17250: 24.3; find-variable gives search-failed error message
Date: Wed, 18 Apr 2018 00:58:39 +0200
Johan Claesson <johanclaesson <at> bredband.net> writes:

> emacs -Q
> (defvar foo nil) C-M-x
> M-x find-variable RET foo RET
>
> This gives the following error:
>
> Search failed: "Vfoo
> "
>
> Since foo is defined interactively in the *scratch* buffer emacs does
> not know what file it belongs to.  That is expected.  I just think it
> should say something like "Don't know where foo is defined" instead of
> the above error message.

The following patch fixes the problem.

Simplest test case:  (help-C-file-name 'foo 'var)

But there are several places that use this function without checking the
return value.  Are they relying on this function to bug out with a
cryptic error, or are they all confident that the file name can be
found?

So I haven't applied it yet.  Perhaps somebody else will weigh in...

diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index ec46a479ed..ab3fe3a732 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -169,7 +169,8 @@ describe-function
 ;;;###autoload
 (defun help-C-file-name (subr-or-var kind)
   "Return the name of the C file where SUBR-OR-VAR is defined.
-KIND should be `var' for a variable or `subr' for a subroutine."
+KIND should be `var' for a variable or `subr' for a subroutine.
+If we can't find the file name, nil is returned."
   (let ((docbuf (get-buffer-create " *DOC*"))
 	(name (if (eq 'var kind)
 		  (concat "V" (symbol-name subr-or-var))
@@ -181,19 +182,23 @@ help-C-file-name
 	   (expand-file-name internal-doc-file-name doc-directory)))
       (let ((file (catch 'loop
 		    (while t
-		      (let ((pnt (search-forward (concat "\^_" name "\n"))))
-			(re-search-backward "\^_S\\(.*\\)")
-			(let ((file (match-string 1)))
-			  (if (member file build-files)
-			      (throw 'loop file)
-			    (goto-char pnt))))))))
-	(if (string-match "^ns.*\\(\\.o\\|obj\\)\\'" file)
-	    (setq file (replace-match ".m" t t file 1))
-	  (if (string-match "\\.\\(o\\|obj\\)\\'" file)
-	      (setq file (replace-match ".c" t t file))))
-	(if (string-match "\\.\\(c\\|m\\)\\'" file)
-	    (concat "src/" file)
-	  file)))))
+		      (let ((pnt (search-forward (concat "\^_" name "\n") nil t)))
+                        (if (not pnt)
+                            (throw 'loop nil)
+			  (re-search-backward "\^_S\\(.*\\)")
+			  (let ((file (match-string 1)))
+			    (if (member file build-files)
+			        (throw 'loop file)
+			      (goto-char pnt)))))))))
+        (if (not file)
+            nil
+	  (if (string-match "^ns.*\\(\\.o\\|obj\\)\\'" file)
+	      (setq file (replace-match ".m" t t file 1))
+	    (if (string-match "\\.\\(o\\|obj\\)\\'" file)
+	        (setq file (replace-match ".c" t t file))))
+	  (if (string-match "\\.\\(c\\|m\\)\\'" file)
+	      (concat "src/" file)
+	    file))))))
 
 (defcustom help-downcase-arguments nil
   "If non-nil, argument names in *Help* buffers are downcased."


-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) confirmed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 17 Apr 2018 23:00:03 GMT) Full text and rfc822 format available.

Added tag(s) patch. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 17 Apr 2018 23:00:04 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17250; Package emacs. (Wed, 18 Apr 2018 06:24:01 GMT) Full text and rfc822 format available.

Message #15 received at 17250 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 17250 <at> debbugs.gnu.org, johanclaesson <at> bredband.net
Subject: Re: bug#17250: 24.3; find-variable gives search-failed error message
Date: Wed, 18 Apr 2018 09:23:40 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Date: Wed, 18 Apr 2018 00:58:39 +0200
> Cc: 17250 <at> debbugs.gnu.org
> 
> But there are several places that use this function without checking the
> return value.  Are they relying on this function to bug out with a
> cryptic error, or are they all confident that the file name can be
> found?
> 
> So I haven't applied it yet.  Perhaps somebody else will weigh in...

I'm not weighing in ;-)

>  (defun help-C-file-name (subr-or-var kind)
>    "Return the name of the C file where SUBR-OR-VAR is defined.
> -KIND should be `var' for a variable or `subr' for a subroutine."
> +KIND should be `var' for a variable or `subr' for a subroutine.
> +If we can't find the file name, nil is returned."
                                   ^^^^^^^^^^^^^^^
"return nil".  We try to avoid passive tense.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17250; Package emacs. (Sat, 28 Apr 2018 02:28:01 GMT) Full text and rfc822 format available.

Message #18 received at 17250 <at> debbugs.gnu.org (full text, mbox):

From: Noam Postavsky <npostavs <at> gmail.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 17250 <at> debbugs.gnu.org, Johan Claesson <johanclaesson <at> bredband.net>
Subject: Re: bug#17250: 24.3; find-variable gives search-failed error message
Date: Fri, 27 Apr 2018 22:27:25 -0400
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> But there are several places that use this function without checking the
> return value.  Are they relying on this function to bug out with a
> cryptic error, or are they all confident that the file name can be
> found?
>
> So I haven't applied it yet.  Perhaps somebody else will weigh in...

I think it's okay.  Here's my analysis of the call-sites found by M-x
rgrep:

./help-fns.el:163:;; (defun help-C-file-name (subr-or-var kind)
./help-fns.el:170:(defun help-C-file-name (subr-or-var kind)
./help-fns.el:319:	  (help-C-file-name type 'subr)
./help-fns.el:325:	  (help-C-file-name object 'var)

These 2 are in the return value position of
`find-lisp-object-file-name', whose docstring says "If no suitable file
is found, return nil".

./emacs-lisp/find-func.el:436:            (help-C-file-name def 'subr))

This one is only called if `def' satisfies `subrp', so I think failing
to find it can't happen anyway.  

./emacs-lisp/find-func.el:555:                       (help-C-file-name variable 'var))))

This one is in find-variable-noselect.  Before your change, it would
throw (search-failed "\037Vfoo\n"), with your change it throws (error
"Don’t know where ‘foo’ is defined") which seems better.

./progmodes/elisp-mode.el:693:              (push (elisp--xref-make-xref nil symbol (help-C-file-name (symbol-function symbol) 'subr)) xrefs))
./progmodes/elisp-mode.el:770:              ;; yet; help-C-file-name does that.  Second call will
./progmodes/elisp-mode.el:772:              (push (elisp--xref-make-xref 'defvar symbol (help-C-file-name symbol 'var)) xrefs))
./ldefs-boot.el:15592:(autoload 'help-C-file-name "help-fns" "\
./help-mode.el:203:                             (help-C-file-name (indirect-function fun) 'fun)))
./help-mode.el:243:		     (setq file (help-C-file-name var 'var)))

As far as I can tell, all of these calls only happen if the symbol has
already been found by `find-lisp-object-file-name', so they won't
trigger the failure case.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17250; Package emacs. (Wed, 26 Jun 2019 14:07:02 GMT) Full text and rfc822 format available.

Message #21 received at 17250 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Noam Postavsky <npostavs <at> gmail.com>
Cc: 17250 <at> debbugs.gnu.org, Johan Claesson <johanclaesson <at> bredband.net>
Subject: Re: bug#17250: 24.3; find-variable gives search-failed error message
Date: Wed, 26 Jun 2019 16:06:22 +0200
Noam Postavsky <npostavs <at> gmail.com> writes:

>> So I haven't applied it yet.  Perhaps somebody else will weigh in...
>
> I think it's okay.  Here's my analysis of the call-sites found by M-x
> rgrep:

Thanks for checking this; I've now applied the patch to the Emacs trunk.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 26 Jun 2019 14:07:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 27.1, send any further explanations to 17250 <at> debbugs.gnu.org and Johan Claesson <johanclaesson <at> bredband.net> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 26 Jun 2019 14:07:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 25 Jul 2019 11:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 275 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.