emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/font.c,v


From: Kenichi Handa
Subject: [Emacs-diffs] Changes to emacs/src/font.c,v
Date: Mon, 19 May 2008 07:22:46 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Kenichi Handa <handa>   08/05/19 07:22:45

Index: font.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/font.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- font.c      15 May 2008 10:29:19 -0000      1.19
+++ font.c      19 May 2008 07:22:45 -0000      1.20
@@ -2352,7 +2352,7 @@
     size = 0;
 
   ftype = AREF (spec, FONT_TYPE_INDEX);
-  for (i = 0; i <= FONT_REGISTRY_INDEX; i++)
+  for (i = 1; i <= FONT_REGISTRY_INDEX; i++)
     ASET (scratch_font_spec, i, AREF (spec, i));
   for (; i < FONT_EXTRA_INDEX; i++)
     {
@@ -2377,7 +2377,7 @@
          {
            Lisp_Object val = assoc_no_quit (scratch_font_spec, XCDR (cache));
 
-           if (CONSP (val) && VECTORP (XCDR (val)))
+           if (CONSP (val))
              val = XCDR (val);
            else
              {
@@ -2430,16 +2430,18 @@
        && (NILP (ftype) || EQ (driver_list->driver->type, ftype)))
       {
        Lisp_Object cache = font_get_cache (f, driver_list->driver);
+       Lisp_Object copy;
 
        ASET (spec, FONT_TYPE_INDEX, driver_list->driver->type);
        entity = assoc_no_quit (spec, XCDR (cache));
-       if (CONSP (entity) && ! VECTORP (XCDR (entity)))
+       if (CONSP (entity))
          entity = XCDR (entity);
        else
          {
            entity = driver_list->driver->match (frame, spec);
-           XSETCDR (cache, Fcons (Fcons (Fcopy_font_spec (spec), entity),
-                                  XCDR (cache)));
+           copy = Fcopy_font_spec (spec);
+           ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type);
+           XSETCDR (cache, Fcons (Fcons (copy, entity), XCDR (cache)));
          }
        if (! NILP (entity))
          break;




reply via email to

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