Subject: bug#20241: 25.0.50; `setq' with only one argument

From: Alan Mackenzie <[email-masked]>
Date: Tue, 24 Nov 2015 11:32:24 +0000

Hello, Glenn.

On Mon, Nov 23, 2015 at 07:31:38PM +0000, Alan Mackenzie wrote:
> On Mon, Nov 23, 2015 at 01:44:51PM -0500, Glenn Morris wrote:
> > Alan Mackenzie wrote:

> > >> setq' should not be called with only one argument.  It "works", with the
> > >> effect of assigning a value of nil, but it is poor form.  Typically this
> > >> is a sign of a typo.
> > >
> > > Fixed in emacs-25.  The interpreter now signals a wrong-number-of-args
> > > error, and the byte compiler issues a warning.

> > What on earth is this incompatible change doing in a feature-frozen
> > release branch?

> It's a bug fix.

> > Also, the combination of a compiler _warning_ and a run-time _error_
> > makes no sense.

> Maybe, maybe not.  It's not the byte compiler's habit to signal errors:
> it only does so in most exceptional circumstances.  Possibly the
> thinking is that it's best to produce a .elc anyway, which can be
> inspected, rather than just to error out.

Apologies for the above: the byte compiler does indeed routinely signal
errors as errors.  I will change this "odd number of arguments" warning
into an error.

-- 
Alan Mackenzie (Nuremberg, Germany).