Subject: bug#5001: erc should use 'font-lock-face, not 'face

From: Lars Ingebrigtsen <[email-masked]>
Date: Thu, 04 Feb 2016 17:56:30 +1100

Lennart Borgman <[email-masked]> writes:

> erc does not use the font-lock machinery for coloring the erc buffers.
> If that is good or not I do not know. However there is a problem with
> that it currently use the 'face text property. This prevents hi-lock
> from working in its buffer which would otherwise be useful.
>
> Therefore please replace 'face with 'font-lock-face everywhere in erc.
>
> (I do not send a patch. I think it is just easier to make the change
> which is quite quick to make. I have tested it though.)

It has been suggested that all instances of "'face" should be replaced
with "'font-lock-face" in erc.

I know nothing about font-locking, so I have no idea whether this is a
good idea or not.  Are there anybody on the erc mailing list that has on
opinion here?

-*- mode: grep; default-directory: "~/src/emacs/emacs-25/lisp/erc/" -*-
Grep started at Thu Feb  4 17:53:49

grep --color -nH -e "'face" *.el
erc-button.el:79:  :type 'face
erc-button.el:84:  :type 'face
erc-button.el:92:  :type 'face
erc-button.el:393:  (let ((old (erc-list (get-text-property from 'face)))
erc-button.el:395:        (end (next-single-property-change from 'face nil to))
erc-button.el:403:      (put-text-property pos end 'face new)
erc-button.el:405:            old (erc-list (get-text-property pos 'face))
erc-button.el:406:            end (next-single-property-change pos 'face nil to)))))
erc-capab.el:194:                                'face 'erc-capab-identify-unidentified))))))
erc-dcc.el:1208:         'dcc-chat-privmsg ?n (erc-propertize erc-dcc-from 'face
erc-goodies.el:478:   'face
erc-list.el:75:		   'face 'fixed-pitch)
erc-list.el:79:		   'face 'fixed-pitch)
erc-list.el:157:			 'face 'fixed-pitch)
erc-match.el:489:		'face match-face (current-buffer)))
erc-match.el:498:		    'face match-face (current-buffer))
erc-match.el:503:					  'face match-face))))
erc-match.el:508:		'face match-face (current-buffer)))
erc-match.el:524:			    'face face))))
erc-match.el:533:					'face match-face)))
erc-stamp.el:350:	(erc-put-text-property 0 (length ts) 'face 'erc-timestamp-face ts)
erc-track.el:812:      (put-text-property 0 (length name) 'face faces name))
erc-track.el:890:  (let ((choice (catch 'face
erc-track.el:893:		      (throw 'face candidate)))))
erc-track.el:895:		       (catch 'face
erc-track.el:898:			     (throw 'face candidate)))))))
erc-track.el:974:	(faces (let ((face1 (get-text-property 0 'face str)))
erc-track.el:977:    (while (and (setq i (next-single-property-change i 'face str m))
erc-track.el:979:      (and (setq cur (get-text-property i 'face str))
erc-track.el:987:		      'face '(bold erc-current-nick-face)
erc.el:2273:                       'face 'erc-input-face)))))
erc.el:2463:          'face (or (intern-soft
erc.el:3892:                               'face (or face 'erc-prompt-face)
erc.el:4262:    (erc-put-text-property 0 (length mark-s) 'face msg-face str)
erc.el:4264:                           'face nick-face str)
erc.el:4266:                           'face msg-face str)
erc.el:4303:               'face 'erc-nick-prefix-face)
erc.el:4314:         (erc-propertize open 'face 'erc-default-face)
erc.el:4315:         (erc-propertize mode 'face 'erc-my-nick-prefix-face)
erc.el:4316:         (erc-propertize nick 'face 'erc-my-nick-face)
erc.el:4317:         (erc-propertize close 'face 'erc-default-face)))
erc.el:4319:      (erc-propertize prefix 'face 'erc-default-face))))
erc.el:5240:                           'face 'erc-notice-face s)
erc.el:5243:    (erc-put-text-property 0 (length s) 'face 'erc-notice-face s)
erc.el:5255:  (erc-put-text-property 0 (length s) 'face 'erc-error-face s)
erc.el:5445:                               'face 'erc-command-indicator-face)
erc.el:5465:                               'face 'erc-input-face))
erc.el:5889:                           'face 'erc-command-indicator-face sp)
erc.el:5899:                                       'face 'erc-input-face line)
erc.el:6381:                                              'face face)
erc.el:6385:                             (erc-propertize header 'face face)

Grep finished (matches found) at Thu Feb  4 17:53:49

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