From: Miha Rihtaršič Date: Thu, 6 Oct 2022 18:22:39 +0000 (+0200) Subject: comint-fontify-input: Don't fontify output as input, different approach X-Git-Tag: emacs-29.0.90~1616^2~719 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e84b732cbc54d5ba66e0b6f824edccb2bcb18668;p=emacs.git 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). --- 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.