[Top][All Lists]
[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, 16 Jun 2008 07:32:05 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Kenichi Handa <handa> 08/06/16 07:32:04
Index: font.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/font.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -b -r1.55 -r1.56
--- font.c 16 Jun 2008 02:04:45 -0000 1.55
+++ font.c 16 Jun 2008 07:32:04 -0000 1.56
@@ -2429,26 +2429,6 @@
}
-/* CHeck a lispy font object corresponding to FONT. */
-
-int
-font_check_object (font)
- struct font *font;
-{
- Lisp_Object tail, elt;
-
- for (tail = font->props[FONT_OBJLIST_INDEX]; CONSP (tail);
- tail = XCDR (tail))
- {
- elt = XCAR (tail);
- if (font == XFONT_OBJECT (elt))
- return 1;
- }
- return 0;
-}
-
-
-
/* Font cache
Each font backend has the callback function get_cache, and it
@@ -2563,10 +2543,13 @@
Lisp_Object val = XCAR (objlist);
struct font *font = XFONT_OBJECT (val);
+ if (! NILP (AREF (val, FONT_TYPE_INDEX)))
+ {
font_assert (font && driver == font->driver);
driver->close (f, font);
num_fonts--;
}
+ }
if (driver->free_entity)
driver->free_entity (entity);
}
@@ -2754,7 +2737,8 @@
for (objlist = AREF (entity, FONT_OBJLIST_INDEX); CONSP (objlist);
objlist = XCDR (objlist))
- if (XFONT_OBJECT (XCAR (objlist))->pixel_size == pixel_size)
+ if (! NILP (AREF (XCAR (objlist), FONT_TYPE_INDEX))
+ && XFONT_OBJECT (XCAR (objlist))->pixel_size == pixel_size)
return XCAR (objlist);
val = AREF (entity, FONT_TYPE_INDEX);
@@ -2770,7 +2754,7 @@
return Qnil;
ASET (entity, FONT_OBJLIST_INDEX,
Fcons (font_object, AREF (entity, FONT_OBJLIST_INDEX)));
- ASET (font_object, FONT_OBJLIST_INDEX, AREF (entity, FONT_OBJLIST_INDEX));
+ ASET (font_object, FONT_OBJLIST_INDEX, Qnil);
num_fonts++;
font = XFONT_OBJECT (font_object);
@@ -2807,28 +2791,17 @@
Lisp_Object font_object;
{
struct font *font = XFONT_OBJECT (font_object);
- Lisp_Object objlist;
- Lisp_Object tail, prev = Qnil;
- objlist = AREF (font_object, FONT_OBJLIST_INDEX);
- for (prev = Qnil, tail = objlist; CONSP (tail);
- prev = tail, tail = XCDR (tail))
- if (EQ (font_object, XCAR (tail)))
- {
+ if (NILP (AREF (font_object, FONT_TYPE_INDEX)))
+ /* Already closed. */
+ return;
font_add_log ("close", font_object, Qnil);
font->driver->close (f, font);
#ifdef HAVE_WINDOW_SYSTEM
font_assert (FRAME_X_DISPLAY_INFO (f)->n_fonts);
FRAME_X_DISPLAY_INFO (f)->n_fonts--;
#endif
- if (NILP (prev))
- ASET (font_object, FONT_OBJLIST_INDEX, XCDR (objlist));
- else
- XSETCDR (prev, XCDR (objlist));
num_fonts--;
- return;
- }
- abort ();
}
@@ -3544,7 +3517,6 @@
if (! face->font)
return Qnil;
- font_assert (font_check_object ((struct font *) face->font));
XSETFONT (font_object, face->font);
return font_object;
}
- [Emacs-diffs] Changes to emacs/src/font.c,v, (continued)
- [Emacs-diffs] Changes to emacs/src/font.c,v, Kenichi Handa, 2008/06/12
- [Emacs-diffs] Changes to emacs/src/font.c,v, Kenichi Handa, 2008/06/13
- [Emacs-diffs] Changes to emacs/src/font.c,v, Juanma Barranquero, 2008/06/13
- [Emacs-diffs] Changes to emacs/src/font.c,v, Kenichi Handa, 2008/06/13
- [Emacs-diffs] Changes to emacs/src/font.c,v, Kenichi Handa, 2008/06/13
- [Emacs-diffs] Changes to emacs/src/font.c,v, Jason Rumney, 2008/06/13
- [Emacs-diffs] Changes to emacs/src/font.c,v, Andreas Schwab, 2008/06/15
- [Emacs-diffs] Changes to emacs/src/font.c,v, Chong Yidong, 2008/06/15
- [Emacs-diffs] Changes to emacs/src/font.c,v, Chong Yidong, 2008/06/15
- [Emacs-diffs] Changes to emacs/src/font.c,v, Chong Yidong, 2008/06/15
- [Emacs-diffs] Changes to emacs/src/font.c,v,
Kenichi Handa <=
- [Emacs-diffs] Changes to emacs/src/font.c,v, Jason Rumney, 2008/06/16
- [Emacs-diffs] Changes to emacs/src/font.c,v, Kenichi Handa, 2008/06/16
- [Emacs-diffs] Changes to emacs/src/font.c,v, Andreas Schwab, 2008/06/16
- [Emacs-diffs] Changes to emacs/src/font.c,v, Juanma Barranquero, 2008/06/16
- [Emacs-diffs] Changes to emacs/src/font.c,v, Juanma Barranquero, 2008/06/16
- [Emacs-diffs] Changes to emacs/src/font.c,v, Chong Yidong, 2008/06/16
- [Emacs-diffs] Changes to emacs/src/font.c,v, Stefan Monnier, 2008/06/16
- [Emacs-diffs] Changes to emacs/src/font.c,v, Chong Yidong, 2008/06/17
- [Emacs-diffs] Changes to emacs/src/font.c,v, Chong Yidong, 2008/06/17
- [Emacs-diffs] Changes to emacs/src/font.c,v, Andreas Schwab, 2008/06/18