* riece-alias.el (riece-alias-abbrev-identity-string): Return a
[riece] / lisp / riece.el
index 1d49190..aece645 100644 (file)
@@ -294,12 +294,13 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect."
               (lambda ()
                 (let ((buffers riece-buffer-list))
                   (while buffers
-                    (if (and (buffer-live-p (car buffers))
-                             (eq (derived-mode-class
-                                  (with-current-buffer (car buffers)
-                                    major-mode))
-                                 'riece-dialogue-mode))
-                        (riece-shrink-buffer (car buffers)))
+                    (if (buffer-live-p (car buffers))
+                        (if (eq (derived-mode-class
+                                 (with-current-buffer (car buffers)
+                                   major-mode))
+                                'riece-dialogue-mode)
+                            (riece-shrink-buffer (car buffers)))
+                      (delq (car buffers) riece-buffer-list))
                     (setq buffers (cdr buffers))))))))
     (switch-to-buffer riece-command-buffer)
     (riece-display-connect-signals)
@@ -336,13 +337,15 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect."
     (while (> (buffer-size) riece-max-buffer-size)
       (let* ((inhibit-read-only t)
             buffer-read-only
-            (start (point))
-            (end (progn (beginning-of-line 2) (point)))
-            (overlays (riece-overlays-in start end)))
+            (end (progn
+                   (goto-char riece-shrink-buffer-remove-chars)
+                   (beginning-of-line 2)
+                   (point)))
+            (overlays (riece-overlays-in (point-min) end)))
        (while overlays
          (riece-delete-overlay (car overlays))
          (setq overlays (cdr overlays)))
-       (delete-region start end)))))
+       (delete-region (point-min) end)))))
 
 (defun riece-exit ()
   (if riece-save-variables-are-dirty