erc-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Erc-commit] [commit][master] Handle some edge cases when erc-server-pro


From: mwolson
Subject: [Erc-commit] [commit][master] Handle some edge cases when erc-server-process is nil
Date: Sun, 14 Oct 2007 00:49:22 -0400

commit d0691caef77d6a2f2e04fe5a69879b5c4a4967db
Author: Michael W. Olson <address@hidden>
Date:   Tue Aug 14 01:31:44 2007 -0400

    Handle some edge cases when erc-server-process is nil
    
    * erc-backend.el (erc-server-reconnect): Fix logic inversion.
    
    * erc.el (erc-send-current-line, erc-display-command, erc-display-msg):
      Handle case where erc-server-process is nil, so that /reconnect works.

diff --git a/ChangeLog b/ChangeLog
index 05aa739..40ee342 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -25,6 +25,9 @@
        symbol.  Thanks to jbms for the report.
        (erc-cmd-RECONNECT): Use simpler logic, and use buffer-live-p
        rather than bufferp.
+       (erc-send-current-line, erc-display-command, erc-display-msg):
+       Handle case where erc-server-process is nil, so that /reconnect
+       works.
 
 2007-08-12  Michael Olson  <address@hidden>
 
diff --git a/erc-backend.el b/erc-backend.el
index 73f534a..0df2776 100644
--- a/erc-backend.el
+++ b/erc-backend.el
@@ -553,8 +553,8 @@ Make sure you are in an ERC buffer when running this."
   (let ((buffer (erc-server-buffer)))
     (unless (buffer-live-p buffer)
       (if (eq major-mode 'erc-mode)
-          (error "Reconnect must be run from an ERC buffer")
-        (setq buffer (current-buffer))))
+          (setq buffer (current-buffer))
+        (error "Reconnect must be run from an ERC buffer")))
     (with-current-buffer buffer
       (erc-update-mode-line)
       (erc-set-active-buffer (current-buffer))
diff --git a/erc.el b/erc.el
index 5d29ace..cee601f 100644
--- a/erc.el
+++ b/erc.el
@@ -4999,7 +4999,8 @@ Specifically, return the position of `erc-insert-marker'."
                (save-restriction
                  (widen)
                  (goto-char (point-max))
-                 (set-marker (process-mark erc-server-process) (point))
+                 (when (processp erc-server-process)
+                   (set-marker (process-mark erc-server-process) (point)))
                  (set-marker erc-insert-marker (point))
                  (let ((buffer-modified (buffer-modified-p)))
                    (erc-display-prompt)
@@ -5067,7 +5068,8 @@ This returns non-nil only iff we actually send anything."
        (erc-put-text-property beg (point)
                               'face 'erc-command-indicator-face)
        (insert "\n"))
-      (set-marker (process-mark erc-server-process) (point))
+      (when (processp erc-server-process)
+       (set-marker (process-mark erc-server-process) (point)))
       (set-marker erc-insert-marker (point))
       (save-excursion
        (save-restriction
@@ -5086,7 +5088,8 @@ current position."
        (erc-put-text-property beg (point)
                               'face 'erc-input-face))
       (insert "\n")
-      (set-marker (process-mark erc-server-process) (point))
+      (when (processp erc-server-process)
+       (set-marker (process-mark erc-server-process) (point)))
       (set-marker erc-insert-marker (point))
       (save-excursion
        (save-restriction




reply via email to

[Prev in Thread] Current Thread [Next in Thread]