Mercurial > hg > xemacs-beta
diff src/objects-msw.c @ 5015:d95c102a96d3
cleanups for specifier font stages, from ben-unicode-internal (preparation for eliminating shadowed warnings)
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-02-08 Ben Wing <ben@xemacs.org>
* faces.c:
* faces.c (face_property_matching_instance):
* faces.c (ensure_face_cachel_contains_charset):
* faces.h (FACE_FONT):
* lisp.h:
* lisp.h (enum font_specifier_matchspec_stages):
* objects-msw.c:
* objects-msw.c (mswindows_font_spec_matches_charset):
* objects-msw.c (mswindows_find_charset_font):
* objects-tty.c:
* objects-tty.c (tty_font_spec_matches_charset):
* objects-tty.c (tty_find_charset_font):
* objects-xlike-inc.c:
* objects-xlike-inc.c (XFUN):
* objects-xlike-inc.c (xft_find_charset_font):
* objects.c:
* objects.c (font_instantiate):
* objects.c (FROB):
* specifier.c:
* specifier.c (charset_matches_specifier_tag_set_p):
* specifier.c (call_charset_predicate):
* specifier.c (define_specifier_tag):
* specifier.c (Fdefine_specifier_tag):
* specifier.c (setup_charset_initial_specifier_tags):
* specifier.c (specifier_instance_from_inst_list):
* specifier.c (FROB):
* specifier.c (vars_of_specifier):
* specifier.h:
Rename the specifier-font-matching stages in preparation for
eliminating shadowed warnings, some other related fixes from
ben-unicode-internal.
1. Rename raw enums:
initial -> STAGE_INITIAL
final -> STAGE_FINAL
impossible -> NUM_MATCHSPEC_STAGES
2. Move `enum font_specifier_matchspec_stages' from
specifier.h to lisp.h.
3. Whitespace changes to match coding standards.
4. Eliminate unused second argument STAGE in charset predicates
that don't use it -- the code that calls the charset predicates
is now smart enough to supply the right number of arguments
automatically.
5. Add some long(ish) comments and authorial notices, esp. in
objects.c.
6. In specifier.c, change Vcharset_tag_lists from a vector over
leading bytes to a hash table over charsets. This change is
unnecessary currently but doesn't hurt and will be required
when we merge in Unicode-internal.
7. In specifier.c, extract out the code that calls charset predicates
into a function call_charset_predicate().
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Mon, 08 Feb 2010 16:51:25 -0600 |
parents | 3c3c1d139863 |
children | 2ade80e8c640 |
line wrap: on
line diff
--- a/src/objects-msw.c Mon Feb 08 07:00:24 2010 -0600 +++ b/src/objects-msw.c Mon Feb 08 16:51:25 2010 -0600 @@ -2,7 +2,7 @@ Copyright (C) 1993, 1994 Free Software Foundation, Inc. Copyright (C) 1995 Board of Trustees, University of Illinois. Copyright (C) 1995 Tinker Systems. - Copyright (C) 1995, 1996, 2000, 2001, 2002, 2004 Ben Wing. + Copyright (C) 1995, 1996, 2000, 2001, 2002, 2004, 2005, 2010 Ben Wing. Copyright (C) 1995 Sun Microsystems, Inc. Copyright (C) 1997 Jonathan Harris. @@ -27,8 +27,9 @@ /* Authorship: - Jamie Zawinski, Chuck Thompson, Ben Wing - Rewritten for mswindows by Jonathan Harris, November 1997 for 21.0. + This file created by Jonathan Harris, November 1997 for 21.0; based + heavily on objects-x.c (see authorship there). Much further work + by Ben Wing. */ /* This function Mule-ized by Ben Wing, 3-24-02. */ @@ -2016,6 +2017,8 @@ /* +#### The following comment is old and probably not applicable any longer. + 1. handle standard mapping and inheritance vectors properly in Face-frob-property. 2. finish impl of mswindows-charset-registry. 3. see if everything works under fixup, now that i copied the stuff over. @@ -2184,7 +2187,7 @@ Bytecount offset, Bytecount length, enum font_specifier_matchspec_stages stage) { - return stage ? + return stage == STAGE_FINAL ? mswindows_font_spec_matches_charset_stage_2 (d, charset, nonreloc, reloc, offset, length) : mswindows_font_spec_matches_charset_stage_1 (d, charset, nonreloc, @@ -2206,7 +2209,7 @@ that charset; otherwise, it will list fonts with all charsets. */ fontlist = mswindows_font_list (font, device, Qnil); - if (!stage) + if (stage == STAGE_INITIAL) { LIST_LOOP (fonttail, fontlist) {