summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/txr/stdlib/compiler.tl12
1 files changed, 7 insertions, 5 deletions
diff --git a/share/txr/stdlib/compiler.tl b/share/txr/stdlib/compiler.tl
index 2dba0bbe..0e0f3f4f 100644
--- a/share/txr/stdlib/compiler.tl
+++ b/share/txr/stdlib/compiler.tl
@@ -1982,10 +1982,12 @@
(defun expand-defvarl (form)
(mac-param-bind form (op sym : value) form
(with-gensyms (cell)
- ^(let ((,cell (sys:rt-defvarl ',sym)))
- (if ,cell
- (usr:rplacd ,cell (cons ',sym ,value)))
- ',sym))))
+ (if value
+ ^(let ((,cell (sys:rt-defv ',sym)))
+ (if ,cell
+ (usr:rplacd ,cell ,value))
+ ',sym)
+ ^(progn (sys:rt-defv ',sym) ',sym)))))
(defun expand-defun (form)
(mac-param-bind form (op name args . body) form
@@ -2164,7 +2166,7 @@
(defvarl %big-endian% (equal (ffi-put 1 (ffi uint32)) #b'00000001'))
-(defvarl %tlo-ver% ^(6 0 ,%big-endian%))
+(defvarl %tlo-ver% ^(7 0 ,%big-endian%))
(defvarl %package-manip% '(make-package delete-package
use-package unuse-package