[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/src ChangeLog xfaces.c
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] emacs/src ChangeLog xfaces.c |
Date: |
Sat, 05 Dec 2009 20:16:45 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Chong Yidong <cyd> 09/12/05 20:16:44
Modified files:
src : ChangeLog xfaces.c
Log message:
* xfaces.c (Fx_family_fonts): Handle 2009-07-14 change to return
value of font_list_entities (Bug#5085).
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/src/ChangeLog?cvsroot=emacs&r1=1.7909&r2=1.7910
http://cvs.savannah.gnu.org/viewcvs/emacs/src/xfaces.c?cvsroot=emacs&r1=1.442&r2=1.443
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/src/ChangeLog,v
retrieving revision 1.7909
retrieving revision 1.7910
diff -u -b -r1.7909 -r1.7910
--- ChangeLog 4 Dec 2009 16:16:26 -0000 1.7909
+++ ChangeLog 5 Dec 2009 20:16:42 -0000 1.7910
@@ -1,3 +1,8 @@
+2009-12-05 Chong Yidong <address@hidden>
+
+ * xfaces.c (Fx_family_fonts): Handle 2009-07-14 change to return
+ value of font_list_entities (Bug#5085).
+
2009-12-04 Juanma Barranquero <address@hidden>
Fix `string-to-number' to deal consistently with integers and floats.
Index: xfaces.c
===================================================================
RCS file: /sources/emacs/emacs/src/xfaces.c,v
retrieving revision 1.442
retrieving revision 1.443
diff -u -b -r1.442 -r1.443
--- xfaces.c 11 Nov 2009 06:10:45 -0000 1.442
+++ xfaces.c 5 Dec 2009 20:16:44 -0000 1.443
@@ -1745,8 +1745,8 @@
(family, frame)
Lisp_Object family, frame;
{
- Lisp_Object font_spec, vec;
- int i, nfonts;
+ Lisp_Object font_spec, list, *drivers, vec;
+ int i, nfonts, ndrivers;
Lisp_Object result;
if (NILP (frame))
@@ -1759,12 +1759,12 @@
CHECK_STRING (family);
font_parse_family_registry (family, Qnil, font_spec);
}
- vec = font_list_entities (frame, font_spec);
- nfonts = ASIZE (vec);
- if (nfonts == 0)
+
+ list = font_list_entities (frame, font_spec);
+ if (NILP (list))
return Qnil;
- if (nfonts > 1)
- {
+
+ /* Sort the font entities. */
for (i = 0; i < 4; i++)
switch (font_sort_order[i])
{
@@ -1782,9 +1782,15 @@
font_props_for_sorting[i++] = FONT_ADSTYLE_INDEX;
font_props_for_sorting[i++] = FONT_REGISTRY_INDEX;
+ ndrivers = XINT (Flength (list));
+ drivers = alloca (sizeof (Lisp_Object) * ndrivers);
+ for (i = 0; i < ndrivers; i++, list = XCDR (list))
+ drivers[i] = XCAR (list);
+ vec = Fvconcat (ndrivers, drivers);
+ nfonts = ASIZE (vec);
+
qsort (XVECTOR (vec)->contents, nfonts, sizeof (Lisp_Object),
compare_fonts_by_sort_order);
- }
result = Qnil;
for (i = nfonts - 1; i >= 0; --i)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs/src ChangeLog xfaces.c,
Chong Yidong <=