]> git.eshelyaron.com Git - emacs.git/commitdiff
Always make buttons from function names in backtraces
authorGemini Lasswell <gazally@runbox.com>
Sun, 24 Jun 2018 14:17:47 +0000 (07:17 -0700)
committerGemini Lasswell <gazally@runbox.com>
Fri, 3 Aug 2018 15:53:02 +0000 (08:53 -0700)
* 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.

lisp/emacs-lisp/backtrace.el
lisp/emacs-lisp/debug.el
lisp/emacs-lisp/edebug.el
lisp/emacs-lisp/ert.el

index d16edb6a6cf6318f6f51078b114c27c947c30e1c..bcff14705c7c9735debe4856d8b8b2ef817d2f6f 100644 (file)
@@ -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."
index 707e0cfa186072fe5481b220f3bb8335029f1e50..48ca32ddd83af2a20c81d588341a0d2378554d1b 100644 (file)
@@ -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)
index b22c8952da06d56272f1b0fa75b8e0ce1ecb7292..3bf9cb9a4889c0037aec92110c66212ed1641d2e 100644 (file)
@@ -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)))))
 
index 7178493ebe53746e7b583415a46c183dd55b720b..eb9695d0c1243dea6280640c6edf2af3502503c7 100644 (file)
@@ -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)))))))