"Initial commit to Gerrit"
[profile/ivi/libcroco.git] / ChangeLog
1 ============= 0.6.2 release =======================
2
3 2009-02-04  Thomas Wood  <thos@gnome.org>
4
5         * NEWS
6         * configure.in
7
8         Update for 0.6.2 release
9
10 2008-09-26  Robert Staudinger  <robsta@gnome.org>
11
12         reviewed by: Dom Lachowicz <domlachowicz@gmail.com>
13
14         * src/cr-doc-handler.c (cr_doc_handler_new): Bug 553937 - CRDocHandler instances created with reference count of 0
15
16 2008-03-30  Peter Moulder  <pjmoulder@svn.gnome.org>
17
18         * ChangeLog: Change to UTF-8.  I believe this now the preferred
19           charset for Gnome ChangeLogs.  (Let me know if gratuitous use of
20           unicode, such as in the following paragraph, causes a problem for
21           you.  Would a vim/emacsen mode line at the bottom of the file help?)
22
23         * src/*: Add ‘const’ to various function prototypes, as discussed at
24           http://www.mail-archive.com/libcroco-list@gnome.org/msg00049.html .
25           This change is a noop in the sense that it has no effect on
26           libcroco's object files, but does affect source-level compatibility,
27           both forwards and backwards — though in practice I'd guess that no
28           existing code will break from this.
29
30         * src/cr-declaration.c: (cr_declaration_new): Doc.
31         * (cr_declaration_destroy): Simplify implementation (and assert that
32           next/prev elements point to each other before following the links).
33
34 2007-01-10  Bruno Haible  <bruno@clisp.org>
35
36         * cr-style.h (enum CRPositionType): Remove trailing comma. Needed for
37         compilation on AIX with xlc.
38         * cr-fonts.c (cr_font_weight_get_bolder): Handle FONT_WEIGHT_INHERIT.
39         * cr-sel-eng.c: Bug 395099 - overly agressive rule matching
40         
41 2007-01-09  Benjamin Dauvergne <feanor@tol-eressea.org>
42
43         * src/cr-tknzr.c: Bug 314831 - Escapes not recognized
44         
45 2007-01-09  Dom Lachowicz <domlachowicz@gmail.com>
46
47         * src/cr-sel-eng.c: a bug in the class selector code, where it would not require whitespace before the class in a class attribute with multiple classes.
48         
49 2007-01-09  Dom Lachowicz <domlachowicz@gmail.com>
50
51         From Bruno Haible <bruno@clisp.org>
52         
53         * src/cr-fonts.h: gives syntax errors when included twice
54         * src/cr-fonts.c: the return value of cr_font_family_prepend()
55         should be "the font family list", not CR_OK which is the same as NULL.
56         * src/cr-fonts.c: the logic of cr_font_weight_get_bolder
57         does not take into account the FONT_WEIGHT_INHERIT value, and the
58         shift by 1 can yield out-of-range values. Partial fix
59         
60 2007-01-09  Benjamin Dauvergne <feanor@tol-eressea.org>
61
62         * src/cr-tknzr.c: Bug 372011 - comments not parsed correctly
63         * src/cr-tknzr.c: Bug 394680 - problem parsing function name starting with 'u' or 'r'
64         * src/cr-parser.c: Bug 139878 - keep end of ruleset parsing location, and give it to the end_selector sac-handler.
65         * src/cr-tknzr.c: Bug 394294 - Escape are wrongly computed
66         
67 2007-01-09  Dom Lachowicz <domlachowicz@gmail.com>
68
69         * src/cr-tknzr.c: Bug 336621 - cr_tknzr_get_next_token wasn't 
70         handling "<!--" correctly
71
72 2006-11-30  Dom Lachowicz <domlachowicz@gmail.com>
73
74         * src/cr-num.c: Bug 381040 - floating numbers always output to exactly 3 digits after decimal points.
75         Also fixed a related bug where libcroco wouldn't emit compliant CSS strings if run in a non-C locale.
76         
77 2006-11-29  Dom Lachowicz <domlachowicz@gmail.com>
78
79         * src/cr-token.c: Bug 380438 - Leak and trace message in cr_token_clear.
80         Fix suggested by Mark Rogers <mark.rogers at electrum.co.uk>
81         
82 2006-11-14  Dom Lachowicz <domlachowicz@gmail.com>
83
84         * src/cr-rgb.c: Bug 375194 - fix to builtin color processing
85         
86 2006-05-02  Peter Moulder <pmoulder at mail.csse.monash.edu.au>
87         
88         * src/*.[ch]: Bug 340298 - Fixes to documentation markup.
89
90 2006-05-02  Dom Lachowicz <cinamod@hotmail.com>
91
92         * src/Makefile.am: Fix linking by adding proper dependencies (bug 148790)
93         Cygwin build fixes
94         * configure.in: Detect Cygwin in addition to Mingw (bug 333834)
95         * csslint/csslint.c: Fix 3 "dereferencing type-punned pointer will break strict-aliasing rules" warnings
96         
97 2006-04-29  Dom Lachowicz <cinamod@hotmail.com>
98
99         * src/cr-tknzr.c: Revert my previous change and instead use Inkscape's
100         patch in bug #306823, as it improves precision
101         * src/cr-utils.[ch]: Ditto
102
103         ============= 0.6.1 release =======================
104
105 dim mar  5 23:32:14 CET 2006 Dodji Seketeli
106
107         * configure.in,docs/Makefile.am: 
108           unwire gtk-doc temporarily. Couldn't make it
109           distcheck otherwise.
110         * tests/Makefile.am: add global-vars.sh.in to EXTRA_DIST files.
111         * confifure.in: increase library REVISION number, for 0.6.1 release.
112
113 2006-03-01  Dom Lachowicz <cinamod@hotmail.com>
114
115         * src/cr-tknzr.c: Parse fractional parts of numbers properly (bug 333057)
116         * src/cr-utils.[ch]: Ditto
117         * configure.in: bump version to so that librsvg can depend on its fixes
118         
119 2005-11-16  Tor Lillqvist  <tml@novell.com>
120
121         * libcroco-zip.in: New file. libcroco-zip is used to build a
122         libcroco distribution for Win32.
123
124         * Makefile.am: Distribute libcroco-zip.in
125
126         * configure.in: AC_SUBST also LIBCROCO_CURRENT and LIBCROCO_AGE as
127         libcroco-zip needs them to construct the DLL name. Check for
128         Win32, set OS_WIN32 Automake conditional. Expand libcroco-zip.
129
130         * src/Makefile.am: Use -no-undefined on Win32. Link libcroco with
131         GLIB2_LIBS and LIBXML2_LIBS.
132
133 Thu May  5 19:15:27 CEST 2005 Dodji Seketeli <dodji@gnome.org>
134
135         * src/cr-string.h, cr-parser.c: applied a patch from Peter Moulder
136         to fix a typo in cr-parser.c and add G_BEGIN_DECLS/G_END_DECLS to
137         cr-string.h
138
139 Thu May  5 18:47:10 CEST 2005 Dodji Seketeli <dodji@gnome.org>
140
141         * docs/reference/tmpl/*.sgml: added these to the archive.
142         * docs/reference/libcroco-docs.sgml: added this to the archive.
143
144 Thu may  5 18:35:04 CEST 2005 Dodji Seketeli <dodji@gnome.org> 
145
146         * src/*.[ch]: made wak loads of comments change to comply with 
147         gtk-doc. Big thanks to Sven Herzberg for the initial work on this
148         topic.
149
150 2005-04-01  Sven Herzberg  <herzi@gnome-de.org>
151
152         * autogen.sh: require automake 1.7
153         * configure.in: added a check for gtk-doc, build
154         docs/reference/Makefile
155         * docs/Makefile.am: added the reference subdir
156         * src/cr-additional-sel.c: migrated the comments to gtk-doc style (sed
157         rocks)
158         * src/cr-additional-sel.h: moved the class description into the .c
159         file 
160
161 Sun feb 13 14:10:35 CET 2005 Dodji Seketeli <dodji@gnome.org>
162
163         * src/cr-simple-sel.h, src/cr-statement.h: added better documentation.
164         [Peter Moulder]
165         
166         * tests/Makefile.am: add the $top_builddir/src to the include search patch.
167         This is is necessary to support building in a directory different from
168         the source directory
169         *  tests/test-*.sh:  adapt these files so that 'make test' works even
170         when building in a directory different from the source dir
171         * tests/testctl: adapt this script to progapate the changes necessary
172         to make the 'test' target work in a directory different from the
173         source directory
174         This entry has been added thanks to the initial 
175         work of Peter Moulder. I have
176         modified it a bit so that building and testing 
177         from a directory different from the source dir actually works.
178
179         * Makefile.am: make sure the 'all' target is a prerequisite of the
180         'test' target. This is a patch from [Peter Moulder]
181
182 Thu feb 10 22:34:57 CET 2005 Dodji Seketeli <dodji@gnome.org>
183
184         * Makefile.am,test/testctl: applied a patchlet from Peter Moulder
185         to clean the test outputs when issuing 'make clean'.
186         * autogen.sh: force the thingy to use automake 1.7.2. better
187         late than never.
188
189 Mon Sep 20 18:10:50 CEST 2004 Dodji Seketeli <dodji@gnome.org>
190
191         * src/cr-om-parser.c:
192         (cr_om_parser_parse_paths_into_cascade) :
193         Fixed a nasty memory management bug reported by ArjanV and Daniel
194         Veillard.
195
196 2004-06-09  Dodji Seketeli  <dodji@gnome.org>
197
198 ===================== 0.6.0 release ==================================  
199
200         * NEWS: Updated this for 0.6.0
201
202         * configure.in: fixed the pkg-config and croco-0.6-config output.
203         * docs/exmaples/*.c: updated the comments.
204
205 2004-06-08  Dodji Seketeli  <dodji@gnome.org>
206
207         * tests/global-vars.sh.in,csslint/Makefile.am,Makefile.am,src/Makefile.am:
208         Make libcroco be parallel installable.
209         That is, make libcroco.so become libcroco-$(major)-$(minor),
210         same thing for the usr/include/libcroco dir, the pkgconfig and
211         croco-config file. Removed tests/global-vars.sh and generate it
212         it from global-vars.sh.in
213         Bump version number to 0.5.2
214         
215 2004-05-31  Dodji Seketeli  <dodji@gnome.org>
216
217         * docs/examples/selection-example-1.c:
218         (print_properties_real):
219         fix some ansi C compilation errors.
220         
221 2004-05-29  Dodji Seketeli  <dodji@gnome.org>
222
223         * tests/test-functional-notation.sh,tests/test-inputs/functional-notation.css,
224         tests/test-output-refs/test-functional-notation.out:
225         Added regression tests for #143308
226         
227         * src/cr-parser.c:
228         (cr_parser_parse_term): better handling unary operator.
229         * src/cr-stylesheet.c : 
230         (cr_stylesheet_dump): fprintf (fd, str) ; doesn't behave
231         correctly when str contains a '%' char. Do fprintf (fd, "%", str)
232         instead ;
233         * src/cr-tknzr.c:
234         (cr_tknzr_parse_ident):
235         Properly roll back the input stream when an error occurs.
236         This ChangeLog entry fixes
237         http://bugzilla.gnome.org/show_bug.cgi?id=143308.
238         
239 2004-05-01  Dodji Seketeli  <dodji@gnome.org>
240
241         * src/cr-num.c: 
242         (cr_num_to_string): don't output, say, 24generic when the number
243         is a generic number. Otherwise, this breaks regression tests.
244
245 2004-04-30  Dodji Seketeli  <dodji@gnome.org>
246
247         * src/cr-num.c: 
248         (cr_num_to_string): added the serialisation numbers of type
249         NUM_INHERIT, NUM_AUTO, NUM_GENERIC
250         * src/cr-rgb.[ch]: 
251         added a "transparent" flag to the CRRgb.
252         added "transparent" to gv_standard_colors.
253         (cr_rgb_is_set_to_transparen):
254         (cr_rgb_set_to_transparent):
255         added these fonction to set/get the rgb transparent property.
256         (cr_rgb_set_from_rgb): deep copy here.
257         (cr_rgb_copy): added this to perform a deep copy.
258         * src/cr-style.c: 
259         (set_prop_margin_x_from_value): fix a stupid break missing bug.
260         (cr_style_set_props_to_initial_values): 
261         set the background-color property initial value to "transparent".
262         (cr_style_num_prop_val_to_string): fix some formating bugs here.
263         
264 2004-04-28  Dodji Seketeli  <dodji@gnome.org>
265
266         * src/cr-style.c: 
267         (set_prop_font_size_from_value):
268         fix a buglet in here.
269         (cr_style_resolve_inherited_properties):
270         When we resolve inheritance, set the *computed value*, not
271         the specified value.
272         Resolve inheritance for the "font-size" property.
273
274 2004-04-27  Dodji Seketeli  <dodji@gnome.org>
275
276         * Makefile.am: fixed a error when launching make test.
277         * src/cr-fonts.[ch]: 
278         (cr_font_size_get_smaller_predefined_font_size): 
279         (cr_font_size_get_larger_predefined_font_size):
280         (cr_font_size_is_predefined_absolute_font_size):
281         added these new public method.
282         tests/test-inputs/parsing-location.css: updated this test output.
283         
284 2004-04-19  Dodji Seketeli  <dodji@gnome.org>
285
286         * csslint/csslint.c: 
287         (import_style): make this work with null media list.
288         * src/cr-tknzr.c: 
289         (cr_tknzr_parse_uri): correctly set the parsing location
290         of uris (e.g: url("an-url");). The parsing location
291         points the 'u' of the 'url' keyword.
292         This is an attempt to fix
293         http://bugzilla.gnome.org/show_bug.cgi?id=139881 .
294
295 2004-04-18  Dodji Seketeli  <dodji@gnome.org>
296
297         * configure.in: bumped version number 0.6.0 and lib version
298         info to 3:0:0
299
300 2004-04-17  Dodji Seketeli  <dodji@gnome.org>
301
302         * src/cr-parser.c: 
303         (cr_parser_parse_stylesheet):
304         Correctly detect @import run parsing errors.
305         This fixes http://bugzilla.gnome.org/show_bug.cgi?id=140334 .
306         
307         * src/cr-parser.c: 
308         (cr_parser_parse_simple_selector):
309         correctly detect when class additional selector parsing
310         fails.
311         (cr_parser_parse_simple_sels):
312         Make sure a pointer is not null before derefencing it.
313         append a simple sel to the list of simple sels only if 
314         the simple sel is not NULL.
315         This entry fixes http://bugzilla.gnome.org/show_bug.cgi?id=140317
316         .       
317
318         * src/cr-statement.[ch]:
319         (cr_statement_list_to_string):
320         added this to "to_string" a list of statements.
321         (cr_statement_media_rule_to_string): dump the 
322         *list of statements* contained in the media rule, and
323         not only the first one.
324         This entry fixes http://bugzilla.gnome.org/show_bug.cgi?id=139891 .
325         * tests/*: added the test-several-media.sh regression test.
326
327         * src/cr-om-parser.c: 
328         (end_media): set the "current statement" and
329         "current media statement" context variable to NULL
330         at the end a media statement.
331         This fixes http://bugzilla.gnome.org/show_bug.cgi?id=139889 .
332
333 2004-04-16  Dodji Seketeli  <dodji@gnome.org>
334  
335         * src/cr-num.c:
336         remove the '...' construction. This fixes
337         http://bugzilla.gnome.org/show_bug.cgi?id=138267.
338
339 2004-04-16  Dodji Seketeli  <dodji@gnome.org>
340
341         * src/cr-tknzr.c:
342         (cr_tknzr_parse_num): make sure to update the
343         parsing location of the parsed CRNum.   
344         (cr_tknzr_get_next_token):
345         record parsing location of number tokens.
346         These fix http://bugzilla.gnome.org/show_bug.cgi?id=139878.
347
348 2004-04-15  Dodji Seketeli  <dodji@gnome.org>
349
350         * src/cr-font.c: 
351         (cr_font_size_copy): reflect the CRFont
352         layout change.
353         (cr_font_size_set_predefined_absolute_font_size): 
354         (cr_font_size_set_relative_font_size):
355         (cr_font_size_set_absolute_font_size):
356         (cr_font_size_set_to_inherit):
357         added these
358         methods to set the values of a CRFontSize.
359         (cr_font_size_is_set_to_inherit):added this method
360         to set the CRFontSize to the inherit value.
361         (cr_font_weight_get_bolder): added this method to get
362         a bolder font weight than a given one.
363         * src/font.h:
364         make CRFont instanciate on the stack.
365         * src/cr-num.h: cleanup.
366         * cr-style.c: 
367         (set_prop_font_size_from_value): reflect the changes
368         Done in the layout of the CRStyle::font_size field.
369         (cr_style_set_props_to_default_values): 
370         set font_size specified value to inherit.
371         (cr_style_set_props_to_initial_values): 
372         set the 'width' prop to 800px. 
373         Set the 'font-size' prop to "medium".
374         (this is to be applied to
375         the root box)
376         (cr_style_resolve_inherited_properties):
377         Specified value inherit the *computed* value of
378         their parent style, not the specified one !
379         Started to work on the inheritance resolution
380         of the font_size prop.
381         (cr_style_to_string): updated this to reflect the
382         addition of specified, computed and actual value
383         in CRFontSize.
384         * src/cr-style.h: 
385         created struct _CRFontSizeVal. It has a specified,
386         computed and actual value. CRStyle::font_size
387         is now of type struct _CRFontSizeVal.
388
389 2004-04-11  Dodji Seketeli  <dodji@gnome.org>
390   
391         * tests/test-output-refs/test-sel-child-class.out:
392         added the reference output of the new test-sel-child-class
393         regression test.
394
395         
396         * tests/test-inputs/sel-child-class.css
397         * tests/test-inputs/sel-child-class.xml
398         * tests/test-sel-child-class.sh: added these new files.
399         * src/cr-rgb.c:
400         (cr_rgb_set): set the inherit field to FALSE when we set
401         an rgb.
402         (cr_rgb_set_to_inherit): added this to flag the instance
403         of CRRgb as being set to 'inherit'.
404         (cr_rgb_is_set_to_inherit): added this to test if an instance
405         of CRRgb is set to 'inherit' or not.
406         * src/cr-sel-eng.c: fixed a subtle bug here in the
407         way we evaluate the descendant selector. This bug
408         is catched by regression test test-sel-child-class.sh.
409         * src/cr-style.c: 
410         (cr_style_set_props_to_default_values): set the rgb properties
411         to inherit.
412         (cr_style_resolve_inherited_properties): rgb props that are set
413         to 'inherit' must be resolved.
414
415 2004-04-10  Dodji Seketeli  <dodji@gnome.org>
416
417         * src/cr-parser.c: 
418         (cr_parser_parse_stylesheet): 
419         Fixed http://bugzilla.gnome.org/show_bug.cgi?id=139615 .
420         * src/cr-sel-eng.[ch]: made some cleanups here.
421         * src/cr-style.c: 
422         (set_prop_border_width_from_value):
423         added this to support the "border-width" property.
424         (set_prop_border_style_from_value):
425         added this to support the "border-style" property.
426         (cr_style_new): modify the signature of this constructor
427         to have more control on the properties inheritance process.
428         (cr_style_set_props_to_default_values): renamed
429         cr_style_set_props_to_defaults for better legibility.
430         (cr_style_set_style_from_decl): added the support for
431         "border-style" and "border-width" properties.
432
433 2004-04-09  Dodji Seketeli  <dodji@gnome.org>
434
435         * src/cr-om-parser.c:
436         (import_style): fixed a minor parsing bug.
437
438 2004-04-08  Dodji Seketeli  <dodji@gnome.org>
439
440         * this entry is about a patch sent by Benjamin Dauvergne for
441         the support of css properties inheritance. (mainly).
442         * src/cr-additional-sel.c: replaced g_string_append_prinf(),
443         by g_string_append_c() or g_string_append(), when it's relevant.
444         * src/cr-declaration.c: port this over the new CRString.
445         * src/cr-fonts.c: smallish cosmetic changes.
446         * src/cr-fonts.h: added the FONT_FAMILY_INHERIT value to
447         enum CRFontFamilyType and FONT_SIZE_INHERIT to
448         enum CRPredefinedAbsoluteFontSize.
449         * src/cr-num.h: added NUM_INHERIT to enum CRNumType.
450         * src/cr-pseudo.c: same g_string_append_printf() removal scheme
451         as above.
452         * src/cr-rgb.[ch]: I removed the :1 option done on the 
453         CRRgb::is_percentage boolean. We will start looking at this
454         kind of optimization when the whole stuff works and after proper
455         profiling.
456         (cr_rgb_set_from_term): I made a small fix here:
457         write !strcmp() and not strcmp() otherwise color setting
458         won't work.
459         * src/cr-selector.c, src/cr-simple-sel.c, src/cr-statement.c: 
460         g_string_append_printf() removal.
461         * src/cr-style.c: a lot of cleanup in the inheritance resolution
462         handling.
463         (cr_style_set_props_to_default): added this new method to set
464         the style of the root element node.
465         (cr_style_resolve_inheritance): (this function was initially named
466         cr_style_propagate_from_parent() by Benjamin, but I renamed 
467         it to enhance code legibility at least for people who know the
468         css spec.
469         Renamed the CRStyle::relative boolean member by a
470         CRStyle::inherited_props_resolved boolean to enhance code legibility.
471
472 2004-04-03  Dodji Seketeli  <dodji@gnome.org>
473
474         * src/libcroco-config.h: removed this from archive.
475
476         * src/cr-sel-eng.c: 
477         (class_add_sel_matches_node): make this correctly handle
478         class list especially when it's the last element that is
479         to be selected.
480         (attr_add_sel_matches_nod):
481           * in [attr=val] attr selector,
482           make sure [attr=val] doesn't get selected when only
483         [attr=value] should, for instance. 
484           * fix [att~=foo bar] making sure that bar 
485           can also be selected.
486           * fix [att|=en-US] making sure that the last element
487           of the dash separated list of elements can also be
488           selected.
489         (additional_selector_matches_node): 
490         add support for linked additional selectors 
491         e.g: [attr=sel][attr=foo].
492         (sel_matches_node_real):
493         Even a selector of type UNVIVERSAL_SELECTOR can have
494         additional selectors. This was a long standing bug.
495
496 2004-04-01  Dodji Seketeli  <dodji@gnome.org>
497
498         * csslint/csslint.c: much more work on the --dump-location option.
499         This can be tested by users now.
500         * src/cr-parser.c: 
501         (cr_parser_parse_atrule_core): fixed a parsing bug here.
502         (cr_parser_parse_any_core): COMMENT_TK is part of an ANY production.
503         (cr_parser_parse_stylesheet): @charset not located at (1,1) should not
504         make the parser ignore the next statement.
505         (cr_parser_parse_page): better parsing of @page statement.
506         * cr-tknzr.c:
507         (cr_tknzr_parse_uri): fix parsing location gathering for uris.
508         * src/cr-token.c: added a TODO notice here.
509
510         
511 2004-03-29  Dodji Seketeli  <dodji@gnome.org>
512
513         * csslint/csslint.c: started to add the --dump-location option.
514         It dumps the parsing location information for selectors and 
515         property declarations. I still need to do the same for
516         the other css constructions. Also cleaned up csslint a bit.
517         * src/cr-additional-sel.[ch]: 
518         (cr_additional_sel_one_to_string): added this new method to to_string
519         only one additional selector.
520         * src/cr-input.c: initialise the line/col to 1 at the origin.
521         * src/cr-parser.c: 
522         (cr_parser_parse_simple_selector): collect parsing location
523         for the additional attribute selector.
524         * src/cr-parsing-location.[ch]:
525         (cr_parsing_location_to_string): added this method to
526         serialise the CRParsingLocation class.
527         (cr_parsing_location_dump) : added this new method.
528         * src/cr-simple-sel.c:
529         (cr_simple_sel_one_to_string): added this method to serialise
530         only one simple selector.
531         * src/cr-string.[ch]: 
532         (cr_string_peek_char_buf): added this method to peek the
533         internal char string owned by CRString.
534         * src/cr-term.c: 
535         (cr_term_one_to_string): added this method to serialise
536         only one term.
537         * src/cr-tknzr.c: 
538         (cr_tknzr_parse_name): fixed a bug here in the parsing 
539         location gathering.
540         (cr_tknzr_parse_hash): fixed another bug in the parsing 
541         location gathering.
542         
543 2004-03-27  Dodji Seketeli  <dodji@gnome.org>
544
545         * src/cr-attr-sel.h,src/cr-doc-handler.h,
546         src/cr-om-parser.c,src/cr-parser.[ch],
547         src/cr-statement.[ch),src/cr-term.h,
548         tests/test2-main.c,tests/test3-main.c:
549         First attempt to have provide real
550         parsing location information at the SAC level.
551         I still need to write a test app for this and debug
552         the feature.
553
554 2004-03-24  Dodji Seketeli  <dodji@gnome.org>
555         
556         * src/cr-input.[ch],src/cr-parser.[ch],
557         src/cr-tknzr.[ch],src/cr-token.[ch],src/cr-parsing-location.c:
558         Enable parsing location retrieval from CRInput, CRTknzr and CRparser.
559         Record parsing location in every single token returned by
560         CRTknzr::get_next_token().
561
562 2004-03-22  Dodji Seketeli <dodji@gnome.org>
563
564         * added a field of type CRParsingLocation field to almost
565         any language construction parsed into an abstract
566         datastructure. This is a huge changeset.
567
568 2004-03-16  Dodji Seketeli <dodji@gnome.org>
569
570         * ==================== 0.5 release ====================
571
572         * croco-config.in: fixed this to include libxml2 and glib
573         into cflags and libs.
574         * docs/examples/cssom-example-1.c,docs/examples/sac-example-1.c,
575         docs/examples/sac-example-2.c, docs/examples/selection-example-1.c,src/cr-sel-eng.c: 
576         fix the code examples to reflect changes in 0.5, kill some
577         memleaks where needed.
578         * src/cr-sel-eng.c: killed a memleak in the selection engine.
579
580 2004-03-15  Dodji Seketeli <dodji@gnome.org>
581
582         * tests/Makefile.am: added the tests/valgrind-version.sh file in
583         the distribution.
584         
585         * tests/testctl: enforced the use of valgrind 2.1.1 or higher.
586         * tests/valgrind-version.sh: added this file to test the version of
587         the currently installed version of valgrind.
588
589 2004-03-14  Dodji Seketeli <dodji@gnome.org>
590
591         * src/cr-style.c: 
592         (cr_style_set_props_to_defaults): added more default props 
593         init.
594         * src/cr-fonts.h: modified some declarations here to
595         ease the support of the "font-weight: bolder" and 
596         "font-weight: lighter" support in sewfox.
597
598         * src/cr-parser.[ch],src/cr-rgb.[ch],src/cr-style.c:
599         applied a patch from Benjamin Dauvergne to add
600         CRRgb::parse_from_buf() and CRRgb::set_from_term()
601         methods. Modified the patch to comply with libcroco
602         coding style and to kill a compiler warning.
603
604 2004-03-13  Dodji Seketeli <dodji@gnome.org>
605
606         * Makefile.am,tests/Makefile.am,tests/test-output-refs/Makefile.am: 
607         Added some distribution plumbing.
608
609         * configure.in: bumped version number to 0.5 and bumped version-info.
610
611         * src/cr-sel-eng.c,src/cr-stylesheet.c,
612         src/cr-tknzr.c,tests/test5-main.c,tests/testctl:
613         massive mem leaks/corruption killing.
614         * vg.supp: added this to suppress glib normal leaks
615         from the leak report.
616
617 2004-03-12  Dodji Seketeli <dodji@gnome.org>
618
619         * src/cr-declaration.c,src/cr-doc-handler.c,
620         src/cr-input.[ch],src/cr-parser.c,src/cr-rgb.c,
621         src/cr-selector.c,src/cr-term.c,src/cr-token.c,
622         tests/test1-main.c,tests/test4-main.c: started to kill mem leaks
623         and corruptions.
624
625         * tests/testctl: added the --show-reachable=yes flag to valgrind.
626
627         * tests/testctl: added better valgrind error reporting.
628
629 2004-03-11  Dodji Seketeli <dodji@gnome.org>
630
631         * Makefile.am: now, tests are to be run by doing "make test".
632         Also, cleans up the previous test output before actually running.
633         * global-vars.sh: added this sh script that sets variable used
634         in all the test sh scripts based on csslint.
635         * test-prop-ident,test-unknown-at-rule,test-unknown-at-rule2: 
636         renamed these into *.sh (e.g) test-prop-ident.sh to reflect
637         that it's a shell script, not a test written in C. 
638         Also, make these use global-vars.sh
639         * tests/testctl: added a descent valgrind support when runned
640         with like "./testctl run --valgrind" or RUN_VALGRIND=yes ./testctl run.
641         Puts the valgrind logs in valgrind-logs/ and report their presence
642         to the user. This'll help catch mem leaks/corruption at the 
643         regression test level.
644         Also make sure to launch ./libs/testblah and not ./testblah which
645         is actually a shell script.
646
647         * tests/testctl: don't activate valgrind tests by default.
648
649 2004-03-10  Dodji Seketeli <dodji@gnome.org>
650
651         * src/cr-statement.[ch]: 
652         (cr_statement_to_string): do not add leading end of lines.
653         * cr-stylesheet.c: added cr_stylesheet_to_string(), handle
654         end of lines between statements here.
655         * tests/test-output-refs/test5.1.css.out: updated non
656         regression tests.
657
658         * tests/testctl: added valgrind support in the non regression
659         tests. I think I still need to improve it to make it detect
660         the errors when there are some, and report it in a consistent
661         way.
662
663         * tests/testctl: added support for tests that gets
664         called without any argument.
665         * tests/* added csslint based non regression tests for proprietary INDENT and
666         unknown at rule.
667
668         * src/cr-utils.c: 
669         (cr_utils_ucs1_to_utf8): handle zero length input gently.
670
671         * src/cr-statement.c: finish the coding of the
672         cr_statement_to_string() function and make cr_statement_dump()
673         use it.
674         * src/cr-term.c: merge from libcroco--mainline--0.1
675
676 2004-03-09  Dodji Seketeli <dodji@gnome.org>
677
678         * src/cr-term.[ch]: applied a patch from Rob BUIS that adds
679         two new methods:
680         (cr_term_get_from_list) and (cr_term_get_from_list).
681
682         * src/cr-statement.c:
683           (cr_statement_font_face_rule_to_string): added this method.
684           (cr_statement_dump_font_face_rule): make this use the new 
685           cr_statement_font_face_rule_to_string() function.
686         * tests/testctl: update this to exclude .arch-ids from the diffs.
687
688         * src/cr-parser.c,src/cr-tknzr.c: droped the way I was handling 
689         the vendor proprietary properties and make sure to parse and IDENT by
690         following css3 rules.
691         
692         * src/cr-parser.c: 
693         (cr_parser_parse_any_core): semicolon (';') is not part of the 'any' 
694         production.
695         (cr_parser_parse_ruleset): consider the case where we have an empty ruleset (e.g 'x{}')
696         * {arch}/=tagging-method: changed this to make objects generation by the
697         compilation accepted by tla.
698
699 2004-03-08  Dodji Seketeli <dodji@gnome.org>
700
701         * Merged in the following patches:
702         => dodji@seketeli.org--2004-xml-style-d/libcroco--dodji-d--0.1--base-0
703            tag of dodji@gnome.org--xml-style-2004/libcroco--mainline--0.1--base-0
704         => dodji@seketeli.org--2004-xml-style-d/libcroco--dodji-d--0.1--patch-1
705            removed useless files.
706
707         * files.txt,dirs.txt: removed these files.
708
709 2004-03-07  Dodji Seketeli  <dodji@gnome.org>
710
711         * src/cr-statement.c: 
712         (parse_page_start_page_cb) fixed a memory management bug
713         reported by Rob BUIS.
714         (cr_statement_at_page_rule_to_string): added this new
715         helper function.
716         (cr_statement_dump_page): make this use 
717         cr_statement_at_page_rule_to_string().
718         * tests/test4-main.c: 
719         (test_cr_statement_at_page_rule_parse_from_buf): added this
720         to start debugging a problem related to @page rule parsing.
721         
722 2004-03-07  Dodji Seketeli  <dodji@gnome.org>
723
724         * src/*.c: re-indented the source files to make'em comply
725         with gnome indentation rules.
726         * libcroco-indent: added this indentation script.
727
728 2004-03-07  Dodji Seketeli  <dodji@gnome.org>
729
730         * src/cr-style.c: applied a patch from
731         Benjamin Dauvergne to support the "color" property.
732
733 2004-03-07  Dodji Seketeli  <dodji@gnome.org>
734
735         * src/cr-rgb.[ch]:
736         (cr_rgb_compute_from_percentage): added this new convenience 
737         function.
738 2004-03-06  Dodji  <dodji@gnome.org>
739
740         * src/cr-tknzr.c: 
741         (cr_tknzr_parse_num): when you reach an EOF, don't assume it's
742         an error. Return the already parsed part of the number.
743         Next attempt of parsing will result in an CR_END_OF_INPUT_ERROR.
744         * tests/test4-main.c: udpated this test the fix made above.     
745         * Doxyfile: reflect the removal of src/parser src/seleng and
746         src/layeng
747         * src/cr-declaration.c: 
748         (cr_declaration_list_to_string2): added this new method.
749         * src/cr-sel-eng.c: fix a bug in the !important handling
750         in the cascading algorithm.
751
752 2004-03-06  Dodji Seketeli  <dodji@gnome.org>
753
754         * csslint/csslint.c: applied a patch from Rob BUIS
755         to fix some bugs/memleaks here.
756         Did some cleanups too.
757         * src/cr-sel-eng.c:
758         (cr_sel_eng_get_matched_rulesets_real):
759         handle the case where the sheet is empty (has no rules). That
760         can happen ! (it actually happened to me during some tests).
761         (put_css_properties_in_props_list):
762         handle the !important keyword in the cascading algorithm.
763         Rob BUIS (again) started this.
764
765 2004-03-05  Dodji Seketeli  <dodji@gnome.org>
766
767         * csslint/csslint.c: 
768         (parse_cmd_line) fixed silly bug in there.
769         * src/cr-declaration.[ch],src/cr-om-parser.c,
770         src/cr-parser.[ch],src/cr-statement.c,tests/test2-main.c,
771         tests/test3-main.c: 
772         added the support of the "!important"
773         keyword at the parsing level.
774         * tests/test-inputs/test4.1.css: update nr tests to reflect
775         the new !important thing.
776         * src/cr-sel-eng.c: 
777         (put_css_properties_in_props_list): fix a small subtle
778         bug in here. Selection engine is becoming more and more
779         reliable ;).
780
781 2004-03-04  Dodji Seketeli  <dodji@gnome.org>
782
783         * src/cr-enc-handler.c:
784         (cr_enc_handler_resolve_enc_alias): applied a patch
785         from Kjartan Maraas to replace the g_strup() g_ascii_strup().
786         This closes 
787         * csslint/Makefile.am,src/cr-simple-sel.h,src/cr-term.h
788         src/cr-token.h,tests/Makefile.am:
789         Applied patch
790         http://bugzilla.gnome.org/showattachment.cgi?attach_id=23422.
791         Modified the patch a little bit so that I use prog_LDFLAGS instead
792         of AM_LDFLAGS. AM_LDFLAGS just seems not to be supported by my
793         automake-1.4.
794         This fixes http://bugzilla.gnome.org/show_bug.cgi?id=131643 .
795         * tests/test-output-refs/test4.2.css.out: updated this non
796         regresstion test reference output due to a small modification
797         in the @page rule dump format.
798
799 2004-03-03  Dodji Seketeli  <dodji@gnome.org>
800
801         * csslint/csslint.c:
802         (cssom_parse) put a '\n' after dumping the sheet on screen.
803         * src/cr-parser.c:
804         (cr_parser_parse_page): fixed a small bug in here.
805         This should fix http://bugzilla.gnome.org/show_bug.cgi?id=136109.
806         * src/cr-statement.c: 
807         (cr_statement_dump_page): added a white space before dumping
808         the pseudo part of the @page rule.
809
810 2004-03-03  Dodji Seketeli  <dodji@gnome.org>
811
812         * csslint/csslint.c: added the support of selectors evaluation
813         in csslint. Now, one can do csslint --evaluate --xml <an xml file>
814         --author-sheet <a-css-sheet> --xpath <an xpath expression>.
815         This will show the css properties associated to the xml node(s)
816         refered to by the xpath expression.
817         * src/cr-declaration.[ch]: 
818         (cr_declaration_dump_one) added this new api entry to dump
819         the first declaration of the declaration list.
820         * src/cr-prop-list.c: 
821         (cr_prop_list_unlink): fixed a stupid bug in there.
822         * src/cr-stylesheet.[ch]: 
823         (cr_stylesheets_nr_rules): there is a typo in this 
824         function name. Stylesheet's' should not take a leading 's'.
825         Changed that into cr_stylesheet_nr_rules().
826
827 2004-03-01  Dodji Seketeli  <dodji@gnome.org>
828
829         * src/cr-prop-list.[ch]: added the (cr_prop_list_unlink) function.
830         * src/cr-sel-eng.c: 
831         (put_css_properties_in_props_list): put the properties at the
832         end of the properties list built by this function. This is
833         necessary to keep the properties declaration order. This order
834         is significant for example when you consider short hand 
835         properties expansion.
836
837 2004-02-29  Dodji Seketeli  <dodji@gnome.org>
838
839         * src/cr-input.c,src/cr-num.c,src/cr-prop-list.[ch],
840         src/cr-rgb.c:  applied a patch from Rob BUIS that fixes
841         numeros typos. Also adds  G_BEGIN_DECL/G_END_DECL to
842         cr-prop-list.h
843
844 2004-02-29  Dodji Seketeli  <dodji@gnome.org>
845
846         * src/cr-rgb.c,src/cr-tknzr.c: remove the usage of '...' in switch/case statements
847         as this is not portable across c89 compilers.
848         
849 2004-02-29  Dodji Seketeli  <dodji@gnome.org>
850
851         * src/cr-rgb.c: 
852         (cr_rgb_set): fixed a stupid bug here.
853
854 2004-02-29  Dodji Seketeli  <dodji@gnome.org>
855
856         * src/cr-sel-eng.c: applied a patch of Rob BUIS
857         to add the support of the :lang() pseudo class using
858         the pluggable pseudo class system.
859         * tests/test5-main.c,tests/test-inputs/test5.1.css,tests/test-output-refs/test5.1.css.out:
860         Updated the non regression tests suite to test the :lang() pseudo
861         class.
862
863 2004-02-29  Dodji Seketeli  <dodji@gnome.org>
864
865         * src/cr-statement.[ch],src/cr-stylesheet.[ch]:
866         applied a patch from Rob BUIS that provides new apis
867         to manipulate CSS statements.
868
869 2004-02-29  Dodji Seketeli  <dodji@gnome.org>
870
871         * src/cr-sel-eng.c: 
872         (put_css_properties_in_props_list): fixed a small bug in here:
873         Always Initialise output function argument !!!.
874
875 2004-02-29  Dodji Seketeli <dodji@gnome.org>
876
877         * src/cr-prop-list.[ch], src/Makefile.am,src/libcroco.h: 
878         Created this new CRPropList class.
879         * src/cr-sel-eng.c: 
880         (put_css_properties_in_props_list): added this new helper
881         function.
882         (cr_sel_eng_get_matched_properties_from_cascade):
883         Created a new version of this function to make it use
884         the new CRPropList instead of a hashtable. Putting
885         properties/declaration in a hashtable make us loose
886         the "order" in which declarations are present in the
887         ruleset. That's why I use a CRPropList instead.
888         * src/cr-style.c: 
889         (cr_style_set_style_from_decl): fix a silly error that
890         make border-right and border-top switch.
891
892 2004-02-26  Dodji Seketeli  <dodji@gnome.org>
893
894         * src/cr-sel-eng.c: 
895         (cr_sel_eng_get_matched_properties_from_cascade):
896         Second (or maybe third) attempt to fix the cascading
897         cascading thing. I got *really* confused here.
898         I hope it works this time.
899         Thanks to to Rob BUIS who reported the bug.
900         Off to bed now.
901
902 2004-02-24  Dodji Seketeli <dodji@gnome.org>
903
904         * src/cr-parser.c: 
905         (cr_parser_parse_import): fixed a parsing bug reported
906         by David A Knight. This should now properly parse
907         sequences of @import rules that without media parts.
908         * src/cr-statement.c: (cr_statement_dump_import_rule):
909         fixed a serialisation bug here.
910
911 2004-02-24  Dodji Seketeli  <dodji@gnome.org>
912
913         * src/cr-parser.c,src/cr-tknzr.c,src/cr-token.[ch]: 
914          added the support of
915         vendor specific property names.
916         
917 2004-02-19  Dodji Seketeli  <dodji@gnome.org>
918
919         * src/cr-sel-eng.c: 
920         (cr_sel_eng_get_matched_properties_from_cascade): Fixed a bug
921         that was "forgetting" all the properties gathered during the
922         cascading algorithm but the last ones.
923         * tests/Makefile.am: a bit of cleanup here.
924
925 2004-02-14  Dodji Seketeli  <dodji@gnome.org>
926
927         * src/cr-declaration.[ch]: applied a patch from
928         Rob BUIS<rwlbuis@xs4all.nl> that does a bunch of cleanup and
929         fixes. It also adds the new cr_declaration_list_to_string() api
930         entry point.
931         * AUTHORS: updated this
932
933 2004-02-14  Dodji Seketeli  <dodji@gnome.org>
934
935         * src/cr-declaration.[ch]:
936         (cr_declaration_nr_props),
937         (cr_declaration_get_from_list),
938         (cr_declaration_get_by_prop_name):
939         applied a patch from Rob BUIS<rwlbuis@xs4all.nl> that adds
940         these api entry points.
941
942 2004-02-13  Dodji Seketeli  <dodji@gnome.org>
943
944         * src/cr-declaration.c: 
945         (cr_declaration_parse_list_from_buf): when we encounter an EOF
946         right after a ';' don't return an error.
947         * src/cr-parser.c: 
948         (CHECK_PARSING_STATUS_ERR): fix a possibly nasty typo.
949         (cr_parser_parse_property): when there is an error here,
950         return the underlying error instead of returning just CR_PARSING_ERROR.
951         (cr_parser_parse_declaration): when we encounter an EOF just at
952         the beginning of parsing, return CR_END_OF_INPUT_ERROR instead
953         of CR_PARSING_ERROR. More generaly, we should always return 
954         CR_END_OF_INPUT_ERROR when we encounter that error, and not return
955         CR_PARSING_ERROR instead.
956         tests/test4-main.c: 
957         (test_cr_declaration_parse_list): updated this to reflect catch
958         trailing ';' at the end of declaration list.
959
960 2004-02-12  Dodji Seketeli  <dodji@gnome.org>
961
962         * src/cr-declaration.[ch]: 
963         (cr_declaration_parse_list_from_buf): added this new api entry point
964         to parse comma separated list of property declarations.
965         * src/cr-parser.c: 
966         (cr_parser_parse_expr): dont return an error when we encounter EOF immediately
967         at the end of an expression.
968         (cr_parser_get_tknzr): added this new api entry point to get
969         the parser's underlying tokenizer.
970         * src/cr-statement.h: fixed a comment here.
971         * tests/test4-main.c: wrote a test for the new
972         cr_declaration_parse_list_from_buf() function.
973
974 2004-02-11  Dodji Seketeli  <dodji@gnome.org>
975
976         * src/Makefile.am: make sure headers go in $prefix/include/libcroco/libcroco .
977
978 2004-02-10  Dodji Seketeli  <dodji@gnome.org>
979
980         * src/cr-fonts.c: debugged serialization stuffs
981         * src/cr-style.c: more serialization debugging
982         
983 2004-02-08  dodji  <dodji@gnome.org>
984
985         * src/cr-style.c: more style structure debugging materials.
986
987 2004-02-08  Dodji Seketeli  <dodji@gnome.org>
988
989         * src/cr-style.c: more style structure debugging materials.
990
991 2004-02-07  Dodji Seketeli  <dodji@gnome.org>
992
993         * src/cr-fonts.[hc],src/cr-num.h,src/cr-style.[ch]:
994         In the process of adding style structure debugging facilities.
995
996 2004-02-04  Dodji Seketeli  <dodji@gnome.org>
997
998         * src/cr-style.c: cr_style_to_string() added this prototype. 
999         Still have to code it.
1000
1001 2004-01-29  Dodji Seketeli  <dodji@gnome.org>
1002
1003         * src/cr-sel-eng.c: 
1004         (cr_sel_eng_get_matched_style): make sure to set the fields
1005         of the style structure passed as an argument of the function, when
1006         its not NULL.
1007         * src/cr-style.c: 
1008         (cr_style_set_props_to_defaults): make this function public
1009
1010 2004-01-27  Gael CHAMOULAUD  <strider@gnome.org>
1011
1012         * configure.in: Removed the old references with libgnomeui and pango !
1013         * csslint/csslint.c: (csslint_show_version): Made smallish cleanup
1014
1015 2004-01-27  Dodji Seketeli  <dodji@gnome.org>
1016
1017         * src/cr-cascade.c: 
1018         (cr_cascade_new) don't forget to set the UA sheet.
1019         * src/cr-cascade.h: add void cr_cascade_ref() entry point.
1020         
1021 2004-01-26  Dodji Seketeli  <dodji@gnome.org>
1022
1023         * src/cr-cascade.[ch]:
1024         (cr_cascade_ref),(cr_cascade_unref): new convenience function
1025         * src/cr-om-parser.[ch]:
1026         (cr_om_parser_parse_paths_to_cascade),
1027         (cr_om_parser_simply_parse_paths_to_cascade): added these new parsing methods.
1028
1029 2004-01-26  Dodji Seketeli  <dodji@gnome.org>
1030
1031         * src/cr-utils.h: added CR_FILE_NOT_FOUND_ERROR to
1032         the CRStatus enum.
1033
1034 2004-01-24  Dodji Seketeli  <dodji@gnome.org>
1035
1036         * all: separated the library into two projects. Libcroco
1037         is now the combination of the parser and the selection engine.
1038         A new project is born: sewfox. It is basically the 
1039         xml rendering/layout engine.
1040         Libcroco now needs libxml2 and glib only.
1041         Sewfox need libgnomecanvas2.
1042         * autogen.sh: updated this to reflect this big change
1043         * tests/test-output-refs/test7.out: removed this test
1044         as it does not belong to libcroco anymore.
1045
1046 2004-01-16  Dodji Seketeli  <dodji@gnome.org>
1047
1048         * src/seleng/cr-sel-eng.c: applied a patch from
1049         Rob BUIS<rwlbuis@xs4all.nl> for a better class selector
1050         evaluation.
1051
1052 2004-01-04  Dodji Seketeli  <dodji@gnome.org>
1053
1054         * src/parser/cr-declaration.c: 
1055         (cr_declaration_unlink): fixed a bug spoted by
1056         Rob BUIS.
1057
1058 2003-12-27  Dodji Seketeli  <dodji@gnome.org>
1059
1060         * csslint/csslint.c: did some fixes/cleanup here.
1061         Make sure csslint --help shows a proper help.
1062         * src/parser/cr-statement.c: 
1063         (cr_statement_dump): when a NULL statement is given, do
1064         not dump anything, instead considering this as an error.
1065         * src/parser/cr-stylesheet.c: 
1066         (cr_stylesheet_dump): give the possibility to dump
1067         empty sheets, instead of considering this case as
1068         an error case.
1069         
1070 2003-12-24  Dodji Seketeli  <dodji@gnome.org>
1071
1072         * src/parser/cr-additional-sel.h,src/parser/cr-pseudo.h,
1073         src/parser/cr-utils.h: some light cosmetic changes.
1074         * src/seleng/cr-sel-eng.c: several fixes. Managed to
1075         make the pluggable handler for pseudo class selectors
1076         evaluation work. Wrote a handler for the ":first-child"
1077         pseudo class selector. This class is now officially supported.
1078
1079 2003-12-24  Dodji Seketeli  <dodji@gnome.org>
1080
1081         * src/parser/cr-additional-sel.h: small cosmetic changes.
1082         * src/seleng/cr-sel-eng.c: started to work on the
1083         support of a pluggable handler for pseudo class selectors
1084         evaluation. Wrote facilities to register/unregister/lookup
1085         the handler.
1086         * src/seleng/cr-sel-eng.c: 
1087         (pseudo_class_add_sel_matches_node)  pluggable pseudo class selection
1088         evaluation architecture is in place. I still have to
1089         writte a real "handle" to handle say ":first-child" pseudo
1090         class so that I can test/debug the whole code.
1091
1092 2003-12-21  Dodji Seketeli  <dodji@gnome.org>
1093
1094         * docs/design/parser-architecture.txt: fixed some typos.
1095
1096 2003-12-14  Dodji Seketeli <dodji@gnome.org>
1097
1098         * docs/examples/selection-example-1.c:
1099         * docs/examples/selection-example-1.xml:
1100         * docs/examples/selection-example-1.css: added a test case
1101         for the A + B type of selectors.
1102          added
1103         * src/seleng/cr-sel-eng.c: 
1104         (get_next_element_node)
1105         (get_prev_element_node)
1106         (get_next_parent_element_node): added these helper functions
1107         to help ignore non element nodes in the selector matcher.
1108         (sel_matches_node_real): Do not consider non element nodes
1109         when evaluating a selector.
1110         
1111 2003-12-13  Dodji Seketeli <dodji@gnome.org>
1112 ============= 0.4 release ================
1113         * README: updated this.
1114         * docs/examples/sac-example-[12].c: make this compile with g++. 
1115
1116 2003-12-12  Dodji Seketeli <dodji@gnome.org>
1117
1118         * docs/examples/selection-example-1.c: a bit of cleanup 
1119         and bug fix here.
1120         * docs/examples/selection-example-1.css: added more test cases.
1121         * src/seleng/cr-sel-eng.c: 
1122         (additional_selector_matches_node): added this function to 
1123         factorise the evaluation of additional selectors.
1124         (sel_matches_node_real ): use additional_selector_matches_node().
1125         This fixes a selector bug spotted by Stefan Seefeld.
1126
1127 2003-12-11  Dodji Seketeli <dodji@gnome.org>
1128
1129         * configure.in: updated version numbers for 0.4.
1130         * src/layeng/cr-lay-eng.[ch]: 
1131         (cr_lay_eng_style_to_pango_font_attribute): added this so
1132         that the pango dependancy comes into the layout engine.
1133         * src/parser/cr-parser.c,src/parser/cr-selector.h,
1134         src/parser/cr-stylesheet.h,src/parser/cr-term.[ch],
1135         src/parser/cr-utils.h: 
1136         made sure libcroco headers files
1137         are C++ compilers friendly.
1138         * src/seleng/Makefile.am: remove pango dependancy from the
1139         selection engine. Put it in the layout engine.
1140         * src/seleng/cr-style.[ch]: 
1141         (cr_style_to_pango_font_attributes): removed this function
1142         from here and put it in src/layeng/cr-lay-eng.[ch]. This way,
1143         we seleng doesn't depend on pango. Only layout engine does.
1144         * Makefile.am: big cleanup here.
1145         * configure.in: make sure seleng, layeng and tests are 
1146         disabled by default. Added makefiles in docs/ docs/example
1147         tests/ tests/test-inputs tests/test-output-refs
1148         * csslint/Makefile.am: cleaned this up. make sure to add
1149         seleng,layeng and glib compile flags whenever needed.
1150         * docs/Makefile.am,docs/examples/Makefile.am: new makefiles.
1151         * src/libcroco.h: removed references to cr-parser-input.h
1152         * src/layeng/Makefile.am: cleanup, make distcheck is happier.
1153         * src/parser/Makefile.am: cleanup, make distcheck is happier.
1154         * src/parser/cr-doc-handler.h: removed reference to cr-parser-input.h
1155         * src/parser/cr-layout-eng.h,src/parser/cr-parser-input.h: removed these.
1156         * src/parser/cr-parser.c: 
1157         (cr_parser_new): fixed a typo here.
1158         * src/parser/cr-parser.h,src/parser/cr-tknzr.h: 
1159         removed ref to cr-parser-input.h
1160         * src/seleng/Makefile.am: cleanup, make distcheck is happier.
1161         * tests/testctl: exclude makefiles when diffing outputs and re outputs.
1162         * configure.in,src/layeng/Makefile.am,src/seleng/Makefile.am:
1163         Provides libcrseleng and libcrlayeng with version info 
1164         different from the one of libcroco.
1165         * src/layeng/Makefile.am,src/seleng/Makefile.am: Fixed more
1166         build system stuffs here.
1167         * docs/examples/cssom-example-1.c,docs/examples/sac-example-1.c: Make these
1168         compile with g++.
1169         * src/layeng/Makefile.am: another build system cleanup.
1170         * docs/examples/selection-example-1.c,docs/examples/selection-example-1.css,
1171         docs/examples/selection-example-1.xml: added this code example
1172         from Stefan Seefeld.
1173
1174 2003-08-17  Gaël CHAMOULAUD <strider@gnome.org>
1175
1176         * src/layeng/cr-lay-eng.c: (layout_block_box):
1177         * src/seleng/cr-sel-eng.c: (put_css_properties_in_hashtable):
1178         Applied a patch from Michael Culbertson <Michael.J.Culbertson@wheaton.edu>
1179         -> Compilation failed with gcc 2.95.4 due to declarations after calls to 
1180         g_return_val_if_fail and the like.
1181
1182 2003-07-15  Dodji  <dodji@gnome.org>
1183
1184         * src/seleng/cr-sel-eng.c (id_add_sel_matches_node): 
1185         fixed some stupid error that was making gcc 2.9xxx cry.
1186
1187 2003-07-05  Dodji Seketeli  <dodji@gnome.org>
1188
1189         * src/seleng/cr-style.h: rearranged the enum CRNumProp values.
1190         
1191         * src/seleng/cr-style.c: fixed the border-x:<a number> bug.
1192         This now support also number and not only symbolic border width
1193         like thin,thick etc ...
1194         
1195         * src/parser/cr-num.c: documented the apis here.
1196         
1197         * src/layeng/cr-lay-eng.c: Fixed some subtle bugs and finally implemented
1198         the width:15% (set percentage to width).
1199
1200 2003-07-01  Dodji Seketeli  <dodji@gnome.org>
1201
1202         * src/layeng/cr-lay-eng.c: put the 
1203         call to style_specified_2_computed_values() in the
1204         layout_box() function. It was previously in the create_box_tree_real().
1205         
1206         * src/layeng/cr-box-view.c: fixed a compiler warning.
1207         * hmmh first commit after 0.2 release.
1208
1209 2003-06-30  Dodji Seketeli <dodji@gnome.org>
1210
1211         * tests/test-output-refs/test4.1.css.out: updated this
1212         test reference output.
1213
1214         * src/parser/cr-statement.c: fixed a typo that lead to a small
1215         regression detected by the non regression test suite.
1216
1217         * tests/testctl: made sure no to consider the .cvsignore file
1218         during the final diff.
1219
1220         * src/layeng/cr-box-view.[ch]: fixed some compiler warnings.    
1221
1222 2003-06-28  Gaël Chamoulaud (strider) <strider@freespiders.org>
1223
1224         * csslint/csslint.c (csslint_show_version): Added CROCO_LAYENG_ENABLED
1225         test in csslint_show_version function.  
1226
1227 2003-06-23  Dodji Seketeli  <dodji()47()seketeli()dot()org>
1228
1229         * docs/design/parser-architecture.txt: more bits on this.
1230
1231 2003-06-22  Dodji Seketeli  <dodji@gnome.org>
1232
1233         * src/parser/cr-statement.c: added
1234         parse_font_face_unrecoverable_error_cb(), 
1235         parse_page_unrecoverable_error_cb() ... to handle
1236         parsing error in the cr_statement_xxx_parse() method.
1237         These callback method are not called yet.
1238         
1239         * src/parser/cr-tknzr.c: made the cr_tknzr_parse_important() look
1240         somewhat better.
1241         
1242         * src/parser/cr-parser.c: fixed some bugs in the parser.
1243         It does now parse the w3c forward compatible parsing test sheet
1244         at http://www.w3.org/Style/CSS/Test/CSS1/current/sec71.htm .
1245
1246         * docs/design/parser-architecture.txt: updated this doc.
1247         A lot more is still needed.
1248
1249         * csslint/csslint.c: fixed some small bugs in csslint. Now, --cssom is
1250         set by default.
1251
1252 2003-06-21  dodji  <dodji()seketeli()org>
1253
1254         * src/parser/cr-statement.[ch]:
1255         Changed the prototype of cr_statement_unlink() to
1256         harmonize it with cr_declaration_unlink().
1257
1258 2003-06-20  Dodji Seketeli  <dodji@gnome.org>
1259
1260         * src/parser/cr-term.[ch]:
1261         added the  cr_term_parse_expression_from_buf() function.
1262         this is new and still needs to be tested.
1263         
1264         * src/parser/cr-parser.[hc]:
1265         made cr_parser_parse_expr() public.
1266         
1267         * src/parser/cr-declaration.[ch]:
1268         changed cr_declaration_parse() into 
1269         cr_declaration_parse_parse_from_buf().
1270         
1271         * src/parser/cr-statement.[ch]:
1272         fixed some typos.
1273         added the function cr_statement_does_buf_parses_against_core() and
1274         cr_statement_ruleset_get_declarations().
1275         
1276         * src/parser/cr-parser.[ch]:
1277         made cr_parser_parse_statement_core() public.
1278         
1279         * src/parser/cr-om-parser.c:
1280         fixed a small typo.
1281         
1282         * src/parser/cr-declaration.[ch]
1283         added a new cr_declaration_unlink() function.
1284
1285 2003-06-19  Dodji Seketeli  <dodji@gnome.org>
1286
1287         * tests/test4-main.[ch]: updated this to test
1288         cr_statement_parse_from_buf(). It seems to work now.
1289         Still some memleaks to fix.
1290
1291         * src/parser/cr-statement.[ch]:
1292         some bug fixes in cr_statement_parse_from_buf() + 
1293         added a new cr_statement_at_import_rule_parse_from_buf() method.
1294
1295 2003-06-18  Dodji Seketeli  <dodji@gnome.org>
1296
1297         * src/parser/cr-statement.[ch]:
1298         added cr_statement_font_face_rule_parse_from_buf () .
1299         and a generic cr_statement_parse_from_buf () that knows
1300         how to a parse virtually any css2 statement. This needs debugging
1301         though.
1302
1303         * src/parser/cr-parser.c: fixed some possible sigsev
1304         that could occur when trying to access a null sac handler.
1305
1306         * tests/test4-main.c: updated the test routine to test
1307         cr_statement_at_charset_rule_parse_from_buf().
1308         
1309         * src/parser/cr-statement.[ch]: added a new
1310         cr_statement_at_charset_rule_parse_from_buf() method to
1311         to create an "@charset" statement from a buffer text content.
1312
1313         * src/parser/cr-parser.c:Fixeds a small possibility of memleak
1314         in cr_parser_parse_charse()     
1315         
1316         * tests/test4-main.c: fixed a small typo in the "@page" rule
1317         embedded in gv_at_page_buf.
1318         
1319         * src/parser/cr-parser.c: fixed a small bug in the
1320         cr_parser_parse_page () function.
1321
1322 2003-06-17  Dodji Seketeli <dodji@gnome.org>
1323
1324         * tests/test4-main.c: added test_cr_statement_at_page_rule_parse ()
1325         to test the new cr_statement_at_page_rule_parse_from_buf() function.
1326         
1327         * src/parser/cr-statement.[ch]:
1328         added a first version of cr_statement_at_page_rule_parse_from_buf().
1329         This doesn't work. I need to debug it first.
1330         
1331         * tests/test4-main.c: updated this to test
1332         cr_statement_at_media_rule_parse_from_buf().
1333         
1334         * src/parser/cr-statement.[ch]:
1335         debuged cr_statement_at_media_rule_parse_from_buf() and the functions
1336         it relies on.
1337         cr_statement_new_ruleset()=> fixed this so that it properly
1338         handles the containing  "@media" rule.
1339         cr_statement_new_at_media_rule =>fixed this so that it properly
1340         handles the contained rulesets.
1341         
1342         * src/parser/cr-statement.[hc]:
1343         coded  a first version of cr_statement_at_media_rule_parse_from_buf().
1344         This took the writing of a couple a SAC callback. Pfffew, SAC is a rather
1345         tedious api. cr_statement_at_media_rule_parse_from_buf() does not
1346         work yet, I still have to debug it.
1347
1348         * src/parser/cr-parser.c: use the new cr_tknzr_peek_byte2 () function
1349         in the cr_parser_parse_import() method. This is a cleaner, smaller and
1350         faster than the older approach.
1351
1352         * src/parser/cr-om-parser.c: use the
1353         cr_dup_glist_of_string () helper fonction in the
1354         start media callback.
1355         
1356         * src/parser/cr-utils.[ch]: fixed some 'const' omissions here also.
1357         
1358         * src/parser/cr-enc-handler.[ch]:
1359         fixed some "const" omissions.
1360         
1361 2003-06-16  dodji  <dodji@gnome.org>
1362
1363         * src/parser/cr-parser.[ch]: cr_parser_parse_charset(), 
1364         cr_parser_parse_import(), cr_parser_parse_page (),
1365         cr_parser_parse_font_face(), cr_parser_parse_media(),
1366
1367         * src/parser/cr-tknzr.[ch]:
1368         added cr_tknzr_peek_byte2() function to export the functionalities
1369         of cr_input_peek_byte2().
1370
1371 2003-06-15  dodji  <dodji@gnome.org>
1372
1373         * tests/test4-main.c: updated this to test the new
1374         cr_statement_ruleset_parse_from_buf () method.
1375         
1376         * src/parser/cr-statement.[ch]:
1377         Added a cr_statement_ruleset_parse_from_buf () method. This
1378         is based on the changes made in cr-parser.[ch].
1379         
1380         * src/parser/cr-selector.[ch]: 
1381         added a method cr_selector_parse_from_buf (). This is based
1382         on the changes made in cr-parser.[ch].
1383
1384         * src/parser/cr-parser.[ch]: 
1385         Some rather important changes occured here ...
1386         revisited the way selectors and rulesets are parsed
1387         so that one could parse a buffer that contains only a ruleset.
1388         A visible implication of this is that cr_parser_parse_selector () and
1389         cr_parser_parse_ruleset () become public methods callable independantly.
1390         In the past, this was not possible. Only cr_parser_parse_stylesheet ()
1391         was public.
1392         
1393         * src/parser/cr-om-parser.c: updated this to comply with the
1394         changes made in cr-doc-handler.[ch].
1395         
1396         * src/parser/cr-doc-handler.[ch]: 
1397         1/ Created an explicitely private field of CRDocHandler
1398         to store parsing context, parsing result and any eventually
1399         needed private data structure. The privates fields are
1400         accessible through getters/setters though.      
1401         2/ made sure to increment the ref count of each instance
1402         of CRDocHandler at instanciation time. This may 
1403         introduce some memleaks in the working code. I will
1404         fix them in next commits.
1405         
1406         * src/parser/cr-declaration.c:
1407         (cr_declaration_append2() ): modified this so that
1408         we can append declaration to a list of declarations that
1409         don't belong to a ruleset.
1410
1411 2003-06-14  dodji  <dodji@gnome.org>
1412
1413         * src/parser/cr-term.h (struct _CRTerm): fixed a typo.
1414
1415         * src/layeng/cr-lay-eng.c, src/seleng/cr-style.[hc]: 
1416         more fonts selection implementation.    
1417         
1418         * tests/test7-main.c: updated this to test the font selection implem.   
1419         
1420 2003-06-12  dodji  <dodji@gnome.org>
1421
1422         * src/seleng/Makefile.am: added pango stuffs.
1423         * configure.in: added pango detection.
1424         * src/seleng/cr-fonts.c: a bit more font selection.
1425         * src/layeng/cr-lay-eng.c: a bit more font selection.
1426         * src/seleng/cr-style.c: font selection code again.
1427
1428 2003-06-09  Dodji  <dodji@gnome.org>
1429         * tests/test4-main.c: updated this test to test the
1430         new cr_declaration_to_string () api.
1431         
1432         * src/parser/cr-declaration.[ch] (cr_declaration_to_string ()):
1433         Added this new api to allow the serialisation of css declarations.
1434         This is not well tested yet, but it works.
1435
1436         * src/parser/cr-parser.c (cr_parser_parse_declaration): 
1437         fixed a bug that prevented this parsing function to be called outside
1438         the stylesheet parsing context.
1439
1440         * src/seleng/cr-style.[ch]: went forward in the font properties 
1441         gathering.
1442         
1443         * src/parser/cr-tknzr.[ch]: fixed some 'const" related compilation
1444         warnings.
1445         
1446         * src/parser/cr-parser.[ch]: exported the declaration parsing api
1447         so that cr_declaration_parse () can use it.
1448         
1449         * src/parser/cr-declaration.[ch]:
1450         added cr_declaration_parse () api. Not tested yet.
1451         
1452         * tests/test7-main.c: updated the test to reflect all the changes
1453         that happened today.
1454         
1455         * src/parser/cr-enc-handler.[ch], src/parser/cr-input.[ch], 
1456         src/parser/cr-om-parser.[hc], src/parser/cr-parser.[ch].
1457         Add the 'const' keyword in to function prototypes.
1458
1459         
1460         * src/layeng/cr-lay-eng.c: 
1461         (compute_text_box_inner_edge_size ()) revisied this function to
1462         make it append the text label to it's container so that
1463         the size of the text label can be computed. I don't know how
1464         to do this otherwise. I would have liked this not to happen since
1465         compute_text_box_inner_edge_size () is part of the layout process
1466         not the rendering process. Now these two processes are much more
1467         tied than I would like.
1468         
1469         * src/layeng/cr-box.c:
1470         updated the cr_box_to_string () method to make it serialise
1471         CRBox->inner_edge.max_width for debug purposes.
1472
1473         * src/layeng/cr-box-view.c: 
1474         1/now, the layout code is called
1475         in the "expose-event" signal callback. Trying to isolate the
1476         layout from the rendering appears to be too difficult 
1477         if not impossible.
1478         
1479         2/created a cr_box_view_new_from_xml_css_bufs () method to create
1480         a box view directly from a css buffer and an xml buffer.
1481
1482 2003-06-04  Dodji  <dodji@gnome.org>
1483
1484         * tests/test7-main.c: created a new xml/css document to bring the test to
1485         a broader extend. It appeared that libcroco's layout code is 
1486         damned bugged... I am debugging it...
1487
1488         * src/seleng/cr-style.c:changed the default element display property
1489         to "block" and not "inline" anymore.
1490         Also made the set_prop_background_color () function support
1491         hex strings (e.g.: #ffffff or #ee)
1492
1493         * src/parser/cr-rgb.[ch]: added cr_rgb_set_from_hex_str ()
1494         to support hash (hex) strings (#ffffff or #eee).
1495
1496         * src/parser/cr-num.c:support of fixed/variable length numbers.
1497
1498         * src/layeng/cr-lay-eng.c: a lot of layout fixes.
1499         
1500
1501 2003-05-31      Kang Jeong-Hee  <Keizi@mail.co.kr>
1502
1503         * src/parser/*.[ch]: s/void */gpointer/
1504
1505 2003-05-12  Dodji  <dodji@gnome.org>
1506
1507         * tests/test7-main.c: updated the test to reflect the new supported
1508         css2 properties.
1509
1510         * src/layeng/cr-style.c:
1511         (set_prop_border_x_width_from_value ()) debugged this.  
1512         (set_prop_border_x_style_from_value ()) debugged this.
1513         
1514         * src/layeng/cr-box-view.c:
1515         (draw_borders ()) debugged this a lot.
1516
1517 2003-05-07  Dodji  <dodji@gnome.org>
1518
1519         * tests/test7-main.c: just added a test for the "background-color" 
1520         property.
1521
1522         * src/layeng/cr-box-view.c:
1523         (set_color ()) added this function to manage the setting
1524         of rgb color in an easier way than set_background/foreground().
1525         (set_border_line_attrs ()) implemented the border-x-color
1526         property setting in this function. This uses the new set_color ()
1527         function.
1528         (draw_padding ()) revisited this function to make it draw
1529         a padding area that has "background" color.
1530         
1531         
1532 2003-05-06  Dodji  <dodji@gnome.org>
1533
1534         * src/layeng/cr-style.[ch]: started to add the support of
1535         the "color" and "background-color" properties.
1536
1537         * src/layeng/cr-lay-eng.c:
1538         (style_specified_2_computed_value()) updated this function to
1539         compute also the new colors properties (color and background-color).
1540         
1541         * src/layeng/cr-box-view.c:
1542         (set_background_color ()) 
1543         (set_foreground_color ())added these functions to set the box 
1544         inner/padding edge color.
1545         also started to use these two functions to test them.
1546         
1547 2003-05-05  Dodji  <dodji@gnome.org>
1548
1549         * tests/test7-main.c: small update for debug purposes.
1550
1551         * src/layeng/cr-style.h: cleanup.
1552
1553         * src/layeng/cr-lay-eng.c: put in here what is needed to support
1554         border-x and border-style-x properties.
1555
1556         * src/layeng/cr-box.[ch]: make CRBoxModel inherits CRBox.
1557
1558         * src/layeng/cr-box-view.c: start to support the border-style-x and
1559         border-x property. I must test this.
1560
1561         * configure.in: defined a personal environment where I can set
1562         the CFLAGS I want.
1563
1564 2003-05-04  Dodji  <dodji@gnome.org>
1565
1566         * src/parser/cr-tknzr.c:
1567         (cr_tknzr_get_next_token ()) fixed a small bug in here.
1568         
1569         * src/layeng/cr-style.[ch]: 
1570         Deeply Modified the layout of the CRStyle structure for 
1571         1/group all numerical properties together in a table.
1572         2/group all color (rgb) properties together in another table.
1573         3/group all border style properties together in another table.
1574         That way, accessing those properties is more efficient.
1575         4/make sure that each properties can have 3 values:
1576         specified, computed and actual value as specified by the css2 spec. 
1577         (I doubt actuall value is usefull
1578         here though).
1579         Modified the file to make this be coherent again.
1580
1581         * src/layeng/cr-lay-eng.c :
1582         Made this coherent after the change of the CRStyle structure.
1583         
1584         (normalize_num ()):created this function to
1585         normalize numerical properties.
1586         (style_specified_2_computed_values ): 
1587         new function to computed css2 "computed values" from specified values.
1588         This is required by the css2 spec in chap 6.1.
1589         (create_box_tree_real): updated this to make it call 
1590         style_specified_2_computed_values () before actually building the box.
1591
1592 2003-05-01  Dodji  <dodji@gnome.org>
1593
1594         * configure.in, csslint/Makefile.am, src/parser/Makefile.am, src/seleng/Makefile.am, src/layeng/Makefile.am: 
1595         fixed #111895
1596
1597 2003-04-28  Dodji  <dodji@gnome.org>
1598
1599         * tests/test7-main.c: woohoo, this now shows some text. 
1600         Okay, it is a crappy design sketch, but this is a milestone.
1601
1602         * src/layeng/cr-lay-eng.c: store the created label widget in the cache.
1603         box content cache.
1604         * src/layeng/cr-box.h:created a box content cache to store the label 
1605         widget used to calculate text box size.
1606         
1607         * src/layeng/cr-box-view.[hc]: made this simpler and manage to
1608         make it show someting on the screen. Now the box view
1609         is just the view port. To render the box model, we just walk thru it
1610         and draw each box in the box view.
1611         
1612
1613 2003-04-26  dodji  <dodji@gnome.org>
1614         
1615         * configure.in: made sure to include the libgnomeui clflags and
1616          libsflags to croco libs and croco cflags when the layeng is turned
1617          on.
1618         * csslint/Makefile.am: made sure to use the CROCO_LIBS and CROCO_CLFAGS
1619          variables.
1620         * src/libcroco.h: added the cr-box-view.h include file
1621         * src/layeng/cr-box-view.c: started to write a draw_box() function that
1622          will draw the box tree on the screen.
1623         * src/layeng/cr-lay-eng.c: removed the adjust_edges_on_inner_edge () function.
1624         * tests/Makefile.am: made sure to include libgnomeui clfags and libs
1625          when layeng is turned on.
1626         * tests/test7-main.c: made started to include a cr-box-view.c test.
1627
1628 2003-04-20  dodji  <dodji@gnome.org>
1629
1630         * tests/test7-main.c: updated the test7 code to see the layout in
1631         action.
1632
1633         * src/layeng/cr-style.[ch]: just modified some rule 
1634         names for convenience.
1635
1636         * src/layeng/cr-lay-eng.[ch]:
1637         when forward in normal flow layout code. Have now very basic layout code.
1638         Still have to write a canvas code to render the layed out box.
1639
1640         * src/layeng/cr-lay-eng.c (compute_text_box_inner_edge_size): started to work on the
1641         the inner edge size computation based on pango.
1642
1643         * src/layeng/Makefile.am: updated to compile/link against libgnomeui.
1644         * configure.in: updated it to test the presence
1645         of libgnomeui if and only if the layout engine is enabled.
1646
1647 2003-04-15  Alexander Larsson  <alexl@redhat.com>
1648
1649         * Makefile.am:
1650         Change _DATA to _HEADERS for header
1651         
1652         * src/Makefile.am:
1653         Only use filename for _HEADERS.
1654         remove libcroco-config.h from _HEADERS
1655
1656 2003-04-12  dodji  <dodji@gnome.org>
1657
1658         * src/* made a big change of the source tree.
1659         Now, the whole thing is divided in 3 parts:
1660         the paser, the selection engine and the layout engine.
1661         The parser source files produce a libcroco.so shared lib.
1662         The selection engine source files produce a libcrseleng.so shared
1663         library.
1664         The layout engine source fils produce a libcrlayeng.so shared
1665         library.
1666         The same configure options as before apply.
1667
1668 2003-04-05  Dodji  <dodji@gnome.org>
1669
1670         * src/cr-token.h (struct _CRToken): 
1671         applied a patch from Greg Lee <greg@ling.lll.hawaii.edu>,
1672         which solves a compilation error under gcc 2.95.3. Basically,
1673         it transforms an implicitly defined  union into an explicitly
1674         defined one. Modified all the files impacted.
1675         
1676 2003-04-03  Dodji  <dodji@gnome.org>
1677
1678         * tests/testctl: can now run one single test. This can also
1679         run all the tests a run a simple report that summarizes the
1680         results of the tests.
1681
1682         * configure.in: make sure this generates the libcroco.spec file.
1683         make sure to test the presence of glib2 during configure.
1684
1685         * libcroco.spec.in: added autoconf magic in this.
1686         Can now generate an rpm by typing make rpm. Before that,
1687         the user that types make rpm must have write acess to
1688         /usr/src .
1689
1690 2003-04-02  Gaël Chamoulaud (strider) <strider@freespiders.org>
1691         
1692         * croco-config.1: updated the man page
1693         * csslint/csslint.1: updated the man page
1694
1695 2003-04-01  Dodji  <dodji@gnome.org>
1696
1697         * tests/testctl: started to code the libcroco test launcher script.
1698         it is not useable yet, but work is in progress.
1699
1700 2003-03-31  Dodji  <dodji@gnome.org>
1701         * src/cr-lay-eng.c: started to code the tree annotation process.
1702         I seriously need to debug this.
1703         
1704         * configure.in: put in there the list of tests to be compile
1705         and the conditions cause AM_CONDITIONAL() is buggy and does
1706         not seem to fit my needs. Also modified tests/Makefile.am
1707         to take this in account.
1708         
1709         * tests/test7-main.c: added this file to debug the layout engine
1710         related stuffs.
1711
1712         * croco-config.1: some minor fixes in the man page.
1713         
1714 2003-03-30 Christian Schaller <uraeus@gnome.org>
1715         * Fixed disting by adding manpages to EXTRA_DIST
1716         * Added spec.in file, this need to be added to build 
1717           system to generate .spec file.
1718         * Remove Makefile.in from CVS, this is a generated file
1719         
1720 2003-03-30  Dodji  <dodji@gnome.org>
1721         * autogen.sh: 
1722         Made sure that in dev mode, the configure scripts
1723         gets called with --enable-tests=yes --enable-seleng=yes
1724         --enable-layeng=yes. This options being set to 'no' by default.
1725
1726         * src/cr-lay-eng.c: 
1727         Started to code a layout engine. This is more a design
1728         sketch than real usefull code so far.
1729
1730         * src/cr-cascade.c:
1731         Started to code a #CRCascade class to abstract a css2 cascade.  
1732         This is more a placeholder (or a design sketch) than real
1733         usefull code today.
1734         
1735         * tests/Makefile.am: improved the conditional compilation
1736         of the tests; e.g if the selection engine feature is disabled
1737         the selection engine tests won't be compiled.   
1738         * configure.in: added --enable-layeng to contionaly compile
1739         the layout engine files. Also improved the handling of
1740         of the enable-xxx arguments => 'yes' forces the feature to
1741         be enabled (the coder knows what he is doing); 'auto' checks
1742         if the features xxx depends on are available and then
1743         switches xxx on.
1744
1745 2003-03-24  dodji  <dodji@gnome.org>
1746         * src/cr-style.c (cr_style_set_style_from_decl): 
1747         Have a first hot (and bugged) implem of this function.  
1748         I can now, go and get worried about building the annotated
1749         xml tree.
1750
1751 2003-03-20  Gaël Chamoulaud  <strider@freespiders.org>
1752
1753         * Makefile.am (SUBDIRS): added man page for croco-config
1754
1755 2003-03-20  Dom Lachowicz <cinamod@hotmail.com>
1756
1757         * COPYING: replace with contents from COPYING.LIB (GNU LGPL)
1758         
1759 2003-03-20  Gaël Chamoulaud  <strider@freespiders.org>
1760
1761         * configure.in: added conditional compilation of the unit tests
1762         in tests/ subdir 
1763
1764         * tests/Makefile.am (INCLUDES): conditional compilation of the unit tests
1765         in tests/ subdir 
1766
1767 2003-03-19  Gaël Chamoulaud  <strider@freespiders.org>
1768
1769         * Relicense from GPL -> LGPL
1770
1771 2003-03-18  Gaël Chamoulaud  <strider@freespiders.org>
1772
1773         * configure.in: fixed a configure bug. Make sure to properly
1774         check the libxml2 versions.
1775
1776 2003-03-18  Dom Lachowicz <cinamod@hotmail.com>
1777
1778         * autogen.sh: Use gnome-autogen (cvs co gnome-common). Creates libtool
1779         and other things properly
1780
1781         * configure.in: better check for LIBXML2, conditional compilation of
1782         the SELENG module
1783
1784         * tests/Makefile.am: disable test5 until I can think of a better 
1785         work-around
1786         
1787 2003-03-16  dodji  <dodji@gnome.org>
1788
1789         * src/cr-style.c (set_border_x_style_from_value): 
1790         new method added to gather 'border_top_style' ... 'border_left_style'
1791         properties value from the css stylesheet.
1792         
1793         (set_border_x_width_from_value): completed this function
1794         to properly gather 'border_top_width' ... 'border_left_width'
1795         properties values from the css stylesheet.
1796
1797         * src/cr-num.c (cr_num_set): new method added.
1798
1799 2003-03-15  dodji  <dodji@gnome.org>
1800
1801         * src/cr-utils.[ch]
1802         added some new helper functions/did some cleanups.
1803         
1804         * src/cr-tknzr.[ch]:
1805         made the necessary modifs implied by the new CRNum/CRTerm type
1806         system.
1807
1808         * src/cr-term.[ch]:
1809         big cleanup of the CRTerm/CRNum typing system.
1810
1811         * src/cr-style.[ch]:
1812         went forward in the style data structure population code.
1813
1814         * src/rgb.[ch]:
1815         made the necessary modifs implied by the new CRNum type
1816         system
1817         
1818         * src/cr-parser.c:
1819         made the necessary modifs implied by the new CRNum type
1820         system
1821
1822         * src/cr-num.[ch]: did some big changes for a better
1823         handling of numeric types.
1824
1825 2003-03-05  Dodji  <dodji@gnome.org>
1826
1827         * src/cr-parser.c (cr_parser_new_from_buf): 
1828         new method to parse stylesheets from in memory buffers.
1829
1830 2003-03-04  Dodji  <dodji@seketeli.og>
1831
1832         * src/cr-input.c (cr_input_new_from_buf): 
1833         added this new method to instanciate an input stream from
1834         an in memory buffer.
1835         (cr_input_new_from_uri): modified this method to make it
1836         use the new cr_input_new_from_buf() method.
1837
1838 2003-03-03  Dodji  <dodji@gnome.org>
1839
1840         * tests/README-description.txt: 
1841         added this test description file in the project.
1842         
1843         * src/cr-sel-eng.c (cr_sel_eng_get_matched_rulesets_real): 
1844         renamed the function cr_sel_eng_get_rulesets_real() into
1845         this new one. Modified it memory management model so that 
1846         1/ it does not allocate it output array
1847         2/ caller can use it in a incremental way and get the rulesets
1848         chunck by chunk.
1849         (cr_sel_eng_sel_get_matched_rulesets): 
1850         added this public interface based on the private interface
1851         cr_sel_eng_get_matched_rulesets_real().
1852         
1853
1854 2003-03-02  Dodji  <dodji@gnome.org>
1855
1856         * src/cr-sel-eng.c (cr_sel_eng_get_rulesets_real): 
1857         started to code an implementation of a ruleset "requester".
1858         Still have to debug all this.
1859
1860 2002-09-25  dodji  <dodji@gnome.org>
1861
1862         * src/cr-utils.h: updated this file to define stuffs needed by
1863         other modules.
1864
1865         * src/cr-parser-input.c: started to write down code to handle
1866         the stacked parser input.
1867