emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/xfns.c
Date: Thu, 17 Mar 2005 21:25:14 -0500

Index: emacs/src/xfns.c
diff -c emacs/src/xfns.c:1.635 emacs/src/xfns.c:1.636
*** emacs/src/xfns.c:1.635      Thu Mar 17 18:32:33 2005
--- emacs/src/xfns.c    Fri Mar 18 02:25:13 2005
***************
*** 2005,2015 ****
        else
        {
          int len;
!         char *p1 = NULL;
          char *font_allcs = NULL;
          char *font_allfamilies = NULL;
          char *allcs = "*-*-*-*-*-*-*";
          char *allfamilies = "-*-*-";
          
          for (i = 0, p = base_fontname; i < 8; p++)
            {
--- 2005,2017 ----
        else
        {
          int len;
!         char *p1 = NULL, *p2 = NULL;
          char *font_allcs = NULL;
          char *font_allfamilies = NULL;
+         char *font_all = NULL;
          char *allcs = "*-*-*-*-*-*-*";
          char *allfamilies = "-*-*-";
+         char *all = "*-*-*-*-";
          
          for (i = 0, p = base_fontname; i < 8; p++)
            {
***************
*** 2018,2023 ****
--- 2020,2027 ----
                  i++;
                  if (i == 3)
                    p1 = p + 1;
+                 else if (i == 7)
+                   p2 = p + 1;
                }
            }
          /* Build the font spec that matches all charsets.  */
***************
*** 2032,2043 ****
          font_allfamilies = (char *) alloca (len);
          bzero (font_allfamilies, len);
          strcpy (font_allfamilies, allfamilies);
!         bcopy (p1, font_allfamilies + (strlen (allfamilies)), p - p1);
          strcat (font_allfamilies, allcs);
  
          /* Build the actual font set name.  */
          len = strlen (base_fontname) + strlen (font_allcs)
!           + strlen (font_allfamilies) + 4;
          fontsetname = xmalloc (len);
          bzero (fontsetname, len);
          strcpy (fontsetname, base_fontname);
--- 2036,2056 ----
          font_allfamilies = (char *) alloca (len);
          bzero (font_allfamilies, len);
          strcpy (font_allfamilies, allfamilies);
!         bcopy (p1, font_allfamilies + strlen (allfamilies), p - p1);
          strcat (font_allfamilies, allcs);
  
+         /* Build the font spec that matches all.  */
+         len = p - p2 + strlen (allcs) + strlen (all) + strlen (allfamilies) + 
1;
+         font_all = (char *) alloca (len);
+         bzero (font_all, len);
+         strcpy (font_all, allfamilies);
+         strcat (font_all, all);
+         bcopy (p2, font_all + strlen (all) + strlen (allfamilies), p - p2);
+         strcat (font_all, allcs);
+ 
          /* Build the actual font set name.  */
          len = strlen (base_fontname) + strlen (font_allcs)
!           + strlen (font_allfamilies) + strlen (font_all) + 5;
          fontsetname = xmalloc (len);
          bzero (fontsetname, len);
          strcpy (fontsetname, base_fontname);
***************
*** 2045,2050 ****
--- 2058,2065 ----
          strcat (fontsetname, font_allcs);
          strcat (fontsetname, sep);
          strcat (fontsetname, font_allfamilies);
+         strcat (fontsetname, sep);
+         strcat (fontsetname, font_all);
        }
      }
    if (motif)




reply via email to

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