1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00

Fix handling of Eshell debug modes

Previously, these were enabled/disabled at byte-compilation time, but
we want to control them at runtime.

* lisp/eshell/esh-cmd.el (eshell-eval-command): Call
'eshell-debug-command-start'.
(eshell-manipulate): Check 'eshell-debug-command' at runtime.  Update
callers.
(eshell-debug-command): Move to "esh-util.el".
(eshell/eshell-debug, pcomplate/eshell-mode/eshell-debug): Move to
"em-basic.el".
(eshell-debug-show-parsed-args): Update implementation.

* lisp/eshell/esh-util.el (eshell-debug-command): Move from
"esh-cmd.el" and convert to a list.
(eshell-debug-command-buffer): New variable.
(eshell-condition-case): Check 'eshell-handle-errors' at runtime.
(eshell-debug-command-start): New function.
(eshell-debug-command): Move from "esh-cmd.el" and convert to a macro.

* lisp/eshell/em-basic.el (eshell/eshell-debug)
(pcomplete/eshell-mode/eshell-debug): Move from "esh-cmd.el" and
reimplement.

* lisp/eshell/eshell.el (eshell-command): Pass the original input to
'eshell-eval-command'.

* doc/misc/eshell.texi (Built-ins): Update documentation for
'eshell-debug'.
This commit is contained in:
Jim Porter 2023-08-29 17:02:40 -07:00
parent 17188e07ab
commit ccb62321d2
5 changed files with 108 additions and 92 deletions

View file

@ -619,10 +619,19 @@ environment.
@item eshell-debug
@cmindex eshell-debug
Toggle debugging information for Eshell itself. You can pass this
command the argument @code{errors} to enable/disable Eshell trapping
errors when evaluating commands, or the argument @code{commands} to
show/hide command execution progress in the buffer @code{*eshell last
cmd*}.
command one or more of the following arguments:
@itemize @bullet
@item
@code{error}, to enable/disable Eshell trapping errors when
evaluating commands; or
@item
@code{form}, to show/hide Eshell command form manipulation in the
buffer @code{*eshell last cmd*}.
@end itemize
@item exit
@cmindex exit