[movitz-cvs] CVS update: movitz/image.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Fri Jul 9 16:12:10 UTC 2004


Update of /project/movitz/cvsroot/movitz
In directory common-lisp.net:/tmp/cvs-serv10152

Modified Files:
	image.lisp 
Log Message:
Added global-function + to constant-block.

Date: Fri Jul  9 09:12:10 2004
Author: ffjeld

Index: movitz/image.lisp
diff -u movitz/image.lisp:1.43 movitz/image.lisp:1.44
--- movitz/image.lisp:1.43	Fri Jul  9 04:16:24 2004
+++ movitz/image.lisp	Fri Jul  9 09:12:10 2004
@@ -9,7 +9,7 @@
 ;;;; Created at:    Sun Oct 22 00:22:43 2000
 ;;;; Distribution:  See the accompanying file COPYING.
 ;;;;                
-;;;; $Id: image.lisp,v 1.43 2004/07/09 11:16:24 ffjeld Exp $
+;;;; $Id: image.lisp,v 1.44 2004/07/09 16:12:10 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -284,6 +284,12 @@
     :map-binary-write 'movitz-intern-code-vector
     :map-binary-read-delayed 'movitz-word-code-vector
     :binary-tag :primitive-function)
+   (+
+    :initform 'muerte.cl:+
+    :binary-type word
+    :binary-tag :global-function
+    :map-binary-write 'movitz-intern
+    :map-binary-read-delayed 'movitz-word)
    (complicated-class-of
     :binary-type word
     :binary-tag :global-function
@@ -734,6 +740,13 @@
      (check-type (cdr object) movitz-funobj)
      (+ (car object) (movitz-intern-code-vector (cdr object) type)))))
 
+(defun movitz-intern-global-function (object &optional (type 'word))
+  (assert (eq type 'word))
+  (check-type object symbol)
+  (let ((x (movitz-env-named-function object)))
+    (check-type x movitz-funobj)
+    (movitz-intern x 'word)))
+
 (defun movitz-word-code-vector (word &optional (type 'code-vector-word))
   (assert (eq type 'code-vector-word))
   (movitz-word (- word +code-vector-word-offset+)))
@@ -853,7 +866,7 @@
 	  ;; pull in functions in constant-block
 	  (dolist (gcf-name (binary-record-slot-names 'movitz-constant-block :match-tags :global-function))
 	    (let* ((gcf-movitz-name (movitz-read (intern (symbol-name gcf-name)
-						  ':muerte)))
+							 ':muerte)))
 		   (gcf-funobj (movitz-symbol-function-value gcf-movitz-name)))
 	      (setf (slot-value constant-block gcf-name) 0)
 	      (cond





More information about the Movitz-cvs mailing list