Function: erc-networks--copy-over-server-buffer-contents

erc-networks--copy-over-server-buffer-contents is a byte-compiled function defined in erc-networks.el.gz.

Signature

(erc-networks--copy-over-server-buffer-contents EXISTING NAME)

Documentation

Kill off existing server buffer after copying its contents.

Must be called from the replacement buffer.

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc-networks.el.gz
(defun erc-networks--copy-over-server-buffer-contents (existing name)
  "Kill off existing server buffer after copying its contents.
Must be called from the replacement buffer."
  ;; ERC expects `erc-open' to be idempotent when setting up local
  ;; vars and other context properties for a new identity.  Thus, it's
  ;; unlikely we'll have to copy anything else over besides text.  And
  ;; no reconciling of user tables, etc. happens during a normal
  ;; reconnect, so we should be fine just sticking to text. (Right?)
  (let ((text (with-current-buffer existing
                ;; This `erc-networks--id' should be
                ;; `erc-networks--id-equal-p' to caller's network
                ;; identity and older if not eq.
                ;;
                ;; `erc-server-process' should be set but dead
                ;; and eq `get-buffer-process' unless latter nil
                (delete-process erc-server-process)
                (buffer-substring (point-min) erc-insert-marker)))
        erc-kill-server-hook
        erc-kill-buffer-hook)
    (erc-networks--insert-transplanted-content text)
    (run-hook-with-args 'erc-networks--copy-server-buffer-functions existing)
    (kill-buffer name)))