From 03b3ef5f0b56286f7ee8498588f5d07c19d8b6f6 Mon Sep 17 00:00:00 2001 From: George Kettleborough Date: Tue, 16 Apr 2013 16:45:01 +0100 Subject: Make union of regexps at compile time --- lisp/ldg-regex.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lisp/ldg-regex.el') diff --git a/lisp/ldg-regex.el b/lisp/ldg-regex.el index bf7e6c95..c9e60e71 100644 --- a/lisp/ldg-regex.el +++ b/lisp/ldg-regex.el @@ -78,7 +78,11 @@ "\\|" ledger-metadata-regex)) - +(defmacro rx-static-or (&rest rx-strs) + "Returns rx union of regexps which can be symbols that eval to strings." + `(rx (or ,@(mapcar #'(lambda (rx-str) + `(regexp ,(eval rx-str))) + rx-strs)))) (defmacro ledger-define-regexp (name regex docs &rest args) "Simplify the creation of a Ledger regex and helper functions." -- cgit v1.2.3