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 #40 received at 67669-done <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Xiyue Deng <manphiz <at> gmail.com>
>> Cc: 67669-done <at> debbugs.gnu.org
>> Date: Thu, 07 Dec 2023 11:54:20 -0800
>>
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>
>> > Sorry, I don't understand what you mean by "guarding a side effect",
>>
>> I was referring to whether we care about and use the result of the
>> statement/function call. In `and' we do, in `if' we don't and we just
>> use the side effect.
>
> But that's not true. 'if' does return a value, and we do use it.
> Consider this random example:
>
> (defsubst posn-area (position)
> [...]
> (let ((area (if (consp (nth 1 position))
> (car (nth 1 position))
> (nth 1 position))))
> (and (symbolp area) area)))
>
> Here we bind 'area' to the value returned by 'if'.
Well if we use `if' with else then yes. Actually as Drew pointed out
this suggestion makes more sense if we are comparing `and' and `when'
(a.k.a. if without else), but point taken.
>
>> As I was just trying to argue just "a bit", I won't be insisting either.
>> Thanks for listening, and let me close this.
>
> Thanks.
--
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.