--- a/lisp/facemenu.el +++ b/lisp/facemenu.el @@ -732,9 +732,17 @@ defun facemenu-add-face (face &optional start end) face (facemenu-active-faces (cons face - (if (listp prev) - prev - (list prev))) + (if (or (atom prev) + (not (symbolp (car prev))) + (memq (car prev) + '(foreground-color + background-color)) + (let ((n (symbol-name + (car prev)))) + (and (> (length n) 0) + (eq ?: (aref n 0))))) + (list prev) + prev)) ;; Specify the selected frame ;; because nil would mean to use ;; the new-frame default settings,