]> git.eshelyaron.com Git - emacs.git/commitdiff
(with-peg-rules): Build proper `peg-function`s
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 13 Nov 2024 04:12:07 +0000 (23:12 -0500)
committerEshel Yaron <me@eshelyaron.com>
Fri, 15 Nov 2024 12:42:48 +0000 (13:42 +0100)
* lisp/progmodes/peg.el (with-peg-rules): Use the new (FUNC EXP)
feature in `cl-labels`.

(cherry picked from commit 986621ae1ff4d3cfad31adb20216f1f71ce0747c)

lisp/progmodes/peg.el

index 0b069e9556371b6356778c194ff700f864a6380f..115f692a030e1874a7fc73870046eb4196917671 100644 (file)
@@ -438,10 +438,9 @@ rulesets defined previously with `define-peg-ruleset'."
     (macroexpand-all
      `(cl-labels
           ,(mapcar (lambda (rule)
-                    ;; FIXME: Use `peg--lambda' as well.
                     `(,(peg--rule-id (car rule))
-                      ()
-                      ,(peg--translate-rule-body (car rule) (cdr rule))))
+                      (peg--lambda ',(cdr rule) ()
+                        ,(peg--translate-rule-body (car rule) (cdr rule)))))
                   rules)
         ,@body)
      `((:peg-rules ,@(append rules (cdr ctx)))