summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2024-02-06 13:21:22 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2024-02-06 13:21:22 -0500
commita2201a2034a86b4cc90132ab2d920456866c11e3 (patch)
tree449429d1ce4ad737c85894fef9ac27e727dcb2d6 /lisp/emacs-lisp
parentce7365b591852dd5556e0a4bf6a0ba63a8733802 (diff)
downloademacs-a2201a2034a86b4cc90132ab2d920456866c11e3.tar.gz
emacs-a2201a2034a86b4cc90132ab2d920456866c11e3.tar.bz2
emacs-a2201a2034a86b4cc90132ab2d920456866c11e3.zip
(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.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/loaddefs-gen.el27
1 files changed, 15 insertions, 12 deletions
diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el
index 7eced43e735..7cfb14ace5f 100644
--- a/lisp/emacs-lisp/loaddefs-gen.el
+++ b/lisp/emacs-lisp/loaddefs-gen.el
@@ -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)