]> git.eshelyaron.com Git - emacs.git/commitdiff
Reduce internal rx autoloads
authorMattias Engdegård <mattiase@acm.org>
Sun, 31 Jul 2022 10:54:53 +0000 (12:54 +0200)
committerMattias Engdegård <mattiase@acm.org>
Sun, 31 Jul 2022 11:01:26 +0000 (13:01 +0200)
* 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

index a2cf23f2711313e1f9eb423d4ea7241d77235921..ec51146484a1b8e5350debb20a5ae58091e4ec9b 100644 (file)
@@ -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)