[mcclim-cvs] CVS mcclim/Drei

thenriksen thenriksen at common-lisp.net
Mon Jan 28 16:53:21 UTC 2008


Update of /project/mcclim/cvsroot/mcclim/Drei
In directory clnet:/tmp/cvs-serv20878/Drei

Modified Files:
	drei-clim.lisp drei.lisp 
Log Message:
Added :redisplay-minibuffer initarg to Drei instances.

This enables programs like Climacs to prevent Drei from blasting the minibuffer.


--- /project/mcclim/cvsroot/mcclim/Drei/drei-clim.lisp	2008/01/27 10:46:53	1.34
+++ /project/mcclim/cvsroot/mcclim/Drei/drei-clim.lisp	2008/01/28 16:53:21	1.35
@@ -226,7 +226,9 @@
                     :documentation "The pane that previously had
 keyboard focus"))
   (:metaclass modual-class)
-  (:default-initargs :command-executor 'execute-drei-command)
+  (:default-initargs
+   :command-executor 'execute-drei-command
+   :redisplay-minibuffer t)
   (:documentation "An actual, instantiable Drei gadget with
  event-based command processing."))
 
@@ -359,7 +361,9 @@
                           :documentation "The parent output
 record of the Drei area instance."))
   (:metaclass modual-class)
-  (:default-initargs :command-executor 'execute-drei-command)
+  (:default-initargs
+   :command-executor 'execute-drei-command
+    :redisplay-minibuffer t)
   (:documentation "A Drei editable area implemented as an output
 record."))
 
@@ -500,7 +504,8 @@
   a minibuffer."))
 
 (defmethod display-drei :after ((drei drei))
-  (when (and *minibuffer* (not (eq *minibuffer* (editor-pane drei))))
+  (when (and *minibuffer* (not (eq *minibuffer* (editor-pane drei)))
+             (redisplay-minibuffer drei))
     ;; We need to use :force-p t to remove any existing output from
     ;; the pane.
     (redisplay-frame-pane (pane-frame *minibuffer*) *minibuffer* :force-p t)))
--- /project/mcclim/cvsroot/mcclim/Drei/drei.lisp	2008/01/27 10:23:05	1.32
+++ /project/mcclim/cvsroot/mcclim/Drei/drei.lisp	2008/01/28 16:53:21	1.33
@@ -179,7 +179,8 @@
                     search-table
                     info-table
                     self-insert-table
-                    keyboard-macro-table))
+                    keyboard-macro-table)
+    :menu '(("Commenting" :menu comment-table)))
 
 ;; Command table for commands that are only available when Drei is a
 ;; gadget. There is no pane-exclusive table because the Drei pane is
@@ -286,6 +287,14 @@
                      :initarg :cursors-visible
                      :documentation "If true, the cursors of this
 Drei instance will be visible. If false, they will not.")
+   (%redisplay-minibuffer :accessor redisplay-minibuffer
+                          :initform nil
+                          :initarg :redisplay-minibuffer
+                          :documentation "If true, the minibuffer
+associated with this Drei instance will be redisplayed as the
+last part of the Drei redisplay process. If false, it is the task
+of the Drei-using application to make sure the minibuffer is
+redisplayed as appropriate.")
    (%isearch-mode :initform nil :accessor isearch-mode)
    (%isearch-states :initform '() :accessor isearch-states)
    (%isearch-previous-string :initform nil :accessor isearch-previous-string)




More information about the Mcclim-cvs mailing list