Update of /project/mcclim/cvsroot/mcclim
In directory clnet:/tmp/cvs-serv796
Modified Files:
mcclim.asd presentation-defs.lisp presentations.lisp
Log Message:
Moved with-output-as-presentation to presentations.lisp, so it can be available when input-editing.lisp is compiled.
--- /project/mcclim/cvsroot/mcclim/mcclim.asd 2008/01/10 09:38:07 1.74
+++ /project/mcclim/cvsroot/mcclim/mcclim.asd 2008/01/31 12:14:05 1.75
@@ -218,8 +218,8 @@
:depends-on (:clim-basic :goatee-core :clim-postscript)
:components ((:file "text-formatting")
(:file "defresource")
- (:file "input-editing")
(:file "presentations")
+ (:file "input-editing" :depends-on ("presentations"))
(:file "pointer-tracking" :depends-on ("input-editing"))
(:file "graph-formatting")
(:file "frames" :depends-on ("commands" "presentations" "presentation-defs"
--- /project/mcclim/cvsroot/mcclim/presentation-defs.lisp 2007/11/19 22:14:05 1.73
+++ /project/mcclim/cvsroot/mcclim/presentation-defs.lisp 2008/01/31 12:14:05 1.74
@@ -392,40 +392,6 @@
(type-key parameters options object type stream view
&key &allow-other-keys))
-(defmacro with-output-as-presentation ((stream object type
- &rest key-args
- &key modifier single-box
- (allow-sensitive-inferiors t)
- parent
- (record-type
- ''standard-presentation)
- &allow-other-keys)
- &body body)
- (declare (ignore parent single-box modifier))
- (setq stream (stream-designator-symbol stream '*standard-output*))
- (multiple-value-bind (decls with-body)
- (get-body-declarations body)
- (with-gensyms (record-arg continuation)
- (with-keywords-removed (key-args (:record-type
- :allow-sensitive-inferiors))
- `(flet ((,continuation ()
- ,@decls
- ,@with-body))
- (declare (dynamic-extent #'continuation))
- (if (and (output-recording-stream-p ,stream)
- *allow-sensitive-inferiors*)
- (with-new-output-record
- (,stream ,record-type ,record-arg
- :object ,object
- :type (expand-presentation-type-abbreviation
- ,type)
- ,@key-args)
- (let ((*allow-sensitive-inferiors*
- ,allow-sensitive-inferiors))
- (,continuation)))
- (,continuation)))))))
-
-
(defun present (object &optional (type (presentation-type-of object))
&key
(stream *standard-output*)
--- /project/mcclim/cvsroot/mcclim/presentations.lisp 2008/01/31 10:47:08 1.83
+++ /project/mcclim/cvsroot/mcclim/presentations.lisp 2008/01/31 12:14:05 1.84
@@ -52,6 +52,39 @@
(when *print-presentation-verbose*
(format stream " ~S" (presentation-object self))))))
+(defmacro with-output-as-presentation ((stream object type
+ &rest key-args
+ &key modifier single-box
+ (allow-sensitive-inferiors t)
+ parent
+ (record-type
+ ''standard-presentation)
+ &allow-other-keys)
+ &body body)
+ (declare (ignore parent single-box modifier))
+ (setq stream (stream-designator-symbol stream '*standard-output*))
+ (multiple-value-bind (decls with-body)
+ (get-body-declarations body)
+ (with-gensyms (record-arg continuation)
+ (with-keywords-removed (key-args (:record-type
+ :allow-sensitive-inferiors))
+ `(flet ((,continuation ()
+ ,@decls
+ ,@with-body))
+ (declare (dynamic-extent #'continuation))
+ (if (and (output-recording-stream-p ,stream)
+ *allow-sensitive-inferiors*)
+ (with-new-output-record
+ (,stream ,record-type ,record-arg
+ :object ,object
+ :type (expand-presentation-type-abbreviation
+ ,type)
+ ,@key-args)
+ (let ((*allow-sensitive-inferiors*
+ ,allow-sensitive-inferiors))
+ (,continuation)))
+ (,continuation)))))))
+
(defgeneric ptype-specializer (type)
(:documentation "The specializer to use for this type in a presentation
method lambda list"))