(put 'riece-server-keyword-bind 'lisp-indent-function 1)
(put 'riece-server-keyword-bind 'edebug-form-spec '(form body))
-(defun riece-start-server (server &optional server-name)
- (if server-name
- (message "Connecting to IRC server on %s..." server-name)
- (message "Connecting to IRC server..."))
- (prog1 (riece-open-server server server-name)
- (if server-name
- (message "Connecting to IRC server on %s...done" server-name)
- (message "Connecting to IRC server...done"))))
-
(defun riece-clear-system ()
(while riece-buffer-list
(if (and (get-buffer (car riece-buffer-list))
riece-save-variables-are-dirty t))
(cdr entry)))
-(defun riece-open-server (server server-name)
- "Open chat server on HOST.
-If HOST is nil, use value of environment variable \"IRCSERVER\".
-If optional argument SERVICE is non-nil, open by the service name."
+(defun riece-open-server (server &optional server-name)
+ (if server-name
+ (message "Connecting to IRC server %s..." server-name)
+ (message "Connecting to IRC server..."))
(riece-server-keyword-bind server
(let* (selective-display
(coding-system-for-read 'binary)
(coding-system-for-write 'binary)
(process
- (funcall function "IRC" (if server-name
- (format " *IRC*%s" server-name)
- " *IRC*")
+ (funcall function "IRC"
+ (get-buffer-create
+ (if server-name
+ (format " *IRC*%s" server-name)
+ " *IRC*"))
host service)))
(riece-reset-process-buffer process)
+ (with-current-buffer (process-buffer process)
+ (setq riece-server-name server-name))
(set-process-sentinel process 'riece-sentinel)
(set-process-filter process 'riece-filter)
(if (or password
(setq riece-last-nickname riece-real-nickname
riece-nick-accepted 'sent
riece-coding-system coding-system))
- process)))
+ (if server-name
+ (setq riece-server-process-alist
+ (cons (cons server-name process)
+ riece-server-process-alist))
+ (setq riece-server-process process))))
+ (if server-name
+ (message "Connecting to IRC server %s...done" server-name)
+ (message "Connecting to IRC server...done")))
(defun riece-reset-process-buffer (process)
(save-excursion
(if quit-message
(format "QUIT :%s\r\n" quit-message)
"QUIT\r\n"))
- (delete-process process)
(unless riece-debug
- (kill-buffer (process-buffer process)))))
+ (kill-buffer (process-buffer process))))
+ (delete-process process))
(eval-when-compile
(autoload 'riece-exit "riece"))