[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#2438: Unable to find location of adviced function

From: Juri Linkov
Subject: bug#2438: Unable to find location of adviced function
Date: Sun, 22 Feb 2009 23:52:41 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.90 (x86_64-pc-linux-gnu)

Test case:

1. Create a file test.el with:

(defun test1 ()
  (message "Test1"))

(defadvice test1 (around my-test1 act)
  (message "Test1 pre")
  (message "Test1 post"))

2. Load it.

3. Type `C-h f test1 RET'.

4. Follow the link `test.el' to the source code.

It fails with the error message:

"Unable to find location in file"

That's because `describe-function-1' uses the variable `real-function'
that holds the value "ad-Orig-test1" instead of the variable `function'
with the correct value "test1" referring to the original definition.

This can be fixed with the following patch:

Index: lisp/help-fns.el
RCS file: /sources/emacs/emacs/lisp/help-fns.el,v
retrieving revision 1.131
diff -u -r1.131 help-fns.el
--- lisp/help-fns.el    5 Jan 2009 03:19:15 -0000       1.131
+++ lisp/help-fns.el    22 Feb 2009 21:51:25 -0000
@@ -406,7 +406,7 @@
        (with-current-buffer standard-output
            (re-search-backward "`\\([^`']+\\)'" nil t)
-           (help-xref-button 1 'help-function-def real-function file-name))))
+           (help-xref-button 1 'help-function-def function file-name))))
       (princ ".")
       (with-current-buffer (help-buffer)
        (fill-region-as-paragraph (save-excursion (goto-char pt1) (forward-line 
0) (point))

Juri Linkov

reply via email to

[Prev in Thread] Current Thread [Next in Thread]