summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/net/rcirc.el12
1 files changed, 7 insertions, 5 deletions
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index 2e49ccb5ddc..74ea33e99f1 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -855,12 +855,13 @@ If QUIET is non-nil, no not emit a message."
#'rcirc-reconnect process t))))))))
(defun rcirc-sentinel (process sentinel)
- "Called when PROCESS receives SENTINEL."
- (let ((sentinel (string-replace "\n" "" sentinel)))
+ "Called on a change of the state of PROCESS.
+SENTINEL describes the change in form of a string."
+ (let ((status (process-status process)))
(rcirc-debug process (format "SENTINEL: %S %S\n" process sentinel))
(with-rcirc-process-buffer process
(cond
- ((string= sentinel "open")
+ ((eq status 'open)
(let* ((server (nth 0 rcirc-connection-info))
(user-name (nth 3 rcirc-connection-info))
(full-name (nth 4 rcirc-connection-info))
@@ -904,7 +905,7 @@ If QUIET is non-nil, no not emit a message."
(dolist (buffer (cons nil (mapcar 'cdr rcirc-buffer-alist)))
(with-current-buffer (or buffer (current-buffer))
(setq mode-line-process nil)))))
- ((string= sentinel "deleted")
+ ((eq status 'closed)
(let ((now (current-time)))
(with-rcirc-process-buffer process
(when (and (< 0 rcirc-reconnect-delay)
@@ -912,7 +913,8 @@ If QUIET is non-nil, no not emit a message."
(time-subtract now rcirc-last-connect-time)))
(setq rcirc-last-connect-time now)
(rcirc-reconnect process)))))
- ((dolist (buffer (cons nil (mapcar 'cdr rcirc-buffer-alist)))
+ ((eq status 'failed)
+ (dolist (buffer (cons nil (mapcar 'cdr rcirc-buffer-alist)))
(with-current-buffer (or buffer (current-buffer))
(rcirc-print process "*rcirc*" "ERROR" rcirc-target
(format "%s: %s (%S)"