cwebber pushed a commit to branch wip-elisp-rebased
in repository guile.
commit 1393f1d856e08920462cce3e13b99733538af71c
Author: Robin Templeton <[email protected]>
AuthorDate: Tue Jun 24 00:10:10 2014 -0400
defvar affects default value
(Best-ability ChangeLog annotation added by Christopher Allan Webber.)
* module/language/elisp/compile-tree-il.scm (defvar): Refactor
appropriately.
---
module/language/elisp/compile-tree-il.scm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/module/language/elisp/compile-tree-il.scm
b/module/language/elisp/compile-tree-il.scm
index a405ab4..55e5c3b 100644
--- a/module/language/elisp/compile-tree-il.scm
+++ b/module/language/elisp/compile-tree-il.scm
@@ -511,10 +511,13 @@
(make-conditional
loc
(make-call loc
- (make-module-ref loc runtime 'symbol-bound? #t)
+ (make-module-ref loc runtime 'symbol-default-bound? #t)
(list (make-const loc sym)))
(make-void loc)
- (set-variable! loc sym (compile-expr value)))
+ (make-call loc
+ (make-module-ref loc runtime 'set-symbol-default-value! #t)
+ (list (make-const loc sym)
+ (compile-expr value))))
(make-const loc sym))))
(else (report-error loc "Bad defvar" args))))