Function: eshell-flush

eshell-flush is a byte-compiled function defined in esh-io.el.gz.

Signature

(eshell-flush &optional REDISPLAY-NOW)

Documentation

Flush out any text that has been queued for printing.

When printing interactively, this will call redisplay every eshell-buffered-print-redisplay-throttle seconds so that the user can see the progress. If REDISPLAY-NOW is non-nil, call redisplay for interactive output even if the throttle would otherwise prevent it.

Source Code

;; Defined in /usr/src/emacs/lisp/eshell/esh-io.el.gz
(defun eshell-flush (&optional redisplay-now)
  "Flush out any text that has been queued for printing.
When printing interactively, this will call `redisplay' every
`eshell-buffered-print-redisplay-throttle' seconds so that the user can
see the progress.  If REDISPLAY-NOW is non-nil, call `redisplay' for
interactive output even if the throttle would otherwise prevent it."
  (ignore
   (when eshell--buffered-print-queue
     (eshell-print (apply #'concat eshell--buffered-print-queue))
     ;; When printing interactively (see `eshell-with-buffered-print'),
     ;; periodically redisplay so the user can see some progress.
     (when (and eshell--buffered-print-next-redisplay
                (or redisplay-now
                    (time-less-p eshell--buffered-print-next-redisplay
                                 (current-time))))
       (redisplay)
       (setq eshell--buffered-print-next-redisplay
             (time-add eshell--buffered-print-next-redisplay
                       eshell-buffered-print-redisplay-throttle)))
     (setq eshell--buffered-print-queue nil
           eshell--buffered-print-current-size 0))))