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
bug-gnu-emacs <at> gnu.org
:bug#17250
; Package emacs
.
(Sat, 12 Apr 2014 12:39:02 GMT) Full text and rfc822 format available.Johan Claesson <johanclaesson <at> bredband.net>
: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)
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
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.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.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.
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.
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
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.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.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.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.