Lisp_Object Qauto_raise;
Lisp_Object Qauto_lower;
-Lisp_Object Qbar;
+Lisp_Object Qbar, Qhbar;
Lisp_Object Qborder_color;
Lisp_Object Qborder_width;
Lisp_Object Qbox;
type = BAR_CURSOR;
*width = XINT (XCDR (arg));
}
+ else if (EQ (arg, Qhbar))
+ {
+ type = HBAR_CURSOR;
+ *width = 2;
+ }
+ else if (CONSP (arg)
+ && EQ (XCAR (arg), Qhbar)
+ && INTEGERP (XCDR (arg))
+ && XINT (XCDR (arg)) >= 0)
+ {
+ type = HBAR_CURSOR;
+ *width = XINT (XCDR (arg));
+ }
else if (NILP (arg))
type = NO_CURSOR;
else
int numFonts;
LOGFONT logfont;
XFontStruct *size_ref;
- Lisp_Object *pattern;
+ Lisp_Object pattern;
Lisp_Object list;
- Lisp_Object *tail;
} enumfont_t;
/* Truetype fonts do not report their true metrics until loaded */
if (FontType != RASTER_FONTTYPE)
{
- if (!NILP (*(lpef->pattern)))
+ if (!NILP (lpef->pattern))
{
/* Scalable fonts are as big as you want them to be. */
lplf->elfLogFont.lfHeight = lpef->logfont.lfHeight;
lplf->elfLogFont.lfHeight = -lplf->elfLogFont.lfHeight;
}
- if (!NILP (*(lpef->pattern)))
+ if (!NILP (lpef->pattern))
{
- charset = xlfd_charset_of_font (XSTRING(*(lpef->pattern))->data);
+ charset = xlfd_charset_of_font (XSTRING(lpef->pattern)->data);
/* We already checked charsets above, but DEFAULT_CHARSET
slipped through. So only allow exact matches for DEFAULT_CHARSET. */
if (!w32_to_x_font (logfont, buf, 100, match_charset))
return;
- if (NILP (*(lpef->pattern))
- || w32_font_match (buf, XSTRING (*(lpef->pattern))->data))
+ if (NILP (lpef->pattern)
+ || w32_font_match (buf, XSTRING (lpef->pattern)->data))
{
/* Check if we already listed this font. This may happen if
w32_enable_synthesized_fonts is non-nil, and there are real
Lisp_Object font_name = build_string (buf);
if (NILP (Fmember (font_name, lpef->list)))
{
- *lpef->tail = Fcons (Fcons (build_string (buf), width), Qnil);
- lpef->tail = &(XCDR_AS_LVALUE (*lpef->tail));
+ Lisp_Object entry = Fcons (font_name, width);
+ lpef->list = Fcons (entry, lpef->list);
lpef->numFonts++;
}
}
BLOCK_INPUT;
/* At first, put PATTERN in the cache. */
- list = Qnil;
- ef.pattern = &tpat;
- ef.list = list;
- ef.tail = &list;
+ ef.pattern = tpat;
+ ef.list = Qnil;
ef.numFonts = 0;
/* Use EnumFontFamiliesEx where it is available, as it knows
}
UNBLOCK_INPUT;
+ list = ef.list;
/* Make a list of the fonts we got back.
Store that in the font cache for the display. */
staticpro (&Qauto_lower);
Qbar = intern ("bar");
staticpro (&Qbar);
+ Qhbar = intern ("hbar");
+ staticpro (&Qhbar);
Qborder_color = intern ("border-color");
staticpro (&Qborder_color);
Qborder_width = intern ("border-width");