From 4997032c05e7929d6f306d5195da7c3accfad79f Mon Sep 17 00:00:00 2001 From: Gemini Lasswell Date: Thu, 1 Oct 2020 19:59:58 +0200 Subject: Restore some public debugging functions removed in Emacs 27 * lisp/emacs-lisp/backtrace.el (backtrace--to-string): New function. (backtrace-to-string): Use it. Fix whitespace (bug#40728). * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function. Mark it as obsolete. (debugger-toggle-locals, debug-help-follow): New aliases. --- lisp/emacs-lisp/debug.el | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'lisp/emacs-lisp/debug.el') diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el index ed28997292f..14957eae0f2 100644 --- a/lisp/emacs-lisp/debug.el +++ b/lisp/emacs-lisp/debug.el @@ -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,8 @@ 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)))))))) +(defalias 'debugger-toggle-locals 'backtrace-toggle-locals) + (defvar debugger-mode-map (let ((map (make-keymap))) @@ -621,6 +634,8 @@ Complete list of commands: (buffer-substring (line-beginning-position 0) (line-end-position 0))))) +(defalias 'debug-help-follow 'backtrace-help-follow-symbol) + ;; When you change this, you may also need to change the number of ;; frames that the debugger skips. -- cgit v1.2.3 From 41dcbeccf3094b7f00f5650080a3b604dca69717 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Thu, 1 Oct 2020 20:03:58 +0200 Subject: Make aliases introduced in previous patch obsolete * lisp/emacs-lisp/debug.el (debugger-toggle-locals): (debug-help-follow): Make reinstated aliases obsolete. --- lisp/emacs-lisp/debug.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lisp/emacs-lisp/debug.el') diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el index 14957eae0f2..8cd0bdef648 100644 --- a/lisp/emacs-lisp/debug.el +++ b/lisp/emacs-lisp/debug.el @@ -538,7 +538,8 @@ 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)))))))) -(defalias 'debugger-toggle-locals 'backtrace-toggle-locals) +(define-obsolete-function-alias 'debugger-toggle-locals + 'backtrace-toggle-locals "28.1") (defvar debugger-mode-map @@ -634,7 +635,8 @@ Complete list of commands: (buffer-substring (line-beginning-position 0) (line-end-position 0))))) -(defalias 'debug-help-follow 'backtrace-help-follow-symbol) +(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 -- cgit v1.2.3