summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorGemini Lasswell <gazally@runbox.com>2018-06-24 07:17:47 -0700
committerGemini Lasswell <gazally@runbox.com>2018-08-03 08:53:02 -0700
commit5b50fa5a9d4f7c032a845bc0152c11b70ee1bf53 (patch)
tree91b2ef8353600ce4465d40dbee6fb6348db9800f /lisp/emacs-lisp
parente09120d68694272ea5efbe13b16936b4382389d8 (diff)
downloademacs-5b50fa5a9d4f7c032a845bc0152c11b70ee1bf53.tar.gz
emacs-5b50fa5a9d4f7c032a845bc0152c11b70ee1bf53.tar.bz2
emacs-5b50fa5a9d4f7c032a845bc0152c11b70ee1bf53.zip
Always make buttons from function names in backtraces
* lisp/emacs-lisp/backtrace.el (backtrace-view) (backtrace--print-func-and-args, backtrace-mode): Always make buttons. Remove all uses of ':do-xrefs'. * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Modify backtrace-view instead of setting it. * lisp/emacs-lisp/edebug.el (edebug-backtrace): * lisp/emacs-lisp/ert.el (ert-results-pop-to-backtrace-for-test-at-point): Remove initialization of backtrace-view.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/backtrace.el13
-rw-r--r--lisp/emacs-lisp/debug.el2
-rw-r--r--lisp/emacs-lisp/edebug.el3
-rw-r--r--lisp/emacs-lisp/ert.el3
4 files changed, 10 insertions, 11 deletions
diff --git a/lisp/emacs-lisp/backtrace.el b/lisp/emacs-lisp/backtrace.el
index d16edb6a6cf..bcff14705c7 100644
--- a/lisp/emacs-lisp/backtrace.el
+++ b/lisp/emacs-lisp/backtrace.el
@@ -146,7 +146,7 @@ This should be a list of `backtrace-frame' objects.")
(defvar-local backtrace-view nil
"A plist describing how to render backtrace frames.
-Possible entries are :show-flags, :do-xrefs and :print-circle.")
+Possible entries are :show-flags and :print-circle.")
(defvar-local backtrace-insert-header-function nil
"Function for inserting a header for the current Backtrace buffer.
@@ -591,14 +591,14 @@ property for use by navigation."
(insert (if (and (plist-get view :show-flags) flag) "* " " "))
(put-text-property beg (point) 'backtrace-section 'func)))
-(defun backtrace--print-func-and-args (frame view)
+(defun backtrace--print-func-and-args (frame _view)
"Print the function, arguments and buffer position of a backtrace FRAME.
Format it according to VIEW."
(let* ((beg (point))
(evald (backtrace-frame-evald frame))
(fun (backtrace-frame-fun frame))
(args (backtrace-frame-args frame))
- (fun-file (and (plist-get view :do-xrefs) (symbol-file fun 'defun)))
+ (fun-file (symbol-file fun 'defun))
(fun-pt (point)))
(cond
((and evald (not debugger-stack-frame-as-list))
@@ -707,15 +707,16 @@ creates a backtrace-mode buffer, should usually do the following:
- Maybe set `backtrace-insert-header-function' to a function to create
header text for the buffer.
- Set `backtrace-frames' (see below).
- - Set `backtrace-view' if desired (see below).
+ - Maybe modify `backtrace-view' (see below).
- Maybe set `backtrace-print-function'.
A command which creates or switches to a Backtrace mode buffer,
such as `ert-results-pop-to-backtrace-for-test-at-point', should
initialize `backtrace-frames' to a list of `backtrace-frame'
objects (`backtrace-get-frames' is provided for that purpose, if
-desired), and `backtrace-view' to a plist describing how it wants
-the backtrace to appear. Finally, it should call `backtrace-print'.
+desired), and may optionally modify `backtrace-view', which is a
+plist describing the appearance of the backtrace. Finally, it
+should call `backtrace-print'.
`backtrace-print' calls `backtrace-insert-header-function'
followed by `backtrace-print-frame', once for each stack frame."
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index 707e0cfa186..48ca32ddd83 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -335,7 +335,7 @@ That buffer should be current already and in debugger-mode."
:debug-on-exit)
nil))
- (setq backtrace-view '(:do-xrefs t :show-flags t)
+ (setq backtrace-view (plist-put backtrace-view :show-flags t)
backtrace-insert-header-function (lambda ()
(debugger--insert-header args))
backtrace-print-function debugger-print-function)
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index b22c8952da0..3bf9cb9a488 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -4007,8 +4007,7 @@ Otherwise call `debug' normally."
(with-current-buffer edebug-backtrace-buffer
(unless (derived-mode-p 'backtrace-mode)
(backtrace-mode))
- (setq backtrace-frames (edebug--backtrace-frames)
- backtrace-view '(:do-xrefs t))
+ (setq backtrace-frames (edebug--backtrace-frames))
(backtrace-print)
(goto-char (point-min)))))
diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el
index 7178493ebe5..eb9695d0c12 100644
--- a/lisp/emacs-lisp/ert.el
+++ b/lisp/emacs-lisp/ert.el
@@ -2449,8 +2449,7 @@ To be used in the ERT results buffer."
(backtrace-mode))
(setq backtrace-insert-header-function
(lambda () (ert--insert-backtrace-header (ert-test-name test)))
- backtrace-frames (ert-test-result-with-condition-backtrace result)
- backtrace-view '(:do-xrefs t))
+ backtrace-frames (ert-test-result-with-condition-backtrace result))
(backtrace-print)
(goto-char (point-min)))))))