branch: externals/coterm
commit cfc9f0393f3ada187f55b851723248fc5cf0d82d
Author: m <>
Commit: m <>
Fix some escape params defaulting to 1
---
coterm.el | 25 +++++++++++++------------
1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/coterm.el b/coterm.el
index 2ebdcb8..0a7fd87 100644
--- a/coterm.el
+++ b/coterm.el
@@ -258,7 +258,9 @@ initialize it sensibly."
(dirty ()
`(setq coterm--t-pmark-in-sync nil))
(pass-through ()
- `(ignore)))
+ `(ignore))
+ (car-or-1 ()
+ `(max 1 (car ctl-params))))
(if (not (and string
(setq buf (process-buffer process))
@@ -343,19 +345,19 @@ initialize it sensibly."
(1- (max 1 (min (or (nth 1 ctl-params) 0)
coterm-t-width))))
(dirty))
(?A ;; cursor up (terminfo: cuu, cuu1)
- (cl-decf coterm--t-row (car ctl-params))
+ (cl-decf coterm--t-row (car-or-1))
(setq coterm--t-row (max coterm--t-row 0))
(dirty))
(?B ;; cursor down (terminfo: cud)
- (cl-incf coterm--t-row (car ctl-params))
+ (cl-incf coterm--t-row (car-or-1))
(setq coterm--t-row (min coterm--t-row (1-
coterm-t-height)))
(dirty))
(?C ;; \E[C - cursor right (terminfo: cuf, cuf1)
- (cl-incf coterm--t-col (car ctl-params))
+ (cl-incf coterm--t-col (car-or-1))
(setq coterm--t-col (min coterm--t-col (1-
coterm-t-width)))
(dirty))
(?D ;; \E[D - cursor left (terminfo: cub)
- (cl-decf coterm--t-col (car ctl-params))
+ (cl-decf coterm--t-col (car-or-1))
(setq coterm--t-col (max coterm--t-col 0))
(dirty))
;; \E[J - clear to end of screen (terminfo: ed, clear)
@@ -378,28 +380,27 @@ initialize it sensibly."
(?L ;; \E[L - insert lines (terminfo: il, il1)
;; Remove from bottom
(coterm--t-delete-region
- (- coterm-t-height (car ctl-params)) 0
+ (- coterm-t-height (car-or-1)) 0
coterm-t-height 0)
;; Insert at position
(coterm--t-open-space
proc-filt process coterm--t-row 0
- (car ctl-params) 0))
+ (car-or-1) 0))
(?M ;; \E[M - delete lines (terminfo: dl, dl1)
;; Insert at bottom
(coterm--t-open-space
proc-filt process coterm-t-height 0
- (car ctl-params) 0)
+ (car-or-1) 0)
;; Remove at position
(coterm--t-delete-region
coterm--t-row 0
- (+ coterm--t-row (car ctl-params)) 0))
+ (+ coterm--t-row (car-or-1)) 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)))))
+ coterm--t-row (+ coterm--t-col (car-or-1))))
(?@ ;; \E[@ - insert spaces (terminfo: ich)
- (let ((width (max 1 (car ctl-params))))
+ (let ((width (car-or-1)))
(coterm--t-open-space
proc-filt process
coterm--t-row coterm--t-col