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)))