Function: term-switch-to-alternate-sub-buffer
term-switch-to-alternate-sub-buffer is a byte-compiled function
defined in term.el.gz.
Signature
(term-switch-to-alternate-sub-buffer SET)
Source Code
;; Defined in /usr/src/emacs/lisp/term.el.gz
(defun term-switch-to-alternate-sub-buffer (set)
;; If asked to switch to (from) the alternate sub-buffer, and already (not)
;; using it, do nothing. This test is needed for some programs (including
;; Emacs) that emit the ti termcap string twice, for unknown reason.
(term-handle-deferred-scroll)
(when (eq set (not (term-using-alternate-sub-buffer)))
(cond
(set
(goto-char (point-max))
(if (not (eq (preceding-char) ?\n))
(term-insert-char ?\n 1))
(setq term-scroll-with-delete t)
(setq term-saved-home-marker (copy-marker term-home-marker))
(set-marker term-home-marker (point)))
(t
(setq term-scroll-with-delete
(not (and (= term-scroll-start 0)
(= term-scroll-end (term--last-line)))))
(goto-char (point-max))
(when term-clear-full-screen-programs
(delete-region term-home-marker (point))
(set-marker term-home-marker term-saved-home-marker))
(set-marker term-saved-home-marker nil)
(setq term-saved-home-marker nil)))
(setq term-start-line-column nil)
(setq term-current-column nil)
(setq term-current-row nil)
(term-handle-deferred-scroll)))