Fix byte-compile error
[riece] / lisp / riece-server.el
index 4d8a1f3..c189ae4 100644 (file)
@@ -1,4 +1,4 @@
-;;; riece-server.el --- functions to open and close servers
+;;; riece-server.el --- functions to open and close servers -*- lexical-binding: t -*-
 ;; Copyright (C) 1998-2003 Daiki Ueno
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
@@ -19,8 +19,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Code:
 
 (require 'riece-coding)                        ;riece-default-coding-system
 (require 'riece-identity)
 (require 'riece-compat)
-(require 'riece-lru)
+(require 'riece-cache)
+(require 'riece-debug)
 
 (eval-and-compile
   (defvar riece-server-keyword-map
     '((:host)
       (:service 6667)
       (:nickname riece-nickname)
+      (:realname riece-realname)
       (:username riece-username)
       (:password)
       (:function riece-default-open-connection-function)
@@ -197,8 +199,7 @@ the `riece-server-keyword-map' variable."
   (let* ((server-name (if identity
                          (riece-identity-server identity)
                        (riece-current-server-name)))
-        (process (riece-server-process server-name))
-        coding-system)
+        (process (riece-server-process server-name)))
     (unless process
       (error "%s" (substitute-command-keys
                   "Type \\[riece-command-open-server] to open server.")))
@@ -222,9 +223,8 @@ the `riece-server-keyword-map' variable."
                                        "-open-server")))
     (unless function
       (error "\"%S\" is not supported" protocol))
-    (condition-case nil
-       (setq process (funcall function server server-name))
-      (error))
+    (setq process (riece-funcall-ignore-errors (symbol-name function)
+                                              function server server-name))
     (when process
       (with-current-buffer (process-buffer process)
        (make-local-variable 'riece-protocol)
@@ -243,8 +243,7 @@ the `riece-server-keyword-map' variable."
        (funcall function process message))))
 
 (defun riece-reset-process-buffer (process)
-  (save-excursion
-    (set-buffer (process-buffer process))
+  (with-current-buffer (process-buffer process)
     (if (fboundp 'set-buffer-multibyte)
        (set-buffer-multibyte nil))
     (kill-all-local-variables)
@@ -261,6 +260,7 @@ the `riece-server-keyword-map' variable."
     (make-local-variable 'riece-server-name)
     (make-local-variable 'riece-read-point)
     (setq riece-read-point (point-min))
+    (make-local-variable 'riece-filter-running)
     (make-local-variable 'riece-send-queue)
     (setq riece-send-queue (riece-make-queue))
     (make-local-variable 'riece-send-size)
@@ -272,8 +272,10 @@ the `riece-server-keyword-map' variable."
     (make-local-variable 'riece-channel-obarray)
     (setq riece-channel-obarray (make-vector riece-channel-obarray-size 0))
     (make-local-variable 'riece-coding-system)
-    (make-local-variable 'riece-user-lru)
-    (setq riece-user-lru (riece-make-lru riece-user-lru-max-size))
+    (make-local-variable 'riece-channel-cache)
+    (setq riece-channel-cache (riece-make-cache riece-channel-cache-max-size))
+    (make-local-variable 'riece-user-cache)
+    (setq riece-user-cache (riece-make-cache riece-user-cache-max-size))
     (buffer-disable-undo)
     (erase-buffer)))