GNU bug report logs - #20084
comint-highlight-prompt overrides ANSI colors in 24.4

Previous Next

Package: emacs;

Reported by: Charles Tam <me <at> charlest.net>

Date: Wed, 11 Mar 2015 16:14:02 UTC

Severity: normal

Tags: confirmed, patch

Merged with 19843, 20658

Found in version 24.4

Fixed in version 25.1

Done: Wolfgang Jenkner <wjenkner <at> inode.at>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 20084 in the body.
You can then email your comments to 20084 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Wed, 11 Mar 2015 16:14:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Charles Tam <me <at> charlest.net>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 11 Mar 2015 16:14:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Charles Tam <me <at> charlest.net>
To: bug-gnu-emacs <at> gnu.org
Subject: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Wed, 11 Mar 2015 12:01:38 -0400
[Message part 1 (text/plain, inline)]
In Emacs 24.3, comint-highlight-prompt allows ANSI colors to show through
if it does not specify any colors itself. In Emacs 24.4, it does not, even
if comint-highlight-prompt is the "empty face".

To reproduce, set PS1 to something containing ANSI color codes. M-x shell
(and M-x ansi-color-for-comint-mode-on if necessary). Then use ls --color.
In my case the color in the prompt is ignored, but the output of ls --color
has the expected hues.
[Message part 2 (text/html, inline)]

Added tag(s) confirmed. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 11 Mar 2015 18:55:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Wed, 11 Mar 2015 19:01:02 GMT) Full text and rfc822 format available.

Message #10 received at 20084 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Charles Tam <me <at> charlest.net>
Cc: 20084 <at> debbugs.gnu.org
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Wed, 11 Mar 2015 15:00:56 -0400
Confirmed.
Perhaps related to http://debbugs.gnu.org/14744, which I see was applied
2013-08-08, without any comment being made to the associated bug report, sigh.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Thu, 12 Mar 2015 02:47:01 GMT) Full text and rfc822 format available.

Message #13 received at 20084 <at> debbugs.gnu.org (full text, mbox):

From: Wolfgang Jenkner <wjenkner <at> inode.at>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 20084 <at> debbugs.gnu.org, Charles Tam <me <at> charlest.net>
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Thu, 12 Mar 2015 03:00:13 +0100
On Wed, Mar 11 2015, Glenn Morris wrote:

> Perhaps related to http://debbugs.gnu.org/14744, which I see was applied
> 2013-08-08, without any comment being made to the associated bug report, sigh.

