[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 674f276: Fix links in backtraces to work on advised
From: |
Gemini Lasswell |
Subject: |
[Emacs-diffs] master 674f276: Fix links in backtraces to work on advised built-ins (Bug#25393) |
Date: |
Mon, 27 Aug 2018 14:03:17 -0400 (EDT) |
branch: master
commit 674f276c0ab3e9759d33f37971ef87f84a3b0683
Author: Gemini Lasswell <address@hidden>
Commit: Gemini Lasswell <address@hidden>
Fix links in backtraces to work on advised built-ins (Bug#25393)
* lisp/emacs-lisp/backtrace.el (backtrace--print-func-and-args): Make
links to the original definition of advised functions. Handle the
case when the function slot of the backtrace frame contains the
definition of a built-in function.
---
lisp/emacs-lisp/backtrace.el | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/lisp/emacs-lisp/backtrace.el b/lisp/emacs-lisp/backtrace.el
index f13b43b..e82d4f5 100644
--- a/lisp/emacs-lisp/backtrace.el
+++ b/lisp/emacs-lisp/backtrace.el
@@ -34,6 +34,7 @@
(eval-when-compile (require 'cl-lib))
(eval-when-compile (require 'pcase))
(eval-when-compile (require 'subr-x)) ; if-let
+(require 'find-func)
(require 'help-mode) ; Define `help-function-def' button type.
(require 'lisp-mode)
@@ -735,11 +736,11 @@ Format it according to VIEW."
(evald (backtrace-frame-evald frame))
(fun (backtrace-frame-fun frame))
(args (backtrace-frame-args frame))
- (def (and (symbolp fun) (fboundp fun) (symbol-function fun)))
+ (def (find-function-advised-original fun))
(fun-file (or (symbol-file fun 'defun)
- (and (subrp def)
- (not (eq 'unevalled (cdr (subr-arity def))))
- (find-lisp-object-file-name fun def))))
+ (and (subrp def)
+ (not (eq 'unevalled (cdr (subr-arity def))))
+ (find-lisp-object-file-name fun def))))
(fun-pt (point)))
(cond
((and evald (not debugger-stack-frame-as-list))
@@ -762,7 +763,8 @@ Format it according to VIEW."
(insert (backtrace--print-to-string fun-and-args)))
(cl-incf fun-pt)))
(when fun-file
- (make-text-button fun-pt (+ fun-pt (length (symbol-name fun)))
+ (make-text-button fun-pt (+ fun-pt
+ (length (backtrace--print-to-string fun)))
:type 'help-function-def
'help-args (list fun fun-file)))
;; After any frame that uses eval-buffer, insert a comment that
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 674f276: Fix links in backtraces to work on advised built-ins (Bug#25393),
Gemini Lasswell <=