diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2024-10-28 22:14:10 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2024-10-28 22:14:10 -0400 |
commit | cc6a11f4832076acb7c0b5301eb1add026fabe4b (patch) | |
tree | e18a54aa16bfa2954f9ef4ac00b2de5a12badf7e /lisp/emacs-lisp | |
parent | 70f084db2ff36be2eb183a5c7f6aa88a44ff0d5e (diff) | |
download | emacs-cc6a11f4832076acb7c0b5301eb1add026fabe4b.tar.gz emacs-cc6a11f4832076acb7c0b5301eb1add026fabe4b.tar.bz2 emacs-cc6a11f4832076acb7c0b5301eb1add026fabe4b.zip |
(with-peg-rules): Fix references to rulesets (bug#74018)
PEG rules get "compiled" to functions with name `peg-rule <RULE>`.
`define-peg-ruleset` instead defines it PEG rules with name
`peg-rule <RULESET> <RULE>`, so that they can be made visible
by `with-peg-rules` simply by adding local aliases from
`peg-rule <RULE>` to `peg-rule <RULESET> <RULE>`.
Apparently when I added `define-peg-ruleset` I somehow failed to
install some of the corresponding code in `with-peg-rules`, so
the aliases were not installed, making it "impossible" to use
rulesets.
[ I still have no idea how this happened and/or where
the missing code went, so I "recreated" it. ]
* lisp/progmodes/peg.el (with-peg-rules): Install the aliases
for the rulesets.
(peg--translate-rule-body): Try and preserve
location info when emitting a warning.
* test/lisp/progmodes/peg-tests.el (peg-test-myrules): New ruleset.
(peg-test-ruleset): New test.
Diffstat (limited to 'lisp/emacs-lisp')
0 files changed, 0 insertions, 0 deletions