Subject: bug#67669: 29.1; Drop text suggesting using `and' to replace `if'

From: Eli Zaretskii <[email-masked]>
Date: Thu, 07 Dec 2023 22:22:57 +0200

> From: Xiyue Deng <[email-masked]>
> Cc: [email-masked]
> Date: Thu, 07 Dec 2023 11:54:20 -0800
> 
> Eli Zaretskii <[email-masked]> 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'.

> 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.