* riece-display.el (riece-update-buffers): Check existence each
[riece] / lisp / riece.el
index 4fe2fee..863ea8a 100644 (file)
@@ -294,10 +294,11 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect."
               (lambda ()
                 (let ((buffers riece-buffer-list))
                   (while buffers
-                    (if (eq (derived-mode-class
-                             (with-current-buffer (car buffers)
-                               major-mode))
-                            'riece-dialogue-mode)
+                    (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)))
                     (setq buffers (cdr buffers))))))))
     (switch-to-buffer riece-command-buffer)
@@ -536,12 +537,13 @@ Instead, these commands are available:
          (funcall (nth 2 (car alist))))
        (setq alist (cdr alist))))))
 
+(defvar reporter-prompt-for-summary-p)
 (defun riece-submit-bug-report (&optional recent-messages recent-keys)
   "Submit via mail a bug report on Riece."
   ;; This strange form ensures that (recent-keys) is the value before
   ;; the bug subject string is read.
   (interactive (list (riece-recent-messages 20) (recent-keys)))
-  (message "Querying CTCP VERSION...")
+  (message "Querying server version...")
   (let ((pointer riece-server-process-alist)
        nickname)
     (while pointer
@@ -549,12 +551,15 @@ Instead, these commands are available:
               (setq nickname
                     (with-current-buffer (process-buffer (cdr (car pointer)))
                     riece-real-nickname)))
+         (process-send-string
+          (cdr (car pointer))
+          "VERSION\r\n")
          (process-send-string
           (cdr (car pointer))
           (format "PRIVMSG %s :\1VERSION\1\r\n" nickname)))
       (setq pointer (cdr pointer))))
   (sit-for 3)
-  (message "Querying CTCP VERSION...done")
+  (message "Querying server version...done")
   (require 'reporter)
   (let ((reporter-prompt-for-summary-p t))
     (unless riece-debug