1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-06 07:31:13 -08:00
emacs/etc
Gemini Lasswell e09120d686 Add backtrace-mode and use it in the debugger, ERT and Edebug
* doc/lispref/debugging.texi (Using Debugger): Remove explanation of
backtrace buffer.  Refer to new node.
(Backtraces): New node.
(Debugger Commands): Refer to new node.  Remove 'v'.
* doc/lispref/edebug.texi (Edebug Misc): Refer to new node.
* doc/misc/ert.texi (Running Tests Interactively): Refer to new node.

* lisp/emacs-lisp-backtrace.el: New file.
* test/lisp/emacs-lisp/backtrace-tests.el: New file.

* lisp/emacs-lisp/debug.el: (debugger-buffer-state): New cl-defstruct.
(debugger--restore-buffer-state): New function.
(debug): Use a debugger-buffer-state object to save and restore buffer
state.  Fix bug#15749 by leaving an unused buffer in debugger-mode,
empty, instead of in fundamental-mode, and then when reusing a buffer,
not calling debugger-mode if the buffer is already in debugger-mode.
(debugger-insert-backtrace): Remove.
(debugger-setup-buffer): Use backtrace-mode.
(debugger--insert-header): New function.
(debugger-continue, debugger-return-value): Change check for flags to
use backtrace-frames.
(debugger-frame-number): Determine backtrace frame number from
backtrace-frames.
(debugger--locals-visible-p, debugger--insert-locals)
(debugger--show-locals, debugger--hide-locals)
(debugger-toggle-locals): Remove.
(debugger-mode-map): Make a child of backtrace-mode-map.  Move
navigation commands to backtrace-mode-map.  Bind 'q' to debugger-quit
instead of top-level.  Make Help Follow menu item call
backtrace-help-follow-symbol.
(debugger-mode): Derive from backtrace-mode.
(debug-help-follow): Remove.  Move body of this function to
'backtrace-help-follow-symbol' in backtrace.el.
(debugger-quit): New function.

* lisp/emacs-lisp/edebug.el (edebug-unwrap-results): Remove warning
in docstring about circular results.
(edebug-unwrap): Use pcase.
(edebug-unwrap1): New function to unwrap circular objects.
(edebug-unwrap*): Use it.
(edebug--frame): New cl-defstruct.
(edebug-backtrace): Call the buffer *Edebug Backtrace* and use
backtrace-mode.  Get the frames from edebug--backtrace-frames.
(edebug--backtrace-frames, edebug--unwrap-and-add-info)
(edebug--symbol-not-prefixed-p): New functions.

* lisp/emacs-lisp/lisp-mode.el
(lisp-el-font-lock-keywords-for-backtraces)
(lisp-el-font-lock-keywords-for-backtraces-1)
(lisp-el-font-lock-keywords-for-backtraces-2): New constants.

* lisp/emacs-lisp/ert.el (ert--print-backtrace): Remove.
(ert--run-test-debugger): Use backtrace-get-frames.
(ert-run-tests-batch): Use backtrace-to-string.
(ert-results-pop-to-backtrace-for-test-at-point): Use backtrace-mode.
(ert--insert-backtrace-header): New function.

