Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
eeddc531
Commit
eeddc531
authored
Apr 23, 2012
by
Chong Yidong
Browse files
* faces.el (face-spec-set): Stop supporting deprecated form of third arg.
parent
c2d1019e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
29 deletions
+29
-29
etc/NEWS
etc/NEWS
+3
-0
lisp/ChangeLog
lisp/ChangeLog
+3
-0
lisp/faces.el
lisp/faces.el
+23
-29
No files found.
etc/NEWS
View file @
eeddc531
...
...
@@ -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
...
...
lisp/ChangeLog
View file @
eeddc531
...
...
@@ -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 <michael.albinus@gmx.de>
Move functions from C to Lisp. Make non-blocking method calls
...
...
lisp/faces.el
View file @
eeddc531
...
...
@@ -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.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment