[mcclim-cvs] CVS mcclim
thenriksen
thenriksen at common-lisp.net
Wed Jan 30 21:21:44 UTC 2008
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)
More information about the Mcclim-cvs
mailing list