emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/w32fns.c


From: Jason Rumney
Subject: [Emacs-diffs] Changes to emacs/src/w32fns.c
Date: Wed, 22 May 2002 15:35:48 -0400

Index: emacs/src/w32fns.c
diff -c emacs/src/w32fns.c:1.172 emacs/src/w32fns.c:1.173
*** emacs/src/w32fns.c:1.172    Tue May 21 17:35:41 2002
--- emacs/src/w32fns.c  Wed May 22 15:35:48 2002
***************
*** 201,207 ****
  
  Lisp_Object Qauto_raise;
  Lisp_Object Qauto_lower;
! Lisp_Object Qbar;
  Lisp_Object Qborder_color;
  Lisp_Object Qborder_width;
  Lisp_Object Qbox;
--- 201,207 ----
  
  Lisp_Object Qauto_raise;
  Lisp_Object Qauto_lower;
! Lisp_Object Qbar, Qhbar;
  Lisp_Object Qborder_color;
  Lisp_Object Qborder_width;
  Lisp_Object Qbox;
***************
*** 2368,2373 ****
--- 2368,2386 ----
        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
***************
*** 7093,7101 ****
    int numFonts;
    LOGFONT logfont;
    XFontStruct *size_ref;
!   Lisp_Object *pattern;
    Lisp_Object list;
-   Lisp_Object *tail;
  } enumfont_t;
  
  
--- 7106,7113 ----
    int numFonts;
    LOGFONT logfont;
    XFontStruct *size_ref;
!   Lisp_Object pattern;
    Lisp_Object list;
  } enumfont_t;
  
  
***************
*** 7151,7157 ****
      /* Truetype fonts do not report their true metrics until loaded */
      if (FontType != RASTER_FONTTYPE)
        {
!       if (!NILP (*(lpef->pattern)))
          {
            /* Scalable fonts are as big as you want them to be.  */
            lplf->elfLogFont.lfHeight = lpef->logfont.lfHeight;
--- 7163,7169 ----
      /* Truetype fonts do not report their true metrics until loaded */
      if (FontType != RASTER_FONTTYPE)
        {
!       if (!NILP (lpef->pattern))
          {
            /* Scalable fonts are as big as you want them to be.  */
            lplf->elfLogFont.lfHeight = lpef->logfont.lfHeight;
***************
*** 7176,7184 ****
            lplf->elfLogFont.lfHeight = -lplf->elfLogFont.lfHeight;
        }
  
!     if (!NILP (*(lpef->pattern)))
        {
!         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. 
 */
--- 7188,7196 ----
            lplf->elfLogFont.lfHeight = -lplf->elfLogFont.lfHeight;
        }
  
!     if (!NILP (lpef->pattern))
        {
!         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. 
 */
***************
*** 7242,7249 ****
    if (!w32_to_x_font (logfont, buf, 100, match_charset))
      return;
  
!   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
--- 7254,7261 ----
    if (!w32_to_x_font (logfont, buf, 100, match_charset))
      return;
  
!   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
***************
*** 7251,7258 ****
        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));
          lpef->numFonts++;
        }
      }
--- 7263,7270 ----
        Lisp_Object font_name = build_string (buf);
        if (NILP (Fmember (font_name, lpef->list)))
        {
!         Lisp_Object entry = Fcons (font_name, width);
!         lpef->list = Fcons (entry, lpef->list);
          lpef->numFonts++;
        }
      }
***************
*** 7397,7406 ****
  
        BLOCK_INPUT;
        /* At first, put PATTERN in the cache.  */
!       list = Qnil;
!       ef.pattern = &tpat;
!       ef.list = list;
!       ef.tail = &list;
        ef.numFonts = 0;
  
        /* Use EnumFontFamiliesEx where it is available, as it knows
--- 7409,7416 ----
  
        BLOCK_INPUT;
        /* At first, put PATTERN in the cache.  */
!       ef.pattern = tpat;
!       ef.list = Qnil;
        ef.numFonts = 0;
  
        /* Use EnumFontFamiliesEx where it is available, as it knows
***************
*** 7435,7440 ****
--- 7445,7451 ----
        }
  
        UNBLOCK_INPUT;
+       list = ef.list;
  
        /* Make a list of the fonts we got back.
           Store that in the font cache for the display. */
***************
*** 14812,14817 ****
--- 14823,14830 ----
    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");



reply via email to

[Prev in Thread] Current Thread [Next in Thread]