]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix prompt doubling when reconnecting
authorPhilip Kaludercic <philipk@posteo.net>
Thu, 10 Jun 2021 09:40:19 +0000 (11:40 +0200)
committerPhilip Kaludercic <philipk@posteo.net>
Thu, 10 Jun 2021 15:22:58 +0000 (17:22 +0200)
* rcirc.el (rcirc-connect): Check if rcirc-mode is already active
(rcirc-get-buffer-create): Check if rcirc-mode is already active

lisp/net/rcirc.el

index ad5a4d64178e000e10d31d849f476aa5ce5b4b8e..edd5b87e7d11e837cb4de1f2a38736c88d1b4e5c 100644 (file)
@@ -621,7 +621,8 @@ that are joined after authentication."
       (set-process-coding-system process 'raw-text 'raw-text)
       (switch-to-buffer (rcirc-generate-new-buffer-name process nil))
       (set-process-buffer process (current-buffer))
-      (rcirc-mode process nil)
+      (unless (eq major-mode 'rcirc-mode)
+        (rcirc-mode process nil))
       (set-process-sentinel process 'rcirc-sentinel)
       (set-process-filter process 'rcirc-filter)
 
@@ -662,6 +663,7 @@ that are joined after authentication."
              (run-at-time 0 (/ rcirc-timeout-seconds 2) 'rcirc-keepalive)))
 
       (message "Connecting to %s...done" (or server-alias server))
+      (setq mode-line-process nil)
 
       ;; return process object
       process)))
@@ -1412,9 +1414,11 @@ Create the buffer if it doesn't exist."
        (let ((new-buffer (get-buffer-create
                           (rcirc-generate-new-buffer-name process target))))
          (with-current-buffer new-buffer
-           (rcirc-mode process target)
+            (unless (eq major-mode 'rcirc-mode)
+             (rcirc-mode process target)))
+            (setq mode-line-process nil)
            (rcirc-put-nick-channel process (rcirc-nick process) target
-                                   rcirc-current-line))
+                                   rcirc-current-line)
          new-buffer)))))
 
 (defun rcirc-send-input ()