Changeset 6774


Ignore:
Timestamp:
Jun 20, 2007, 11:34:00 AM (17 years ago)
Author:
Gary Byers
Message:

with-popop-display forces output.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ide-1.0/ccl/hemlock/src/macros.lisp

    r6582 r6774  
    560560  (when (and (numberp height) (zerop height))
    561561    (editor-error "I doubt that you really want a window with no height"))
    562   (let ((cleanup-p (gensym))
    563         (stream (gensym)))
     562  (let ((stream (gensym)))
    564563    `(let ()
    565564       (let ((,stream (ccl::typeout-stream)))
    566        (ccl::stream-clear-output (ccl::typeout-stream))
     565         (clear-output ,stream)
    567566       (unwind-protect
    568567           (progn
    569568             (catch 'more-punt
    570569               (let ((,var ,stream))
    571                  ;; GB ,@decls
    572                  (multiple-value-prog1
    573                      (locally ,@body))))))))))
     570                 ,@body)))
     571         (force-output ,stream))))))
    574572
    575573
     
    578576(defvar *random-typeout-buffers* () "A list of random-typeout buffers.")
    579577
    580 (defun get-random-typeout-info (buffer-name line-buffered-p)
    581   (let* ((buffer (getstring buffer-name *buffer-names*))
    582          (stream
    583           (cond
    584            ((not buffer)
    585             (let* ((buf (make-buffer
    586                          buffer-name
    587                          :modes '("Fundamental")
    588                          :modeline-fields *random-typeout-ml-fields*
    589                          :delete-hook
    590                          (list #'(lambda (buffer)
    591                                    (setq *random-typeout-buffers*
    592                                          (delete buffer *random-typeout-buffers*
    593                                                  :key #'car))))))
    594                    (point (buffer-point buf))
    595                    (stream (make-random-typeout-stream
    596                             (copy-mark point :left-inserting))))
    597               (setf (random-typeout-stream-more-mark stream)
    598                     (copy-mark point :right-inserting))
    599               (push (cons buf stream) *random-typeout-buffers*)
    600               stream))
    601            ((member buffer *random-typeout-buffers* :key #'car)
    602             (delete-region (buffer-region buffer))
    603             (let* ((pair (assoc buffer *random-typeout-buffers*))
    604                    (stream (cdr pair)))
    605               (setf *random-typeout-buffers*
    606                     (cons pair (delete pair *random-typeout-buffers*)))
    607               (setf (random-typeout-stream-first-more-p stream) t)
    608               (setf (random-typeout-stream-no-prompt stream) nil)
    609               stream))
    610            (t
    611             (error "~A is not a random typeout buffer."
    612                    (buffer-name buffer))))))
    613     (setf (slot-value stream 'line-buffered-p)
    614           line-buffered-p)
    615     stream))
     578
    616579
    617580
Note: See TracChangeset for help on using the changeset viewer.