From ac237334c7672377721e4d27e8ecd6b09d453568 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mattias=20Engdeg=C3=A5rd?= Date: Sun, 31 Jul 2022 12:54:53 +0200 Subject: [PATCH] Reduce internal rx autoloads * lisp/emacs-lisp/rx.el (rx--to-expr, rx--pcase-transform): Don't autoload. (rx--pcase-macroexpander): Extract body into... (rx--pcase-expand): ...a separate function, which is autoloaded. --- lisp/emacs-lisp/rx.el | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el index a2cf23f2711..ec51146484a 100644 --- a/lisp/emacs-lisp/rx.el +++ b/lisp/emacs-lisp/rx.el @@ -1150,8 +1150,6 @@ For extending the `rx' notation in FORM, use `rx-define' or `rx-let-eval'." (rx--atomic-regexp item)))) (apply #'concat exprs))) -;; Autoloaded because it's referred to by form in loaddefs.el. -;;;###autoload (defun rx--to-expr (form) "Translate the rx-expression FORM to a Lisp expression yielding a regexp." (let* ((rx--delayed-evaluation t) @@ -1407,8 +1405,6 @@ For more details, see Info node `(elisp) Extending Rx'. ;; becomes a problem, we can handle those forms in the ordinary parser, ;; using a dynamic variable for activating the augmented forms. -;; Autoloaded because it's referred to by form in loaddefs.el. -;;;###autoload (defun rx--pcase-transform (rx) "Transform RX, an rx-expression augmented with `let' and named `backref', into a plain rx-expression, collecting names into `rx--pcase-vars'." @@ -1455,6 +1451,12 @@ following constructs: REF can be a number, as usual, or a name introduced by a previous (let REF ...) construct." + (rx--pcase-expand regexps)) + +;; Autoloaded because it's referred to by the pcase rx macro above, +;; whose body ends up in loaddefs.el. +;;;###autoload +(defun rx--pcase-expand (regexps) (let* ((rx--pcase-vars nil) (regexp (rx--to-expr (rx--pcase-transform (cons 'seq regexps))))) `(and (pred stringp) -- 2.39.5