Subject: bug#25640: 26.0.50; eww default duckduckgo search results always in error

From: [email-masked]
Date: Tue, 07 Feb 2017 23:39:01 -0500

tags 25640 confirmed
quit

[email-masked] (José L. Doménech) writes:

> Entering keywords on eww always results in error. This
> error aborts the rendering process although a render of the search
> result page is displayed.
>
> Example:
> emacs -Q
>
> M-x eww
> emacs
>
> Always a message with the following error is signaled:
>
> error in process filter: eww-size-text-inputs: Wrong type argument: listp, ((:method . "post") (:action . "/html/") (hidden :name "kl" :value "us-en"))
> error in process filter: Wrong type argument: listp, ((:method . "post") (:action . "/html/") (hidden :name "kl" :value "us-en"))

`eww-size-text-inputs' calls `plist-put' on a list which is not actually
a plist.  Since [1: 03a012a796] `plist-put' is a bit more strict, it
requires the list to have an even length, hence the error.

Before:
(plist-put (list 99) :x 2) ;=> (:x 2 99)

After:
(plist-put (list 99) :x 2) ;=> Lisp error: (wrong-type-argument listp (99))

1: 2017-02-06 17:34:41 -0800 03a012a79679c730634537f966200878bfd1c0b4
  Make FOR_EACH_TAIL more like other FOR_EACH macros