* tests/lisp/emacs-lisp/ert-tests.el (ert-test--which-file):
Use backtrace-frame slot accessor.
2018-08-03 08:53:02 -07:00
..
charsets Update copyright year to 2018 2018-01-01 00:57:59 -08:00
e
forms Update copyright year to 2018 2018-01-01 00:57:59 -08:00
gnus
images Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
nxml Update nXML to use Emacs's Unicode support, and lexical-binding 2016-01-15 10:29:20 -05:00
org Update Org to v9.1.9 2018-03-27 23:34:41 +02:00
refcards Use “Cc” for email copies, as per RFC 5322. 2018-05-20 11:02:50 -07:00
schema Update copyright year to 2018 2018-01-01 00:57:59 -08:00
srecode Update copyright year to 2018 2018-01-01 00:57:59 -08:00
themes Disable no-byte-compile in built-in themes 2018-07-13 11:28:16 -04:00
tutorials Fix copyright years by hand 2018-01-01 01:02:09 -08:00
AUTHORS * etc/AUTHORS: Update. 2018-05-25 17:19:29 +02:00
CALC-NEWS ; Fix doc typos related to indefinite articles 2018-02-16 17:33:57 -05:00
CENSORSHIP Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
ChangeLog.1 Update copyright year to 2018 2018-01-01 00:57:59 -08:00
compilation.txt Update copyright year to 2018 2018-01-01 00:57:59 -08:00
COPYING Merge from Gnulib 2017-10-01 18:31:10 -07:00
DEBUG Merge from emacs-26 2018-06-10 18:43:49 -04:00
DEVEL.HUMOR
DISTRIB Update copyright year to 2018 2018-01-01 00:57:59 -08:00
edt-user.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
emacs-buffer.gdb Bring emacs-buffer.gdb up to date with recent lisp.h changes. 2018-01-26 18:52:19 -08:00
emacs.appdata.xml * etc/emacs.appdata.xml: Update Emacs screenshot. 2018-06-06 20:55:33 +02:00
emacs.desktop
emacs.icon
emacs.service Notify systemd in daemon-initialized and kill-emacs (Bug#31498) 2018-07-25 21:07:03 -04:00
enriched.txt Use Enriched mode in etc/HELLO to keep charset information 2018-05-19 18:17:38 +03:00
ERC-NEWS Update copyright year to 2018 2018-01-01 00:57:59 -08:00
ETAGS.EBNF ; Fix doc typos related to indefinite articles 2018-02-16 17:33:57 -05:00
ETAGS.README Update copyright year to 2018 2018-01-01 00:57:59 -08:00
FTP Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
future-bug
GNU
GNUS-NEWS Update copyright year to 2018 2018-01-01 00:57:59 -08:00
gnus-tut.txt Update copyright year to 2018 2018-01-01 00:57:59 -08:00
grep.txt Update copyright year to 2018 2018-01-01 00:57:59 -08:00
HELLO * etc/HELLO: Add a few more scripts. 2018-05-26 15:11:20 +03:00
HISTORY * etc/HISTORY: Cite Brinkoff on early history. 2018-07-01 08:25:46 -07:00
JOKES
LINUX-GNU Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
MACHINES Update copyright year to 2018 2018-01-01 00:57:59 -08:00
MH-E-NEWS Update copyright year to 2018 2018-01-01 00:57:59 -08:00
MORE.STUFF
NEWS Add backtrace-mode and use it in the debugger, ERT and Edebug 2018-08-03 08:53:02 -07:00
NEWS.1-17 Update copyright year to 2018 2018-01-01 00:57:59 -08:00
NEWS.18 Use “Cc” for email copies, as per RFC 5322. 2018-05-20 11:02:50 -07:00
NEWS.19 Use “Cc” for email copies, as per RFC 5322. 2018-05-20 11:02:50 -07:00
NEWS.20 Use “Cc” for email copies, as per RFC 5322. 2018-05-20 11:02:50 -07:00
NEWS.21 ; Fix doc typos related to indefinite articles 2018-02-16 17:33:57 -05:00
NEWS.22 ; Fix doc typos related to indefinite articles 2018-02-16 17:33:57 -05:00
NEWS.23 Update copyright year to 2018 2018-01-01 00:57:59 -08:00
NEWS.24 Update copyright year to 2018 2018-01-01 00:57:59 -08:00
NEWS.25 Update copyright year to 2018 2018-01-01 00:57:59 -08:00
NEWS.26 Merge from origin/emacs-26 2018-07-20 10:00:32 -07:00
NEXTSTEP Update copyright year to 2018 2018-01-01 00:57:59 -08:00
NXML-NEWS Update copyright year to 2018 2018-01-01 00:57:59 -08:00
ORDERS
ORG-NEWS Update Org to v9.1.9 2018-03-27 23:34:41 +02:00
package-keyring.gpg
PROBLEMS Remove old combreloc hack 2018-06-15 14:38:26 -07:00
ps-prin0.ps Update copyright year to 2018 2018-01-01 00:57:59 -08:00
ps-prin1.ps Update copyright year to 2018 2018-01-01 00:57:59 -08:00
publicsuffix.txt Update publicsuffix.txt. 2016-02-06 16:11:18 +11:00
README Update copyright year to 2018 2018-01-01 00:57:59 -08:00
rgb.txt
ses-example.ses Update copyright year to 2018 2018-01-01 00:57:59 -08:00
spook.lines
TERMS Update copyright year to 2018 2018-01-01 00:57:59 -08:00
THE-GNU-PROJECT Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
TODO Doc fixes re obsolete items 2018-03-13 13:49:05 -04:00
WHY-FREE Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
yow.lines

This directory contains the architecture-independent files used by or
with Emacs.  This includes some text files of documentation for GNU
Emacs or of interest to Emacs users, and the file of dumped docstrings
for Emacs functions and variables.

COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES

File: emacs.icon
  Author: Sun Microsystems, Inc
  Copyright (C) 1999, 2001-2018 Free Software Foundation, Inc.
  License: GNU General Public License version 3 or later (see COPYING)