unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Lars Ingebrigtsen <larsi@gnus.org>
To: Carlos Pita <carlosjosepita@gmail.com>
Cc: behrmann@physik.fu-berlin.de, eggert@cs.ucla.edu, 32344@debbugs.gnu.org
Subject: bug#32344: [PATCH] 26.3/27 Option to avoid comint override colorization provided by major modes
Date: Wed, 19 Aug 2020 13:11:41 +0200	[thread overview]
Message-ID: <878sea7uvm.fsf@gnus.org> (raw)
In-Reply-To: <875z9q64vv.fsf@gnus.org> (Lars Ingebrigtsen's message of "Mon, 10 Aug 2020 14:51:16 +0200")

[-- Attachment #1: Type: text/plain, Size: 442 bytes --]

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Could you post the patch here instead?  It's nice to have the proposed
> patches in the bug tracker.

(Included below.)

> Anyway, while Juri's suggestion makes sense (merging faces) in general,
> I think the mechanism here (making comint not do any face mangling for
> the modes that do it themselves) is cleaner.  So I think Carlos' patch
> should be applied to Emacs.  

Which I'm doing now.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: pita.patch --]
[-- Type: text/x-diff, Size: 2567 bytes --]

From 27acd97dfec7ecd9667a032e3a94650cb01244c1 Mon Sep 17 00:00:00 2001
From: memeplex <carlosjosepita@gmail.com>
Date: Sun, 13 Oct 2019 18:42:37 -0300
Subject: [PATCH] Keep python colorization in comint (Bug#32344)

* lisp/comint.el (comint-highlight-input, comint-send-input): add
option to let major modes that colorize their input stop comint from
overriding that specialized colorization.

* lisp/progmodes/python.el (inferior-python-mode): Use the new comint
`comint-highlight-input' customization option in order to keep
colorization done by python.el.
---
 lisp/comint.el           | 13 ++++++++++---
 lisp/progmodes/python.el |  1 +
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/lisp/comint.el b/lisp/comint.el
index 4bb43670354..b8f5205d9e5 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -223,6 +223,12 @@ This variable is buffer-local."
 		 (other :tag "on" t))
   :group 'comint)
 
+(defcustom comint-highlight-input t
+  "If non-nil, highlight input with `comint-highlight-input' face.
+Otherwise keep the original highlighting untouched."
+  :type 'boolean
+  :group 'comint)
+
 (defface comint-highlight-input '((t (:weight bold)))
   "Face to use to highlight user input."
   :group 'comint)
@@ -1881,9 +1887,10 @@ Similarly for Soar, Scheme, etc."
               (end (if no-newline (point) (1- (point)))))
           (with-silent-modifications
             (when (> end beg)
-              (add-text-properties beg end
-                                   '(front-sticky t
-                                     font-lock-face comint-highlight-input))
+              (when comint-highlight-input
+               (add-text-properties beg end
+                                    '(front-sticky t
+                                      font-lock-face comint-highlight-input)))
               (unless comint-use-prompt-regexp
                 ;; Give old user input a field property of `input', to
                 ;; distinguish it from both process output and unsent
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index b168b62c291..8f823532802 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -2796,6 +2796,7 @@ variable.
          python-pdbtrack-comint-output-filter-function
          python-comint-postoutput-scroll-to-bottom
          comint-watch-for-password-prompt))
+  (set (make-local-variable 'comint-highlight-input) nil)
   (set (make-local-variable 'compilation-error-regexp-alist)
        python-shell-compilation-regexp-alist)
   (add-hook 'completion-at-point-functions

[-- Attachment #3: Type: text/plain, Size: 105 bytes --]



-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no

  reply	other threads:[~2020-08-19 11:11 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-02  0:14 bug#32344: 26.1; Option to avoid comint highlighting input Carlos Pita
2018-08-02  1:19 ` bug#32344: Carlos Pita
2018-09-12 17:04 ` bug#32344: Carlos Pita
2018-09-17 16:36 ` bug#32344: (no subject) Jörg Behrmann
2019-10-13 17:18 ` bug#32344: Carlos Pita
2019-10-13 18:36   ` bug#32344: Carlos Pita
2019-10-13 19:23     ` bug#32344: Carlos Pita
2019-10-13 19:24       ` bug#32344: Carlos Pita
2019-10-13 21:53         ` bug#32344: [PATCH] 26.3/27 Option to avoid comint override colorization provided by major modes Carlos Pita
2019-10-21 20:39           ` Carlos Pita
2020-08-10 12:51             ` Lars Ingebrigtsen
2020-08-19 11:11               ` Lars Ingebrigtsen [this message]
2019-10-20 15:57         ` bug#32344: Juri Linkov
2019-10-14 17:16 ` bug#32344: [PATCH] 26.3/27 Option to avoid comint override colorization provided by major modes Gaby Launay via Bug reports for GNU Emacs, the Swiss army knife of text editors
2019-10-21 20:53 ` bug#32344: Add option to keep colorization in comint, use it in python.el Carlos Pita
2019-10-22 18:25   ` Carlos Pita
2019-10-22 20:37   ` Juri Linkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878sea7uvm.fsf@gnus.org \
    --to=larsi@gnus.org \
    --cc=32344@debbugs.gnu.org \
    --cc=behrmann@physik.fu-berlin.de \
    --cc=carlosjosepita@gmail.com \
    --cc=eggert@cs.ucla.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).