Make loaddefs-generate slightly more tolerant

There are packages in the wild, such as vlf-20191126.2250, which have
entries that are not terminated by three ';', but by two.  Tolerate
such entries.

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Search for two
';' as a delimiter, not three.  (Bug#63236)
This commit is contained in:
Robert Pluim 2023-05-04 14:07:08 +02:00
parent aba41d2c4b
commit 94e984e670

View file

@ -635,9 +635,12 @@ instead of just updating them with the new/changed autoloads."
(progn (progn
(goto-char (point-max)) (goto-char (point-max))
(search-backward "\f\n" nil t)) (search-backward "\f\n" nil t))
;; Delete the old version of the section. ;; Delete the old version of the section. Strictly
;; speaking this should search for "\n\f\n;;;", but
;; there are loaddefs files in the wild that only
;; have two ';;'. (Bug#63236)
(delete-region (match-beginning 0) (delete-region (match-beginning 0)
(and (search-forward "\n\f\n;;;") (and (search-forward "\n\f\n;;")
(match-beginning 0))) (match-beginning 0)))
(forward-line -2))) (forward-line -2)))
(insert head) (insert head)