GNU bug report logs - #8803
23.3; backtrace should use find-function-source-path to find source

Previous Next

Package: emacs;

Reported by: Ivan Kanis <gnu <at> kanis.fr>

Date: Sun, 5 Jun 2011 18:21:01 UTC

Severity: minor

Found in version 23.3

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ivan Kanis <gnu <at> kanis.fr>
To: 8803 <at> debbugs.gnu.org
Subject: bug#8803: 23.3; backtrace should use find-function-source-path to find source
Date: Sun, 05 Jun 2011 18:26:28 +0200
1 - create directory ~/source and ~/compile
2 - create the file ~/source/foo.el with the following content:

(defun foo ()
  (interactive)
  (error "foo"))

(setq find-function-source-path
      (list (expand-file-name "~/source")))

(setq debug-on-error t)

;;;; eval the following two expressions
;; (setq load-path (cons (expand-file-name "~/compile") load-path))
;; (require 'foo))

(provide 'foo)

3 - M-x byte-compile-file
4 - move ~/source foo.elc to ~/compile
5 - in foo.el evaluate the two lines in comment (C-x C-e)
6 - M-x foo should show a backtrace
7 - on the backtrace click on foo

You should get the following error:

find-library-name: Can't find library /home/ubuntu/compile/foo.el

I expect emacs to load foo.el since find-function-source-path is
defined.

The following trivial patch fixes the problem:

--- find-func.el	2011-06-05 18:23:48.097558000 +0200
+++ find-func-ivan.el	2011-06-05 18:24:18.141247000 +0200
@@ -156,6 +156,9 @@
    (locate-file library
 		(or find-function-source-path load-path)
 		load-file-rep-suffixes)
+   (locate-file (file-name-sans-extension (file-name-nondirectory library))
+		(or find-function-source-path load-path)
+		(find-library-suffixes))
    (error "Can't find library %s" library)))
 
 (defvar find-function-C-source-directory


In GNU Emacs 23.3.2 (i686-pc-linux-gnu, GTK+ Version 2.22.0)
 of 2011-03-16 on tao
Windowing system distributor `The X.Org Foundation', version 11.0.10900000
configured using `configure  '--prefix=/home/ubuntu/emacs''

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: fr_FR.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Compilation

Minor modes in effect:
  erc-track-mode: t
  erc-track-minor-mode: t
  tracking-mode: t
  erc-ring-mode: t
  erc-netsplit-mode: t
  erc-match-mode: t
  erc-pcomplete-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-autojoin-mode: t
  erc-spelling-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-scrolltobottom-mode: t
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  icomplete-mode: t
  global-auto-complete-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t

Recent input:
) <backspace> C-x C-s <up> <up> <up> <left> <left> 
<left> <left> <backspace> <backspace> w h e n C-n <tab> 
C-n <tab> C-n <tab> C-e C-x C-s C-/ C-/ C-/ C-/ C-/ 
C-a C-k <tab> C-n <tab> C-n <tab> C-n <return> ( p 
r o v i d e SPC ' f o o ) C-x C-s M-x <up> <return> 
<return> C-p C-p C-e <backspace> M-x <up> <return> 
<return> y M-i s M-p M-p <return> C-x b f o <return> 
<left> <left> <left> <left> <left> <left> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> r e u q <backspace> 
<backspace> q u i r e SPC C-e <left> <left> <left> 
<left> <left> <left> ' <right> <right> <right> <right> 
<right> <right> <backspace> <backspace> <backspace> 
) ) C-x C-s M-x <up> <return> <return> <up> <up> C-a 
; ; SPC <down> <up> C-k <down> <up> e v a l SPC t h 
e SPC f o l l o w i n g SPC t o <backspace> w o SPC 
s e <backspace> <backspace> e x p r e s s i o n s C-n 
<tab> C-n <tab> C-a <up> <up> ; ; <down> <left> <left> 
; ; SPC <down> <left> <left> <left> ; ; SPC C-x C-s 
M-i s M-p M-p <return> <insert> M-x c o m p i <tab> 
e C-g C-x b f o <return> M-x <up> <return> <return> 
M-i s M-p M-p <return> M-k p p <help-echo> <help-echo> 
<help-echo> M-x C-g M-x b u g - C-g M-x r e p o <tab> 
r t <tab> b u g <return> C-g C-o M-x b u g - r e p 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> r e p o <tab> r t - e m a <tab> 
b u g <return>

