Subject: bug#25292: closed (Re: bug#25292: Ambiguity in doc string of defvar)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 29 Dec 2016 20:58:02 +0000

Your bug report

#25292: Ambiguity in doc string of defvar

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
25292: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25292
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#25292: Ambiguity in doc string of defvar
From: Alan Mackenzie <[email-masked]>
To: Eli Zaretskii <[email-masked]>
Cc: [email-masked]
Date: Thu, 29 Dec 2016 20:57:22 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello, Eli.

On Thu, Dec 29, 2016 at 10:35:07PM +0200, Eli Zaretskii wrote:
> > Date: Thu, 29 Dec 2016 19:42:38 +0000
> > Cc: [email-masked]
> > From: Alan Mackenzie <[email-masked]>

> >     If SYMBOL's value is void and the optional argument INITVALUE is
> >     provided, INITVALUE is evaluated and the result used to set SYMBOL.
>                                                            ^^^^^^^^^^^^^
> "...to set SYMBOL's value."

> >     If SYMBOL is buffer-local, its default value is what is set;
> >     buffer-local values are not affected.  If INITVALUE is missing,
> >     SYMBOL's value is not set.
 
> > What do you think?

> Other than that, LGTM, thanks.

OK.  I've made that correction, and committed the amended doc string.
I'm closing the bug as fixed.

-- 
Alan Mackenzie (Nuremberg, Germany).

Subject: Ambiguity in doc string of defvar
From: Alan Mackenzie <[email-masked]>
To: [email-masked]
Date: Thu, 29 Dec 2016 18:18:38 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello, Emacs.

The doc string for defvar includes this bit:

    The optional argument INITVALUE is evaluated, and used to set
    SYMBOL, only if SYMBOL's value is void.

Supposing SYMBOL's value is bound.  Clearly it does not get set to
INITVALUE.  But in this case is INITVALUE evaluated (and the result
discarded) or not?  The text leaves this ambiguous.  An improvement
would be the appropriate one of the following:

    If SYMBOL's value is void, the optional argument INITVALUE is
    evaluated and used to set SYMBOL.

    INITVALUE is evaluated, and if SYMBOL's value is void, it is used to
    set SYMBOL.

-- 
Alan Mackenzie (Nuremberg, Germany).