Another symptom of the same bug introduced there is that copious
colourful output, as produced by, say, `ls /usr/bin', will have "white
spots".

I've been using something like the following patch for some time:

-- >8 --
Subject: [PATCH] Preserve face text properties in comint prompt.

* lisp/comint.el (comint-snapshot-last-prompt): Use
font-lock-prepend-text-property for comint-highlight-prompt.
(comint-output-filter): Remove only comint-highlight-prompt.

Thus, the original face text property of a prompt "candidate" (the
last line of an output chunk not ending with a newline) is
preserved.  This amends the fixing of bug#14744.  (Bug#20084)
---
 lisp/comint.el | 38 ++++++++++++++++++++++++++++++--------
 1 file changed, 30 insertions(+), 8 deletions(-)

diff --git a/lisp/comint.el b/lisp/comint.el
index b52d7fd..65b9c3c 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -1926,10 +1926,10 @@ the start, the cdr to the end of the last prompt recognized.")
 Freezes the `font-lock-face' text property in place."
   (when comint-last-prompt
     (with-silent-modifications
-      (add-text-properties
+      (font-lock-prepend-text-property
        (car comint-last-prompt)
        (cdr comint-last-prompt)
-       '(font-lock-face comint-highlight-prompt)))
+       'font-lock-face 'comint-highlight-prompt))
     ;; Reset comint-last-prompt so later on comint-output-filter does
     ;; not remove the font-lock-face text property of the previous
     ;; (this) prompt.
@@ -2081,14 +2081,36 @@ Make backspaces delete the previous character."
 		  (add-text-properties prompt-start (point)
 				       '(read-only t front-sticky (read-only)))))
 	      (when comint-last-prompt
-		(remove-text-properties (car comint-last-prompt)
-					(cdr comint-last-prompt)
-					'(font-lock-face)))
+		(let ((start (car comint-last-prompt))
+		      (limit (cdr comint-last-prompt))
+		      face end)
+		  (with-silent-modifications
+		    (while
+			(progn
+			  (setq end
+				(next-single-property-change start
+							     'font-lock-face
+							     nil
+							     limit))
+			  (setq face (get-text-property start 'font-lock-face))
+			  (put-text-property
+			   start end 'font-lock-face
+			   (if (and (consp face)
+				    (not (or
+					  (eq (car face) 'foreground-color)
+					  (eq (car face) 'background-color)
+					  (keywordp (car face)))))
+			       (remove 'comint-highlight-prompt face)
+			     (unless (eq face 'comint-highlight-prompt)
+			       face)))
+			  (< (setq start end) limit))))))
 	      (setq comint-last-prompt
 		    (cons (copy-marker prompt-start) (point-marker)))
-	      (add-text-properties prompt-start (point)
-				   '(rear-nonsticky t
-				     font-lock-face comint-highlight-prompt)))
+	      (with-silent-modifications
+		(font-lock-prepend-text-property prompt-start (point)
+						 'font-lock-face
+						 'comint-highlight-prompt)
+		(add-text-properties prompt-start (point) '(rear-nonsticky t))))
 	    (goto-char saved-point)))))))
 
 (defun comint-preinput-scroll-to-bottom ()
-- 
2.3.0





Added indication that bug 20084 blocks19758 Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Thu, 12 Mar 2015 16:57:01 GMT) Full text and rfc822 format available.

Added tag(s) patch. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Thu, 12 Mar 2015 16:58:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Fri, 20 Mar 2015 02:32:02 GMT) Full text and rfc822 format available.

Message #20 received at 20084 <at> debbugs.gnu.org (full text, mbox):

From: Wolfgang Jenkner <wjenkner <at> inode.at>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 20084 <at> debbugs.gnu.org, Charles Tam <me <at> charlest.net>
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Fri, 20 Mar 2015 03:31:34 +0100
I note that a different patch has also been proposed in this context,
see the thread here:

http://comments.gmane.org/gmane.emacs.devel/183801





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Fri, 20 Mar 2015 02:36:02 GMT) Full text and rfc822 format available.

Message #23 received at 20084 <at> debbugs.gnu.org (full text, mbox):

From: Wolfgang Jenkner <wjenkner <at> inode.at>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 20084 <at> debbugs.gnu.org, Charles Tam <me <at> charlest.net>
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Fri, 20 Mar 2015 03:22:37 +0100
On Thu, Mar 12 2015, Wolfgang Jenkner wrote:

> I've been using something like the following patch for some time:

I've refactored it a bit and added an ert test.  It would be nice if you
(the OP or someone else) could test it (since font-lock.el is pre-loaded
it is necessary to manually load the (compiled) patched file, even after
restarting emacs).  If there are no objections I'd like to push it in,
say, a week.

-- >8 --
Subject: [PATCH] Preserve face text properties in comint prompt.

* lisp/font-lock.el (remove-single-text-property): Uncomment.
Hack it a bit.
* lisp/comint.el (comint-output-filter): Use it to remove
comint-highlight-prompt.
(comint-snapshot-last-prompt, comint-output-filter): Use
font-lock-prepend-text-property for comint-highlight-prompt.
* test/automated/textprop-tests.el: New file.
(textprop-tests-remove-single-text-property): New test.

Thus, the original face text property of a prompt "candidate" (the
last line of an output chunk not ending with a newline) is
preserved.  This amends the fixing of bug#14744.  (Bug#20084)
---
 lisp/comint.el                   | 20 +++++++++------
 lisp/font-lock.el                | 47 +++++++++++++++++++---------------
 test/automated/textprop-tests.el | 55 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 94 insertions(+), 28 deletions(-)
 create mode 100644 test/automated/textprop-tests.el

diff --git a/lisp/comint.el b/lisp/comint.el
index aaa7d59..1d7f81e 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -1930,10 +1930,10 @@ the start, the cdr to the end of the last prompt recognized.")
 Freezes the `font-lock-face' text property in place."
   (when comint-last-prompt
     (with-silent-modifications
-      (add-text-properties
+      (font-lock-prepend-text-property
        (car comint-last-prompt)
        (cdr comint-last-prompt)
-       '(font-lock-face comint-highlight-prompt)))
+       'font-lock-face 'comint-highlight-prompt))
     ;; Reset comint-last-prompt so later on comint-output-filter does
     ;; not remove the font-lock-face text property of the previous
     ;; (this) prompt.
@@ -2085,14 +2085,18 @@ Make backspaces delete the previous character."
 		  (add-text-properties prompt-start (point)
 				       '(read-only t front-sticky (read-only)))))
 	      (when comint-last-prompt
-		(remove-text-properties (car comint-last-prompt)
-					(cdr comint-last-prompt)
-					'(font-lock-face)))
+		(with-silent-modifications
+		  (remove-single-text-property (car comint-last-prompt)
+					       (cdr comint-last-prompt)
+					       'font-lock-face
+					       'comint-highlight-prompt)))
 	      (setq comint-last-prompt
 		    (cons (copy-marker prompt-start) (point-marker)))
-	      (add-text-properties prompt-start (point)
-				   '(rear-nonsticky t
-				     font-lock-face comint-highlight-prompt)))
+	      (with-silent-modifications
+		(font-lock-prepend-text-property prompt-start (point)
+						 'font-lock-face
+						 'comint-highlight-prompt)
+		(add-text-properties prompt-start (point) '(rear-nonsticky t))))
 	    (goto-char saved-point)))))))
 
 (defun comint-preinput-scroll-to-bottom ()
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index 6ec6c9f..0c6642c 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -1427,26 +1427,33 @@ Optional argument OBJECT is the string or buffer containing the text."
 
 ;; For consistency: maybe this should be called `remove-single-property' like
 ;; `next-single-property-change' (not `next-single-text-property-change'), etc.
-;;(defun remove-single-text-property (start end prop value &optional object)
-;;  "Remove a specific property value from text from START to END.
-;;Arguments PROP and VALUE specify the property and value to remove.  The
-;;resulting property values are not equal to VALUE nor lists containing VALUE.
-;;Optional argument OBJECT is the string or buffer containing the text."
-;;  (let ((start (text-property-not-all start end prop nil object)) next prev)
-;;    (while start
-;;      (setq next (next-single-property-change start prop object end)
-;;	    prev (get-text-property start prop object))
-;;      (cond ((and (symbolp prev) (eq value prev))
-;;	     (remove-text-property start next prop object))
-;;	    ((and (listp prev) (memq value prev))
-;;	     (let ((new (delq value prev)))
-;;	       (cond ((null new)
-;;		      (remove-text-property start next prop object))
-;;		     ((= (length new) 1)
-;;		      (put-text-property start next prop (car new) object))
-;;		     (t
-;;		      (put-text-property start next prop new object))))))
-;;      (setq start (text-property-not-all next end prop nil object)))))
+(defun remove-single-text-property (start end prop value &optional object)
+  "Remove a specific property value from text from START to END.
+Arguments PROP and VALUE specify the property and value to remove.  The
+resulting property values are not `eq' to VALUE nor lists containing VALUE.
+Optional argument OBJECT is the string or buffer containing the text."
+  (let ((start (text-property-not-all start end prop nil object)) next prev)
+    (while start
+      (setq next (next-single-property-change start prop object end)
+	    prev (get-text-property start prop object))
+      (cond ((or (symbolp prev)
+		 (and (consp prev)
+		      (or (keywordp (car prev))
+			  (eq (car prev) 'foreground-color)
+			  (eq (car prev) 'background-color))))
+	     (when (eq value prev)
+	       (remove-list-of-text-properties start next (list prop) object)))
+	    ((and (listp prev)
+		  (memq value prev))
+	     (let ((new (remq value prev)))
+	       (cond ((null new)
+		      (remove-list-of-text-properties start next (list prop)
+						      object))
+		     ((= (length new) 1)
+		      (put-text-property start next prop (car new) object))
+		     (t
+		      (put-text-property start next prop new object))))))
+      (setq start (text-property-not-all next end prop nil object)))))
 
 ;;; End of Additional text property functions.
 
diff --git a/test/automated/textprop-tests.el b/test/automated/textprop-tests.el
new file mode 100644
index 0000000..6fda65d
--- /dev/null
+++ b/test/automated/textprop-tests.el
@@ -0,0 +1,55 @@
+;;; textprop-tests.el --- Test suite for text properties.
+
+;; Copyright (C) 2015 Free Software Foundation, Inc.
+
+;; Author: Wolfgang Jenkner <wjenkner <at> inode.at>
+;; Keywords: internal
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'ert)
+
+(ert-deftest textprop-tests-remove-single-text-property ()
+  "Test `remove-single-text-property'."
+  (let* ((string "foobar")
+	 (stack (list string))
+	 (faces '(bold (:foreground "red") underline)))
+    ;; Build each string in `stack' by adding a face to the previous
+    ;; string.
+    (let ((faces (reverse faces)))
+      (push (copy-sequence (car stack)) stack)
+      (put-text-property 0 3 'font-lock-face (pop faces) (car stack))
+      (push (copy-sequence (car stack)) stack)
+      (put-text-property 3 6 'font-lock-face (pop faces) (car stack))
+      (push (copy-sequence (car stack)) stack)
+      (font-lock-prepend-text-property 2 5
+				       'font-lock-face (pop faces) (car stack)))
+    ;; Check that removing the corresponding face from each string
+    ;; yields the previous string in `stack'.
+    (while faces
+      ;; (message "%S" (car stack))
+      (should (equal-including-properties
+	       (progn
+		 (remove-single-text-property 0 6 'font-lock-face (pop faces)
+					      (car stack))
+		 (pop stack))
+	       (car stack))))
+    ;; Sanity check.
+    ;; (message "%S" (car stack))
+    (should (and (equal-including-properties (pop stack) string)
+		 (null stack)))))
-- 
2.3.3





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Fri, 20 Mar 2015 14:25:02 GMT) Full text and rfc822 format available.

Message #26 received at 20084 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Wolfgang Jenkner <wjenkner <at> inode.at>
Cc: Glenn Morris <rgm <at> gnu.org>, Charles Tam <me <at> charlest.net>,
 20084 <at> debbugs.gnu.org
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Fri, 20 Mar 2015 10:24:19 -0400
> * lisp/font-lock.el (remove-single-text-property): Uncomment.
> Hack it a bit.

Please add a "font-lock--" prefix to it, or move it to comint.el and add
a "comint--" prefix to it.  We could also move it to something more
generic but its name should include "-face-" since its behavior is
specific to the way `face' properties are merged.


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Sun, 22 Mar 2015 16:31:02 GMT) Full text and rfc822 format available.

Message #29 received at 20084 <at> debbugs.gnu.org (full text, mbox):

From: Wolfgang Jenkner <wjenkner <at> inode.at>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: 20084 <at> debbugs.gnu.org, Charles Tam <me <at> charlest.net>
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Sun, 22 Mar 2015 17:29:15 +0100
On Fri, Mar 20 2015, Stefan Monnier wrote:

>> * lisp/font-lock.el (remove-single-text-property): Uncomment.
>> Hack it a bit.
>
> Please add a "font-lock--" prefix to it, or move it to comint.el and add
> a "comint--" prefix to it.  We could also move it to something more
> generic but its name should include "-face-" since its behavior is
> specific to the way `face' properties are merged.

I think it is a companion of font-lock-append-text-property and friends
and should be allowed to stay in font-lock.el as well.  All those
functions do something reasonable (though perhaps not particularly
useful) for arbitrary properties - and are documented to do so - the
only `face' or `font-lock-face' specific quirk being that `anonymous
faces' have to be treated like atoms.  Also, am I wrong that foo-- is
used for symbols which are private to the `foo' library whereas `private
to emacs' is achieved by not documenting things in the manual?

So, I would choose a name like `font-lock-remove-from-text-property' and
leave it undocumented.

(I'm talking about pushing it to the master branch only, since it's not
a regression against 24.4, as the OP noted).




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Sun, 22 Mar 2015 16:37:02 GMT) Full text and rfc822 format available.

Message #32 received at 20084 <at> debbugs.gnu.org (full text, mbox):

From: Wolfgang Jenkner <wjenkner <at> inode.at>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: 20084 <at> debbugs.gnu.org, Charles Tam <me <at> charlest.net>
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Sun, 22 Mar 2015 17:36:29 +0100
On Sun, Mar 22 2015, Wolfgang Jenkner wrote:

>  - and are documented to do so

in the docstring




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Mon, 23 Mar 2015 02:11:01 GMT) Full text and rfc822 format available.

Message #35 received at 20084 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Wolfgang Jenkner <wjenkner <at> inode.at>
Cc: 20084 <at> debbugs.gnu.org, Charles Tam <me <at> charlest.net>
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Sun, 22 Mar 2015 22:10:44 -0400
> only `face' or `font-lock-face' specific quirk being that `anonymous
> faces' have to be treated like atoms.

The fact that you can combine values by using a list is not true of
all properties (far from that).

> Also, am I wrong that foo-- is used for symbols which are private to
> the `foo' library whereas `private to emacs' is achieved by not
> documenting things in the manual?

There's no such distinction.  The "--" is just mean to say it's
"internal/private" for some largely unspecified definition of
"internal/private".

> (I'm talking about pushing it to the master branch only, since it's not
> a regression against 24.4, as the OP noted).

Yes, of course.


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Mon, 23 Mar 2015 19:14:02 GMT) Full text and rfc822 format available.

Message #38 received at 20084 <at> debbugs.gnu.org (full text, mbox):

From: Wolfgang Jenkner <wjenkner <at> inode.at>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 20084 <at> debbugs.gnu.org, Charles Tam <me <at> charlest.net>
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Mon, 23 Mar 2015 20:06:57 +0100
On Sun, Mar 22 2015, Stefan Monnier wrote:

>> only `face' or `font-lock-face' specific quirk being that `anonymous
>> faces' have to be treated like atoms.
>
> The fact that you can combine values by using a list is not true of
> all properties (far from that).

Well, I can, though it won't make sense in most cases, that's why I said
"(though perhaps not particularly useful)".

>> Also, am I wrong that foo-- is used for symbols which are private to
>> the `foo' library whereas `private to emacs' is achieved by not
>> documenting things in the manual?
>
> There's no such distinction.  The "--" is just mean to say it's
> "internal/private" for some largely unspecified definition of
> "internal/private".

I stand corrected.  Indeed, a quick test indicates that more than half
of the symbols of the shape `foo--' are defined outside of foo.el.

(progn
  (require 'cl-lib)
  (require 'subr-x)
  (let ((all 0) (bad 0))
    (mapatoms (lambda (sym)
		(let ((name (symbol-name sym)))
		  (when (string-match "\\`\\(.*?\\)--" name)
		    (when-let ((file (symbol-file sym)))
		      (cl-incf all)
		      (unless (string= (match-string 1 name)
				       (file-name-base file))
			(cl-incf bad)))))))
    (list bad all)))

=> (665 1040)

in the emacs instance where I'm writing this.

While I'd prefer consistency with font-lock-append-text-property and
friends (in particular because it's just an old function, dusted off
a bit), it seems that you deem it more important to adhere to current
conventions for naming slightly obscure functions.

So, font-lock--remove-face-from-text-property, perhaps.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Mon, 23 Mar 2015 20:51:01 GMT) Full text and rfc822 format available.

Message #41 received at 20084 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Wolfgang Jenkner <wjenkner <at> inode.at>
Cc: 20084 <at> debbugs.gnu.org, Charles Tam <me <at> charlest.net>
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Mon, 23 Mar 2015 16:50:49 -0400
> So, font-lock--remove-face-from-text-property, perhaps.

Sounds good,


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Wed, 25 Mar 2015 00:54:02 GMT) Full text and rfc822 format available.

Message #44 received at 20084 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: 20084 <at> debbugs.gnu.org
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Tue, 24 Mar 2015 20:53:22 -0400
IMO:

1) It's too late to fix this "properly" for 24.5.
2) The problem from 14744 (sometimes flickering on output)
is less of an issue than this issue (prompt not coloured)

so I suggest reverting the changes from 14744 in emacs-24, and
fixing it "properly" in master.

BUT personally I haven't even bothered to check whether the changes from
14744 do actually cause this issue, so someone else will have to do the
work.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Fri, 27 Mar 2015 03:29:02 GMT) Full text and rfc822 format available.

Message #47 received at 20084 <at> debbugs.gnu.org (full text, mbox):

From: Wolfgang Jenkner <wjenkner <at> inode.at>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 20084 <at> debbugs.gnu.org
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Fri, 27 Mar 2015 04:27:59 +0100
On Tue, Mar 24 2015, Glenn Morris wrote:

> 1) It's too late to fix this "properly" for 24.5.
> 2) The problem from 14744 (sometimes flickering on output)
> is less of an issue than this issue (prompt not coloured)
>
> so I suggest reverting the changes from 14744 in emacs-24, and
> fixing it "properly" in master.

I've now pushed my patch (which, I hope, is a proper fix) to master.

> BUT personally I haven't even bothered to check whether the changes from
> 14744 do actually cause this issue, so someone else will have to do the
> work.

FWIW, I had independently come to the same conclusion (but since then,
I haven't looked again at bug#14744 or the corresponding commit).




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20084; Package emacs. (Mon, 30 Mar 2015 16:03:02 GMT) Full text and rfc822 format available.

Message #50 received at 20084 <at> debbugs.gnu.org (full text, mbox):

From: Wolfgang Jenkner <wjenkner <at> inode.at>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 20084 <at> debbugs.gnu.org
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Mon, 30 Mar 2015 17:54:39 +0200
On Tue, Mar 24 2015, Glenn Morris wrote:

> 1) It's too late to fix this "properly" for 24.5.
> 2) The problem from 14744 (sometimes flickering on output)
> is less of an issue than this issue (prompt not coloured)

This (or rather, its root cause) is still a comparatively small bug,
IMHO.

> so I suggest reverting the changes from 14744 in emacs-24,

Even if this were a more recent change and it could be safely reverted,
that would mean that someone has to maintain the old code during the
lifetime of 24.5.

Also, it seems that 24.5 is frozen now, so I think there's really
nothing more left to do than to close the bug and unblock #19758 by it.
I'll do this soon if nobody objects.





Reply sent to Wolfgang Jenkner <wjenkner <at> inode.at>:
You have taken responsibility. (Tue, 31 Mar 2015 15:54:02 GMT) Full text and rfc822 format available.

Notification sent to Charles Tam <me <at> charlest.net>:
bug acknowledged by developer. (Tue, 31 Mar 2015 15:54:03 GMT) Full text and rfc822 format available.

Message #55 received at 20084-done <at> debbugs.gnu.org (full text, mbox):

From: Wolfgang Jenkner <wjenkner <at> inode.at>
Cc: 20084-done <at> debbugs.gnu.org
Subject: Re: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4
Date: Tue, 31 Mar 2015 17:01:22 +0200
After 792d44b, things should work as described by the OP.  If this is
not the case, please re-open.  This change is only in the master branch
and has not been back-ported to emacs-24.  So, presumably, 25.1 will be
the first release where this works.




Removed indication that bug 20084 blocks Request was from Wolfgang Jenkner <wjenkner <at> inode.at> to control <at> debbugs.gnu.org. (Tue, 31 Mar 2015 16:04:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 29 Apr 2015 11:24:06 GMT) Full text and rfc822 format available.

bug unarchived. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 26 May 2015 05:33:02 GMT) Full text and rfc822 format available.

Forcibly Merged 19843 20084 20658. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 26 May 2015 05:33:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 23 Jun 2015 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 318 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.