Make sure not to move cursor, when the buffer is frozen and selected.
authorDaiki Ueno <ueno@unixuser.org>
Thu, 16 Dec 2010 05:01:44 +0000 (14:01 +0900)
committerDaiki Ueno <ueno@unixuser.org>
Thu, 16 Dec 2010 05:01:44 +0000 (14:01 +0900)
lisp/ChangeLog
lisp/riece-misc.el
lisp/riece-shrink-buffer.el

index 787c608..ded477f 100644 (file)
@@ -1,3 +1,10 @@
+2010-12-16  Daiki Ueno  <ueno@unixuser.org>
+
+       * 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  <kaoru@kaisei.org>
 
        * COMPILE (riece-update-mcat): Fix "Wrong number of arguments"
index 2aa1286..a23d2fc 100644 (file)
     (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)
index 69d4a07..38091a0 100644 (file)
@@ -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)