Function: telnet-filter
telnet-filter is a byte-compiled function defined in telnet.el.gz.
Signature
(telnet-filter PROC STRING)
Source Code
;; Defined in /usr/src/emacs/lisp/net/telnet.el.gz
(defun telnet-filter (proc string)
(with-current-buffer (process-buffer proc)
(let* ((last-insertion (marker-position (process-mark proc)))
(delta (- (point) last-insertion))
(ie (and comint-last-input-end
(marker-position comint-last-input-end)))
(w (get-buffer-window (current-buffer)))
(ws (and w (window-start w))))
(goto-char last-insertion)
(insert string)
(set-marker comint-last-output-start last-insertion)
(set-marker (process-mark proc) (point))
(if ws (set-window-start w ws t))
(if ie (set-marker comint-last-input-end ie))
(while (progn (skip-chars-backward "^\C-m" last-insertion)
(> (point) last-insertion))
(delete-region (1- (point)) (point)))
(goto-char (process-mark proc))
(and telnet-replace-c-g
(subst-char-in-region last-insertion (point) ?\C-g
telnet-replace-c-g t))
;; If point is after the insertion place, move it
;; along with the text.
(if (> delta 0)
(goto-char (+ (process-mark proc) delta))))))