diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/net/rcirc.el | 12 |
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)" |