aboutsummaryrefslogtreecommitdiff
path: root/src/util.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-03-18 09:05:16 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-03-18 09:55:57 -0700
commit415ce75b066526125c5647e54b0db4821f4ddc54 (patch)
tree0022b788862ed97f66c45d93b2d0477eb0f53445 /src/util.lisp
parent80b5cee2fdf6c590db0e257b3c5fb67a5aa001d7 (diff)
downloadconsfigurator-415ce75b066526125c5647e54b0db4821f4ddc54.tar.gz
introduce FORM-BEGINNING-WITH
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/util.lisp')
-rw-r--r--src/util.lisp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/util.lisp b/src/util.lisp
index 2d35e0c..c4b4df2 100644
--- a/src/util.lisp
+++ b/src/util.lisp
@@ -79,8 +79,11 @@ supported."
,@(and docstring `(,docstring))
(error ',name :format-control message :format-arguments args))))
+(defmacro form-beginning-with (sym form)
+ `(and (listp ,form) (eq ',sym (car ,form))))
+
(defun strip-declarations (forms)
- (loop while (and (listp (car forms)) (eq 'declare (caar forms)))
+ (loop while (form-beginning-with declare (car forms))
do (pop forms)
finally (return forms)))