2002-04-26 Richard M. Stallman <rms@gnu.org>
+ * cus-edit.el (customize-face): Use read-face-name
+ and handle multiple faces.
+ (customize-face-other-window): Make it work similarly.
+
+ * faces.el (read-face-name): New defaulting features.
+ New args STRING-DESCRIBING-DEFAULT and MULTIPLE.
+ (list-faces-display): Use the face, not its name string,
+ as arg when running customize-face.
+ Put a `read-face-name' prop on the entire line.
+ (describe-face): Handle multiple faces via read-face-name.
+
* textmodes/tex-mode.el (tex-start-tex): Fix previous change.
2002-04-26 Sam Steingold <sds@gnu.org>
Interactively, when point is on text which has a face specified,
suggest to customized that face, if it's customizable."
(interactive
- (list
- (let ((face (get-char-property (point) 'face)))
- (if (and face (symbolp face))
- (completing-read (format "Customize face (default `%s'): " face)
- obarray 'custom-facep t nil nil (symbol-name face))
- (completing-read "Customize face (default all): "
- obarray 'custom-facep t)))))
- (if (or (null symbol) (and (stringp symbol) (zerop (length symbol))))
- ()
- (if (stringp symbol)
- (setq symbol (intern symbol)))
- (unless (symbolp symbol)
- (error "Should be a symbol %S" symbol))
+ (list (read-face-name "Customize face" "all faces" t)))
+ (if (member face '(nil ""))
+ (setq face (face-list)))
+ (if (and (listp face) (null (cdr face)))
+ (setq face (car face)))
+ (if (listp face)
+ (custom-buffer-create-other-window
+ (custom-sort-items
+ (mapcar (lambda (s)
+ (list s 'custom-face))
+ face)
+ t nil)
+ "*Customize Faces*")
+ (unless (facep face)
+ (error "Invalid face %S"))
(custom-buffer-create-other-window
- (list (list symbol 'custom-face))
- (format "*Customize Face: %s*" (custom-unlispify-tag-name symbol)))))
+ (list (list face 'custom-face))
+ (format "*Customize Face: %s*"
+ (custom-unlispify-tag-name face)))))
;;;###autoload
(defun customize-customized ()