GNU bug report logs -
#43055
27.1; [PATCH] * lisp/term.el: Use correct exit status in suggested dir-tracking functions
Previous Next
Reported by: Phil Sainty <psainty <at> orcon.net.nz>
Date: Wed, 26 Aug 2020 03:59:01 UTC
Severity: normal
Tags: fixed, patch
Found in version 27.1
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
The shell function overrides suggested in term.el to facilitate
directory tracking cause those commands to return a success status
unconditionally:
cd() { command cd "$@"; printf '\033AnSiTc %s\n' "$PWD"; }
pushd() { command pushd "$@"; printf '\033AnSiTc %s\n' "$PWD"; }
popd() { command popd "$@"; printf '\033AnSiTc %s\n' "$PWD"; }
I.e. if the 'cd' fails, we are ignoring that and instead returning
the 'printf' exit status.
I believe these should be:
cd() { command cd "$@" && printf '\033AnSiTc %s\n' "$PWD"; }
pushd() { command pushd "$@" && printf '\033AnSiTc %s\n' "$PWD"; }
popd() { command popd "$@" && printf '\033AnSiTc %s\n' "$PWD"; }
If the command fails, no dir-tracking update should be needed in
Emacs (so it's fine not to do that part), and we will see the exit
status for the original command, so I think this is all that's
required.
Patch attached.
-Phil
[0001-lisp-term.el-Use-correct-exit-status-in-suggested-di.patch (text/x-diff, attachment)]
This bug report was last modified 4 years and 300 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.