diff src/objects-x.c @ 1701:a1e328407366

[xemacs-hg @ 2003-09-20 01:14:24 by youngs] 2003-09-20 James LewisMoss <dres@lewismoss.org> * console-impl.h (struct console_methods): add third arg to list_fonts * objects.c (Flist_fonts): Add third arg to list-fonts: maxnumber * objects-gtk.c (gtk_list_fonts): Add third (ignored) arg for maxnumber. * objects-msw.c (mswindows_list_fonts): Add third (ignored) arg for maxnumber. * objects-tty.c (tty_list_fonts): Add third (ignored) arg for maxnumber. * objects-x.c (x_list_fonts): Add third arg to specify the maximum fonts recieved from the server. 2003-09-20 James LewisMoss <dres@lewismoss.org> * font-menu.el (font-menu-max-number): New variable to specify the maximum recieved fonts. * x-font-menu.el (x-reset-device-font-menus): Use new variable (font-menu-max-number) to list-fonts.
author youngs
date Sat, 20 Sep 2003 01:14:30 +0000
parents e22b0213b713
children a8d8f419b459
line wrap: on
line diff
--- a/src/objects-x.c	Fri Sep 19 17:07:07 2003 +0000
+++ b/src/objects-x.c	Sat Sep 20 01:14:30 2003 +0000
@@ -853,17 +853,23 @@
 }
 
 static Lisp_Object
-x_list_fonts (Lisp_Object pattern, Lisp_Object device)
+x_list_fonts (Lisp_Object pattern, Lisp_Object device, Lisp_Object maxnumber)
 {
   Extbyte **names;
   int count = 0;
+  int max_number = MAX_FONT_COUNT;
   Lisp_Object result = Qnil;
   const Extbyte *patternext;
 
   LISP_STRING_TO_EXTERNAL (pattern, patternext, Qx_font_name_encoding);
 
+  if (!NILP(maxnumber) && INTP(maxnumber))
+    {
+      max_number = XINT(maxnumber);
+    }
+
   names = XListFonts (DEVICE_X_DISPLAY (XDEVICE (device)),
-		      patternext, MAX_FONT_COUNT, &count);
+		      patternext, max_number, &count);
   while (count--)
     result = Fcons (build_ext_string (names[count], Qx_font_name_encoding),
 		    result);