branch: externals/coterm
commit 9e3e19b82e5514f6eb7733dad6defdb5bfa36e25
Author: m <>
Commit: m <>

    Add support for \e[L
---
 coterm.el | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/coterm.el b/coterm.el
index 42919bd..897e63e 100644
--- a/coterm.el
+++ b/coterm.el
@@ -349,7 +349,28 @@ initialize it sensibly."
                             (if (eolp)
                                 (if (eq 1 (car ctl-params)) (dirty))
                               (funcall proc-filt process
-                                       (make-string coterm--t-col 
?\s)))))))))))))
+                                       (make-string coterm--t-col ?\s)))))
+                         (?L ;; \E[L - insert lines (terminfo: il, il1)
+                          ;; Remove from bottom
+                          (let ((coterm--t-col 0)
+                                end)
+                            (dirty)
+                            (let ((coterm--t-row coterm-t-height) )
+                              (coterm--t-approximate-pmark pmark)
+                              (setq end (marker-position pmark)))
+                            (let ((coterm--t-row
+                                   (max (- coterm-t-height
+                                           (car ctl-params))
+                                        coterm--t-row)))
+                              (coterm--t-approximate-pmark pmark)
+                              (delete-region pmark end))
+                            (dirty)
+                            ;; Insert new lines
+                            (coterm--t-approximate-pmark pmark)
+                            (unless (= pmark (point-max))
+                              (funcall proc-filt process
+                                       (make-string (car ctl-params) ?\n))))
+                          (dirty))))))))))
 
             (cond
              ((setq match (string-match coterm-t-control-seq-prefix-regexp

Reply via email to