Subject: [Robert Weiner] Emacs history selection non-string arguments causing failures for a long time

From: Stefan Monnier <[email-masked]>
Date: Sun, 16 Feb 2020 15:55:12 -0500

Subject: Emacs history selection non-string arguments causing failures for a long time
From: Robert Weiner <[email-masked]>
To: Stefan Monnier <[email-masked]>
Cc: [email-masked]
Date: Sun, 16 Feb 2020 01:14:48 -0500

Hi Stefan:

This bug #14120 in subr.el is still occurring in Emacs 27.0.50 because
leading entries like (require . info) rather than strings are being
injected into the history.  Since this has affected people for quite a
while, I hope you or someone else can add this one line change to the Emacs
27 branch and resolve it.

Bob

---------

*** subr-old.el 2020-02-16 01:05:56.000000000 -0500
--- subr.el 2020-02-16 01:06:28.000000000 -0500
***************
*** 4490,4496 ****
  (load-elt (and loads (car loads))))
      (save-match-data
        (while (and loads
!  (or (null (car load-elt))
       (not (string-match file-regexp (car load-elt)))))
  (setq loads (cdr loads)
       load-elt (and loads (car loads)))))
--- 4490,4499 ----
  (load-elt (and loads (car loads))))
      (save-match-data
        (while (and loads
!  ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=14120
!  ;; Avoid this bug still occuring in Emacs 27.0.50 by checking
!  ;; if load-elt is a string or not.
!  (or (not (stringp (car load-elt)))
       (not (string-match file-regexp (car load-elt)))))
  (setq loads (cdr loads)
       load-elt (and loads (car loads)))))