From e84b732cbc54d5ba66e0b6f824edccb2bcb18668 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Miha=20Rihtar=C5=A1i=C4=8D?= Date: Thu, 6 Oct 2022 20:22:39 +0200 Subject: [PATCH] comint-fontify-input: Don't fontify output as input, different approach * lisp/comint.el (comint-output-filter): Propertize process output with field=output before inserting it into buffer to prevent comint-fontify-input from fontifying it (bug#58169). --- lisp/comint.el | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lisp/comint.el b/lisp/comint.el index e3eee8411c7..07ced8d321a 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -2147,6 +2147,12 @@ Make backspaces delete the previous character." (goto-char (process-mark process)) (set-marker comint-last-output-start (point)) + ;; Before we call `comint--mark-as-output' later, + ;; redisplay can be called. We mark the inserted text as + ;; output early, to prevent redisplay from fontifying it + ;; as input in case of `comint-fontify-input-mode'. + (put-text-property 0 (length string) 'field 'output string) + ;; insert-before-markers is a bad thing. XXX ;; Luckily we don't have to use it any more, we use ;; window-point-insertion-type instead. -- 2.39.5