[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.