[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 12/36: defvar affects default value
From: |
Christopher Allan Webber |
Subject: |
[Guile-commits] 12/36: defvar affects default value |
Date: |
Fri, 25 Mar 2016 20:03:32 +0000 |
cwebber pushed a commit to branch wip-elisp
in repository guile.
commit efc4163b5607870f2622e68254aa7e1b7502899d
Author: Robin Templeton <address@hidden>
Date: 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 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/module/language/elisp/compile-tree-il.scm
b/module/language/elisp/compile-tree-il.scm
index 850edee..1e09334 100644
--- a/module/language/elisp/compile-tree-il.scm
+++ b/module/language/elisp/compile-tree-il.scm
@@ -507,10 +507,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))))
- [Guile-commits] 01/36: Remove CFLAGS from snarfcppopts., (continued)
- [Guile-commits] 01/36: Remove CFLAGS from snarfcppopts., Christopher Allan Webber, 2016/03/25
- [Guile-commits] 02/36: intern arbitrary constants, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 03/36: check symbols constants uninterned, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 06/36: allow arbitrary constants in cps, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 05/36: guile-private-ref, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 04/36: multiple obarrays, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 07/36: prefer compilers earlier in list, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 08/36: guile-snarf fix, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 09/36: elisp updates, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 10/36: read nil/t as #nil/#t, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 12/36: defvar affects default value,
Christopher Allan Webber <=
- [Guile-commits] 11/36: symbol default value procedures, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 14/36: define-module for elisp special modules, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 16/36: fix symbol-function, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 13/36: constant-interning fix, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 15/36: restore special operator handling, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 17/36: fix `nil?' type inference, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 18/36: compile-elisp fn, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 19/36: elisp @@ macro, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 20/36: defconst, defvar: proclaim special at compile-time, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 21/36: compiler macros, Christopher Allan Webber, 2016/03/25