cwebber pushed a commit to branch wip-elisp-rebased
in repository guile.
commit c25539c9dce1e5b986f4139a38ceff7b39828015
Author: Robin Templeton <[email protected]>
AuthorDate: Tue Jun 24 00:10:10 2014 -0400
defvar affects default value
(Best-ability ChangeLog annotation added by Christine Lemmer-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))))