GNU bug report logs -
#26161
25.1; `eshell-exit-success-p' determines that Lisp commands are successful if they return non-nil
Previous Next
Reported by: "George D. Plymale" <georgedp <at> orbitalimpact.com>
Date: Sat, 18 Mar 2017 21:22:01 UTC
Severity: minor
Tags: confirmed, fixed, patch
Found in version 25.1
Fixed in version 26.1
Done: npostavs <at> users.sourceforge.net
Bug is archived. No further changes may be made.
Full log
Message #8 received at 26161 <at> debbugs.gnu.org (full text, mbox):
tags 26161 confirmed
severity 26161 minor
quit
"George D. Plymale" <georgedp <at> orbitalimpact.com> writes:
> I believe that it is sub-optimal behavior for `eshell-exit-success-p' to
> determine that Lisp commands are successful by checking whether or not
> they return a non-nil value. A demonstration of why this behavior can be
> considered problematic is found in a command like this: `$ cd .. && pwd'
So maybe `eshell/cd' should be changed to return t when it succeeds?
> Such a command will not execute its second part (which is `pwd') because
> `eshell/cd' returns a nil value whether it's successful or not. This
> behavior is a bit confusing for someone who expects common shell
> operators such as `&&' to "just work."
>
> A better solution would be to check whether the last command threw an
> actual error.
AFAICT, when you cd to a non-existent directory it doesn't throw an
error, but I don't think that should be considered success.
This bug report was last modified 8 years and 34 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.