Recent messages:
Quit
Compiling /home/ubuntu/source/foo.el...done
Wrote /home/ubuntu/source/foo.elc
History item: 1
History item: 2
Quit [2 times]
Making completion list...
Quit
Making completion list...

Load-path shadows:
/home/ubuntu/compile/foo hides ~/tmp/foo
/home/ubuntu/.emacs.d/misc/whitespace hides /home/ubuntu/emacs/share/emacs/23.3/lisp/whitespace
/home/ubuntu/.emacs.d/misc/time hides /home/ubuntu/emacs/share/emacs/23.3/lisp/time
/home/ubuntu/.emacs.d/org/org-publish hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-publish
/home/ubuntu/.emacs.d/org/org-latex hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-latex
/home/ubuntu/.emacs.d/org/org-gnus hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-gnus
/home/ubuntu/.emacs.d/org/org-compat hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-compat
/home/ubuntu/.emacs.d/org/org-jsinfo hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-jsinfo
/home/ubuntu/.emacs.d/org/org-irc hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-irc
/home/ubuntu/.emacs.d/org/org-install hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-install
/home/ubuntu/.emacs.d/org/org-inlinetask hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-inlinetask
/home/ubuntu/.emacs.d/org/org-info hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-info
/home/ubuntu/.emacs.d/org/org-indent hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-indent
/home/ubuntu/.emacs.d/org/org-id hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-id
/home/ubuntu/.emacs.d/org/org-icalendar hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-icalendar
/home/ubuntu/.emacs.d/org/org-html hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-html
/home/ubuntu/.emacs.d/org/org-habit hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-habit
/home/ubuntu/.emacs.d/org/org hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org
/home/ubuntu/.emacs.d/org/org-xoxo hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-xoxo
/home/ubuntu/.emacs.d/org/org-wl hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-wl
/home/ubuntu/.emacs.d/org/org-w3m hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-w3m
/home/ubuntu/.emacs.d/org/org-vm hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-vm
/home/ubuntu/.emacs.d/org/org-timer hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-timer
/home/ubuntu/.emacs.d/org/org-table hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-table
/home/ubuntu/.emacs.d/org/org-src hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-src
/home/ubuntu/.emacs.d/org/org-rmail hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-rmail
/home/ubuntu/.emacs.d/org/org-remember hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-remember
/home/ubuntu/.emacs.d/org/org-protocol hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-protocol
/home/ubuntu/.emacs.d/org/org-plot hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-plot
/home/ubuntu/.emacs.d/org/org-mouse hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-mouse
/home/ubuntu/.emacs.d/org/org-mobile hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-mobile
/home/ubuntu/.emacs.d/org/org-mhe hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-mhe
/home/ubuntu/.emacs.d/org/org-mew hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-mew
/home/ubuntu/.emacs.d/org/org-macs hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-macs
/home/ubuntu/.emacs.d/org/org-mac-message hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-mac-message
/home/ubuntu/.emacs.d/org/org-list hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-list
/home/ubuntu/.emacs.d/org/org-freemind hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-freemind
/home/ubuntu/.emacs.d/org/org-footnote hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-footnote
/home/ubuntu/.emacs.d/org/org-feed hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-feed
/home/ubuntu/.emacs.d/org/org-faces hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-faces
/home/ubuntu/.emacs.d/org/org-exp hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-exp
/home/ubuntu/.emacs.d/org/org-exp-blocks hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-exp-blocks
/home/ubuntu/.emacs.d/org/org-docbook hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-docbook
/home/ubuntu/.emacs.d/org/org-datetree hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-datetree
/home/ubuntu/.emacs.d/org/org-crypt hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-crypt
/home/ubuntu/.emacs.d/org/org-colview hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-colview
/home/ubuntu/.emacs.d/org/org-clock hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-clock
/home/ubuntu/.emacs.d/org/org-bibtex hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-bibtex
/home/ubuntu/.emacs.d/org/org-bbdb hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-bbdb
/home/ubuntu/.emacs.d/org/org-attach hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-attach
/home/ubuntu/.emacs.d/org/org-ascii hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-ascii
/home/ubuntu/.emacs.d/org/org-archive hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-archive
/home/ubuntu/.emacs.d/org/org-agenda hides /home/ubuntu/emacs/share/emacs/23.3/lisp/org/org-agenda
/home/ubuntu/.emacs.d/misc/erc-goodies hides /home/ubuntu/emacs/share/emacs/23.3/lisp/erc/erc-goodies
/home/ubuntu/.emacs.d/emms/tq hides /home/ubuntu/emacs/share/emacs/23.3/lisp/emacs-lisp/tq
/home/ubuntu/.emacs.d/misc/appt hides /home/ubuntu/emacs/share/emacs/23.3/lisp/calendar/appt
/home/ubuntu/.emacs.d/misc/sym-comp hides /home/ubuntu/emacs/share/emacs/23.3/lisp/obsolete/sym-comp

