comparison lisp/term.el @ 94213:c09516cc5cf4

(term-emulate-terminal): Perform redisplay after the process filter has finished running.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 21 Apr 2008 20:28:45 +0000
parents 1e3a407766b9
children ee5932bf781d
comparison
equal deleted inserted replaced
94212:28b476a64d4c 94213:c09516cc5cf4
3047 (save-excursion 3047 (save-excursion
3048 (goto-char (process-mark (get-buffer-process (current-buffer)))) 3048 (goto-char (process-mark (get-buffer-process (current-buffer))))
3049 (forward-line (- term-buffer-maximum-size)) 3049 (forward-line (- term-buffer-maximum-size))
3050 (beginning-of-line) 3050 (beginning-of-line)
3051 (delete-region (point-min) (point)))) 3051 (delete-region (point-min) (point))))
3052 (set-marker save-marker nil))))) 3052 (set-marker save-marker nil)))
3053 ;; This might be expensive, but we need it to handle something
3054 ;; like `sleep 5 | less -c' in more-or-less real time.
3055 (when (get-buffer-window (current-buffer))
3056 (redisplay))))
3053 3057
3054 (defun term-handle-deferred-scroll () 3058 (defun term-handle-deferred-scroll ()
3055 (let ((count (- (term-current-row) term-height))) 3059 (let ((count (- (term-current-row) term-height)))
3056 (when (>= count 0) 3060 (when (>= count 0)
3057 (save-excursion 3061 (save-excursion