Subject: bug#27726: closed (Re: bug#27726: 26.0.50; plist functions give confusing errors on invalid plists)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 02 Sep 2017 19:12:02 +0000

Your bug report

#27726: 26.0.50; plist functions give confusing errors on invalid plists

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

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

Subject: Re: bug#27726: 26.0.50; plist functions give confusing errors on invalid plists
From: Philipp Stephani <[email-masked]>
To: Eli Zaretskii <[email-masked]>, Lars Ingebrigtsen <[email-masked]>
Cc: [email-masked]
Date: Sat, 02 Sep 2017 19:10:47 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Eli Zaretskii <[email-masked]> schrieb am Sa., 2. Sep. 2017 um 14:46 Uhr:

> unblock 24655 by 27726
> thanks
>
> > From: Lars Ingebrigtsen <[email-masked]>
> > Date: Sun, 16 Jul 2017 21:50:27 +0200
> >
> >
> > (plist-put '(:foo 1 :bar) :zot 2)
> >
> > Debugger entered--Lisp error: (wrong-type-argument listp (:foo 1 :bar))
> >   plist-put((:foo 1 :bar) :zot 2)
> >   eval((plist-put '(:foo 1 :bar) :zot 2) nil)
> >   elisp--eval-last-sexp(nil)
> >   eval-last-sexp(nil)
> >   funcall-interactively(eval-last-sexp nil)
> >   call-interactively(eval-last-sexp nil nil)
> >   command-execute(eval-last-sexp)
> >
> > The error seems to say that '(:foo 1 :bar) isn't a list.  But the
> > problem is that it's not a valid plist, since it has an odd number of
> > elements.
> >
> > So I think there should be a different error being signalled here.  (And
> > there isn't really a backwards compatibility issue here of introducing a
> > new error symbol: Emacs 26.1 started signalling errors for these lists;
> > previously it was fine having odd plists.)
>
> Would someone please look into this bug?
>

I've installed commit  71766a45f1 to improve the message.

Subject: 26.0.50; plist functions give confusing errors on invalid plists
From: Lars Ingebrigtsen <[email-masked]>
To: [email-masked]
Date: Sun, 16 Jul 2017 21:50:27 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

(plist-put '(:foo 1 :bar) :zot 2)

Debugger entered--Lisp error: (wrong-type-argument listp (:foo 1 :bar))
  plist-put((:foo 1 :bar) :zot 2)
  eval((plist-put '(:foo 1 :bar) :zot 2) nil)
  elisp--eval-last-sexp(nil)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  call-interactively(eval-last-sexp nil nil)
  command-execute(eval-last-sexp)

The error seems to say that '(:foo 1 :bar) isn't a list.  But the
problem is that it's not a valid plist, since it has an odd number of
elements.

So I think there should be a different error being signalled here.  (And
there isn't really a backwards compatibility issue here of introducing a
new error symbol: Emacs 26.1 started signalling errors for these lists;
previously it was fine having odd plists.)

In GNU Emacs 26.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
 of 2017-07-16 built on mouse
Repository revision: 45892db6f53cccc045da9c7215b467617c067f04
Windowing system distributor 'The X.Org Foundation', version 11.0.11903000
System Description:	Ubuntu 17.04

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no