Update of /project/mcclim/cvsroot/mcclim In directory cl-net:/tmp/cvs-serv2833
Modified Files: frames.lisp incremental-redisplay.lisp package.lisp recording.lisp table-formatting.lisp text-selection.lisp Log Message: Use force-output instead of finish-output as the latter implies waiting for an answer from the display server, which is something we really do not want to do.
--- /project/mcclim/cvsroot/mcclim/frames.lisp 2009/02/28 16:49:40 1.136 +++ /project/mcclim/cvsroot/mcclim/frames.lisp 2009/08/01 16:10:31 1.137 @@ -466,62 +466,62 @@ (defmethod default-frame-top-level ((frame application-frame) &key (command-parser 'command-line-command-parser) - (command-unparser 'command-line-command-unparser) - (partial-command-parser - 'command-line-read-remaining-arguments-for-partial-command) - (prompt "Command: ")) + (command-unparser 'command-line-command-unparser) + (partial-command-parser + 'command-line-read-remaining-arguments-for-partial-command) + (prompt "Command: ")) ;; Give each pane a fresh start first time through. (let ((first-time t)) (loop ;; The variables are rebound each time through the loop because the ;; values of frame-standard-input et al. might be changed by a command. (let* ((*standard-input* (or (frame-standard-input frame) - *standard-input*)) - (*standard-output* (or (frame-standard-output frame) - *standard-output*)) - (query-io (frame-query-io frame)) - (*query-io* (or query-io *query-io*)) - (*pointer-documentation-output* - (frame-pointer-documentation-output frame)) - ;; during development, don't alter *error-output* - ;; (*error-output* (frame-error-output frame)) - (*command-parser* command-parser) - (*command-unparser* command-unparser) - (*partial-command-parser* partial-command-parser) - (interactorp (typep *query-io* 'interactor-pane))) - (restart-case - (progn - (redisplay-frame-panes frame :force-p first-time) - (setq first-time nil) - (if query-io + *standard-input*)) + (*standard-output* (or (frame-standard-output frame) + *standard-output*)) + (query-io (frame-query-io frame)) + (*query-io* (or query-io *query-io*)) + (*pointer-documentation-output* + (frame-pointer-documentation-output frame)) + ;; during development, don't alter *error-output* + ;; (*error-output* (frame-error-output frame)) + (*command-parser* command-parser) + (*command-unparser* command-unparser) + (*partial-command-parser* partial-command-parser) + (interactorp (typep *query-io* 'interactor-pane))) + (restart-case + (progn + (redisplay-frame-panes frame :force-p first-time) + (setq first-time nil) + (if query-io ;; For frames with an interactor: - (progn + (progn ;; Hide cursor, so we don't need to toggle it during ;; command output. - (setf (cursor-visibility (stream-text-cursor *query-io*)) - nil) - (when (and prompt interactorp) - (with-text-style (*query-io* +default-prompt-style+) - (if (stringp prompt) - (write-string prompt *query-io*) - (funcall prompt *query-io* frame)) - (finish-output *query-io*))) - (let ((command (read-frame-command frame - :stream *query-io*))) - (when interactorp - (fresh-line *query-io*)) - (when command - (execute-frame-command frame command)) - (when interactorp - (fresh-line *query-io*)))) + (setf (cursor-visibility (stream-text-cursor *query-io*)) + nil) + (when (and prompt interactorp) + (with-text-style (*query-io* +default-prompt-style+) + (if (stringp prompt) + (write-string prompt *query-io*) + (funcall prompt *query-io* frame)) + (force-output *query-io*))) + (let ((command (read-frame-command frame + :stream *query-io*))) + (when interactorp + (fresh-line *query-io*)) + (when command + (execute-frame-command frame command)) + (when interactorp + (fresh-line *query-io*)))) ;; Frames without an interactor: (let ((command (read-frame-command frame :stream nil))) (when command (execute-frame-command frame command))))) - (abort () - :report "Return to application command loop" - (if interactorp - (format *query-io* "~&Command aborted.~&") - (beep)))))))) + (abort () + :report "Return to application command loop" + (if interactorp + (format *query-io* "~&Command aborted.~&") + (beep))))))))
(defmethod read-frame-command :around ((frame application-frame) &key (stream *standard-input*)) --- /project/mcclim/cvsroot/mcclim/incremental-redisplay.lisp 2006/09/25 00:30:01 1.65 +++ /project/mcclim/cvsroot/mcclim/incremental-redisplay.lisp 2009/08/01 16:10:32 1.66 @@ -513,7 +513,7 @@ (rectangle-edges* sub-record)))) record nil) - (finish-output stream) + (force-output stream) ;; Why is this binding here? We need the "environment" in this call that ;; computes the new records of an outer updating output record to resemble ;; that when a record's contents are computed in invoke-updating-output. @@ -860,7 +860,7 @@ unique-id id-test cache-value cache-test &key (fixed-position nil) (all-new nil) (parent-cache nil)) - (finish-output stream) + (force-output stream) (let ((parent-cache (or parent-cache *current-updating-output* stream))) (when (eq unique-id *no-unique-id*) (setq unique-id (incf (id-counter parent-cache)))) --- /project/mcclim/cvsroot/mcclim/package.lisp 2008/08/21 22:34:28 1.70 +++ /project/mcclim/cvsroot/mcclim/package.lisp 2009/08/01 16:10:32 1.71 @@ -234,7 +234,7 @@ nil))) packages) (progn (format t "~&there is no ~A." name) - (finish-output) + (force-output) nil))) (dump-defpackage (&aux imports export-ansi export-gray) (labels ((push-import-from (symbol package) @@ -255,7 +255,7 @@ (and sym2 (eq res :external)))) ;; (format t "~&;; ~S is patched." sym) - (finish-output) + (force-output) (push-import-from nam :clim-lisp-patch)) (t (setf sym (car sym)) --- /project/mcclim/cvsroot/mcclim/recording.lisp 2009/08/01 05:23:47 1.144 +++ /project/mcclim/cvsroot/mcclim/recording.lisp 2009/08/01 16:10:32 1.145 @@ -2292,7 +2292,7 @@ (letf (((stream-current-output-record stream) new-record)) ;; Should we switch on recording? -- APD (funcall continuation stream new-record) - (finish-output stream)) + (force-output stream)) (if parent (add-output-record new-record parent) (stream-add-output-record stream new-record)) @@ -2309,7 +2309,7 @@ (letf (((stream-current-output-record stream) new-record)) ;; Should we switch on recording? -- APD (funcall continuation stream new-record) - (finish-output stream)) + (force-output stream)) (if parent (add-output-record new-record parent) (stream-add-output-record stream new-record)) @@ -2325,7 +2325,7 @@ (letf (((stream-current-output-record stream) new-record) ((stream-cursor-position stream) (values 0 0))) (funcall continuation stream new-record) - (finish-output stream))) + (force-output stream))) new-record))
(defmethod invoke-with-output-to-output-record @@ -2337,7 +2337,7 @@ (letf (((stream-current-output-record stream) new-record) ((stream-cursor-position stream) (values 0 0))) (funcall continuation stream new-record) - (finish-output stream))) + (force-output stream))) new-record))
(defmethod make-design-from-output-record (record) --- /project/mcclim/cvsroot/mcclim/table-formatting.lisp 2008/11/09 19:58:26 1.41 +++ /project/mcclim/cvsroot/mcclim/table-formatting.lisp 2009/08/01 16:10:32 1.42 @@ -319,7 +319,7 @@ (let ((*table-suppress-update* t)) (with-output-recording-options (stream :record t :draw nil) (funcall continuation stream) - (finish-output stream)) + (force-output stream)) (with-output-recording-options (stream :record nil :draw nil) (adjust-table-cells table stream) (when multiple-columns (adjust-multiple-columns table stream)) @@ -427,7 +427,7 @@ (stream-cursor-position stream) (with-output-recording-options (stream :record t :draw nil) (funcall continuation stream) - (finish-output stream)) + (force-output stream)) (adjust-item-list-cells item-list stream) (setf (output-record-position item-list) (stream-cursor-position stream)) --- /project/mcclim/cvsroot/mcclim/text-selection.lisp 2009/06/03 20:33:16 1.8 +++ /project/mcclim/cvsroot/mcclim/text-selection.lisp 2009/08/01 16:10:32 1.9 @@ -289,7 +289,7 @@ (push (setf q (cons y nil)) *lines*)) (push (list x y string ts record full-record) (cdr q))) - (finish-output *trace-output*))) + (force-output *trace-output*))) (setf *lines* (sort (mapcar (lambda (line) (cons (car line)