1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00

(read-face-name): Use complete-in-turn complete non-aliases

in preference to face aliases.
This commit is contained in:
Stefan Monnier 2005-06-13 20:47:08 +00:00
parent 9ed4906519
commit e3b5b35b9a

View File

@ -1,6 +1,6 @@
;;; faces.el --- Lisp faces
;; Copyright (C) 1992,1993,1994,1995,1996,1998,1999,2000,2001,2002,2004
;; Copyright (C) 1992,1993,1994,1995,1996,1998,1999,2000,2001,2002,2004,2005
;; Free Software Foundation, Inc.
;; Maintainer: FSF
@ -854,6 +854,8 @@ If MULTIPLE is non-nil, return a list of faces (possibly only one).
Otherwise, return a single face."
(let ((faceprop (or (get-char-property (point) 'read-face-name)
(get-char-property (point) 'face)))
(aliasfaces nil)
(nonaliasfaces nil)
faces)
;; Make a list of the named faces that the `face' property uses.
(if (and (listp faceprop)
@ -870,6 +872,13 @@ Otherwise, return a single face."
(memq (intern-soft (thing-at-point 'symbol)) (face-list)))
(setq faces (list (intern-soft (thing-at-point 'symbol)))))
;; Build up the completion tables.
(mapatoms (lambda (s)
(if (custom-facep s)
(if (get s 'face-alias)
(push (symbol-name s) aliasfaces)
(push (symbol-name s) nonaliasfaces)))))
;; If we only want one, and the default is more than one,
;; discard the unwanted ones now.
(unless multiple
@ -883,7 +892,7 @@ Otherwise, return a single face."
(if faces (mapconcat 'symbol-name faces ", ")
string-describing-default))
(format "%s: " prompt))
obarray 'custom-facep t))
(complete-in-turn nonaliasfaces aliasfaces) nil t))
;; Canonicalize the output.
(output
(if (equal input "")
@ -2289,5 +2298,5 @@ If that can't be done, return nil."
(provide 'faces)
;;; arch-tag: 19a4759f-2963-445f-b004-425b9aadd7d6
;; arch-tag: 19a4759f-2963-445f-b004-425b9aadd7d6
;;; faces.el ends here