Merge from origin/emacs-27

41dcbeccf3 Make aliases introduced in previous patch obsolete
4997032c05 Restore some public debugging functions removed in Emacs 27
This commit is contained in:
Glenn Morris 2020-10-02 09:33:53 -07:00
commit 223de5f2f5
2 changed files with 24 additions and 4 deletions

View file

@ -922,11 +922,15 @@ Output stream used is value of `standard-output'."
(princ (backtrace-to-string (backtrace-get-frames 'backtrace)))
nil)
(defun backtrace-to-string(&optional frames)
(defun backtrace-to-string (&optional frames)
"Format FRAMES, a list of `backtrace-frame' objects, for output.
Return the result as a string. If FRAMES is nil, use all
function calls currently active."
(unless frames (setq frames (backtrace-get-frames 'backtrace-to-string)))
(substring-no-properties
(backtrace--to-string
(or frames (backtrace-get-frames 'backtrace-to-string)))))
(defun backtrace--to-string (frames)
(let ((backtrace-fontify nil))
(with-temp-buffer
(backtrace-mode)
@ -934,8 +938,7 @@ function calls currently active."
backtrace-frames frames
backtrace-print-function #'cl-prin1)
(backtrace-print)
(substring-no-properties (filter-buffer-substring (point-min)
(point-max))))))
(filter-buffer-substring (point-min) (point-max)))))
(provide 'backtrace)

View file

@ -320,6 +320,17 @@ the debugger will not be entered."
(message "Error in debug printer: %S" err)
(prin1 obj stream))))
(make-obsolete 'debugger-insert-backtrace
"use a `backtrace-mode' buffer or `backtrace-to-string'."
"Emacs 27.1")
(defun debugger-insert-backtrace (frames do-xrefs)
"Format and insert the backtrace FRAMES at point.
Make functions into cross-reference buttons if DO-XREFS is non-nil."
(insert (if do-xrefs
(backtrace--to-string frames)
(backtrace-to-string frames))))
(defun debugger-setup-buffer (args)
"Initialize the `*Backtrace*' buffer for entry to the debugger.
That buffer should be current already and in debugger-mode."
@ -527,6 +538,9 @@ The environment used is the one when entering the activation frame at point."
(let ((str (eval-expression-print-format val)))
(if str (princ str t))))))))
(define-obsolete-function-alias 'debugger-toggle-locals
'backtrace-toggle-locals "28.1")
(defvar debugger-mode-map
(let ((map (make-keymap)))
@ -621,6 +635,9 @@ Complete list of commands:
(buffer-substring (line-beginning-position 0)
(line-end-position 0)))))
(define-obsolete-function-alias 'debug-help-follow
'backtrace-help-follow-symbol "28.1")
;; When you change this, you may also need to change the number of
;; frames that the debugger skips.