[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/eat 162ec61f3d 3/7: Remove invisible spaces when killing t
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/eat 162ec61f3d 3/7: Remove invisible spaces when killing text |
Date: |
Thu, 15 Dec 2022 10:58:37 -0500 (EST) |
branch: elpa/eat
commit 162ec61f3d3b27578bae22bf3f0a14a104481879
Author: Akib Azmain Turja <akib@disroot.org>
Commit: Akib Azmain Turja <akib@disroot.org>
Remove invisible spaces when killing text
* eat.el (eat-term-filter-string): Remove invisible spaces
preceding multi-column width characters.
* eat.el (eat--t-join-long-line)
(eat--t-fix-partial-multi-col-char): Use
'next-single-property-change' instead of
'next-single-char-property-change'.
---
eat.el | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/eat.el b/eat.el
index 3b636edf2b..673d8bdb10 100644
--- a/eat.el
+++ b/eat.el
@@ -686,7 +686,7 @@ where `*' indicates point."
;; Are we already at the end a part of a long line?
(unless (get-char-property (point) 'eat--t-wrap-line)
;; Find the next end of a part of a long line.
- (goto-char (next-single-char-property-change
+ (goto-char (next-single-property-change
(point) 'eat--t-wrap-line nil limit)))
;; Remove the newline.
(when (< (point) (or limit (point-max)))
@@ -1214,7 +1214,7 @@ character or its the internal invisible spaces."
(if (get-text-property (point) 'eat--t-invisible-space)
(let ((start-pos (point))
(count nil))
- (goto-char (next-single-char-property-change
+ (goto-char (next-single-property-change
(point) 'eat--t-invisible-space))
(setq count (- (1+ (point)) start-pos))
;; Make sure we really overwrote the character
@@ -4054,9 +4054,21 @@ return \"eat-color\", otherwise return \"eat-mono\"."
"Filter Eat's special text properties from STRING."
(with-temp-buffer
(insert string)
+ ;; Join long lines.
(goto-char (point-min))
(while (not (eobp))
(eat--t-join-long-line))
+ ;; Remove the invisible spaces used with multi-column characters.
+ (goto-char (point-min))
+ (while (not (eobp))
+ (let ((invisible-p (get-text-property
+ (point) 'eat--t-invisible-space))
+ (next-change (or (next-single-property-change
+ (point) 'eat--t-invisible-space)
+ (point-max))))
+ (when invisible-p
+ (delete-region (point) next-change))
+ (goto-char next-change)))
(buffer-string)))
- [nongnu] elpa/eat updated (8fce5fe928 -> 61695d9671), ELPA Syncer, 2022/12/15
- [nongnu] elpa/eat f912425fb4 6/7: Fix handling non-interactive processes in Eshell, ELPA Syncer, 2022/12/15
- [nongnu] elpa/eat fc195410e4 1/7: Ask if 'stty' is unavailable in Eshell, ELPA Syncer, 2022/12/15
- [nongnu] elpa/eat 162ec61f3d 3/7: Remove invisible spaces when killing text,
ELPA Syncer <=
- [nongnu] elpa/eat 35df1bc2a4 2/7: Refactor 'eat--eshell-adjust-make-process-args', ELPA Syncer, 2022/12/15
- [nongnu] elpa/eat 559c9c362c 4/7: Refactor 'eat--eshell-adjust-make-process-args', ELPA Syncer, 2022/12/15
- [nongnu] elpa/eat e597bcfbb2 5/7: Don't use '.*-char-property-.*' functions, ELPA Syncer, 2022/12/15
- [nongnu] elpa/eat 61695d9671 7/7: Decrease regexp usage while parsing output, ELPA Syncer, 2022/12/15