Package: emacs Severity: minor Tags: patch As currently implemented, facemenu-add-face doesn’t handle the case of the 'face property value being a property list, like: (with-temp-buffer (insert "Hello, world!") (put-text-property 3 11 'face '(:weight bold)) (facemenu-add-face 'italic 5 7) (buffer-string)) The relevant part of the backtrace is like: check-face(:weight) facemenu-active-faces((italic :weight bold) #) facemenu-add-face(italic 5 7) With the patch MIMEd, the example produces the expected result: #("Hello, world!" 2 4 (face (:weight bold)) 4 6 (face (italic (:weight bold))) 6 10 (face (:weight bold))) * lisp/facemenu.el (facemenu-add-face): Follow the (stricter) logic of merge_face_ref when determining whether the value of the 'face property is a sole face or a list thereof. (Bug#???) (Tested on c4e2be4587ec, 2015-02-16 07:22:46 UTC.) Alternatively, a suitable, Lisp-callable predicate may be split off ‘merge_face_ref’ (src/faces.c) and be used ine ‘facemenu-add-face’. -- FSF associate member #7257 http://boycottsystemd.org/ … 3013 B6A0 230E 334A