emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/coterm cf9217d 09/80: Support \e[P and \e[@


From: ELPA Syncer
Subject: [elpa] externals/coterm cf9217d 09/80: Support \e[P and \e[@
Date: Wed, 13 Oct 2021 18:57:26 -0400 (EDT)

branch: externals/coterm
commit cf9217d0e0b38262bd9c1dddf1755555ed6582e0
Author: m <>
Commit: m <>

    Support \e[P and \e[@
---
 coterm.el | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/coterm.el b/coterm.el
index 1576873..46a5ff5 100644
--- a/coterm.el
+++ b/coterm.el
@@ -88,7 +88,11 @@ In sync with variables `coterm--t-home-marker',
        proc-filt process
        (concat (make-string height ?\n)
                (unless (eolp)
-                 (make-string (+ width (if (= row 0) 0 col)) ?\s))))
+                 (make-string (+ width (if (= height 0) 0 col)) ?\s))))
+      ;; Delete chars that are after the width of the terminal
+      (goto-char (process-mark process))
+      (move-to-column coterm-t-width)
+      (delete-region (point) (progn (forward-line 1) (1- (point))))
       (setq coterm--t-pmark-in-sync nil))))
 
 (defun coterm--t-normalize-home-offset ()
@@ -391,7 +395,20 @@ initialize it sensibly."
                           ;; Remove at position
                           (coterm--t-delete-region
                            coterm--t-row 0
-                           (+ coterm--t-row (car ctl-params)) 0))))))))))
+                           (+ coterm--t-row (car ctl-params)) 0))
+                         (?P ;; \E[P - delete chars (terminfo: dch, dch1)
+                          (coterm--t-delete-region
+                           coterm--t-row coterm--t-col
+                           coterm--t-row (+ coterm--t-col
+                                            (max 1 (car ctl-params)))))
+                         (?@ ;; \E[@ - insert spaces (terminfo: ich)
+                          (let ((width (max 1 (car ctl-params))))
+                            (coterm--t-open-space
+                             proc-filt process
+                             coterm--t-row coterm--t-col
+                             0 width)
+                            (cl-incf coterm--t-col width)
+                            (dirty)))))))))))
 
             (cond
              ((setq match (string-match coterm-t-control-seq-prefix-regexp



reply via email to

[Prev in Thread] Current Thread [Next in Thread]