]> git.eshelyaron.com Git - emacs.git/commitdiff
* w32fns.c, xfns.c (Qfont_param): New var.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 19 Jun 2008 01:57:19 +0000 (01:57 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 19 Jun 2008 01:57:19 +0000 (01:57 +0000)
(syms_of_w32fns): Initialize it.
(x_default_font_parameter): Record explicit `font' into `font-parameter'.
* faces.el (face-set-after-frame-default): Re-apply explicit `font'
frame parameters after setting up the `default' face.

lisp/ChangeLog
lisp/faces.el
src/ChangeLog
src/w32fns.c
src/xfns.c

index 88debfeb812915f361b217b946e7a2bd0cd7d680..90b9b297b555fa514c60d716c56fcd8f09b23be6 100644 (file)
@@ -1,3 +1,8 @@
+2008-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * faces.el (face-set-after-frame-default): Re-apply explicit `font'
+       frame parameters after setting up the `default' face.
+
 2008-06-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * faces.el (face-set-after-frame-default): Don't exclude `default'.
index 251bacc5610e664924f0e87f2a0b726fa5900677..643b50a1316ccde5da4d11c5122d469ba2c1242d 100644 (file)
@@ -703,7 +703,7 @@ like an underlying face would be, with higher priority than underlying faces."
        (put (or (get face 'face-alias) face) 'face-modified t))
     (while args
       ;; Don't recursively set the attributes from the frame's font param
-      ;; when we update the frame's font param fro the attributes.
+      ;; when we update the frame's font param from the attributes.
       (let ((inhibit-face-set-after-frame-default t))
        (if (and (eq (car args) :family)
                 (stringp (cadr args))
@@ -2018,6 +2018,7 @@ Initialize colors of certain faces from frame parameters."
   ;; Find attributes that should be initialized from frame parameters.
   (let ((face-params '((foreground-color default :foreground)
                       (background-color default :background)
+                       (font-parameter default :font)
                       (border-color border :background)
                       (cursor-color cursor :background)
                       (scroll-bar-foreground scroll-bar :foreground)
index 60cff399cd73a3a15f3bc08e74f9762b2f5bcc85..6a920f22f9a434f1ab647df3d22383e6e39ae17f 100644 (file)
@@ -1,3 +1,9 @@
+2008-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * w32fns.c, xfns.c (Qfont_param): New var.
+       (syms_of_w32fns): Initialize it.
+       (x_default_font_parameter): Record explicit `font' into `font-parameter'.
+
 2008-06-18  Kenichi Handa  <handa@m17n.org>
 
        * font.c (font_parse_xlfd): Fix previous change.
@@ -24,9 +30,9 @@
 
 2008-06-18  Jason Rumney  <jasonr@gnu.org>
 
-        * w32font.c (w32font_list, w32font_match): Add logging.
+       * w32font.c (w32font_list, w32font_match): Add logging.
 
-        * w32uniscribe (uniscribe_list, uniscribe_match): Add logging.
+       * w32uniscribe (uniscribe_list, uniscribe_match): Add logging.
 
 2008-06-17  Chong Yidong  <cyd@stupidchicken.com>
 
index c31ee5be04d1b2e10e4062d7e2e391fc6afb286b..34897314567817ae3c11531974b0069ca13cea1e 100644 (file)
@@ -206,6 +206,7 @@ Lisp_Object Qnone;
 Lisp_Object Qsuppress_icon;
 Lisp_Object Qundefined_color;
 Lisp_Object Qcancel_timer;
+Lisp_Object Qfont_param;
 Lisp_Object Qhyper;
 Lisp_Object Qsuper;
 Lisp_Object Qmeta;
@@ -4295,6 +4296,12 @@ x_default_font_parameter (f, parms)
       if (NILP (font))
         error ("No suitable font was found");
     }
+  else
+    {
+      /* Remember the explicit font parameter, so we can re-apply it after
+        we've applied the `default' face settings.  */
+      x_set_frame_parameters (f, Fcons (Fcons (Qfont_param, font), Qnil));
+  }
   x_default_parameter (f, parms, Qfont, font, "font", "Font", RES_TYPE_STRING);
 }
 
@@ -8891,6 +8898,7 @@ syms_of_w32fns ()
   DEFSYM (Qctrl, "ctrl");
   DEFSYM (Qcontrol, "control");
   DEFSYM (Qshift, "shift");
+  DEFSYM (Qfont_param, "font-parameter");
   /* This is the end of symbol initialization.  */
 
   /* Text property `display' should be nonsticky by default.  */
index 57b14d3f9d2b95f78341051a214ce4265402d8e2..58b03691e2f7f8e6d76bfd2eeed23274656958e7 100644 (file)
@@ -204,6 +204,7 @@ Lisp_Object Qnone;
 Lisp_Object Qsuppress_icon;
 Lisp_Object Qundefined_color;
 Lisp_Object Qcompound_text, Qcancel_timer;
+static Lisp_Object Qfont_param;
 
 /* In dispnew.c */
 
@@ -3087,6 +3088,12 @@ x_default_font_parameter (f, parms)
       if (NILP (font))
        error ("No suitable font was found");
     }
+  else
+    {
+      /* Remember the explicit font parameter, so we can re-apply it after
+        we've applied the `default' face settings.  */
+      x_set_frame_parameters (f, Fcons (Fcons (Qfont_param, font), Qnil));
+  }
   x_default_parameter (f, parms, Qfont, font, "font", "Font", RES_TYPE_STRING);
 }
 
@@ -5854,6 +5861,8 @@ syms_of_xfns ()
   staticpro (&Qcompound_text);
   Qcancel_timer = intern ("cancel-timer");
   staticpro (&Qcancel_timer);
+  Qfont_param = intern ("font-parameter");
+  staticpro (&Qfont_param);
   /* This is the end of symbol initialization.  */
 
   /* Text property `display' should be nonsticky by default.  */