Features:
(shadow guess-lang emacsbug make-mode log-view ibuf-ext ibuffer ffap
etags descr-text info cc-mode cc-fonts cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs cl-specs edebug appt diary-lib
diary-loaddefs smiley gnus-async gnus-bcklg gnus-dup gnus-ml disp-table
gnus-topic parse-time tls pop3 nnml nndraft nnmh bbdb-gnus bbdb-snarf
mail-extr auth-source gnus-agent gnus-srvr gnus-score score-mode
nnvirtual nntp gnus-cache gnus-cite cookie1 gnus-fun gnus-msg gnus-art
mm-uu mml2015 epg-config mm-view smime dig gnus-sum nnoo gnus-group
gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range
gnus-win message ecomplete rfc822 mml mml-sec password-cache mm-decode
mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045 qp
ietf-drums gmm-utils mailheader canlock hashcash gnus gnus-ems nnheader
gnus-util netrc mail-utils bbdb-gui bbdb-picture bbdb-com mailabbrev
bbdb bookmark org-capture org-mks newcomment w3m-form w3m-symbol
w3m-bookmark w3m-tabmenu w3m-session w3m-search w3m doc-view jka-compr
image-mode timezone w3m-hist w3m-fb w3m-ems w3m-ccl ccl w3m-favicon
w3m-image w3m-proc w3m-util org-wl org-w3m org-vm org-rmail org-mhe
org-mew org-irc org-jsinfo org-infojs org-html org-exp ob-exp
org-exp-blocks org-agenda org-info org-gnus org-docview org-bibtex
org-bbdb org byte-opt bytecomp byte-compile ob-emacs-lisp ob-keys
ob-comint ob-tangle ob-ref ob-lob ob-table ob org-footnote org-src
org-list org-faces org-compat org-entities org-macs japan-util kkc
ja-dic-utl erc-track garak notify dbus-util assoc dbus xml tree-widget
elim warnings browse-url cl cl-19 lui tracking incomplete erc-ring
erc-netsplit erc-match erc-pcomplete pcomplete erc-button erc-fill
erc-stamp erc-join erc-spelling flyspell ispell erc-goodies erc
erc-backend erc-compat pp gnus-dired log-edit pcvs-util add-log
diff-mode vc-git vc-bzr sha1 hex-util vc-sccs vc-svn vc-cvs vc-rcs
vc-dir ewoc vc vc-dispatcher dirtrack ansi-color shell mule-util tabify
vc-hg autoinsert noutline outline debug thingatpt find-func icomplete
emms-player-mplayer emms-player-simple url-util url-parse url-vars
mm-util mail-prsvr format-spec emms-mark emms-info-mp3info
emms-tag-editor emms-setup emms-browser sort emms-playlist-sort
emms-score emms-cache emms-info later-do emms-playlist-mode
emms-source-playlist emms-source-file emms emms-compat swbuff
multi-isearch ido uniquify advice advice-preload paren eldoc help-fns
init xcscope ivan-w3m ivan-term ivan-slime ivan-re-builder quail
help-mode view ivan-org ivan-newsticker ivan-muse ivan-message
ivan-japanese ivan-gnus grep compile comint ivan-french easy-mmode
ivan-english ivan-emms ivan-elim dired-x dired-aux dired ivan-comint
cal-iso cal-menu calendar cal-loaddefs bs ivan-bbdb ivan-anki tex-site
ring caps-mode ivan-common-code auto-complete-config auto-complete popup
regexp-opt rx cus-edit easymenu cus-start cus-load wid-edit ivan-var
ivan-keymap edmacro kmacro ivan-fun ivan-face ivan-load time-date
tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
font-setting tool-bar dnd fontset image fringe lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar mldrag 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 loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind font-render-setting gtk
x-toolkit x multi-tty emacs)

-- 
Ivan Kanis
http://kanis.fr

Life is not about finding our limitations, it's about finding our
infinity.
    -- Herbie Hancock 




This bug report was last modified 14 years and 23 days ago.

Previous Next


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