summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/txr/stdlib/awk.tl9
1 files changed, 5 insertions, 4 deletions
diff --git a/share/txr/stdlib/awk.tl b/share/txr/stdlib/awk.tl
index eccef632..466ab544 100644
--- a/share/txr/stdlib/awk.tl
+++ b/share/txr/stdlib/awk.tl
@@ -110,7 +110,7 @@
(t (put-string self.rec)
(put-string self.ors))))
-(defun sys:range-test (val rec)
+(defun sys:awk-test (val rec)
(caseq (typeof val)
((regex fun) (call val rec))
(t val)))
@@ -200,8 +200,8 @@
(qref ,awc rng-exprs))
rng-temp))
(rng (from-expr to-expr)
- ^(sys:rng (sys:range-test ,from-expr ,(qref ,awc rng-rec-temp))
- (sys:range-test ,to-expr ,(qref ,awc rng-rec-temp))))
+ ^(sys:rng (sys:awk-test ,from-expr ,(qref ,awc rng-rec-temp))
+ (sys:awk-test ,to-expr ,(qref ,awc rng-rec-temp))))
(ff (. opip-args)
^(symacrolet ((f (rslot ,',aws-sym 'fields 'f-to-rec)))
(set f [(opip ,*opip-args) f])))
@@ -215,7 +215,8 @@
(defmacro awk (:env e . clauses)
(let ((awc (sys:awk-expander clauses)))
(with-gensyms (aws-sym awk-begf-fun awk-fun awk-endf-fun awk-retval)
- (let* ((p-actions-xform-unex (mapcar (aret ^(when ,@1 ,*@rest))
+ (let* ((p-actions-xform-unex (mapcar (aret ^(when (sys:awk-test ,@1 rec)
+ ,*@rest))
awc.cond-actions))
(p-actions-xform (sys:expand
^(sys:awk-let ,awc ,aws-sym