symbol default value procedures
authorRobin Templeton <robin@terpri.org>
Tue, 24 Jun 2014 04:01:56 +0000 (00:01 -0400)
committerRobin Templeton <robin@terpri.org>
Tue, 21 Apr 2015 23:36:29 +0000 (19:36 -0400)
module/language/elisp/runtime.scm

index bedb15a..ff01520 100644 (file)
@@ -37,6 +37,9 @@
             set-symbol-plist!
             symbol-bound?
             symbol-fbound?
+            symbol-default-bound?
+            symbol-default-value
+            set-symbol-default-value!
             bind-symbol
             makunbound!
             fmakunbound!
               (dynamic-bound? (variable-ref var))
               #t)))))
 
+(define symbol-default-bound? symbol-bound?)
+
+(define symbol-default-value symbol-value)
+
+(define set-symbol-default-value! set-symbol-value!)
+
 (define (symbol-fbound? symbol)
   (set! symbol (schemify symbol))
   (and
   (vector-set! (symbol-desc sym) 3 1)
   #nil)
 
-(define (emacs! ref set boundp bind)
+(define (emacs! ref set boundp dref dset dboundp bind)
   (set! symbol-value ref)
   (set! set-symbol-value! set)
   (set! symbol-bound? boundp)
+  (set! symbol-default-value dref)
+  (set! set-symbol-default-value! dset)
+  (set! symbol-default-bound? dboundp)
   (set! bind-symbol bind)
   (set! lexical-binding? (lambda () (symbol-value 'lexical-binding)))
   (set! set-lexical-binding-mode (lambda (x) (set-symbol-value! 'lexical-binding x))))