Function: term-delete-lines
term-delete-lines is a byte-compiled function defined in term.el.gz.
Signature
(term-delete-lines LINES)
Source Code
;; Defined in /usr/src/emacs/lisp/term.el.gz
(defun term-delete-lines (lines)
(let ((start (point))
(save-current-column term-current-column)
(save-start-line-column term-start-line-column)
(save-current-row (term-current-row)))
;; The number of inserted lines shouldn't exceed the scroll region end.
;; The `term-scroll-end' line is part of the scrolling region, so
;; we need to go one line past it in order to ensure correct
;; scrolling.
(when (> (+ save-current-row lines) (1+ term-scroll-end))
(setq lines (- lines (- (+ save-current-row lines) (1+ term-scroll-end)))))
(term-down lines)
(delete-region start (point))
(term-down (- (1+ term-scroll-end) save-current-row lines))
(term-insert-char ?\n lines)
(setq term-current-column save-current-column)
(setq term-start-line-column save-start-line-column)
(setq term-current-row save-current-row)
(goto-char start)))