From: Stefan Monnier Date: Tue, 13 Apr 2021 02:49:48 +0000 (-0400) Subject: * lisp/comint.el: Add `font-lock-face` to `rear-nonsticky` X-Git-Tag: emacs-28.0.90~2869 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6de79542e43ece9a12ebc032c275a6c3fee0b73b;p=emacs.git * lisp/comint.el: Add `font-lock-face` to `rear-nonsticky` (comint--prompt-rear-nonsticky): New const. (comint-send-input, comint-output-filter): Use it. --- diff --git a/lisp/comint.el b/lisp/comint.el index 2745c5a26f6..ef34174305f 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -1797,6 +1797,10 @@ Ignore duplicates if `comint-input-ignoredups' is non-nil." (min size (- comint-input-ring-size size))))) (ring-insert comint-input-ring cmd))) +(defconst comint--prompt-rear-nonsticky + '(field inhibit-line-move-field-capture read-only font-lock-face) + "Text properties we set on the prompt and don't want to leak past it.") + (defun comint-send-input (&optional no-newline artificial) "Send input to process. After the process output mark, sends all text from the process mark to @@ -1916,8 +1920,8 @@ Similarly for Soar, Scheme, etc." (unless (or no-newline comint-use-prompt-regexp) ;; Cover the terminating newline (add-text-properties end (1+ end) - '(rear-nonsticky - (field inhibit-line-move-field-capture read-only) + `(rear-nonsticky + ,comint--prompt-rear-nonsticky field boundary inhibit-line-move-field-capture t))))) @@ -2124,10 +2128,10 @@ Make backspaces delete the previous character." (unless comint-use-prompt-regexp (with-silent-modifications (add-text-properties comint-last-output-start (point) - '(front-sticky + `(rear-nonsticky + ,comint--prompt-rear-nonsticky + front-sticky (field inhibit-line-move-field-capture) - rear-nonsticky - (field inhibit-line-move-field-capture read-only) field output inhibit-line-move-field-capture t)))) @@ -2157,8 +2161,8 @@ Make backspaces delete the previous character." 'font-lock-face 'comint-highlight-prompt) (add-text-properties prompt-start (point) - '(rear-nonsticky - (field inhibit-line-move-field-capture read-only)))) + `(rear-nonsticky + ,comint--prompt-rear-nonsticky))) (goto-char saved-point))))))) (defun comint-preinput-scroll-to-bottom ()