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 #41 received at 65604 <at> debbugs.gnu.org (full text, mbox):
> From: Davide Masserut <dm <at> mssdvd.com>
> Cc: me <at> eshelyaron.com, 65604 <at> debbugs.gnu.org, jporterbugs <at> gmail.com
> Date: Wed, 30 Aug 2023 21:59:35 +0200
>
> Unless SYMBOL is marked as risky (i.e., it has a non-‘nil’
> ‘risky-local-variable’ property), all text properties
> specified in
> SYMBOL’s value are ignored. This includes the text
> properties of
> strings in SYMBOL’s value, as well as all ‘:eval’ and
> ‘:propertize’
> forms in it. (The reason for this is security: non-risky
> variables
> could be set automatically from file variables without
> prompting
> the user.)
>
>
> Given this code:
>
> (defun eshell-mode-line-exit-code ()
> (when (> eshell-last-command-status 0)
> (propertize
> (format ":[%s]" eshell-last-command-status)
> 'help-echo (format "Last command exited with code %s"
> eshell-last-command-status)
> 'face 'compilation-mode-line-fail)))
>
> (setq-local mode-line-process 'eshell-mode-line-exit-code)
>
> Doesn't it mean that unless we mark it "risky-local-variable",
> Emacs will remove the "compilation-mode-line-fail" face?
Ah, that. Yes, the properties will be ignored. But do we really need
fancy faces on that display?
(FWIW, I personally don't like the idea of showing this on the mode
line: the mode line is already quite cramped, and OTOH Bash does show
abnormal exit codes as part of its prompt. But feel free to disregard
my opinions, as I'm not a heavy user of Eshell.)
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.