-;;; 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>
;; 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-identity)
(require 'riece-compat)
(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)
"-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)
(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)
(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)