emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 90744ff0be 1/2: comint-fl: Prevent fontification of output as inp


From: Lars Ingebrigtsen
Subject: master 90744ff0be 1/2: comint-fl: Prevent fontification of output as input
Date: Fri, 30 Sep 2022 15:15:13 -0400 (EDT)

branch: master
commit 90744ff0be581b69cedea1194b7e78265bdb67a4
Author: Miha Rihtaršič <miha@kamnitnik.top>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    comint-fl: Prevent fontification of output as input
    
    * lisp/comint.el (comint-output-filter): Inhibit jit-lock
    fontification of inserted process output before marking it with the
    'output' filed property (bug#58169).
---
 lisp/comint.el | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/lisp/comint.el b/lisp/comint.el
index e7d2136c84..15c9388ea4 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -2150,24 +2150,26 @@ Make backspaces delete the previous character."
            ;; 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.
-           (insert string)
+           (make-local-variable 'jit-lock-mode)
+           (let ((jit-lock-mode nil))
+             (insert string)
 
-           ;; Advance process-mark
-           (set-marker (process-mark process) (point))
+             ;; Advance process-mark
+             (set-marker (process-mark process) (point))
 
-           (unless comint-inhibit-carriage-motion
+             (unless comint-inhibit-carriage-motion
              ;; Interpret any carriage motion characters (newline, backspace)
              (comint-carriage-motion comint-last-output-start (point)))
 
-           ;; Run these hooks with point where the user had it.
-           (goto-char saved-point)
-           (run-hook-with-args 'comint-output-filter-functions string)
-           (set-marker saved-point (point))
+             ;; Run these hooks with point where the user had it.
+             (goto-char saved-point)
+             (run-hook-with-args 'comint-output-filter-functions string)
+             (set-marker saved-point (point))
 
-           (goto-char (process-mark process)) ; In case a filter moved it.
+             (goto-char (process-mark process)) ; In case a filter moved it.
 
-           (unless comint-use-prompt-regexp
-              (comint--mark-as-output comint-last-output-start (point)))
+             (unless comint-use-prompt-regexp
+                (comint--mark-as-output comint-last-output-start (point))))
 
            ;; Highlight the prompt, where we define `prompt' to mean
            ;; the most recent output that doesn't end with a newline.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]