diff options
| author | Philip Kaludercic | 2021-06-10 11:40:19 +0200 |
|---|---|---|
| committer | Philip Kaludercic | 2021-06-10 17:22:58 +0200 |
| commit | b67b1eea256e05cc65039f207d0f16a16e2dac4e (patch) | |
| tree | fe8d521ba35cb1f517bd5d9e80d39df74847d971 | |
| parent | 95fdd4b99bccc11f373c3b9d6cacee8269728344 (diff) | |
| download | emacs-b67b1eea256e05cc65039f207d0f16a16e2dac4e.tar.gz emacs-b67b1eea256e05cc65039f207d0f16a16e2dac4e.zip | |
Fix prompt doubling when reconnecting
* rcirc.el (rcirc-connect): Check if rcirc-mode is already active
(rcirc-get-buffer-create): Check if rcirc-mode is already active
| -rw-r--r-- | lisp/net/rcirc.el | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index ad5a4d64178..edd5b87e7d1 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el | |||
| @@ -621,7 +621,8 @@ that are joined after authentication." | |||
| 621 | (set-process-coding-system process 'raw-text 'raw-text) | 621 | (set-process-coding-system process 'raw-text 'raw-text) |
| 622 | (switch-to-buffer (rcirc-generate-new-buffer-name process nil)) | 622 | (switch-to-buffer (rcirc-generate-new-buffer-name process nil)) |
| 623 | (set-process-buffer process (current-buffer)) | 623 | (set-process-buffer process (current-buffer)) |
| 624 | (rcirc-mode process nil) | 624 | (unless (eq major-mode 'rcirc-mode) |
| 625 | (rcirc-mode process nil)) | ||
| 625 | (set-process-sentinel process 'rcirc-sentinel) | 626 | (set-process-sentinel process 'rcirc-sentinel) |
| 626 | (set-process-filter process 'rcirc-filter) | 627 | (set-process-filter process 'rcirc-filter) |
| 627 | 628 | ||
| @@ -662,6 +663,7 @@ that are joined after authentication." | |||
| 662 | (run-at-time 0 (/ rcirc-timeout-seconds 2) 'rcirc-keepalive))) | 663 | (run-at-time 0 (/ rcirc-timeout-seconds 2) 'rcirc-keepalive))) |
| 663 | 664 | ||
| 664 | (message "Connecting to %s...done" (or server-alias server)) | 665 | (message "Connecting to %s...done" (or server-alias server)) |
| 666 | (setq mode-line-process nil) | ||
| 665 | 667 | ||
| 666 | ;; return process object | 668 | ;; return process object |
| 667 | process))) | 669 | process))) |
| @@ -1412,9 +1414,11 @@ Create the buffer if it doesn't exist." | |||
| 1412 | (let ((new-buffer (get-buffer-create | 1414 | (let ((new-buffer (get-buffer-create |
| 1413 | (rcirc-generate-new-buffer-name process target)))) | 1415 | (rcirc-generate-new-buffer-name process target)))) |
| 1414 | (with-current-buffer new-buffer | 1416 | (with-current-buffer new-buffer |
| 1415 | (rcirc-mode process target) | 1417 | (unless (eq major-mode 'rcirc-mode) |
| 1418 | (rcirc-mode process target))) | ||
| 1419 | (setq mode-line-process nil) | ||
| 1416 | (rcirc-put-nick-channel process (rcirc-nick process) target | 1420 | (rcirc-put-nick-channel process (rcirc-nick process) target |
| 1417 | rcirc-current-line)) | 1421 | rcirc-current-line) |
| 1418 | new-buffer))))) | 1422 | new-buffer))))) |
| 1419 | 1423 | ||
| 1420 | (defun rcirc-send-input () | 1424 | (defun rcirc-send-input () |