--- a/lisp/facemenu.el +++ b/lisp/facemenu.el @@ -702,6 +702,9 @@ defun facemenu-add-face (face &optional start end) text property. Otherwise, selecting the default face would not have any effect. See `facemenu-remove-face-function'." (interactive "*xFace: \nr") + (when (stringp face) + (warn "Face %S is a string; interning" face) + (setq face (intern face))) (cond ((and (eq face 'default) (not (eq facemenu-remove-face-function t))) --- a/lisp/faces.el +++ b/lisp/faces.el @@ -402,6 +402,9 @@ defun face-attribute (face attribute &optional frame inherit) value of `default' for INHERIT; this will resolve any unspecified or relative values by merging with the `default' face (which is always completely specified)." + (when (stringp face) + (message "Face %S is a string; interning" face) + (setq face (intern face))) (let ((value (internal-get-lisp-face-attribute face attribute frame))) (when (and inherit (face-attribute-relative-p attribute value)) ;; VALUE is relative, so merge with inherited faces