summaryrefslogtreecommitdiffstats
path: root/share/txr/stdlib
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-06-14 22:25:36 -0700
committerKaz Kylheku <kaz@kylheku.com>2021-06-14 22:25:36 -0700
commiteb327c0155b982619c4b8d1e2f7e6487adb0834a (patch)
tree6000f262d672be23e7ac093cf3929fa9c4f9a1cd /share/txr/stdlib
parent4c482de7427746a84d7c9c82dbb47ec59ee11283 (diff)
downloadtxr-eb327c0155b982619c4b8d1e2f7e6487adb0834a.tar.gz
txr-eb327c0155b982619c4b8d1e2f7e6487adb0834a.tar.bz2
txr-eb327c0155b982619c4b8d1e2f7e6487adb0834a.zip
pic: take advantage of recent format work.
* share/txr/stdlib/pic.tl (expand-pic-num): format can now do everything internally that is required of a 0####.## type pattern; we don't have to generate the if logic with the gensym.
Diffstat (limited to 'share/txr/stdlib')
-rw-r--r--share/txr/stdlib/pic.tl9
1 files changed, 2 insertions, 7 deletions
diff --git a/share/txr/stdlib/pic.tl b/share/txr/stdlib/pic.tl
index 8d5ce59e..6c2c8048 100644
--- a/share/txr/stdlib/pic.tl
+++ b/share/txr/stdlib/pic.tl
@@ -38,13 +38,8 @@
(let ((code (if (or minus plus (not zero))
^(fmt ,`~@(len fmt),@(if plus "+")@(if zero "0")@(len fra)f`
,val)
- (with-gensyms (vg)
- ^(let ((,vg ,val))
- (if (minusp ,vg)
- (fmt ,`~@(len fmt),@(if zero "0")@(len fra)f`
- ,vg)
- (rest (fmt ,`~@(succ (len fmt)),+@(if zero "0")@(len fra)f`
- ,vg))))))))
+ ^(fmt ,`~@(len fmt),-0@(len fra)f`
+ ,val))))
(if exc
(with-gensyms (str)
^(let ((,str ,code))