Set doom-file property less eagerly
Reduces the size of the autoloads file by 6-10% by only setting doom-file property on raw forms or no-op macros.
This commit is contained in:
parent
c0251aacee
commit
8b739fb3b0
1 changed files with 7 additions and 4 deletions
|
@ -442,7 +442,7 @@ even if it doesn't need reloading!"
|
||||||
(while (re-search-forward "^;;;###autodef *\\([^\n]+\\)?\n" nil t)
|
(while (re-search-forward "^;;;###autodef *\\([^\n]+\\)?\n" nil t)
|
||||||
(let ((sexp (sexp-at-point))
|
(let ((sexp (sexp-at-point))
|
||||||
(pred (match-string 1)))
|
(pred (match-string 1)))
|
||||||
(if (not (memq (car sexp) '(defun defmacro cl-defun cl-defmacro def-setting!)))
|
(if (not (memq (car sexp) '(defun defmacro cl-defun cl-defmacro)))
|
||||||
(message "Ignoring invalid autodef %s (found %s)"
|
(message "Ignoring invalid autodef %s (found %s)"
|
||||||
name type)
|
name type)
|
||||||
(cl-destructuring-bind (type name arglist docstring &rest body) sexp
|
(cl-destructuring-bind (type name arglist docstring &rest body) sexp
|
||||||
|
@ -453,10 +453,13 @@ even if it doesn't need reloading!"
|
||||||
((file-in-directory-p path doom-private-dir)
|
((file-in-directory-p path doom-private-dir)
|
||||||
`(:private . ,(intern (file-name-base path))))
|
`(:private . ,(intern (file-name-base path))))
|
||||||
((file-in-directory-p path doom-emacs-dir)
|
((file-in-directory-p path doom-emacs-dir)
|
||||||
`(:core . ,(intern (file-name-base path)))))))
|
`(:core . ,(intern (file-name-base path))))))
|
||||||
|
(doom-file-form
|
||||||
|
`(put ',name 'doom-file ,(abbreviate-file-name path))))
|
||||||
(push (cond ((not (and member-p
|
(push (cond ((not (and member-p
|
||||||
(or (null pred)
|
(or (null pred)
|
||||||
(eval (read pred) t))))
|
(eval (read pred) t))))
|
||||||
|
(push doom-file-form forms)
|
||||||
(condition-case-unless-debug e
|
(condition-case-unless-debug e
|
||||||
(append
|
(append
|
||||||
(list 'defmacro name arglist
|
(list 'defmacro name arglist
|
||||||
|
@ -474,11 +477,11 @@ even if it doesn't need reloading!"
|
||||||
(message "Ignoring autodef %s (%s)"
|
(message "Ignoring autodef %s (%s)"
|
||||||
name e)
|
name e)
|
||||||
nil)))
|
nil)))
|
||||||
((memq type '(defmacro cl-defmacro def-setting!))
|
((memq type '(defmacro cl-defmacro))
|
||||||
|
(push doom-file-form forms)
|
||||||
sexp)
|
sexp)
|
||||||
((make-autoload sexp path)))
|
((make-autoload sexp path)))
|
||||||
forms)
|
forms)
|
||||||
(push `(put ',name 'doom-file ',(abbreviate-file-name path)) forms)
|
|
||||||
(push `(put ',name 'doom-module ',origin) forms))))))
|
(push `(put ',name 'doom-module ',origin) forms))))))
|
||||||
(if forms
|
(if forms
|
||||||
(concat (string-join (mapcar #'prin1-to-string (reverse forms)) "\n")
|
(concat (string-join (mapcar #'prin1-to-string (reverse forms)) "\n")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue