Subject: bug#20084: comint-highlight-prompt overrides ANSI colors in 24.4

From: Wolfgang Jenkner <[email-masked]>
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.