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).
This commit is contained in:
Miha Rihtaršič 2022-09-30 20:07:03 +02:00 committed by Lars Ingebrigtsen
parent 22f0e777f3
commit 90744ff0be

View file

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