aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorGemini Lasswell2018-07-17 11:47:43 -0700
committerGemini Lasswell2018-08-03 08:54:08 -0700
commitca98377280005344fb07c816997b9bc2a737056a (patch)
tree11172830e890866a63a154dad9e68850b8cf5064 /doc
parent1459ad2c670e7633f426d7a5a7f05fab23195b32 (diff)
downloademacs-ca98377280005344fb07c816997b9bc2a737056a.tar.gz
emacs-ca98377280005344fb07c816997b9bc2a737056a.zip
Add new commands to Edebug backtraces
Add commands to go to source if available, and to show and hide Edebug's instrumentation. Make Edebug pop to backtraces instead of displaying them, which makes Edebug consistant with the behavior of ERT and the Lisp Debugger. * doc/lispref/edebug.texi (Edebug Misc): Document when and how you can jump to source code from an Edebug backtrace. Document 'edebug-backtrace-show-instrumentation' and 'edebug-backtrace-hide-instrumentation'. * lisp/emacs-lisp/backtrace.el (backtrace-frame): Add comments to describe the fields. (backtrace-goto-source-functions): New abnormal hook. (backtrace-mode-map): Add keybinding and menu item for backtrace-goto-source. (backtrace--flags-width): New constant. (backtrace-update-flags): Use it. (backtrace-goto-source): New command. (backtrace--print-flags): Print the :source-available flag. * lisp/emacs-lisp/edebug.el (edebug-backtrace-frames) (edebug-instrumented-backtrace-frames): New variables. (edebug-backtrace, edebug--backtrace-frames): Remove functions. (edebug-pop-to-backtrace, edebug--backtrace-goto-source) (edebug--add-source-info): New functions. (edebug-mode-map, edebug-mode-menus): Replace 'edebug-backtrace' with 'edebug-pop-to-backtrace'. (edebug--strip-instrumentation): New function. (edebug--unwrap-and-add-info): Remove. (edebug-unwrap-frame, edebug-add-source-info): New functions. (edebug-backtrace-show-instrumentation) (edebug-backtrace-hide-instrumentation): New commands. * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-check-keymap): Verify keybindings in backtrace-mode-map used by new test. Update with binding for 'edebug-pop-to-backtrace'. (edebug-tests-backtrace-goto-source): New test. * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el (edebug-test-code-range): Add a new stop point.
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/edebug.texi12
1 files changed, 10 insertions, 2 deletions
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi
index 0e0a2e8a643..59c9a68c54b 100644
--- a/doc/lispref/edebug.texi
+++ b/doc/lispref/edebug.texi
@@ -442,8 +442,16 @@ Redisplay the most recently known expression result in the echo area
442Display a backtrace, excluding Edebug's own functions for clarity 442Display a backtrace, excluding Edebug's own functions for clarity
443(@code{edebug-backtrace}). 443(@code{edebug-backtrace}).
444 444
445@xref{Debugging,, Backtraces, elisp}, for the commands which work 445@xref{Debugging,, Backtraces, elisp}, for a description of backtraces
446in a backtrace buffer. 446and the commands which work on them.
447
448If you would like to see Edebug's functions in the backtrace,
449use @kbd{M-x edebug-backtrace-show-instrumentation}. To hide them
450again use @kbd{M-x edebug-backtrace-hide-instrumentation}.
451
452If a backtrace frame starts with @samp{>} that means that Edebug knows
453where the source code for the frame is located. Use @kbd{s} to jump
454to the source code for the current frame.
447 455
448The backtrace buffer is killed automatically when you continue 456The backtrace buffer is killed automatically when you continue
449execution. 457execution.