(loaddefs-generate--parse-file): Be a bit more defensive

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--parse-file):
Don't fail in case of an error while generating the prefixes.
(loaddefs-generate--compute-prefixes): Don't burp when
`read-from-string` returns something else than a symbol.
This commit is contained in:
Stefan Monnier 2024-02-06 13:21:22 -05:00
parent ce7365b591
commit a2201a2034

View file

@ -489,10 +489,12 @@ don't include."
(when (and autoload-compute-prefixes
compute-prefixes)
(when-let ((form (loaddefs-generate--compute-prefixes load-name)))
;; This output needs to always go in the main loaddefs.el,
;; regardless of `generated-autoload-file'.
(push (list main-outfile file form) defs)))))
(with-demoted-errors "%S"
(when-let
((form (loaddefs-generate--compute-prefixes load-name)))
;; This output needs to always go in the main loaddefs.el,
;; regardless of `generated-autoload-file'.
(push (list main-outfile file form) defs))))))
defs))
(defun loaddefs-generate--compute-prefixes (load-name)
@ -506,14 +508,15 @@ don't include."
;; Consider `read-symbol-shorthands'.
(probe (let ((obarray (obarray-make)))
(car (read-from-string name)))))
(setq name (symbol-name probe))
(when (save-excursion
(goto-char (match-beginning 0))
(or (bobp)
(progn
(forward-line -1)
(not (looking-at ";;;###autoload")))))
(push name prefs)))))
(when (symbolp name)
(setq name (symbol-name probe))
(when (save-excursion
(goto-char (match-beginning 0))
(or (bobp)
(progn
(forward-line -1)
(not (looking-at ";;;###autoload")))))
(push name prefs))))))
(loaddefs-generate--make-prefixes prefs load-name)))
(defun loaddefs-generate--rubric (file &optional type feature compile)