summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2023-08-26 01:01:23 -0700
committerKaz Kylheku <kaz@kylheku.com>2023-08-26 01:01:23 -0700
commit43f64bd2d69cf39d09c4a3b96cd28d0966a6eda6 (patch)
treeae71160c249441438702bd3e7763ad2e1ef15dab
parentd6e02ceea56644dea341e64a1f46f8fbe43ca6b5 (diff)
downloadtxr-43f64bd2d69cf39d09c4a3b96cd28d0966a6eda6.tar.gz
txr-43f64bd2d69cf39d09c4a3b96cd28d0966a6eda6.tar.bz2
txr-43f64bd2d69cf39d09c4a3b96cd28d0966a6eda6.zip
awk: prn returns nil.
* stdlib/awk.tl (awk-state prn): Return nil in the no-argument case instead of returning whatever put-string returns. * tests/015/awk-misc.tl: New file. * txr.1: Documented.
-rw-r--r--stdlib/awk.tl3
-rw-r--r--tests/015/awk-misc.tl10
-rw-r--r--txr.15
3 files changed, 17 insertions, 1 deletions
diff --git a/stdlib/awk.tl b/stdlib/awk.tl
index e6ce26f9..197dbf38 100644
--- a/stdlib/awk.tl
+++ b/stdlib/awk.tl
@@ -188,7 +188,8 @@
(put-string `@(car a)`)
(put-string (if (set next (cdr a)) self.ofs self.ors))))
(t (put-string self.rec)
- (put-string self.ors))))
+ (put-string self.ors)
+ nil)))
(defmeth sys:awk-state ensure-stream (self kind path mode)
(hash-update-1 self.streams
diff --git a/tests/015/awk-misc.tl b/tests/015/awk-misc.tl
new file mode 100644
index 00000000..af61857d
--- /dev/null
+++ b/tests/015/awk-misc.tl
@@ -0,0 +1,10 @@
+(load "../common")
+
+(let ((*stdout* *stdnull*))
+ (test
+ (build
+ (awk
+ (:inputs '(""))
+ (t (add (prn 1 2 3))
+ (add (prn)))))
+ (nil nil)))
diff --git a/txr.1 b/txr.1
index a89ef396..4ac510d9 100644
--- a/txr.1
+++ b/txr.1
@@ -70174,6 +70174,11 @@ Thus if the value is
the output for that argument is an empty string, rather than the text
.strn nil .
+The
+.code prn
+function returns
+.codn nil .
+
.coNP Macro @ next
.synb
.mets (next)