There appears to be a problem with CRParser dealing with @import rules,
in that the SEMICOLON_TK token isn't consumed, leading to
@import "file1.css";
@import "file2.css";
not taking notice of the file2.css one. A following rule is also
ignored and will not be parsed, so
@import "file1.css";
h1 {
color: red;
}
wouldn't set h1 color to red.
The attached patch fixes this. I did take a brief look at handling this
in cr_parser_parse_import() but wasn't sure how to deal with it.
David
Index: src/cr-parser.c
===================================================================
RCS file: /cvs/gnome/libcroco/src/cr-parser.c,v
retrieving revision 1.18
diff -u -r1.18 cr-parser.c
--- src/cr-parser.c 13 Feb 2004 23:08:08 -0000 1.18
+++ src/cr-parser.c 23 Feb 2004 09:25:39 -0000
@@ -2975,7 +2975,13 @@
if (status == CR_END_OF_INPUT_ERROR) goto done ;
CHECK_PARSING_STATUS (status, TRUE) ;
- if (token && token->type == IMPORT_SYM_TK)
+ if (token && token->type == SEMICOLON_TK)
+ {
+ token = NULL;
+ cr_parser_try_to_skip_spaces_and_comments
+ (a_this) ;
+ }
+ else if (token && token->type == IMPORT_SYM_TK)
{
GList *media_list = NULL ;
GString *import_string = NULL ;
Attachment:
signature.asc
Description: This is a digitally signed message part