GNU bug report logs -
#67669
29.1; Drop text suggesting using `and' to replace `if'
Previous Next
Reported by: Xiyue Deng <manphiz <at> gmail.com>
Date: Wed, 6 Dec 2023 21:48:01 UTC
Severity: normal
Found in version 29.1
Done: Xiyue Deng <manphiz <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #61 received at 67669 <at> debbugs.gnu.org (full text, mbox):
Sean Whitton <spwhitton <at> spwhitton.name> writes:
> Hello,
>
> On Thu 07 Dec 2023 at 09:49am -08, Xiyue Deng wrote:
>
>> Agreed on the point of being educational, and of course in the end
>> coding style is mostly a matter of personal preference. However, I
>> would argue a bit that in such case we wouldn't need `if' or `when' at
>> all as both can be emulated by `and' and `or' if you are careful enough.
>> On the other hand, `if' and `when' should exist for a reason. I quite
>> like this suggestion[1] that `if' and `when' are used to guard side
>> effects, whereas `and' and `or' are used for pure functions.
>> Interestingly the current example you quoted changed from using `and'
>> (as in the old version I quoted) to `if' probably based on this
>> reasoning. Similarly I wouldn't suggest to replace `if' with `and' in
>> the original example around the text we are discussing:
>
> It's an old Lisp convention, not Emacs-specific, to use 'and' for return
> value and 'when' for side-effects, and not to use 'if' when there is no
> 'else' clause.
Ack. Thanks for the historical tip!
--
Xiyue Deng
This bug report was last modified 1 year and 224 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.