summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiha Rihtaršič <miha@kamnitnik.top>2022-11-26 23:01:24 +0100
committerEli Zaretskii <eliz@gnu.org>2022-12-07 17:33:56 +0200
commit949bc1c72d77aed1cea8d52422825cd8baf6d9ba (patch)
tree093007581aebe7d524efc65982548ce57f4a4ef7
parenta6ada6bd26195a7b5359b3b13323dee35f12a40e (diff)
downloademacs-949bc1c72d77aed1cea8d52422825cd8baf6d9ba.tar.gz
emacs-949bc1c72d77aed1cea8d52422825cd8baf6d9ba.tar.bz2
emacs-949bc1c72d77aed1cea8d52422825cd8baf6d9ba.zip
comint-fontify-input: Fix field boundary issue (bug#59626)
* lisp/comint.el (comint--intersect-regions): Don't call 'field-end' if we are on a field boundary already. Copyright-paperwork-exempt: yes
-rw-r--r--lisp/comint.el10
1 files changed, 8 insertions, 2 deletions
diff --git a/lisp/comint.el b/lisp/comint.el
index 4d9fc501874..6742360d16b 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -4121,9 +4121,15 @@ function called, or nil, if no function was called (if BEG = END)."
(save-restriction
(let ((beg2 beg1)
(end2 end1))
- (when (= beg2 beg)
+ (when (and (= beg2 beg)
+ (> beg2 (point-min))
+ (eq is-output
+ (eq (get-text-property (1- beg2) 'field) 'output)))
(setq beg2 (field-beginning beg2)))
- (when (= end2 end)
+ (when (and (= end2 end)
+ (< end2 (point-max))
+ (eq is-output
+ (eq (get-text-property (1+ end2) 'field) 'output)))
(setq end2 (field-end end2)))
;; Narrow to the whole field surrounding the region
(narrow-to-region beg2 end2))