Mercurial > emacs
changeset 103248:97c6a390ad50
* progmodes/compile.el (compilation-filter): If inserting at end
of accessible part of buffer, keep end of output visible.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 18 May 2009 16:30:59 +0000 |
parents | 0eb3cdddefb2 |
children | 019c8b2b5898 |
files | lisp/ChangeLog lisp/progmodes/compile.el |
diffstat | 2 files changed, 14 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Mon May 18 16:26:57 2009 +0000 +++ b/lisp/ChangeLog Mon May 18 16:30:59 2009 +0000 @@ -1,5 +1,8 @@ 2009-05-18 Richard M Stallman <rms@gnu.org> + * progmodes/compile.el (compilation-filter): If inserting at end + of accessible part of buffer, keep end of output visible. + * mail/rmail.el (rmail-expunge-confirmed): Return nil if nothing to do. Don't call rmail-modify-format here. (rmail-expunge): Call it here after expunge is confirmed.
--- a/lisp/progmodes/compile.el Mon May 18 16:26:57 2009 +0000 +++ b/lisp/progmodes/compile.el Mon May 18 16:30:59 2009 +0000 @@ -1739,9 +1739,15 @@ (with-current-buffer (process-buffer proc) (let ((inhibit-read-only t) ;; `save-excursion' doesn't use the right insertion-type for us. - (pos (copy-marker (point) t))) + (pos (copy-marker (point) t)) + (min (point-min-marker)) + (max (point-max-marker))) (unwind-protect (progn + ;; If we are inserting at the end of the accessible part + ;; of the buffer, keep the inserted text visible. + (set-marker-insertion-type max t) + (widen) (goto-char (process-mark proc)) ;; We used to use `insert-before-markers', so that windows with ;; point at `process-mark' scroll along with the output, but we @@ -1751,7 +1757,10 @@ (comint-carriage-motion (process-mark proc) (point))) (set-marker (process-mark proc) (point)) (run-hooks 'compilation-filter-hook)) - (goto-char pos)))))) + (goto-char pos) + (narrow-to-region min max) + (set-marker min nil) + (set-marker max nil)))))) ;;; test if a buffer is a compilation buffer, assuming we're in the buffer (defsubst compilation-buffer-internal-p ()