summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/loaddefs-gen.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2024-02-06 15:36:18 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2024-02-06 15:36:18 -0500
commit77f240012f1e9a7cfee60adedebc8e6a230ce49b (patch)
tree718b1036ac5a46b6d447755bbb48bfacf398aa1c /lisp/emacs-lisp/loaddefs-gen.el
parentab318cce1e97f4b9c78adc3290784105b78f0728 (diff)
downloademacs-77f240012f1e9a7cfee60adedebc8e6a230ce49b.tar.gz
emacs-77f240012f1e9a7cfee60adedebc8e6a230ce49b.tar.bz2
emacs-77f240012f1e9a7cfee60adedebc8e6a230ce49b.zip
(loaddefs-generate--compute-prefixes): Fix thinko in last change
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--compute-prefixes): Fix thinko in last change. Also, reduce memory allocation.
Diffstat (limited to 'lisp/emacs-lisp/loaddefs-gen.el')
-rw-r--r--lisp/emacs-lisp/loaddefs-gen.el7
1 files changed, 4 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el
index 7cfb14ace5f..1e91e84157d 100644
--- a/lisp/emacs-lisp/loaddefs-gen.el
+++ b/lisp/emacs-lisp/loaddefs-gen.el
@@ -499,16 +499,17 @@ don't include."
(defun loaddefs-generate--compute-prefixes (load-name)
(goto-char (point-min))
- (let ((prefs nil))
+ (let ((prefs nil)
+ (temp-obarray (obarray-make)))
;; Avoid (defvar <foo>) by requiring a trailing space.
(while (re-search-forward
"^(\\(def[^ \t\n]+\\)[ \t\n]+['(]*\\([^' ()\"\n]+\\)[\n \t]" nil t)
(unless (member (match-string 1) autoload-ignored-definitions)
(let* ((name (match-string-no-properties 2))
;; Consider `read-symbol-shorthands'.
- (probe (let ((obarray (obarray-make)))
+ (probe (let ((obarray temp-obarray))
(car (read-from-string name)))))
- (when (symbolp name)
+ (when (symbolp probe)
(setq name (symbol-name probe))
(when (save-excursion
(goto-char (match-beginning 0))