From f783b562b1f30b3d7eab4e80870b7decbc10c354 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Thu, 16 Dec 2010 14:01:44 +0900 Subject: [PATCH] Make sure not to move cursor, when the buffer is frozen and selected. --- lisp/ChangeLog | 7 +++++++ lisp/riece-misc.el | 12 ++++++++---- lisp/riece-shrink-buffer.el | 3 ++- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 787c608..ded477f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2010-12-16 Daiki Ueno + + * riece-shrink-buffer.el (riece-shrink-buffer): Make sure not to + move cursor. + * riece-misc.el (riece-insert): Save the current point, if the + buffer is frozen. + 2010-12-11 TAKAHASHI Kaoru * COMPILE (riece-update-mcat): Fix "Wrong number of arguments" diff --git a/lisp/riece-misc.el b/lisp/riece-misc.el index 2aa1286..a23d2fc 100644 --- a/lisp/riece-misc.el +++ b/lisp/riece-misc.el @@ -69,11 +69,15 @@ (with-current-buffer (car buffers) (let ((inhibit-read-only t) buffer-read-only - (start (goto-char (point-max))) + start window point) - (insert (format-time-string "%H:%M") " " string) - (setq point (point)) + ;; Save the current for the case when (car buffers) is the + ;; currently selected buffer. + (save-excursion + (setq start (goto-char (point-max))) + (insert (format-time-string "%H:%M") " " string) + (setq point (point))) (if (and (not (riece-frozen (current-buffer))) (setq window (get-buffer-window (current-buffer))) (not (pos-visible-in-window-p point window))) @@ -83,7 +87,7 @@ (select-window window) (goto-char point) ;select-window changes current point (recenter riece-window-center-line)))) - (run-hook-with-args 'riece-after-insert-functions start (point)))) + (run-hook-with-args 'riece-after-insert-functions start point))) (setq buffers (cdr buffers)))) (defun riece-insert-change (buffer message) diff --git a/lisp/riece-shrink-buffer.el b/lisp/riece-shrink-buffer.el index 69d4a07..38091a0 100644 --- a/lisp/riece-shrink-buffer.el +++ b/lisp/riece-shrink-buffer.el @@ -68,7 +68,8 @@ (setq buffers (cdr buffers))))) (defun riece-shrink-buffer (buffer) - (with-current-buffer buffer + (save-excursion + (set-buffer buffer) (goto-char (point-min)) (while (> (buffer-size) riece-max-buffer-size) (let* ((inhibit-read-only t) -- 2.34.1