From 6d49416ea57646f433af1cfbe19a4d7739527146 Mon Sep 17 00:00:00 2001 From: Matthias Benkard Date: Mon, 3 Mar 2008 14:41:46 +0100 Subject: Add stub for INTERN-LISP-VALUE. darcs-hash:42953a98356841268108071d3d0ec701e8514bf1 --- Lisp/lisp-value-wrapping.lisp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Lisp/lisp-value-wrapping.lisp b/Lisp/lisp-value-wrapping.lisp index cfe1603..8eda55c 100644 --- a/Lisp/lisp-value-wrapping.lisp +++ b/Lisp/lisp-value-wrapping.lisp @@ -39,6 +39,20 @@ (:metaclass ns::+ns-object)) +(defun intern-lisp-value (value) + ;; We need this function in order to preserve object identity on the + ;; Objective-C side. As we want [(intern-lisp-value 10) self] to + ;; return the FIXNUM 10, that is, a Lisp value rather than an + ;; Objective-C instance, we cannot guarantee that + ;; + ;; (let ((x (intern-lisp-value y))) + ;; (objc-eql x (invoke x 'self))) + ;; + ;; will evaluate to true unless we generally intern Lisp value + ;; wrappers. + (error "FIXME")) + + (defun make-lisp-value (value) ;; FIXME: The following won't work. Make MAKE-INSTANCE more useful... ;(make-instance 'ns::mlk-lisp-value :value value) -- cgit v1.2.3