GNU bug report logs -
#65604
[PATCH] Display the exit code if the last command failed in Eshell
Previous Next
Reported by: Davide Masserut <dm <at> mssdvd.com>
Date: Tue, 29 Aug 2023 22:45:01 UTC
Severity: normal
Tags: patch
Fixed in version 30.1
Done: Jim Porter <jporterbugs <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #23 received at 65604 <at> debbugs.gnu.org (full text, mbox):
> Cc: jporterbugs <at> gmail.com, dm <at> mssdvd.com
> Date: Wed, 30 Aug 2023 17:34:51 +0200
> From: Eshel Yaron via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>
> I suggest a small rephrase to avoid the passive voice:
> "Eshell now displays the exit code of the last command in the mode line
> when it's non-zero."
Always try to avoid possible confusion due to wrong attribution (does
"it's" refer to the mode line or to the last command or to the exit
code?). So:
If a command exits abnormally, Eshel now displays its exit code on
the mode line.
> Also, shouldn't this also be mentioned in the manual?
Of course, it should!
> > +(defun eshell-update-last-command-status (exit-code)
> > + "Set `eshell-last-command-status' to EXIT-CODE and update `mode-line-process'."
> > + (setq mode-line-process
> > + (when (> exit-code 0)
> > + (list
> > + (let ((out-string (format ":[%s]" exit-code))
> > + (msg (format "Last command exited with code %s" exit-code)))
> > + (propertize out-string
> > + 'help-echo msg
> > + 'face 'compilation-mode-line-fail))))
> > + eshell-last-command-status exit-code))
> > +
>
> You should be able to use an `:eval` mode line construct here instead of
> resetting `mode-line-process` after each command this way. This would
> allow other code to extend modify `mode-line-process` as well, without
> having the modification undone after each command.
Why do you meed :eval at all? AFAIR, having a symbol in the mode line
automatically uses its current value when the mode line is redrawn.
This bug report was last modified 1 year and 256 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.