* riece-display.el (riece-channel-buffer): Return nil when
authorueno <ueno>
Thu, 7 Jul 2005 08:49:55 +0000 (08:49 +0000)
committerueno <ueno>
Thu, 7 Jul 2005 08:49:55 +0000 (08:49 +0000)
channel-buffer is killed.

* riece-debug.el (riece-debug-1): New function.
(riece-debug): Always return nil.

lisp/ChangeLog
lisp/riece-debug.el
lisp/riece-display.el

index d03a783..9340f6d 100644 (file)
@@ -1,3 +1,11 @@
+2005-07-07  Daiki Ueno  <ueno@unixuser.org>
+
+       * riece-display.el (riece-channel-buffer): Return nil when
+       channel-buffer is killed.
+
+       * riece-debug.el (riece-debug-1): New function.
+       (riece-debug): Always return nil.
+
 2005-06-03  Daiki Ueno  <ueno@unixuser.org>
 
        * riece-ruby.el: New file.
index def5997..f5e8bf9 100644 (file)
 (require 'riece-globals)
 (require 'riece-options)
 
-(defun riece-debug (message &optional detail)
-  "Print a one-line debug MESSAGE at the bottom of the frame.
-If the optional 2nd argument DETAIL is specified, it is stored into
-`riece-debug-buffer'."
+(defun riece-debug-1 (message detail)
   (message "riece-debug: %s" message)
   (save-excursion
     (set-buffer riece-debug-buffer)
@@ -40,6 +37,12 @@ If the optional 2nd argument DETAIL is specified, it is stored into
          (insert message "\n" detail "\n")
        (insert message "\n")))))
 
+(defun riece-debug (message &optional detail)
+  "Print a one-line debug MESSAGE at the bottom of the frame.
+If the optional 2nd argument DETAIL is specified, it is stored into
+`riece-debug-buffer'."
+  (ignore (riece-debug-1 message detail)))
+
 (defun riece-debug-reset-standard-output ()
   "Reset `riece-temp-buffer' to be used as `standard-output'."
   (save-excursion
index 037f437..a3d59e2 100644 (file)
@@ -429,7 +429,14 @@ Local to the buffer in `riece-buffer-list'.")
     (current-buffer)))
 
 (defun riece-channel-buffer (identity)
-  (cdr (riece-identity-assoc identity riece-channel-buffer-alist)))
+  (let ((entry (riece-identity-assoc identity riece-channel-buffer-alist)))
+    (if entry
+       (if (buffer-live-p (cdr entry))
+           (cdr entry)
+         (if riece-debug
+             (riece-debug
+              (format "riece-channel-buffer: nonexistent buffer: %s"
+                      (riece-format-identity identity))))))))
 
 (defun riece-switch-to-channel (identity)
   (let ((last riece-current-channel)