perf(lib): use syntax table instead of major mode

Should speed up doom/info a bit, and reduce potential edge cases caused
by emacs-lisp-mode hooks.
This commit is contained in:
Henrik Lissner 2022-06-18 15:26:22 +02:00
parent 2180d44a26
commit 336e7f0087
No known key found for this signature in database
GPG key ID: B60957CA074D39A3

View file

@ -119,14 +119,14 @@ Activate this advice with:
(let (forms)
(with-temp-buffer
(insert-file-contents file)
(let (emacs-lisp-mode-hook) (emacs-lisp-mode))
(with-syntax-table emacs-lisp-mode-syntax-table
(while (re-search-forward (format "(%s " (regexp-quote form)) nil t)
(let ((ppss (syntax-ppss)))
(unless (or (nth 4 ppss)
(nth 3 ppss))
(save-excursion
(goto-char (match-beginning 0))
(push (sexp-at-point) forms)))))
(push (sexp-at-point) forms))))))
(nreverse forms)))))
;;;###autoload