From bd11cc096dd42607378770884c6508dbde2c7f07 Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Sun, 16 Feb 2003 22:23:34 +0000 Subject: [PATCH] (w32_list_bdf_fonts, w32_list_fonts): Negative max_fonts parameter means list all. --- src/ChangeLog | 5 +++++ src/w32fns.c | 11 ++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 148bac60f5d..877a73c2657 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2003-02-16 Jason Rumney + + * w32fns.c (w32_list_bdf_fonts, w32_list_fonts): Negative + max_fonts parameter means list all. + 2003-02-14 Dave Love * fns.c (Flanginfo): Doc fix. diff --git a/src/w32fns.c b/src/w32fns.c index 658a256ed63..dfe11442ea8 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -7340,7 +7340,7 @@ static Lisp_Object w32_list_bdf_fonts (Lisp_Object pattern, int max_names) { newlist = Fcons (XCAR (tem), newlist); n_fonts++; - if (n_fonts >= max_names) + if (max_names >= 0 && n_fonts >= max_names) break; } } @@ -7354,7 +7354,8 @@ static Lisp_Object w32_list_bdf_fonts (Lisp_Object pattern, int max_names) to be listed. Frame F NULL means we have not yet created any frame, which means we can't get proper size info, as we don't have a device context to use for GetTextMetrics. - MAXNAMES sets a limit on how many fonts to match. */ + MAXNAMES sets a limit on how many fonts to match. If MAXNAMES is + negative, then all matching fonts are returned. */ Lisp_Object w32_list_fonts (f, pattern, size, maxnames) @@ -7467,7 +7468,7 @@ w32_list_fonts (f, pattern, size, maxnames) { newlist = Fcons (XCAR (tem), newlist); n_fonts++; - if (n_fonts >= maxnames) + if (maxnames >= 0 && n_fonts >= maxnames) break; else continue; @@ -7506,7 +7507,7 @@ w32_list_fonts (f, pattern, size, maxnames) { newlist = Fcons (XCAR (tem), newlist); n_fonts++; - if (n_fonts >= maxnames) + if (maxnames >= 0 && n_fonts >= maxnames) break; } /* keep track of the closest matching size in case @@ -7542,7 +7543,7 @@ w32_list_fonts (f, pattern, size, maxnames) } /* Include any bdf fonts. */ - if (n_fonts < maxnames) + if (n_fonts < maxnames || maxnames < 0) { Lisp_Object combined[2]; combined[0] = w32_list_bdf_fonts (pattern, maxnames - n_fonts); -- 2.39.2