diff options
| author | Chong Yidong | 2011-07-03 18:16:07 -0400 |
|---|---|---|
| committer | Chong Yidong | 2011-07-03 18:16:07 -0400 |
| commit | 1485f4c03a3e887f8e60fefb96e5e3d9ca484cf7 (patch) | |
| tree | 07c3889b6d224dbf2c2fcc647580c2ff548e56dd /src | |
| parent | 9fa3dd45482a9fa8084fae495b3a857a216decf2 (diff) | |
| download | emacs-1485f4c03a3e887f8e60fefb96e5e3d9ca484cf7.tar.gz emacs-1485f4c03a3e887f8e60fefb96e5e3d9ca484cf7.zip | |
Fix how custom themes handle faces, so the multi-tty/multi-frame case works.
* lisp/custom.el (custom-push-theme): Don't record faces in `changed'
theme; this doesn't work correctly for per-frame face settings.
(disable-theme): Use face-set-after-frame-default to reset faces.
(custom--frame-color-default): New function.
* lisp/frame.el (frame-background-mode, frame-set-background-mode):
Moved from faces.el.
(frame-default-terminal-background): New function.
* src/xfaces.c (Finternal_merge_in_global_face): Modify the foreground
and background color parameters if they have been changed.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/xfaces.c | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index ad5b9c41c30..b77759527e7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-07-03 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * xfaces.c (Finternal_merge_in_global_face): Modify the foreground | ||
| 4 | and background color parameters if they have been changed. | ||
| 5 | |||
| 1 | 2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> | 6 | 2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 2 | 7 | ||
| 3 | * editfns.c (Fformat): Clarify the - and 0 flags (bug#6659). | 8 | * editfns.c (Fformat): Clarify the - and 0 flags (bug#6659). |
diff --git a/src/xfaces.c b/src/xfaces.c index 4f06bd3ba55..91f4b133466 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -3813,6 +3813,18 @@ Default face attributes override any local face attributes. */) | |||
| 3813 | Fmodify_frame_parameters (frame, Fcons (Fcons (Qfont, name), | 3813 | Fmodify_frame_parameters (frame, Fcons (Fcons (Qfont, name), |
| 3814 | Qnil)); | 3814 | Qnil)); |
| 3815 | } | 3815 | } |
| 3816 | |||
| 3817 | if (STRINGP (gvec[LFACE_FOREGROUND_INDEX])) | ||
| 3818 | Fmodify_frame_parameters (frame, | ||
| 3819 | Fcons (Fcons (Qforeground_color, | ||
| 3820 | gvec[LFACE_FOREGROUND_INDEX]), | ||
| 3821 | Qnil)); | ||
| 3822 | |||
| 3823 | if (STRINGP (gvec[LFACE_BACKGROUND_INDEX])) | ||
| 3824 | Fmodify_frame_parameters (frame, | ||
| 3825 | Fcons (Fcons (Qbackground_color, | ||
| 3826 | gvec[LFACE_BACKGROUND_INDEX]), | ||
| 3827 | Qnil)); | ||
| 3816 | } | 3828 | } |
| 3817 | } | 3829 | } |
| 3818 | 3830 | ||