From eeddc5310ac04e9f5a0cce072f378ff5c76dae65 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 23 Apr 2012 02:04:54 +0800 Subject: [PATCH] * faces.el (face-spec-set): Stop supporting deprecated form of third arg. --- etc/NEWS | 3 +++ lisp/ChangeLog | 3 +++ lisp/faces.el | 52 +++++++++++++++++++++++----------------------------- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 3b53f9df97a..e728002230c 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -138,6 +138,9 @@ Only variables defined using `defcustom' are considered user options. The function `user-variable-p' is now an obsolete alias for `custom-variable-p'. +** `face-spec-set' no longer sets frame-specific attributes when the +third argument is a frame (that usage was obsolete since Emacs 22.2). + * Lisp changes in Emacs 24.2 diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 11cb03dea14..dd2d9ff86aa 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -6,6 +6,9 @@ "reset-saved" operation bring back the default (Bug#9509). (custom-face-state): Properly detect themed faces. + * faces.el (face-spec-set): Stop supporting deprecated form of + third arg. + 2012-04-22 Michael Albinus Move functions from C to Lisp. Make non-blocking method calls diff --git a/lisp/faces.el b/lisp/faces.el index 8eacf5bcfe2..b3b0fa9b7d2 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -1532,35 +1532,29 @@ If SPEC is nil, return nil." face-attribute-name-alist))))) (defun face-spec-set (face spec &optional for-defface) - "Set FACE's face spec, which controls its appearance, to SPEC. -If FOR-DEFFACE is t, set the base spec, the one that `defface' - and Custom set. (In that case, the caller must put it in the - appropriate property, because that depends on the caller.) -If FOR-DEFFACE is nil, set the overriding spec (and store it - in the `face-override-spec' property of FACE). - -The appearance of FACE is controlled by the base spec, -by any custom theme specs on top of that, and by the -overriding spec on top of all the rest. - -FOR-DEFFACE can also be a frame, in which case we set the -frame-specific attributes of FACE for that frame based on SPEC. -That usage is deprecated. - -See `defface' for information about the format and meaning of SPEC." - (if (framep for-defface) - ;; Handle the deprecated case where third arg is a frame. - (face-spec-set-2 face for-defface spec) - (if for-defface - ;; When we reset the face based on its custom spec, then it is - ;; unmodified as far as Custom is concerned. - (put (or (get face 'face-alias) face) 'face-modified nil) - ;; When we change a face based on a spec from outside custom, - ;; record it for future frames. - (put (or (get face 'face-alias) face) 'face-override-spec spec)) - ;; Reset each frame according to the rules implied by all its specs. - (dolist (frame (frame-list)) - (face-spec-recalc face frame)))) + "Set and apply the face spec for FACE. +If the optional argument FOR-DEFFACE is omitted or nil, set the +overriding spec to SPEC, recording it in the `face-override-spec' +property of FACE. See `defface' for the format of SPEC. + +If FOR-DEFFACE is non-nil, set the base spec (the one set by +`defface' and Custom). In this case, SPEC is ignored; the caller +is responsible for putting the face spec in the `saved-face', +`customized-face', or `face-defface-spec', as appropriate. + +The appearance of FACE is controlled by the base spec, by any +custom theme specs on top of that, and by the overriding spec on +top of all the rest." + (if for-defface + ;; When we reset the face based on its custom spec, then it is + ;; unmodified as far as Custom is concerned. + (put (or (get face 'face-alias) face) 'face-modified nil) + ;; When we change a face based on a spec from outside custom, + ;; record it for future frames. + (put (or (get face 'face-alias) face) 'face-override-spec spec)) + ;; Reset each frame according to the rules implied by all its specs. + (dolist (frame (frame-list)) + (face-spec-recalc face frame))) (defun face-spec-recalc (face frame) "Reset the face attributes of FACE on FRAME according to its specs. -- 2.11.4.GIT