Update of /project/mcclim/cvsroot/mcclim/Drei In directory clnet:/tmp/cvs-serv6356/Drei
Modified Files: input-editor.lisp Log Message: Moved some input-editing functions around.
The typeout area is now cleared at the end of an input-editing session.
--- /project/mcclim/cvsroot/mcclim/Drei/input-editor.lisp 2008/01/31 16:50:07 1.33 +++ /project/mcclim/cvsroot/mcclim/Drei/input-editor.lisp 2008/01/31 19:17:56 1.34 @@ -756,21 +756,9 @@ ;;; ;;; `With-input-editor-typeout' ;;; -;;; The CLIM spec is very vague about what this function is supposed -;;; to do, but the Franz users guide suggests that it is to be used to -;;; display information to the user while editing, sort of what we -;;; normally use a minibuffer for. Perhaps the output should be put in -;;; an output record above or below the editing area, but for now, we -;;; just put it in the minibuffer. That also means the `:erase' -;;; keyword argument is meaningless. We do add some extra limitations, -;;; though (check the docstring) - -(defgeneric invoke-with-input-editor-typeout (stream continuation &key erase) - (:documentation "Call `continuation' with a single argument, a -stream to do input-editor-typeout on."))
-(defmethod invoke-with-input-editor-typeout ((editing-stream drei-input-editing-mixin) - (continuation function) &key erase) +(defmethod climi::invoke-with-input-editor-typeout ((editing-stream drei-input-editing-mixin) + (continuation function) &key erase) (let* ((encapsulated-stream (encapsulating-stream-stream editing-stream)) (new-typeout-record (with-output-to-output-record (encapsulated-stream) (funcall continuation encapsulated-stream))) @@ -801,22 +789,7 @@ (stream-add-output-record encapsulated-stream new-typeout-record) (setf stream-typeout-record new-typeout-record))) ;; Now, let there be light! - (replay new-typeout-record encapsulated-stream)))))) - -(defmacro with-input-editor-typeout ((&optional (stream t) &rest args - &key erase) - &body body) - "`Stream' is not evaluated and must be a symbol. If T (the -default), `*standard-input*' will be used. `Stream' will be bound -to an `extended-output-stream' while `body' is being evaluated." - (declare (ignore erase)) - (check-type stream symbol) - (let ((stream (if (eq stream t) '*standard-output* stream))) - `(invoke-with-input-editor-typeout - ,stream - #'(lambda (,stream) - ,@body) - ,@args))) + (replay stream-typeout-record encapsulated-stream))))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;