=== modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-01-11 23:24:52 +0000 +++ lisp/ChangeLog 2013-01-12 03:37:51 +0000 @@ -1,3 +1,16 @@ +2013-01-12 Dmitry Gutov + + * minibuffer.el (completions-first-difference): State that the + face is "added" in the docstring. + (completions-common-part): Same. And not inheric from default. + (completion-hilit-commonality): Prepend 'completions-common-part + and 'completion-first-difference faces to the 'face property, + instead of replacing the value. + (completion--insert-strings): Same with 'completions-annotations face. + (completion-hilit-commonality): Use 'face instead of + 'font-lock-face, because it gets priority if the completion + strings already have 'face set. + 2013-01-11 Felix H. Dahlke * progmodes/js.el: Fix multiline declarations's indentation (bug#8576). === modified file 'lisp/minibuffer.el' --- lisp/minibuffer.el 2013-01-02 16:13:04 +0000 +++ lisp/minibuffer.el 2013-01-12 03:29:23 +0000 @@ -1458,9 +1458,11 @@ 'mouse-face 'highlight) (put-text-property (point) (progn (insert (car str)) (point)) 'mouse-face 'highlight) - (add-text-properties (point) (progn (insert (cadr str)) (point)) - '(mouse-face nil - face completions-annotations))) + (let ((beg (point)) + (end (progn (insert (cadr str)) (point)))) + (put-text-property beg end 'mouse-face nil) + (font-lock-prepend-text-property beg end 'face + 'completions-annotations))) (cond ((eq completions-format 'vertical) ;; Vertical format @@ -1487,12 +1489,11 @@ (defface completions-first-difference '((t (:inherit bold))) - "Face put on the first uncommon character in completions in *Completions* buffer." + "Face added on the first uncommon character in completions in *Completions* buffer." :group 'completion) -(defface completions-common-part - '((t (:inherit default))) - "Face put on the common prefix substring in completions in *Completions* buffer. +(defface completions-common-part '((t nil)) + "Face added on the common prefix substring in completions in *Completions* buffer. The idea of `completions-common-part' is that you can use it to make the common parts less visible than normal, so that the rest of the differing parts is, by contrast, slightly highlighted." @@ -1513,17 +1514,18 @@ (car (setq elem (cons (copy-sequence (car elem)) (cdr elem)))) (setq elem (copy-sequence elem))))) - (put-text-property 0 - ;; If completion-boundaries returns incorrect - ;; values, all-completions may return strings - ;; that don't contain the prefix. - (min com-str-len (length str)) - 'font-lock-face 'completions-common-part - str) + (font-lock-prepend-text-property + 0 + ;; If completion-boundaries returns incorrect + ;; values, all-completions may return strings + ;; that don't contain the prefix. + (min com-str-len (length str)) + 'face 'completions-common-part str) (if (> (length str) com-str-len) - (put-text-property com-str-len (1+ com-str-len) - 'font-lock-face 'completions-first-difference - str))) + (font-lock-prepend-text-property com-str-len (1+ com-str-len) + 'face + 'completions-first-difference + str))) elem) completions) base-size))))