# HG changeset patch # User Stefan Monnier # Date 1203359929 0 # Node ID c5e5ad12661482531e8a46d4cb3aaa445d70e904 # Parent 1d9856ff92019184382b80bb8b4297da62429c3a (font_unparse_xlfd): Don't ignore integer pixel size specs. diff -r 1d9856ff9201 -r c5e5ad126614 src/ChangeLog --- a/src/ChangeLog Mon Feb 18 15:46:50 2008 +0000 +++ b/src/ChangeLog Mon Feb 18 18:38:49 2008 +0000 @@ -1,3 +1,7 @@ +2008-02-18 Stefan Monnier + + * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs. + 2008-02-18 Jan Dj$(Q)Z(Brv * xfns.c (Fx_show_tip): Set string to " " if empty. diff -r 1d9856ff9201 -r c5e5ad126614 src/font.c --- a/src/font.c Mon Feb 18 15:46:50 2008 +0000 +++ b/src/font.c Mon Feb 18 18:38:49 2008 +0000 @@ -75,7 +75,7 @@ #define CHECK_VALIDATE_FONT_SPEC(x) \ do { \ - if (! FONT_SPEC_P (x)) x = wrong_type_argument (Qfont, x); \ + if (! FONT_SPEC_P (x)) wrong_type_argument (Qfont, x); \ x = font_prop_validate (x); \ } while (0) @@ -1161,18 +1161,21 @@ xassert (NUMBERP (val) || NILP (val)); if (INTEGERP (val)) { - f[XLFD_PIXEL_INDEX] = alloca (22); - i = XINT (val); + int i = XINT (val); + if (i <= 0) + i = pixel_size; if (i > 0) - len += sprintf (f[XLFD_PIXEL_INDEX], "%d-*", i) + 1; - else if (pixel_size > 0) - len += sprintf (f[XLFD_PIXEL_INDEX], "%d-*", pixel_size) + 1; - f[XLFD_PIXEL_INDEX] = "*-*", len += 4; + { + f[XLFD_PIXEL_INDEX] = alloca (22); + len += sprintf (f[XLFD_PIXEL_INDEX], "%d-*", i) + 1; + } + else + f[XLFD_PIXEL_INDEX] = "*-*", len += 4; } else if (FLOATP (val)) { + int i = XFLOAT_DATA (val) * 10; f[XLFD_PIXEL_INDEX] = alloca (12); - i = XFLOAT_DATA (val) * 10; len += sprintf (f[XLFD_PIXEL_INDEX], "*-%d", i) + 1; } else