Commit da854a39 authored by Zach Beane's avatar Zach Beane
Browse files

Add some CCL-specific improvements.

EXCL:DEFVAR-NONBINDABLE and SI:GLOBAL-SYMBOL-VALUE now have more
CCL-specific, and hopefully more semantically correct, implementations.
parent f94dd2f7
......@@ -177,7 +177,9 @@ values otherwise."
(defmacro excl:defvar-nonbindable (name value &optional doc)
#+sbcl
`(defglobal ,name ,value ,@(if doc (list doc)))
#-sbcl
#+ccl
`(defstaticvar ,name ,value ,@(if doc (list doc)) )
#-(or ccl sbcl)
`(defvar ,name ,value ,@(if doc (list doc))))
(defclass excl:lockable-object ()
......
......@@ -6,7 +6,13 @@
`(excl:without-interrupts ,@body))
(defun si:global-symbol-value (symbol)
#+ccl
(symbol-value-in-process symbol *initial-process*)
#-ccl
(symbol-value symbol))
(defun (setf si:global-symbol-value) (new-value symbol)
#+ccl
(setf (symbol-value-in-process symbol *initial-process*) new-value)
#-ccl
(setf (symbol-value symbol) new-value))
......@@ -21,7 +21,10 @@
#:process-name
#:process-enable
#:process-preset
#:defstaticvar
#:symbol-value-in-process
;; XXX private
#:*initial-process*
#:process-yield
)
#+ccl
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment