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)