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.

Expect to 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.
Expect to be called from the replacement buffer."
  (defvar erc-kill-buffer-hook)
  (defvar erc-kill-server-hook)
  ;; The following observations from ERC 5.5 regarding the buffer
  ;; `existing' were thought at the time to be invariants:
  ;; - `erc-networks--id' is `erc-networks--id-equal-p' to the
  ;;    caller's network identity and older if not `eq'.
  ;; - `erc-server-process' should be set (local) but dead and `eq' to
  ;;    the result of `get-buffer-process' unless the latter is nil.
  (delete-process (buffer-local-value 'erc-server-process existing))
  (erc-networks--transplant-buffer-content existing (current-buffer))
  (let (erc-kill-server-hook erc-kill-buffer-hook)
    (run-hook-with-args 'erc-networks--copy-server-buffer-functions existing)
    (kill-buffer name)))