Update of /project/mcclim/cvsroot/mcclim In directory clnet:/tmp/cvs-serv8469
Modified Files: input-editing-drei.lisp input-editing.lisp panes.lisp Log Message: WITH-INPUT-EDITING now works really well with Drei.
--- /project/mcclim/cvsroot/mcclim/input-editing-drei.lisp 2008/01/30 17:08:01 1.8 +++ /project/mcclim/cvsroot/mcclim/input-editing-drei.lisp 2008/01/30 21:21:43 1.9 @@ -154,18 +154,23 @@ initial-contents class) (let ((editing-stream (make-instance class - :stream stream - :initial-contents initial-contents))) + :stream stream))) + (if (stringp initial-contents) + (replace-input editing-stream initial-contents) + (presentation-replace-input editing-stream + (first initial-contents) + (second initial-contents) + (stream-default-view editing-stream))) (unwind-protect (loop - (block rescan - (handler-bind ((rescan-condition - #'(lambda (c) - (declare (ignore c)) - (reset-scan-pointer editing-stream) - (return-from rescan nil)))) - (return-from invoke-with-input-editing - (funcall continuation editing-stream))))) + (block rescan + (handler-bind ((rescan-condition + #'(lambda (c) + (declare (ignore c)) + (reset-scan-pointer editing-stream) + (return-from rescan nil)))) + (return-from invoke-with-input-editing + (funcall continuation editing-stream))))) (finalize editing-stream input-sensitizer))))
(defmethod immediate-rescan ((stream standard-input-editing-stream)) --- /project/mcclim/cvsroot/mcclim/input-editing.lisp 2008/01/30 15:58:14 1.58 +++ /project/mcclim/cvsroot/mcclim/input-editing.lisp 2008/01/30 21:21:44 1.59 @@ -55,9 +55,7 @@ (fmakunbound 'interactive-stream-p)) (defgeneric interactive-stream-p (stream) (:method (stream) - (cl:interactive-stream-p stream)) - (:method ((stream clim-stream-pane)) - t))) + (cl:interactive-stream-p stream))))
;;; These helper functions take the arguments of ACCEPT so that they ;;; can be used directly by ACCEPT. --- /project/mcclim/cvsroot/mcclim/panes.lisp 2008/01/30 11:48:40 1.188 +++ /project/mcclim/cvsroot/mcclim/panes.lisp 2008/01/30 21:21:44 1.189 @@ -27,7 +27,7 @@ ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;;; Boston, MA 02111-1307 USA.
-;;; $Id: panes.lisp,v 1.188 2008/01/30 11:48:40 thenriksen Exp $ +;;; $Id: panes.lisp,v 1.189 2008/01/30 21:21:44 thenriksen Exp $
(in-package :clim-internals)
@@ -2528,6 +2528,9 @@ "This class implements a pane that supports the CLIM graphics, extended input and output, and output recording protocols."))
+(defmethod interactive-stream-p ((stream clim-stream-pane)) + t) + (defun invoke-display-function (frame pane) (let ((display-function (pane-display-function pane))) (cond ((consp display-function)