Mercurial > hg > xemacs-beta
comparison src/specifier.c @ 3736:01830ac74073
[xemacs-hg @ 2006-12-11 12:22:47 by aidan]
2006-12-08 Aidan Kehoe <kehoea@parhasard.net>
* specifier.c (charset_matches_specifier_tag_set_p):
A charset's entry in Vcharset_tag_lists may be nil, if, when that
charset was created, no tags with associated charset predicates
existed. Accept this possibility, treat it as the tag not matching
that charset.
author | aidan |
---|---|
date | Mon, 11 Dec 2006 12:22:52 +0000 |
parents | efca49973324 |
children | caceb9db5b0a |
comparison
equal
deleted
inserted
replaced
3735:0c544f2f566c | 3736:01830ac74073 |
---|---|
995 LIST_LOOP (rest, tag_set) | 995 LIST_LOOP (rest, tag_set) |
996 { | 996 { |
997 Lisp_Object tag = XCAR (rest); | 997 Lisp_Object tag = XCAR (rest); |
998 Lisp_Object assoc; | 998 Lisp_Object assoc; |
999 | 999 |
1000 /* This function will not ever be called with a charset for which the | 1000 /* In the event that, during the creation of a charset, no specifier |
1001 relevant information hasn't been calculated (the information is | 1001 tags exist for which CHARSET-PREDICATE has been specified, then |
1002 calculated with the creation of every charset). */ | 1002 that charset's entry in Vcharset_tag_lists will be nil, and this |
1003 assert (!NILP(XVECTOR_DATA | 1003 charset shouldn't match. */ |
1004 (Vcharset_tag_lists)[XCHARSET_LEADING_BYTE(charset) | 1004 |
1005 - MIN_LEADING_BYTE])); | 1005 if (NILP (XVECTOR_DATA(Vcharset_tag_lists)[XCHARSET_LEADING_BYTE(charset) |
1006 - MIN_LEADING_BYTE])) | |
1007 { | |
1008 return 0; | |
1009 } | |
1006 | 1010 |
1007 /* Now, find out what the pre-calculated value is. */ | 1011 /* Now, find out what the pre-calculated value is. */ |
1008 assoc = assq_no_quit(tag, | 1012 assoc = assq_no_quit(tag, |
1009 XVECTOR_DATA(Vcharset_tag_lists) | 1013 XVECTOR_DATA(Vcharset_tag_lists) |
1010 [XCHARSET_LEADING_BYTE(charset) | 1014 [XCHARSET_LEADING_BYTE(charset) |