fix unconditional check of first GParamSpec in
[platform/upstream/glib.git] / ChangeLog
1 2001-07-23  Padraig O'Briain  <Padraig.Obriain@sun.com>
2
3         * gobject/gobjectnotifyqueue.c: fix unconditional check of
4         first GParamSpec in g_object_notify_queue_thaw(); prevent
5         property notification being lost
6
7 2001-07-23  Ron Steinke  <rsteinke@w-link.net>
8
9         * glib/giochannel.c: fixed g_io_channel_seek_position() so that
10         G_SEEK_CUR works for UTF-8 channel encoding, and unallocated
11         converters are not flushed after the seek; fixed
12         g_io_channel_get_buffer_condition() so that G_IO_IN is only
13         set if the read buffer contains at least one full character
14
15 2001-07-23  Sven Neumann  <sven@gimp.org>
16
17         * Makefile.am: removed glib.def from EXTRA_DIST ...
18         * glib/Makefile.am: ... and added it here.
19
20 2001-07-22  Hans Breuer  <hans@breuer.org>
21
22         * glib/giochannel.c (g_io_channel_get_buffer_condition) : make
23         the code actually have an effect (Use |= to set bits). Not
24         absolutely sure if is the right one.
25
26         * glib/giowin32.c (g_io_win32_<check|prepare>) : don't modify
27         watch->condition but restored the previous behaviour.
28         Now gio-test as well as The Gimp work again ...
29         
30 2001-07-21  Hans Breuer  <hans@breuer.org>
31
32         * glib/giowin32.c (g_io_channel_new_file) : set the
33         corresponding p(ermission)mode of the file when creating,
34         otherwise a wronly file couldn't be overwritten (at least
35         not on Win9x).
36
37 2001-07-21  Hans Breuer  <hans@breuer.org>
38
39         * glib/giowin32.c : intial implementation of new API functions.
40         Not sure if it behaves as intended ...
41
42         * glib.def : removed, glib/glib.def is the file used since moved
43         * glib/glib.def : updated
44
45         * tests/makefile.msc : added iochannel-test
46
47 Fri Jul 20 19:19:10 (UTC) 2001  Ron Steinke  <rsteinke@w-link.net>
48
49         * glib/giochannel.c: API changes, fixes to
50         error handling, some internal restructuring
51         * glib/giochannel.h: API changes, documentation for
52         elements in GIOChannel structure
53         * glib/giounix.c: Matched API changes, implemented
54         backend to set is_readable, is_writeable, is_seekable
55         flags, added a test to catch large values of count
56         for which the behavior of write() is undefined
57         * glib/giowin32.c: Changed to match new prototypes for
58         io_close() and io_seek(), removed references to
59         G_IO_STATUS_INTR, set is_seekable flag in channel
60         creation functions
61         * glib.def: Renamed g_channel_error_quark() and
62         g_channel_error_from_errno() to g_io_channel_error_quark() and
63         g_io_channel_error_from_errno(); added new functions
64         g_io_channel_get_buffered() and g_io_channel_set_buffered()
65         * docs/reference/glib/glib-sections.txt: Modified iochannel
66         section to reflect new functions and API changes
67         * tests/iochannel-test.c: Fixed to work with API changes
68         * tests/iochannel-test-infile: New file; input file
69         for iochannel-test
70         * tests/unicode-collate.c tests/unicode-normalize.c:
71         Changed G_IO_FILE_MODE_READ to "r" to match API change
72
73 Fri Jul 20 19:16:24 (UTC) 2001  Ron Steinke  <rsteinke@w-link.net>
74
75         * gobject/glib-genmarshal.c: modified to create header files
76         using G_[BEGIN,END]_DECLS instead of #ifdef __cplusplus ...
77
78 Fri Jul 20 14:11:29 2001  Owen Taylor  <otaylor@redhat.com>
79
80         * glib/gutf8.c glib/gunidecomp.c: s/size_t/gsize/ to match
81         prototypes.
82
83 Thu Jul 19 16:05:21 2001  Owen Taylor  <otaylor@redhat.com>
84
85         * glib/gcompletion.c (g_completion_complete): Fix memory
86         leak and dubious list manipulation. (Found by 
87         Ron Koerner, #53408)
88
89         * glib/gfileutils.c (get_contents_stdio): Call fclose()
90         on FILE * on error. (#57057)
91
92 2001-07-20  Hans Breuer  <hans@breuer.org>
93
94         * glib/glib/giowin32.c : make it compile again
95
96         * glib/glib.def : updated exports
97
98         * glib/makefile.msc.in :
99         * glib/makefile.mingw.in : 
100         * tests/makefile.msc.in : reflect glib move
101
102         * tests/mainloop-test.c : #include <io.h> for _pipe()
103
104         * tests/gio-test.c : casts for strict compiler settings
105
106         * makefile.msc.in : new master makefile reflecting the glib
107         move. The '.in' isn't really needed anymore, because there
108         is no version number in it
109
110 2001-07-19  Darin Adler  <darin@bentspoon.com>
111
112         * glib/gstrfuncs.c: (g_ascii_strdown), (g_ascii_strup): Add
113         missing const.
114         (g_strsplit): Add g_return_val_if_fail for case of empty
115         delimiter, which can result in an infinite loop otherwise.
116         * glib/gstrfuncs.h: Add missing const.
117         * tests/.cvsignore: Ignore a generated file.
118         
119         * tests/array-test.c:
120         * tests/dirname-test.c:
121         * tests/hash-test.c:
122         * tests/list-test.c:
123         * tests/node-test.c:
124         * tests/relation-test.c:
125         * tests/shell-test.c:
126         * tests/slist-test.c:
127         * tests/spawn-test.c:
128         * tests/strfunc-test.c:
129         * tests/string-test.c:
130         * tests/testglib.c:
131         * tests/tree-test.c:
132         * tests/type-test.c:
133         Add an #undef G_DISABLE_ASSERT so all tests will assert even if
134         asserts are disabled inside glib itself.
135
136 Fri Jul 13 19:20:06 2001  Owen Taylor  <otaylor@redhat.com>
137
138         * glib/gstring.c (g_string_insert/append/prepend_unichar):
139         Add functions to insert a unichar as UTF-8, since this
140         is reasonably common.
141
142         * glib/gutf8.c glib/gunicode.h (g_utf8_get_char_validated):
143         New function exposing iterating through possibly invalid/incomplete
144         UTF-8 to unicode to the outside world.
145
146         * glib/gutf8.c (g_utf8_get_char_extended): Fix max_len argument
147         to be gssize, not gsize.
148
149 2001-07-17  Kjartan Maraas  <kmaraas@gnome.org>
150
151         * configure.in: Added "nn" to ALL_LINGUAS.
152         
153 2001-07-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
154
155         * glib/gmain.c: Add some assertions. Simplify and fix
156         g_main_context_release(). Fix some locking bugs in
157         g_main_loop_run().
158
159 2001-07-12  Mark Murnane  <Mark.Murnane@sun.com>
160
161         * glib/gmessages.c: Changed prototype of printf_string_upper_bound
162         to return gsize.  Now matches the actual function body.
163
164         * glib/gstrfuncs.c (g_strrstr_len): Changed type of parameter #2 
165         from gint to gssize.  Now matches the prototype in gstrfuncs.h.
166         
167 2001-07-11  Darin Adler  <darin@bentspoon.com>
168
169         * .cvsignore: Add some generated files.
170
171         * glib/gmain.c: (g_main_context_iterate): Comment out cruft
172         after #endif to avoid gcc warning.
173         * gmodule/gmodule.c: (g_module_set_error_unduped): Remove
174         const from type to avoid gcc warning.
175         * gobject/gsignal.c: (g_signal_emitv): ifdef variable used
176         only if G_ENABLE_DEBUG to avoid gcc warning.
177         * gobject/gtype.c: (type_iface_vtable_init_Wm),
178         (type_iface_vtable_finalize_Wm): ifdef call needed only
179         if !G_DISABLE_ASSERT to avoid gcc warning.
180         * tests/testglib.c: (main): ifdef call needed only if
181         !G_DISABLE_ASSERT to avoid gcc warning. Maybe later we
182         should make the test to #undef G_DISABLE_ASSERT.
183         * tests/unicode-collate.c: Add include of <string.h> to
184         avoid gcc warning.
185
186 Wed Jul 11 11:13:50 2001  Owen Taylor  <otaylor@redhat.com>
187
188         * glib/Makefile.am (libglib_1_3_la_SOURCES): Add gunicomp.h
189         (Reported by Sven Neumann).
190
191         * glib/guniprop.c (g_utf8_str/updown) glib/gunicollate.c
192         (g_utf8_collate_key): Fix shadowing problems reported by
193         many (D. Adler, S. Neumann, M. Murmane, L. Peter)
194
195 Fri Jul  6 00:02:41 2001  Tim Janik  <timj@gtk.org>
196
197         * glib/gmessages.c (printf_string_upper_bound): fix negative exponent
198         handling (numbers<0).
199         
200         * glib/gutils.h (g_bit_storage): take a gulong as argument.
201         same for g_bit_nth_lsf() and g_bit_nth_msf() as mask.
202
203 2001-07-08  Martin Baulig  <baulig@suse.de>
204
205         * tests/unicode-normalize.c, tests/unicode-collate.c:
206         Reflect latest g_io_channel_new_file() API changes, use
207         G_IO_FILE_MODE_READ instead of "r".
208
209 Fri Jul  6 22:34:32 2001  Owen Taylor  <otaylor@redhat.com>
210
211         * glib/gunicode.h glib/gunidecomp.c glib/guniprop.c 
212           glib/gunicollate.c: Add length arguments to
213         g_utf8_{strup,strdown,casefold,collate_key}.
214
215         * glib/gdate.c: Fix for above.
216
217 2001-07-06  Pablo Saratxaga <pablo@mandrakesoft.com>
218
219         * configure.in: added Basque (eu) to ALL_LINGUAS
220
221 Mon Jul  2 19:48:52  2001 Andrew Lanoix <alanoix@umich.edu>
222
223         *giowin32.c: g_source_remove()ing an socket iochannel closes
224         the socket when it should not. Patch by Peter Zelezny 
225         <zed@linux.com>
226
227         *giowin32.c: Fix a few typos
228         
229 Mon Jul  2 16:03:21 2001  Owen Taylor  <otaylor@redhat.com>
230
231         * glib/giochannel.c (g_io_channel_get_buffer_condition): Fix.
232
233         * glib/giunix.c: Fix prepare/check/dispatch for watches.
234
235         * tests/unicode-normalize.c: #include <string.h>
236
237 Sat Jun 30 23:14:32 2001  Tim Janik  <timj@gtk.org>
238
239         * glib/glist.[hc]: added g_list_insert_before().
240
241         * glib/gslist.c (g_slist_insert_before): provide an implementation,
242         prototype was already present...
243
244 Sun Jul  1 20:16:25 2001  Owen Taylor  <otaylor@redhat.com>
245
246         * glib/guniprop.c (g_unichar_totitle): Use G_N_ELEMENTS
247         rather than a custom macro.
248
249         * glib/gen-unicode-tables.pl: Adapt to changes in table
250         formats for Unicode 3.1
251
252         * glib/gunicode.h glib/guniprop.c glib/gunichartables.h
253           glib/gen-unicode-tables.pl: Add case conversion functions
254         g_utf8_casefold, g_utf8_strup, g_utf8_strdown.
255
256         * tests/unicode-caseconv.c tests/gen-casefold-txt.pl
257           tests/gen-casemap-txt.pl tests/casefold.txt 
258           tests/casemap.txt: Test cases for case conversion.
259
260         * glib/gunicode.h glib/gunidecomp.[ch] glib/gunicomp.h
261           glib/gen-unicode-tables.pl: Add function to do Unicode
262         normalization g_utf8_normalize().
263
264         * tests/unicode-normalize.c: Test program for case conversion.
265
266         * glib/gunicode.h glib/gunicollate.c: Add collation functions
267         g_utf8_collate, g_utf8_collate_key.
268
269         * test/unicode-collate.c: Test program for collation.
270
271         * glib/gdate.c (g_date_fill_parse_tokens): Fix uninitialized
272         variable.
273
274         * glib/gdate.c (g_date_strftime) docs/Changes-2.0.txt:
275         Make work with UTF-8 even if the locale isn't UTF-8 based.
276         Still somewhat of broken, if the format string contains 
277         characters not representable in the current locale, will warn
278         and not work.
279         
280         * glib/gdate.c: Use UTF-8 normalization and casefolding.
281
282 Sat Jun 30 16:03:16 2001  Owen Taylor  <otaylor@redhat.com>
283
284         * glib/giowin32.c glib/giounix.c glib/gmain.[ch]:
285         Rename GSourceFuncs::destroy to GSourceFuncs::finalize.
286         (#56858)
287
288 Sat Jun 30 15:49:10 2001  Owen Taylor  <otaylor@redhat.com>
289
290         * glib/gmain.[ch]: (Mostly patch from Sebastian Wilhemi)
291         Make some changes to the way that GMainContext works:
292
293          - a GMainContext is no longer associated with a single
294            thread, but any thread can acquire ownership 
295            of thread and iterate.
296
297          - There is a facility g_main_context_wait() for
298            non-owner-threads to wait either for ownership
299            or for a condition to be broadcast.
300
301          - For efficiency, GMainLoop just piggybacks of
302            of the loops mutex / condition instead of
303            having a separate mutex/condition for each
304            GMainLoop.
305
306         * glib/gthread.[ch]: Remove hacks to store the thread's
307         GMainContext in the GThread structures, since we
308         no longer have the GMainContext <=> GThread correspondence.
309         
310         * glib/gmain.[ch]: Make g_main_context_wakeup() public
311         so someone could completely duplicate GMainLoop 
312         with the public API.
313
314         * tests/mainloop-test: Fix up to the new API. Decidedly
315         doesn't work at the moment, but that may be the IO
316         channel changes, or preexisting locking problems.
317
318 Sat Jun 30 13:18:28 2001  Owen Taylor  <otaylor@redhat.com>
319
320         * glib/gstrfuncs.c glib/gstring.h: Try compiling
321         before committing, why don't you? Simple fixes
322         for my stupid typos. 
323
324 Sat Jun 30 12:49:26 2001  Owen Taylor  <otaylor@redhat.com>
325
326         Patch from Darin Adler (#54166)
327         
328         * glib/gstrfuncs.[ch]: Add ascii-only, locale-insensitive
329         g_ascii_to[lower/upper], g_ascii_str[down/up],
330         g_ascii_is[upper/lower] and deprecate the locale-affected
331         versions which break for UTF-8, etc. Make
332         g_ascii_strup/strdown duplicating,
333         not in-place for consistency with UTF-8 functions.
334
335         * glib/gstring.[ch]: Add ascii-only, locale-insensitive
336         g_string_ascii_[down/up], and deprecate the locale-affected
337         versions which break for UTF-8, etc.
338
339         * glib/gutils.c glib/gwin32.c test/testglib.c: Use
340         the g_ascii_* functions where appropriate.
341
342 Fri Jun 29 13:36:39 2001  Owen Taylor  <otaylor@redhat.com>
343
344         * glib/gstring.[ch] (g_string_set_size): Add function to 
345         allow setting the length of a string greater than the 
346         current length (for buffering usage)
347
348         * glib/gstring.[ch]: Expose string->allocated_len, since
349         that is useful when using GString simply as a buffer. 
350         (Renamed from string->alloc)
351
352         * glib/giochannel.[ch] glib/giounix.c glib/giowin32.c:
353         Major patch from Hidetoshi Tajima and Ron Steinke
354         reworking GIOChannel to have:
355
356          - Buffering
357          - Sane and useful error reporting
358          - Streaming encoding conversion with iconv
359          - Convenience functions to read by lines or 
360            an entire file.
361
362         Also fix remaining 64 bit cleanliness issues.
363
364         * tests/iochannel-test.c tests/Makefile.am: Test case
365         for IO channel streaming conversion. Still needs 
366         some fixing up.
367
368 Thu Jun 28 16:57:44 2001  Tim Janik  <timj@gtk.org>
369
370         * configure.in (GLIB_MICRO_VERSION): up version number to 1.3.7,
371         interface age 0, binary age 0.
372
373 2001-06-27  Kjartan Maraas  <kmaraas@gnome.org>
374
375         * glib/gmarkup.c: Fix a typo.
376         
377 2001-06-27  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
378
379         * Makefile.am, configure.in: Removed glib-config-2.0, as we have
380         pkg-config now.
381
382         * glib/Makefile.am: Added -I$(top_srcdir) for builddir != srcdir.
383
384         * Makefile.am: Removed gen-unicode-tables.pl from EXTRA_DIST.
385
386 Tue Jun 26 11:43:46 2001  Owen Taylor  <otaylor@redhat.com>
387
388         * configure.in Makefile.am *.[ch] glib/*.[ch] glib/Makefile.am:
389         Move glib library into a subdirectory, make all GLib include
390         files include as <glib/glist.h>
391
392         * tests/testglib.c tests/testgdate.c tests/testgdateparser.c
393           tests/timeloop.c tests/timeloop-basic.c: Move all tests into
394         the tests/ subdirectory.
395
396 Sat Jun 23 17:34:38 2001  Tim Janik  <timj@gtk.org>
397
398         * gmessages.c (g_logv): use G_BREAKPOINT() instead of raise(5).
399
400 Wed Jun 20 12:00:54 2001  Owen Taylor  <otaylor@redhat.com>
401
402         Changes for 64-bit cleanliness, loosely based on patch 
403         from Mark Murnane.
404         
405         * gconvert.c (g_convert/g_convert_with_fallback): Remove
406         workarounds for since-fixed GNU libc bugs. Minor
407         doc fix.
408
409         * gconvert.[ch]: Change gint to gsize/gssize as
410         appropriate.
411
412         * gconvert.c (g_locale/filename_to/from_utf8): Fix incorrect
413         computation of bytes_read / bytes_written.
414
415         * gfileutils.[ch] (g_file_get_contents): Make length
416         out parameter 'gsize *len'.
417
418         * ghook.c (g_hook_compare_ids): Don't compare a
419         and b as 'a - b'.
420
421         * gmacros.h (GSIZE_TO_POINTER): Add GPOINTER_TO_SIZE,
422         GSIZE_TO_POINTER.
423
424         * gmain.c (g_timeout_prepare): Rewrite to avoid
425         overflows. (Fixes bug when system clock skews
426         backwards more than 24 days.)
427
428         * gmarkup.[ch]: Make lengths passed to callbacks
429         gsize, length for g_markup_parse-context_parse(),
430         g_markup_escape_text() gssize.
431
432         * gmessages.[ch] (g_printf_string_upper_bound): Change
433         return value to gsize.
434
435         * gmessages.c (printf_string_upper_bound): Remove
436         a ridiculous use of 'inline' on a 300 line function.
437
438         * gstring.[ch]: Represent size of string as a gsize,
439         not gint. Make parameters to functions take gsize,
440         or gssize where -1 is allowed.
441
442         * gstring.c (g_string_erase): Make
443         g_string_erase (string, pos, -1) a synonym for
444         g_string_truncate for consistency with other G*
445         APIs.
446
447         * gstrfuncs.[ch]: Make all functions taking a string
448         length, take a gsize, or gssize if -1 is allowed.
449         (g_strstr_len, g_strrstr_len). Also fix some boundary
450         conditions in g_str[r]str[_len].
451
452         * gutf8.c tests/unicode-encoding.c: Make parameters that 
453         are byte lengths gsize, gssize as appropriate. Make 
454         character offsets, other counts, glong.
455
456         * gasyncqueue.c gcompletion.c
457           timeloop.c timeloop-basic.c gutils.c gspawn.c.
458         Small 64 bit cleanliness fixups.
459
460         * glist.c (g_list_sort2, g_list_sort_real): Fix functions
461         that should have been static.
462
463         * gdate.c (g_date_fill_parse_tokens): Fix extra
464         declaration that was shadowing another.
465
466         * tests/module-test.c: Include string.h
467
468 Mon Jun 18 15:43:29 2001  Owen Taylor  <otaylor@redhat.com>
469
470         * gutf8.c (g_get_charset): Make argument
471         G_CONST_RETURN char **.
472
473 2001-06-22  Andrew Lanoix <alanoix@umich.edu>
474         
475         *giowin32.c: Debug and partial rewrite of async socket code
476         on windows, which fixes major MT issues. Some test code kindly 
477         provided by wroberts1@home.com.
478         
479 Thu Jun 14 14:09:46 2001  Owen Taylor  <otaylor@redhat.com>
480
481         * gstrfuncs.c (g_strconcat): Fix a use of strcat that
482         wasn't replaced with g_stpcpy in the original 
483         stpcpy-for-efficiency patch.
484
485 2001-06-11  Havoc Pennington  <hp@redhat.com>
486
487         * NEWS: updated
488
489         * configure.in (GLIB_MICRO_VERSION): increment version to 1.3.6
490
491 2001-06-08  Alex Larsson  <alexl@redhat.com>
492
493         * gstrfuncs.[ch]:
494         Added new functions g_strstr_len, g_strrstr and g_strrstr_len
495         
496         * tests/strfunc-test.c:
497         Add some tests for the new functions.
498         
499         * gunicode.h:
500         * gutf8.c:
501         Add length argument to g_utf8_strchr and g_utf8_strrchr.
502         
503 2001-06-08  Havoc Pennington  <hp@redhat.com>
504
505         * gspawn.c: support G_SPAWN_FILE_AND_ARGV_ZERO specifying that 
506         the vector passed in to g_spawn_* contains a filename to 
507         execute in argv[0] then the actual argv begins at argv + 1.
508         Kind of a lame hack, but this isn't something you commonly want
509         to do, and avoids adding more function arguments.
510
511 2001-06-08  Pablo Saratxaga <pablo@mandrakesoft.com>
512
513         * configure.in: Added Azeri (az) to ALL_LINGUAS
514
515 2001-06-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
516
517         * docs/Makefile.am, configure.in: Remove docs/glib-config.1.in.
518
519         * gthread-2.0-uninstalled.pc.in (Cflags): Add @G_THREAD_CFLAGS@.
520
521 2001-06-07  Havoc Pennington  <hp@redhat.com>
522
523         * m4macros/glib-2.0.m4: subst GLIB_GENMARSHAL, GOBJECT_QUERY, 
524         GLIB_MKENUMS variables
525
526         * gmodule-2.0.pc.in: add gmodule_supported variable
527
528         * glib-2.0.pc.in: add glib_genmarshal, gobject_query,
529         glib_mkenums variables  
530
531         * configure.in: put G_MODULE_SUPPORTED value into 
532         .pc files
533
534         * autogen.sh: support AUTOGEN_SUBDIR_MODE
535
536         * Makefile.am: add -uninstalled.pc.in to EXTRA_DIST
537
538 2001-06-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
539
540         * configure.in: Look for nanosleep function. 
541
542         * gtimer.c: Use nanosleep for g_usleep, when found.
543
544         * gtimer.c, gtimer.h: Add g_time_val_add function. Closes #54271.
545
546         * gasyncqueue.c: Documentation updates.
547
548         * gthreadpool.c: Use g_time_val_add now that we have it.
549
550 2001-06-01  Jon Trowbridge  <trow@gnu.org>
551
552        * gdate.c (g_date_update_julian): Changed to take a const
553        argument, and then to cast out const.
554        (g_date_update_dmy): Changed to take a const argument, and then
555        cast out const.
556        (g_date_get_weekday): Changed argument to be const.
557        (g_date_get_month): Changed argument to be const.
558        (g_date_get_year): Changed argument to be const.
559        (g_date_get_day): Changed argument to be const.
560        (g_date_get_julian): Changed argument to be const.
561        (g_date_get_day_of_year): Changed argument to be const.
562        (g_date_get_monday_week_of_year): Changed argument to be const.
563        (g_date_get_sunday_week_of_year): Changed argument to be const.
564        (g_date_compare): Changed arguments to be const.
565        (g_date_to_struct_tm): Changed GDate argument to be const.
566        (g_date_strftime): Changed GDate argument to be const.
567        (g_date_clamp): Added.  The equivalent of the CLAMP macro for
568        GDates.
569        (g_date_order): Added.  Ensure that the first GDate argument
570        preceeds the second, swapping them if necessary.
571        (g_date_days_between): Added.  Computes the (signed) number of days
572        between two dates.
573
574 Mon Jun  4 16:02:57 2001  Owen Taylor  <otaylor@redhat.com>
575
576         * gstrfuncs.c (g_strup/strdown): to match g_strcasecmp,
577         check if it is lower/upper before converting to upper/lower
578         [ not required by ISO... ] (#55682, Jon Trowbridge)
579
580 Mon Jun  4 15:59:15 2001  Owen Taylor  <otaylor@redhat.com>
581
582         * gunicode.h: Make a bit more standalone by adding include
583         of gerror.h. #54543.
584         
585         * gunicode.h: Change size_t to g_size. (Ugh)
586
587 2001-05-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
588
589         * grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in
590         g_random_boolean, also both functions now return 1 or 0 instead of
591         1<<15 or 0.
592
593         * tests/rand-test.c: Extended testcases.
594
595         * configure.in: Remove G_HAVE_ISO_CXX_VARARGS and
596         G_HAVE_ISO_C_VARARGS and define G_HAVE_ISO_VARARGS directly
597         guarded by #if(n)def __cplusplus.
598
599 2001-05-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
600
601         * gthread-2.0.pc.in: Add @G_THREAD_CFLAGS@ to Cflags.
602
603 Tue May 29 18:17:11 2001  Owen Taylor  <otaylor@redhat.com>
604
605         * autogen.sh (have_libtool): Fix GNU sedism
606
607 2001-05-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
608
609         * tests/Makefile.am, tests/qsort-test.c: Add test case for the
610         g_qsort_with_data func. It works. This fixes bug #52605.
611
612         * tests/Makefile.am, tests/cxx-test.C: Now that we check for a C++
613         compiler in configure.in anyway, I added a test, that the GLib
614         headers can be inclued into a C++ program. This fixes bug #52605.
615
616         * configure.in: Don't bail out, if no C++ compiler is
617         found. Define G_HAVE_ISO_VARARGS only if appropriate.
618
619         * gmessages.h: Thus we can revert the previous patch.
620
621 2001-05-29  James Henstridge  <james@daa.com.au>
622
623         * gmessages.h: "#ifdef G_HAVE_ISO_VARARGS" will always succeed
624         even when we don't have ISO vararg support.  Changed to
625         "#if G_HAVE_ISO_VARARGS".
626
627 Mon May 28 11:40:34 2001  Owen Taylor  <otaylor@redhat.com>
628
629         * configure.in: Check for __VARARGS__ separately for C and C++.
630
631 2001-05-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
632
633         * configure.in: Fix typo.
634
635 Sun May 27 05:09:18 2001  Tim Janik  <timj@gtk.org>
636
637         * gmain.c (g_main_context_prepare): unlock context when bailing
638         out with a warning.
639         (g_main_context_check): same here.
640
641         * gmain.c (g_main_context_check): before returning due to
642         changed pollfds, unlock context.
643         
644 Thu May 24 21:24:16 CEST 2001 Paolo Molaro <lupus@ximian.com>
645
646         * gmarkup.c: back out change by mitch@convergence.de and apply patch in
647         bug id #52067 that fixes the same problem in a more complete manner.
648         This fixes also a segfault for a malformed XML file and adds a new
649         test case.
650
651 2001-05-24  Hans Breuer  <hans@breuer.org>
652
653         * grel.c : reflect renaming of g_string_sprintfa to g_string_printfa
654
655         * makefile.msc.in : create an additional static lib to be used from
656         (at least) glib-genmarshal
657
658 2001-05-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
659
660         * garray.c (g_array_remove_index_fast): Tiny speed improvement
661         suggested by noon@users.sourceforge.net.
662
663 2001-05-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
664
665         * config.h.win32.in: Removed POSIX_*. Defined G_THREAD_SOURCE to
666         "gthread-win32.c".
667
668         * glibconfig.h.win32.in: Define G_HAVE_ISO_VARARGS for gcc, don't
669         know about MSC. Define G_THREADS_IMPL_WIN32 instead of
670         G_THREADS_IMPL_POSIX and define the right static mutex macros and
671         types.
672
673         * glib.def: g_thread_create renamed to g_thread_create_full.
674
675         * gthread.c: memcpy is not necessary here. We can simply use
676         struct assignment.
677
678         * gmessages.c: Fix compilation error on win32. Added
679         GFileDescriptor, wich is gint on Unix and FILE* on win32.
680
681 2001-05-21  Andrew Lanoix <alanoix@umich.edu>
682
683         *giowin32.c: G_IO_WIN32_WINDOWS_MESSAGES channels
684         not handled correctly in g_io_win32_check()
685
686 Sun May 20 10:47:47 2001  Owen Taylor  <otaylor@redhat.com>
687
688         * configure.in: Fix some problems in writing out varargs
689         tests in configure.in
690
691 Fri May 18 10:52:23 2001  Owen Taylor  <otaylor@redhat.com>
692
693         * configure.in gmessages.h: Use compile checks for ISO C99 and GNU
694         extension varargs macros syntax and store result in glibconfig.h
695         (G_HAVE_ISO_VARARGS, G_HAVE_GNUC_VARARGS) rather than relying
696         on checking predefined macros.
697
698 2001-05-18  Michael Natterer  <mitch@convergence.de>
699
700         * gmarkup.c: don't g_strdup()/g_free() all parsed attributes and
701         their values twice but simply copy the string pointers from the
702         GMarkupAttribute struct to the string arrays before passing them
703         to start_element().
704
705 2001-05-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
706
707         * gthread.c, gthread.h: Renamed g_thread_create to
708         g_thread_create_full and added macro g_thread_create, which omits
709         'stack_size', 'bound' and 'priority' parameters. Also removed
710         'bound' from GThread struct.
711
712         * gthreadpool.h, gthreadpool.c: Adapted GThreadPool to the above
713         changes. GThreadPool lost the 'priority' and 'bound'
714         members. g_thread_pool_new the 'stack_size', 'bound' and
715         'priority' parameters.
716
717         * tests/mainloop-test.c, tests/thread-test.c,
718         tests/threadpool-test.c: Adapted to the above changes.
719
720         * gmem.c (g_mem_profile): Fixed mutex deadlock.
721
722 2001-05-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
723
724         * makefile.mingw.in: Add gpattern.o to objects.
725
726         * glib.def: Export g_thread_exit as well.
727
728         * Makefile.am: Fix BUILT_EXTRA_DIST exporting.
729
730 Sun May 13 10:31:17 2001  Owen Taylor  <otaylor@redhat.com>
731
732         * glib/Makefile.am gobject/Makefile.am gmodule/Makefile.am:
733         Add inter-library dependencies.
734
735         * acinclude.m4: Remove libtool macros.
736
737         * autogen.sh: Require libtool-1.4, automake-1.4p1.
738
739 2001-05-15  Havoc Pennington  <hp@redhat.com>
740
741         * configure.in (AC_OUTPUT): m4macros/Makefile
742
743         * m4macros/Makefile.am, m4macros/glib-2.0.m4,
744         m4macros/glib-gettext.m4:
745         m4 files moved here on server, Makefile.am added
746          
747         This is so you can aclocal -I m4macros while avoiding acinclude.m4
748
749         * Makefile.am: add m4macros subdir, remove references to glib-2.0.m4
750
751 2001-05-14  Havoc Pennington  <hp@redhat.com>
752
753         * gutf8.c (g_utf8_get_char): fix docs; they said we validated 
754         the UTF-8, but we can't possibly detect partial chars since
755         there's no length arg here, so trying to use this function 
756         on invalid UTF-8 is a bad idea.
757
758 Thu May 10 23:21:30 2001  Owen Taylor  <otaylor@redhat.com>
759
760         * gmessages.c (g_log_write_prefix): Avoid using stdio
761         to be as robust as possible in out-of-memory.
762
763         * gmessages.c (g_log_default_handler): Remove some dead
764         code.
765
766         * gutils.c (g_parse_debug_string): Fix to avoid mallocs.
767
768 Fri May 11 18:25:23 2001  Tim Janik  <timj@gtk.org>
769
770         * gdataset.c:
771         (g_dataset_foreach):
772         (g_datalist_foreach): make these safe against removal of the
773         current element.
774
775 2001-05-10  Havoc Pennington  <hp@pobox.com>
776
777         * gmessages.c (g_log_write_prefix): change env variable to
778         G_MESSAGES_PREFIXED, suggested by Tim
779
780 Thu May 10 15:19:01 2001  Tim Janik  <timj@gtk.org>
781
782         * gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm
783         to generate hashes.
784
785         * gmem.c (standard_calloc): free() doesn't return a value
786         (Mark Murnane).
787
788 2001-04-26  Havoc Pennington  <hp@redhat.com>
789
790         * configure.in: Get rid of --enable-msg-prefix
791
792         * gmessages.c: make whether to prefix the messages with
793         appname/pid a runtime setting, not a compile-time setting.  Change
794         default to include prefix for debug/warning/error type messages.
795
796 2001-05-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
797
798         * gthread.c, gthread.h: Renamed 'value' and 'arg' to 'data' and
799         'thread_func' to 'func' to make it more consistent with the rest
800         of GLib.
801
802         * gthreadpool.c, gthreadpool.h: Moved 'stack_size' from the public
803         members of GThreadPool to the private ones. Renamed 'thread_func'
804         to 'func' as above. Moved up 'user_data' in g_thead_pool_new
805         argument list and in GThreadPool struct.
806         
807 Tue May  8 15:33:31 2001  Tim Janik  <timj@gtk.org>
808
809         * gcompletion.h: removed #include <unistd.h> sneaked in by
810         sopwith in november.
811
812 2001-05-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
813
814         * gmain.c, gthread.c, gthread.h: Moved func and arg members from
815         GRealThread to GThread, such that they can be accessed by the
816         user.
817
818         * gthread.c, gthread.h: Due to popular demand (Tim being the
819         populus here ;-) threads now have a 'return value', which is
820         returned by g_thread_join and is either the return of the topmost
821         thread function or the value given to g_thread_exit.
822         
823         * gthreadpool.c, tests/mainloop-test.c, tests/thread-test.c:
824         Adapted to the above change.
825
826 2001-01-06  Hans Breuer  <hans@breuer.org>
827
828         * glib.def : don't try to export g_strcpy, it is g_stpcpy;
829         updated and added some tweaking for functions which got 
830         renamed recently, to avoid the update hassle if it can 
831         simply be done compatible. Should vanish if there is a 
832         stable version for win32.
833
834 Fri May  4 11:49:18 2001  Owen Taylor  <otaylor@redhat.com>
835
836         * Released 1.3.5
837
838         * NEWS: Updated
839
840         * configure.in (GLIB_MICRO_VERSION): Up version to 1.3.5,
841         interface/binary age 0.
842
843 2001-05-04  Sven Neumann  <sven@convergence.de>
844
845         * ghash.c: fixed a typo in a comment.
846
847         * gtree.[ch]: added new functions g_tree_new_full(), g_tree_replace(), 
848         g_tree_steal() and g_tree_foreach() to adapt GTree to the GHashTable
849         API. Moved comments into the C file.
850
851         * docs/reference/glib/glib-sections.txt
852         * docs/reference/glib/tmpl/glib-unused.sgml
853         * docs/reference/glib/tmpl/hash_tables.sgml
854         * docs/reference/glib/tmpl/linked_lists_double.sgml
855         * docs/reference/glib/tmpl/linked_lists_single.sgml
856         * docs/reference/glib/tmpl/macros_misc.sgml
857         * docs/reference/glib/tmpl/trees-binary.sgml: updated documentation
858         
859 Thu May  3 06:38:28 2001  Owen Taylor  <otaylor@redhat.com>
860
861         * g[s]list.c (g_[s]list_foreach) docs/Changes-2.0.txt: Make
862         foreach() safe against removal of the _current_ element. While
863         this could break some code, the new behavior is consistent with
864         the rest of GLib/GTK+ and probably is what people expect in most
865         cases. (Suggested by Paul Kuykendall, #50071)
866
867 Wed May  2 11:10:22 2001  Owen Taylor  <otaylor@redhat.com>
868
869         * gutf8.c (g_utf8_to_ucs4_fast): Fix read past end of the string.
870         (#50404, fix from Jonas Borgström)
871         
872 Sun Apr 29 00:37:34 2001  Tim Janik  <timj@gtk.org>
873
874         * ghook.[hc]: made hook ids a gulong.
875
876 2001-04-20  Dan Winship  <danw@ximian.com>
877
878         * configure.in: Add a check for the Darwin dynamic linker. Use
879         AC_TRY_LINK when checking for "nonposix getpwuid_r" so it notices
880         "no getpwuid_r" correctly.
881
882         * testglib.c (main): Make template[] bigger to prevent an overrun.
883         Remove an unused variable. Initialize error to NULL.
884
885         * tests/gio-test.c (main): Add a cast to prevent a warning when
886         size_t is a long.
887
888         * tests/type-test.c (main): Add an #ifdef to prevent a warning
889         when G_HAVE_GINT64 is defined and G_GINT64_FORMAT isn't.
890
891 2001-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
892
893         * ghash.c, ghash.h: Remove definition of g_hash_table_freeze and
894         g_hash_table_thaw. Instead added G_DISABLE_DEPRECATED-guarded
895         macros to ghash.h to go along the lines of the standard.
896
897         * gscanner.c, gscanner.h: Dito for g_scanner_freeze_symbol_table
898         and g_scanner_thaw_symbol_table.
899
900         * gutils.c, gutils.h: Dito for g_dirname. g_basename is still
901         defined in gutils.c, but declared ing gutils.h only
902         G_DISABLE_DEPRECATED-guarded.
903         
904         * configure.in: Removed bashism in test for the pkg-config
905         version.
906
907         * configure.in: Rewrote test for multithread flag. Now uses
908         localtime_r, which hopefully has a consistent prototype across
909         different platforms. Also it uses a clever double EGREP trick
910         instead of compiling, which could give false positives. Thanks to
911         Dan Winship <danw@ximian.com> for the hint.
912
913 Wed Apr 18 17:35:38 2001  Owen Taylor  <otaylor@redhat.com>
914
915         * gutils.c (_glib_gettext): Add missing static pointed
916         out by Michael Meeks.
917
918 Wed Apr 18 09:37:07 2001  Owen Taylor  <otaylor@redhat.com>
919
920         * MAINTAINERS: Removed. Keeping README, README.cvs-commits
921         HACKING, and AUTHORS up to date is plenty without extra
922         random files that someone thought a module should have.
923         (Actually, I believe this was used for debbugs in the past.)
924
925 Tue Apr 17 11:47:07 2001  Owen Taylor  <otaylor@redhat.com>
926
927         * Released 1.3.4
928
929         * NEWS: Updated
930
931 Tue Apr 17 10:43:36 2001  Owen Taylor  <otaylor@redhat.com>
932
933         * gstrfuncs.c: Define _GNU_SOURCE for stpcpy
934
935         * tests/mainloop-test.c (main): Wait for all threads
936         to start before beginning tests.
937
938 2001-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
939
940         * gthreadpool.c (g_thread_pool_thread_proxy): Until now every
941         thread pool always had at least one tread waiting to avoid
942         switching overhead in case a new task would be added soon after
943         one finished. This however means a big waste of threads, if many
944         mostly inactive thread pools are involved. Now such a waiting
945         thread will only wait for half a second (This value is of course
946         very randomly picked) and go to the global threadpool afterwards.
947
948 Mon Apr 16 12:04:52 2001  Owen Taylor  <otaylor@redhat.com>
949
950         * configure.in: Remove warnings about conflicts with the
951         stable version.
952
953         * glib-2.0.m4: Fix some of the error text to be halfway
954         up to date.
955
956         * README.in INSTALL.in: Add these to generate README, INSTAL
957         (as in the stable branch). Update.
958
959         * HACKING: Update.
960
961 2001-04-16  Havoc Pennington  <hp@redhat.com>
962
963         * gqsort.c: docs
964
965         * gfileutils.c: docs
966
967         * gwin32.c: docs fixes
968
969         * gconvert.c: docs
970
971         * guniprop.c: docs
972
973         * gutf8.c: docs
974
975 2001-04-16  Havoc Pennington  <hp@redhat.com>
976
977         * glib-2.0.m4: put AC_PATH_PROG(pkg-config) before "Checking for
978         glib" so the output looks right 
979
980 2001-03-23  Havoc Pennington  <hp@redhat.com>
981
982         * gutils.c (g_parse_debug_string): make GDebugKeys argument 
983         const
984
985 2001-04-14  Hans Breuer  <hans@breuer.org>
986
987         * glib.def : 
988         * makefile.msc.in : updated
989
990         * gpattern.c : include "gutils.h" to resolve the inline hassle
991
992 2001-04-11  Alexander Larsson  <alexl@redhat.com>
993
994         * glib-2.0.m4: Pass pkg-config options
995         before the other args so it works even if
996         POSIXLY_CORRECT is set.
997
998 Mon Apr  9 18:57:44 2001  Tim Janik  <timj@gtk.org>
999
1000         * configure.in: increment version to 1.3.4 (binary 0, interface 0).
1001
1002 2001-04-05  Christian Rose  <menthos@menthos.com>
1003
1004         * configure.in: Added sv to ALL_LINGUAS.
1005
1006 Wed Apr  4 09:18:55 2001  Tim Janik  <timj@gtk.org>
1007
1008         * Released GLib-1.3.3.
1009
1010 Tue Apr  3 20:22:59 2001  Tim Janik  <timj@gtk.org>
1011
1012         * NEWS: updates.
1013
1014         * NEWS.pre-1-3: take over old news.
1015
1016 Tue Apr  3 12:38:16 2001  Owen Taylor  <otaylor@redhat.com>
1017
1018         * glib-config-2.0.in: Exit with an error message that you
1019         should use pkg-config instead.
1020
1021         * configure.in (PACKAGE): Require pkg-config.
1022
1023         * tests/Makefile.am (EXTRA_DIST): Add utf8.txt.
1024
1025         * configure.in (GLIB_MICRO_VERSION): Up MICRO to 3,
1026         leave interface/binary at 0.
1027
1028 Tue Apr  3 13:46:22 2001  Tim Janik  <timj@gtk.org>
1029
1030         * glist.[hc]: added g_list_nth_prev() which walks ->prev instead
1031         of ->next.
1032
1033         * gpattern.[hc]: added shell-style pattern matching code from beast,
1034         derived from the gtk_pattern_*() code, but with a couple of bug fixes
1035         and a number of optimizations.
1036
1037 2001-04-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1038
1039         * gthreadpool.c: Added documentation.
1040
1041         * gthreadpool.c: The global thread pool now also is seperated for
1042         bound and unbound threads. Only threads with standard stack size
1043         go to the global pool. g_thread_pool_new now protects the global
1044         setup of inform_mutex etc. with a lock. Fixed some typos. Unlock
1045         the queue after g_thread_pool_wakeup_and_stop_all in the proxy.
1046
1047 2001-04-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1048
1049         * gmain.c: Use the new GRealThread member "context" instead of a
1050         GStaticPrivate to store the thread specific main loop context.
1051
1052         * gthread.c: Added "context" member to GRealThread and updated
1053         g_thread_create, g_thread_self and g_thread_cleanup accordingly.
1054         
1055         * gthread.c, gthread.h: Removed the functions
1056         g_static_private_(get|set)_for_thread and adapted
1057         g_static_private_(get|set) and g_static_private_free
1058         accordingly. This fixes Bug #51435.
1059         
1060 2001-03-30  Sven Neumann  <sven@gimp.org>
1061
1062         * ghash.[ch]
1063         * docs/reference/glib/tmpl/hash_tables.sgml: added new functions
1064         g_hash_table_new_full, g_hash_table_replace, g_hash_table_steal and
1065         g_hash_table_foreach_steal. Moved most docs out of the template
1066         file into the C file. Please proofread the new documentation.
1067
1068 2001-03-29  Tor Lillqvist  <tml@iki.fi>
1069
1070         * glib.def: Updates.
1071         * tests/makefile.mingw.in
1072         * tests/makefile.msc.in: Add module-test rules.
1073
1074 Mon Mar 26 14:14:53 2001  Owen Taylor  <otaylor@redhat.com>
1075
1076         * Makefile.am (INCLUDES): -DG_DISABLE_DEPRECATED
1077
1078         * gmain.h timeloop.c: Surround the cruftiest stuff with
1079         #ifndef G_DISABLE_DEPRECATED.
1080
1081         * gcompat.h gdate.h: Move compat defines back to 
1082         gdate.h, surround with #ifndef G_DISABLE_DEPRECATED. 
1083         Remove gcompat.h.
1084
1085 Mon Mar 26 13:34:50 2001  Owen Taylor  <otaylor@redhat.com>
1086
1087         [ Patch from DindinX  <David.Odin@bigfoot.com>, added docs ]
1088  
1089         * gstrfuncs.c, gstrfuncs.h: Add g_stpcpy () for platform that don't
1090         have stpcpy ().
1091         * gstrfuncs.c (g_strjoin, g_strjoinv and g_strconcat): use
1092         g_stpcpy () so these functions run much faster.
1093         * config.h.win32.in, glib.def: add reference to g_stpcpy ()
1094         * configure.in: Add a test for the stpcpy () function.
1095  
1096 2001-03-20  Havoc Pennington  <hp@redhat.com>
1097
1098         * gutf8.c (g_utf8_strlen): rewrite, based on bug #52328 from
1099         Anders
1100
1101 2001-03-19  Havoc Pennington  <hp@redhat.com>
1102
1103         * gutf8.c (g_unichar_validate): added this function
1104
1105 2001-03-18  Tor Lillqvist  <tml@iki.fi>
1106
1107         * gspawn-win32.c (SETUP_DEBUG): Add braces to silence gcc -Wall.
1108
1109         * gspawn-win32-helper.c (write_no_error): Remove unused function.
1110
1111         * tests/makefile.mingw.in (module-test.exe): Add rules for
1112         building module-test.
1113
1114 Wed Mar 14 18:46:54 2001  Tim Janik  <timj@gtk.org>
1115
1116         * gscanner.[hc]: removed archaic gpointer derived_data; relict and
1117         added a GData member instead.
1118         
1119         * glist.[hc]: added g_list_remove_all().
1120
1121         * gslist.[hc]: added g_slist_remove_all().
1122
1123 Sat Mar 17 19:54:51 2001  Owen Taylor  <otaylor@redhat.com>
1124
1125         * timeloop.c: Reorder headers to make FreeBSD happy. 
1126
1127 2001-03-13  Tor Lillqvist  <tml@iki.fi>
1128
1129         From Edward M. Lee  <tailbert@yahoo.com>:
1130
1131         * gdate.c (g_date_set_parse): add support for dates that in the
1132         form "Wed Mar 14 2001". Running testgdate on cygwin requires this.
1133
1134 Fri Mar  9 18:01:43 2001  Tim Janik  <timj@gtk.org>
1135
1136         * gscanner.[hc]: made config arg to g_scanner_new() const.
1137
1138 2001-03-12  Tor Lillqvist  <tml@iki.fi>
1139
1140         * tests/Makefile.am (libmoduletestplugin_b_la_LIBADD,
1141         libmoduletestplugin_b_la_LIBADD): Link with the libgmodule la only
1142         on Win32.
1143
1144 2001-03-10  Tor Lillqvist  <tml@iki.fi>
1145
1146         * glibconfig.h.win32.in: Define G_PLATFORM_WIN32 here, too.
1147
1148         * tests/Makefile.am: Use the _LIBADD dependency on libglib only on
1149         Win32.
1150
1151 2001-03-09  Tor Lillqvist  <tml@iki.fi>
1152
1153         * README.win32: Update with some information about using configure
1154         and libtool.
1155
1156 2001-03-09  Hans Breuer  <hans@breuer.org>
1157
1158         * gobject/gobject.def : updated
1159
1160 2001-03-08  Tor Lillqvist  <tml@iki.fi>
1161
1162         * glib.def
1163         * gobject/gobject.def
1164         * gobject/makefile.mingw.in: Update.
1165
1166 2001-03-08  Sven Neumann  <sven@gimp.org>
1167
1168         * gtree.[ch]: 
1169         * docs/reference/glib/tmpl/trees-binary.sgml: added new function 
1170         g_tree_lookup_extended().
1171
1172 Thu Mar  8 16:23:34 2001  Tim Janik  <timj@gtk.org>
1173
1174         * ghook.[hc]: destruction cleanup. there's one
1175         ->finalize_hook member in the hooklist now that gets
1176         called when a hook should be destroyed, that's it.
1177         that function is guarranteed to be called only when
1178         all ref_counts to the hook vanished, thus also when
1179         the hook is not in call.
1180
1181 2001-03-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1182
1183         * configure.in (FLAG_DOES_NOT_WORK): Fix typo and thus bug #51862.
1184
1185 Wed Mar  7 09:32:06 2001  Tim Janik  <timj@gtk.org>
1186
1187         * glib-object.h: add gvaluearray.h.
1188
1189         * gstring.[hc]: fixup naming of g_string_sprint*.
1190         
1191         * gtypes.h: fixed GCompareDataFunc naming.
1192
1193 2001-03-07  Christian Meyer  <chrisime@gnome.org>
1194
1195         * configure.in: Added de (German) to ALL_LINGUAS.
1196
1197 2001-03-02  Christophe Merlet  <redfox@eikonex.org>
1198
1199         * configure.in: Added fr (French) to ALL_LINGUAS.
1200
1201 2001-03-01  Tor Lillqvist  <tml@iki.fi>
1202
1203         * gutils.c (g_path_is_absolute): (Win32) Remove test for initial
1204         double backslash (UNC path), this will of course be matched by the
1205         test for an initial G_DIR_SEPARATOR right up front. Silly me.
1206         (g_find_program_in_path): Implement on Win32. Append the
1207         executable file name suffixes from PATHEXT in turn while looking
1208         for the program.
1209         (g_find_program_in_path): If the program we are looking for is a
1210         relative path in a subdirectory, don't do any path search.
1211         (g_get_any_init): (Win32) Also look for the USERPROFILE env var
1212         indicating the home directory equivalent.
1213         (g_find_program_in_path): (Win32): Use MAXPATHLEN, not PATH_MAX
1214         which isn't defined with MSVC.
1215
1216         * testglib.c (main): Test g_find_program_in_path() on Win32 by
1217         looking for more.com and regedit.
1218
1219         * glib.def: Add g_find_program_in_path.
1220
1221 2001-02-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1222
1223         * gthreadpool.c (g_thread_pool_thread_proxy): Make
1224         max_unused_threads work for -1 as well.
1225
1226 2001-02-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1227
1228         * gthread.h (struct _GThread): Change the order to match the order
1229         in g_thread_create().
1230
1231         * gthread.c (g_static_rec_mutex_lock_full): Also do the right
1232         thing (behave like 'depth' calls to g_static_rec_mutex_lock) for a
1233         mutex, that is already locked.
1234
1235 Thu Feb 22 10:31:36 2001  Owen Taylor  <otaylor@redhat.com>
1236
1237         * gmain.c (g_source_remove_poll): Add missing implementation
1238         of g_source_remove_poll. (Pointed out by Stefan Westerfeld)
1239
1240 2001-02-21  Tor Lillqvist  <tml@iki.fi>
1241
1242         * gutils.c (g_find_program_in_path): Implement on Win32.
1243
1244         Cygwin support contributed by Stefan Ondrejicka
1245         <ondrej@idata.sk>. Hopefully I got it all in while simultaneously
1246         adding support for auto*/libtool for mingw.
1247
1248         * Makefile.am: Changes for auto* support on Cygwin and Win32. Do
1249         still distribute the hand-written makefiles and *.win32.in files,
1250         though. Use GIO, GSPAWN and PLATFORMDEP macros set by configure.
1251         Use -no-undefined. Pass -export-symbols glib.def to libtool.
1252         
1253         * configure.in: Define G_PLATFORM_WIN32 on both pure Win32 (mingw)
1254         and Cygwin. Add AC_CYGWIN, AC_EXEEXT and AC_LIBTOOL_WIN32_DLL
1255         calls for Cygwin and mingw support.  Check for %I64u guint64
1256         format (in MS C library). Set G_MODULE_IMPL on mingw and
1257         Cygwin. Use ac_object and ac_exeext.  Set GIO, GSPAWN, PLATFORMDEP
1258         and G_LIBS_EXTRA. Compile timeloop only on Unix. Define OS_WIN32
1259         automake conditional on Win32.
1260         
1261         * glib.h: Include gwin32.h also on Cygwin.
1262
1263         * gfileutils.c (get_contents_posix): Use O_BINARY (defined as 0 on
1264         Unix) for Cygwin's sake.
1265
1266         * gtimer.c (GETTIME): Reduce #ifdefs, use a macro GETTIME().
1267
1268         * gconvert.c
1269         * gthread.c
1270         * gutf8.c
1271         * gutils.c: For code needed both on Cygwin and native Win32,
1272         test for G_PLATFORM_WIN32.
1273
1274         * gmarkup.h: Use G_BEGIN_DECLS and G_END_DECLS.
1275         
1276         * gtypes.h: Refine GLIB_VAR definition. Also check for DLL_EXPORT
1277         in case compiling a static library on Win32 or Cygwin.
1278
1279         * gwin32.c: No <direct.h> on Cygwin. No need for ftruncate() or
1280         dirent emulation on Cygwin.
1281         (get_package_directory_from_module) Convert return value from
1282         GetModuleFileName() to POSIX path on Cygwin.
1283
1284         * tests/Makefile.am (progs_LDADD): Link with libglib, libgthread
1285         and libgmodule as appropriate. Use -no-undefined.
1286
1287         * gbacktrace.c: Move #ifdefs around a bit on Win32.
1288
1289 2001-02-21  Tor Lillqvist  <tml@iki.fi>
1290
1291         * gshell.c (unquote_string_inplace): Make static.
1292
1293         * gthread.h: Include gtypes.h to be sure to get GLIB_VAR
1294         definition, remove definition from here.
1295
1296         * gunicode.h: Remove duplicate GLIB_VAR definition from here, too.
1297
1298         * gutils.c: (Win32) Use USERPROFILE as home dir if present. On
1299         Win2k, HOMEDRIVE and HOMEPATH aren't reliable.
1300         
1301         * Makefile.am (INCLUDES): Add -DGLIB_COMPILATION.
1302
1303         * makefile.mingw.in: Remove install target, Windows isn't Unix.
1304         (DEFINES): Add -DDLL_EXPORT.
1305
1306         * testgdate.c
1307         * testgdateparser.c
1308         * testglib.c: Undefine GLIB_COMPILATION.
1309
1310         * testglib.c: Make some vars static. Add Cygwin path tests.
1311
1312         * glib.def: Updates.
1313
1314         * .cvsignore
1315         * */.cvsignore: Ignore also .obj, .dll, .lib and .exe files.
1316
1317 2001-02-19  Hans Breuer <hans@breuer.org>
1318
1319         * glib/glib.def, gobject/gobject.def : added nissing symbols
1320
1321         * gobject/makefile.msc : updated
1322
1323         * glib/gmessages.c : call the "debug interrupt" before exiting the
1324         program, if build with msvc as debug version. Which gives the opportunity
1325         to see the callstack, etc.
1326
1327         * glib/gthread.c : thread->pid is only defined #ifdef
1328         G_THREAD_USE_PID_SURROGATE
1329
1330 Mon Feb 19 07:32:38 2001  Tim Janik  <timj@gtk.org>
1331
1332         * glib-config-2.0.in (lib_glib): my name is glib-config-2.0!
1333         don't exit with errorcode!=0 for --help or -h.
1334         
1335         * Makefile.am:
1336         * configure.in: build glib-config-2.0.
1337
1338 2001-02-17  Havoc Pennington  <hp@pobox.com>
1339
1340         * gthread.c: include string.h
1341
1342         Applied patch from Soeren Sandmann:
1343         
1344         * testglib.c: const fixes
1345
1346         * gwin32.h: format cleanups
1347
1348         * gutils.c (g_atexit): constify a variable
1349         (g_find_program_in_path): constification
1350         (g_basename): G_CONST_RETURN
1351         (g_path_skip_root): G_CONST_RETURN
1352         (g_getenv): G_CONST_RETURN
1353         (g_get_user_name): G_CONST_RETURN
1354         (g_get_real_name): G_CONST_RETURN
1355         (g_get_home_dir): G_CONST_RETURN
1356         (g_get_tmp_dir): G_CONST_RETURN
1357         (g_get_prgname): G_CONST_RETURN
1358         (_glib_gettext): G_CONST_RETURN
1359
1360         * gunicode.h: formatting cleanups
1361
1362         * gstrfuncs.c (g_strerror): G_CONST_RETURN
1363         (g_strsignal): G_CONST_RETURN
1364
1365         * gspawn.c (g_execute): const on variables
1366
1367         * gmessages.c (printf_string_upper_bound): fix const on a variable
1368
1369         * gmem.c (g_mem_chunk_new): make the "name" arg const
1370         (struct _GRealMemChunk): make the "name" field const
1371
1372         * gfileutils.c (g_file_open_tmp): store const return in a const
1373         gchar* variable
1374
1375         * gdataset.c (g_quark_to_string): G_CONST_RETURN
1376
1377 Sat Feb 17 07:26:33 2001  Tim Janik  <timj@gtk.org>
1378
1379         * configure.in (G_MODULE_HAVE_DLERROR): add check for broken RTLD_GLOBAL
1380         (on OSF1 V5.0).
1381
1382 2001-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1383
1384         * acconfig.h, configure.in: Reverted the changes necessary to
1385         enlarge the system thread for G_THREAD_USE_PID_SURROGATE.
1386
1387         * gthread.c: Now implement G_THREAD_USE_PID_SURROGATE in gthread.c
1388         instead of gthread/gthread-posix.c. While the latter has the
1389         advantage, that it is conceptually cleaner, it makes
1390         g_thread_self_posix_impl _very_ slow and that hurts
1391         GStaticRecMutex and other things. So the new version is less
1392         clean, but faster.
1393
1394 2001-02-09  Havoc Pennington  <hp@redhat.com>
1395
1396         * gconvert.c (g_convert): don't overwrite errors
1397
1398         * gerror.c (g_set_error): improve warning message if an error is
1399         overwritten     
1400         (g_propagate_error): ditto
1401
1402 2001-02-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1403
1404         * gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
1405         g_static_rec_mutex_free, g_static_private_init,
1406         g_static_private_free, g_static_rw_lock_init to allow the usage of
1407         all those types dynamically. (g_static_rw_lock_free already
1408         existed). Aditionally freed static_private indeces are reused
1409         now. Untill now the array would just grow if you would use more
1410         and more static_private. That required adding a slist of all
1411         running threads, which could potentially be of good use later. It
1412         is not exported however. Renamed a LOCK and small indentation
1413         fixes.
1414
1415         * tests/thread-test.c: Test the new static_private index freing
1416         and reusing feature.
1417         
1418 Mon Feb 12 15:01:09 2001  Owen Taylor  <otaylor@redhat.com>
1419
1420         * configure.in (gtk_doc_min_version): Add check for gtk-doc version.
1421
1422 2001-02-10  Tor Lillqvist  <tml@iki.fi>
1423
1424         * gtypes.h
1425         * gutils.h: Move GLIB_VAR definition from gutils.h to gtypes.h
1426
1427         * glib.def
1428         * gmem.h: Mark glib_mem_profiler_table for export.
1429
1430         * gwin32.c (get_package_directory_from_module): Don't store
1431         address of local variable in hashtable.
1432
1433 2001-02-08  Fatih Demir <kabalak@kabalak.net>
1434
1435         * configure.in: Added "tr" to ALL_LINGUAS.
1436
1437 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1438
1439         * gwin32.c (g_win32_getlocale): Use "nn" for Nynorsk, as nn.po
1440         files are appearing now. If the sublanguage starts with '@', don't
1441         use a '_' separator. South Africa is 'ZA', not 'SA'.
1442
1443 Sun Feb  4 07:38:32 2001  Tim Janik  <timj@gtk.org>
1444
1445         * docs/debugging.txt: s/glib_trap_/g_trap_/. add comments on
1446         g_trap_instance_signals, g_trace_instance_signals and
1447         GRUNTIME_DEBUG.
1448
1449         * gmem.c: s/glib_trap_/g_trap_/.
1450         
1451 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1452
1453         * tests/Makefile.am (thread_LDADD): Change order of libs,
1454         put progs_LDADD last. Needed for cygwin, says jbdoll@kepri.re.kr.
1455
1456 2001-02-02  Tor Lillqvist  <tml@iki.fi>
1457
1458         * giochannel.h
1459         * giowin32.c
1460         * gmain.c: Stylistic cleanups. Use G_STRLOC in g_warning() calls.
1461
1462         * glib.def: Add missing functions.
1463
1464 2001-02-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1465
1466         * gthread.c, gthread.h: Added g_static_mutex_init to allow
1467         initialization of a GStaticMutex, that can not be initialized with
1468         G_STATIC_MUTEX_INIT, for example in allocated structures.
1469
1470 Wed Jan 31 13:46:58 2001  Owen Taylor  <otaylor@redhat.com>
1471
1472         * acinclude.m4 glib-gettext.m4: Fix problem with --disable-nls.
1473
1474 2001-01-31  Tor Lillqvist  <tml@iki.fi>
1475
1476         * glibconfig.h.win32.in: Corresponding change as below to
1477         GStaticMutex.
1478
1479 2001-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1480
1481         * gthread.c, gthread.h: Added g_static_mutex_free to allow using
1482         GStaticMutexes with limited lifetime without leaking.
1483         
1484         * configure.in: GStaticMutex doesn't have to provide extra space
1485         for debugging information for G_ERRORCHECK_MUTEXES, as then the
1486         non-default implementation (runtime_mutex) is used anyway.
1487
1488         * gthread.h (g_cond_wait): Added debug information for
1489         g_mutex_free calls, if G_ERRORCHECK_MUTEXES is defined.
1490
1491 2001-01-29  Tor Lillqvist  <tml@iki.fi>
1492
1493         * glibconfig.h.win32.in: Use the same GMutex structure as the
1494         configure-generated glibconfig.h does.
1495
1496         * gstrfuncs.c (g_strsignal): Declare strsignal() on Cygwin, too,
1497         says jbdoll@kepri.re.kr.
1498
1499 2001-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1500
1501         * gthread.c: Broadcast the condition, if there are waiting
1502         readers, as all might read at the same time. Only signal the
1503         writer thread, if there are no more readers.
1504
1505 2001-01-25  Tor Lillqvist  <tml@iki.fi>
1506
1507         * makefile.mingw.in
1508         * */makefile.mingw.in: Protect the rule to rebuild makefile.mingw
1509         if makefile.mingw.in has changed with a check if said .in file
1510         exists. (This rule is mainly a convenience for yours truly.)
1511
1512         * giowin32.c: Socket support rewritten. It was utterly broken, and
1513         untested in fact. We still do use a thread for each socket being
1514         watched, but instead of blocking in recv() (which of course was
1515         plain stupid for sockets being listen()ed on in a server-type
1516         application), we block in select(). The read method for sockets
1517         calls recv(). It is now possible for the application to call
1518         accept(), recv() or send() in the callback, just like on
1519         Unix. Tested with code kindly provided by Andrew Lanoix.
1520
1521         Rename g_io_channel_win32_new_stream_socket() to
1522         g_io_channel_win32_new_socket() as it isn't restricted to stream
1523         sockets.
1524         
1525         * gmain.c (g_poll): Related changes in the Win32 version of
1526         g_poll(). When polling for messages, always do a PeekMessage()
1527         first. We used to miss messages if several were posted between
1528         calls to g_poll().
1529
1530         * giochannel.h: Improve Win32-related comments.
1531
1532         * gutf8.c: (Win32) Include <stdio.h> for sprintf.
1533
1534         * tests/gio-test.c: (Win32) Add tests for polling for Windows
1535         messages.
1536
1537         * tests/makefile.mingw.in: Remove superfluous compilation command
1538         line.
1539
1540 2001-01-23  Alex Larsson  <alexl@redhat.com>
1541
1542         * gmain.c (g_source_callback_unref): Free the callback
1543         (g_source_set_callback): Initialize the callback refcount
1544
1545 2001-01-20  Tor Lillqvist  <tml@iki.fi>
1546
1547         * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is
1548         currently commented out from gutils.h, fix it to return the same
1549         CP%d value as g_get_charset().
1550
1551 2001-01-19  Kjartan Maraas  <kmaraas@gnome.org>
1552
1553         * gconvert.c: Fix typo.
1554         * gfileutils.c: Same here.
1555         * configure.in: Added no to ALL_LINGUAS
1556         
1557 2001-01-17  Tor Lillqvist  <tml@iki.fi>
1558
1559         * gwin32.c (g_win32_getlocale, g_win32_error_message): Add doc
1560         comments.
1561         (g_win32_get_package_installation_directory): Add one parameter,
1562         the name of a DLL in the package. Add possibility to use that to
1563         deduce the installation directory if not entered into the
1564         Registry. Make the return value dynamically allocated.
1565         (g_win32_get_package_installation_subdirectory): New convenience
1566         function.
1567
1568         * gutils.c (GLIB_LOCALE_DIR)
1569         * gwin32.h: Adapt accordingly.
1570
1571         * testglib.c (main): Adapt tests accordingly.
1572
1573 Tue Jan 16 23:20:38 2001  Owen Taylor  <otaylor@redhat.com>
1574
1575         * gutils.c glibintl.h: Optimize for size rather than speed by
1576         making _() always call _glib_gettext() instead of conditionally
1577         calling gettext() or _glib_gettext_init. glib only uses translated
1578         strings in slow error handling code anyways.
1579
1580         * glibintl.h: g'ify types.
1581
1582         * Makefile.am: include glibintl.h in _SOURCES
1583
1584 2001-01-17  Tor Lillqvist  <tml@iki.fi>
1585
1586         * config.h.win32.in: Define ENABLE_NLS and GETTEXT_PACKAGE.
1587
1588         * makefile.mingw.in
1589         * makefile.msc.in: Use the GNU intl library.
1590
1591         * gwin32.c (g_win32_get_package_installation_directory): New
1592         function. To be used by various GLib-using packages to get their
1593         installation directory, which should be stored in the Registry by
1594         some installer.
1595
1596         * gwin32.h: Declare it.
1597
1598         * testglib.c (main): Test it.
1599
1600         * gutils.c: On Win32, define GLIB_LOCALE_DIR using
1601         g_win32_get_package_installation_directory().
1602
1603         * glib.def: Update.
1604
1605 Mon Jan 15 21:39:06 2001  Owen Taylor  <otaylor@redhat.com>
1606
1607         * glib-2.0.pc.in (Libs) glib-config-2.0.in: Add @INTLLIBS@.
1608
1609 Mon Jan 15 21:12:49 2001  Owen Taylor  <otaylor@redhat.com>
1610
1611         * configure.in acconfig.h glibintl.h gutils.c
1612         po/{Makefile.in.in,POTFILES.in,po2tbl.in}: Add gettext
1613         support.
1614
1615         * glib-gettext.m4 acinclude.m4: Clean up the GTK+ gettext macros
1616         some more and put them in this file, though they also need
1617         to be included in acinclude.m4 due to the brokeness of
1618         aclocal.
1619
1620         * gspawn.c gspawn-win32.c gutf8.c gconvert.c gfileutils.c
1621         gshell.c: Remove dummy _() #defines, include glibintl.m4.
1622
1623 2001-01-09  Tor Lillqvist  <tml@iki.fi>
1624
1625         * giowin32.c: Rework the changes needed to pass mainloop-test. Now
1626         we don't need to call TerminateThread() after all, which is a
1627         relief, as the docs have a BIG RED WARNING SIGN about using that
1628         API. Instead, when closing a fd channel that has a reader thread
1629         running, just mark it as non-running and additionally mark the fd
1630         as ripe for closing. When the reader thread hopefully eventually
1631         gets something (and EOF or some actual data), it will note that it
1632         shouldn't be running, break out of the loop, and close the fd.
1633
1634         The socket channel closing code should probably be changed
1635         similarily, but that will have to wait until I have a test case.
1636         
1637         (g_pipe_readable_msg, g_io_channel_win32_new_pipe,
1638         g_io_channel_win32_new_pipe_with_wakeups,
1639         g_io_channel_win32_pipe_request_wakeups,
1640         g_io_channel_win32_pipe_readable): Remove these, have been
1641         obsolete for some time.
1642         
1643         * gutils.c (g_basename, g_dirname): Don't warn about deprecation
1644         on Win32. Code written for GLib 1.2 doesn't have much choice but
1645         to use GLib >= 1.3 on Win32.
1646
1647         * glib.def: Update.
1648
1649 2001-01-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1650
1651         * gmem.c: Made g_profile_mutex a GMutex* instead of
1652         G_LOCK_DEFINE_STATIC to avoid deadlock for thread implementations
1653         without native static mutexes. Contruct g_profile_mutex in
1654         g_mem_init().
1655
1656 2001-01-06  Tor Lillqvist  <tml@iki.fi>
1657
1658         * gconvert.c (g_locale_to_utf8, g_locale_from_utf8): Get len using
1659         strlen() if arg is negative in the Win32 code, too.
1660
1661         * giowin32.c: Changes necessary to be able to run
1662         mainloop-test. We can't close the fd that our (internal) reader
1663         thread is sitting doing a blocking read() from. We must terminate
1664         the thread first. Keep track of thread handle, and close it when
1665         thread is dying. Start reader thread with the lower-level
1666         CreateThread() instead of _beginthreadex() from the C runtime, in
1667         order to be able to use TerminateThread(). Hopefuly this isn't
1668         harmful.
1669
1670         * glib.def: Update.
1671
1672         * tests/makefile.{mingw,msc}.in (TESTS): Add mainloop-test and
1673         unicode-encoding.
1674
1675         * tests/mainloop-test.c: Portability: <unistd.h>, need <fcntl.h>
1676         on Win32.
1677
1678         * tests/unicode-encoding.c (process): Add missing "line" argument
1679         to fail(). On Win32, convert UTF-16LE, as libiconv'c ivonf always
1680         converts to UTF-16BE if we ask for unspecific UTF-16.
1681         (main) Handle also '\r'.
1682
1683 Fri Jan  5 11:25:42 2001  Owen Taylor  <otaylor@redhat.com>
1684
1685         * configure.in (PACKAGE): move $enable_debug down below
1686         checks for GCC to avoid setting CFLAGS prematurely,
1687         change checks to avoid adding -g twice.
1688
1689         * gutf8.c (g_ucs4_to_utf8): Support len < 0 to mean
1690         0 termination.
1691
1692         * gutf8.c (g_utf8_to_ucs4): Terminate result with 0.
1693
1694         * tests/mainloop-test.c (main): Fix uses of 
1695         g_main_loop_destroy().
1696
1697         * tests/unicode-encoding.c tests/Makefile.am tests/utf8.txt:
1698         Tests for unicode-conversion code.
1699
1700         * gconvert.c (g_convert, g_convert_with_fallback): work around
1701         a couple of GNU libc bugs.
1702
1703         * gconvert.[ch] (g_{locale,filename}_{to,from}_utf8): Standardize
1704         arguments to match g_convert(). Document.
1705
1706         * gunicode.[ch]: 
1707           - Implement conversion functions to and from UTF-16
1708           - Standardize unicode conversion functions on prototype like
1709             g_convert.
1710           - Add a lot of error checking to unicode conversion functions.
1711
1712         * gunicode.[ch] (g_utf8_to_ucs4_fast): Add fast, non-checking
1713         variant of g_utf8_to_ucs4.
1714
1715         * gutf8.c (g_utf8_validate): 
1716          - add g_return_if_fail (str != NULL).
1717          - add checks for overlong strings, non-valid Unicode characters (>= 110000)
1718            and single surrogates.
1719
1720 2001-01-05  Tor Lillqvist  <tml@iki.fi>
1721
1722         * testglib.c (main): Add test for g_path_skip_root().
1723
1724         * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
1725         forward slashes in the template.
1726
1727         * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
1728         part of UNC paths. On all platforms, skip several initial
1729         slashes. Add a few comments.
1730         (g_get_any_init): On Win32, in case HOME is Unix-style with
1731         (forward) slashes (some other applications apparently set it up
1732         this way, convert to backslashed form.
1733
1734         * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
1735         although using configure for mingw surely doesn't work yet.
1736
1737         * glib.def: Update.
1738
1739 2001-01-02  Havoc Pennington  <hp@redhat.com>
1740
1741         * configure.in: remove glib-config-2.0
1742
1743         * Makefile.am: remove glib-config-2.0
1744
1745 2001-01-03  Havoc Pennington  <hp@pobox.com>
1746
1747         * tests/Makefile.am (INCLUDES): -I$(top_srcdir)/gmodule, 
1748         fix from Michael Meeks
1749
1750         * Makefile.am (INCLUDES): DISABLE was spelled wrong
1751
1752 Wed Jan  3 14:10:49 2001  Owen Taylor  <otaylor@redhat.com>
1753
1754         * gmain.[ch]: Switch GMainLoop to be ref/unref, use to
1755         make dropping reference to running loop safe.
1756
1757 Wed Dec 13 20:41:49 2000  Owen Taylor  <otaylor@redhat.com>
1758
1759         * gmain.c (g_source_unref_internal): Unref callback->cb_data
1760         if it was still set when the source is freed. (Usually, this
1761         will be done by g_source_destroy.)
1762
1763 2001-01-02  Dan Winship  <danw@helixcode.com>
1764
1765         * garray.h (g_array_append_val, g_array_prepend_val,
1766         g_array_insert_val): Use parentheses around an argument to make
1767         these cause an error if you pass a non-lvalue for the value,
1768         rather than silently doing the wrong thing.
1769
1770 2000-12-29  Tor Lillqvist  <tml@iki.fi>
1771
1772         * glibconfig.h.win32.in: Add GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG.
1773
1774         * glib.def: Update.
1775
1776         * {.,*}/makefile.{mingw,msc}.in: Add -DG_ENABLE_DEBUG.
1777         
1778 Fri Dec 29 14:53:18 2000  Tim Janik  <timj@gtk.org>
1779
1780         * configure.in: we can't grow _cv_ variables by using a backticked
1781         expr that refers back to the variable (glib_cv_sizeof_system_thread for
1782         G_THREAD_USE_PID_SURROGATE), that'd keep the variable growing every time
1783         it's evaluated. quantum states, anyone?)
1784
1785 Thu Dec 28 10:21:46 2000  Tim Janik  <timj@gtk.org>
1786
1787         * gmem.[hc]: got rid of outdated dmalloc support. provide g_try_malloc()
1788         and g_try_realloc() which _may_ fail and return NULL.
1789         nuked g_mem_check(), provided GMemVTable for memory function
1790         virtualization, alterable at program startup with g_mem_set_vtable().
1791         provided glib_mem_profiler_table and g_mem_profile() to support limited
1792         profiling information out of the box (uses mprotect() for free()ed areas
1793         on linux).
1794         provide globally visible G_MEM_ALIGN.
1795         buncha cleanups.
1796
1797         * docs/macros.txt: file to get a clue about the various configuration
1798         macros.
1799
1800         * docs/debugging.txt: explain debugging traps.
1801
1802         * configure.in: got rid of --enable-mem-check and --enable-mem-profile,
1803         define GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG. check malloc prototypes
1804         and define SANE_MALLOC_PROTOS is we can use them.
1805         <boy, is this file a mess>
1806
1807         * gutils.c, gscanner.c: fix up compatibility warnings, use g_message().
1808
1809 2000-12-27  Tor Lillqvist  <tml@iki.fi>
1810
1811         * README.win32: Update.
1812
1813 2000-12-25  Tor Lillqvist  <tml@iki.fi>
1814
1815         * gmessages.c: (Win32) Use a MessageBox for fatal
1816         messages. Collect eror message into a buffer, and display that.
1817
1818         * glib.def: Update.
1819
1820         * glibconfig.h.win32.in: Update. Remove unused wchar and wctype
1821         macros, add G_MODULE_SUFFIX.
1822
1823 2000-12-24  Ali Abdin  <aliabdin@aucegypt.edu>
1824
1825         * Makefile.am, gcompat.h, glib.h: New gcompat.h header file
1826           as recommended by Havoc.
1827
1828         * gdate.c, gdate.h, testgdate.c,
1829           docs/reference/glib/glib-sections.txt,
1830           docs/reference/glib/tmpl/date.sgml, tests/date-test.c: Rename some
1831           of the gdate functions to use the '_get' in their name. Patch
1832           reviewed by Havoc.
1833                 
1834 2000-12-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1835
1836         * configure.in: Determine the suffix of the shared librarries for
1837         this system. This is done analogous to
1838         ltconfig.sh. G_MODULE_SUFFIX in glibconfig.h is set to either
1839         "sl", "dll", or (most often) "so".
1840
1841         * tests/Makefile.am, tests/module-test.c,
1842         tests/libmoduletestplugin_a.c, tests/libmoduletestplugin_b.c:
1843         Added new testcase for gmodule. This is mostly copied from
1844         gmodule/testgmodule.c, but unlike that is is quiet. (Why BTW are
1845         some tests that verbose, not to say loquacious...)
1846
1847 2000-12-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1848
1849         * grand.c: Updated G_RAND_DOUBLE_TRANSFORM to be more
1850         accurate. Redid g_rand_double() such that it returns 52 bits after
1851         the point instead of 32 as before. That OTOH requires calling
1852         g_rand_int() twice. Overhauled g_rand_int_range(), which is easier
1853         now thanks to the new precision of g_rand_double(). Thanks to
1854         Sverre Johansen <sj@ifi.uio.no> for the hint.
1855
1856         * grand.h: Added g_rand_boolean() and g_random_boolean()
1857         macros. While they could be omitted due to extreme simplicity,
1858         they make intention clearer in code and are therefore good to have.
1859
1860         * grand.c, grand.h: Renamed all 'min' and 'max' parameters to'
1861         begin' and 'end' resp. to avoid making people think, that 'max' is
1862         included in the interval. 'end' now isn't, whereas 'begin'
1863         is. That's similar to the use in the STL.
1864
1865         * gslist.c, glist.c: Ok, I'm a moron. When I originally
1866         implemented ENABLE_GC_FRIENDLY, I forgot to include config.h into
1867         the affected files. Now that Alex did that for those two,
1868         inevitable typos surfaced, which are now fixed.
1869         
1870         * garray.c, ghash.c, gqueue.c, gtree.c: Include config.h as well,
1871         as ENABLE_GC_FRIENDLY should be known.
1872
1873 2000-12-19  Alexander Larsson  <alexl@redhat.com>
1874
1875         * configure.in:
1876         Added --disable-mem-pools option.
1877
1878         * glist.c:
1879         * gslist.c:
1880         * gnode.c:
1881         * gmem.c:
1882         Disable free list and memory chunks if DISABLE_MEM_POOLS is defined.
1883
1884 2000-12-17  Tor Lillqvist  <tml@iki.fi>
1885
1886         * gutf8.c (g_utf8_get_charset_internal): (Win32) Use GetACP to get
1887         the current ANSI codepage.
1888
1889         * gunicode.h: Add comment that the static string g_get_charset
1890         sets the parameter to point to should be copied in case the
1891         charset might be changed later in the program.
1892
1893 2000-12-14  Tor Lillqvist  <tml@iki.fi>
1894
1895         * makefile.{mingw,msc}.in: No need to -DGSPAWN_HELPER when
1896         compiling gspawn-win32-helper any longer.
1897
1898         * giowin32.c (g_io_win32_dispatch): Warn if no callback. Call
1899         callback correctly.
1900         (g_io_win32_create_watch): Fix typo.
1901         (g_io_win32_fd_create_watch): Ditto.
1902         (g_io_channel_unix_new): If it is a file descriptor (i.e., a Unix
1903         fd lookalike provided by the C library), call
1904         g_io_channel_win32_new_fd(). If it is a socket (from WinSock),
1905         call g_io_cahnnel_win32_new_stream_socket(). Hopefully sockets and
1906         fds don't overlap. TODO: Implement also datagram sockets.
1907         (g_io_channel_win32_poll): Call g_main_context_get_poll_func().
1908
1909         * gcompletion.h: Include <unistd.h> only on Unix. Is this
1910         inclusion really needed here? OTOH, do include <stddef.h>, for
1911         size_t.
1912
1913         * gmessages.c: (Win32) Don't define a function called "write" that
1914         might clash with the prototype from <io.h>, use a #define.
1915
1916         * glib.def: Update.
1917
1918         * gmain.c (g_source_add_poll): Don't return a value from void
1919         function.
1920         (g_main_context_get_poll_func): Compile also for non-Win32, as
1921         presumably was intended. The result var is a GPollFunc, not a
1922         GPollFunc*. Return the result!
1923
1924 2000-12-13  Havoc Pennington  <hp@redhat.com>
1925
1926         * gconvert.c (open_converter): make static
1927
1928         * gutf8.c (g_utf8_validate): Simplify logic a bit, maybe 
1929         speeding it up - now we just return FALSE if we had to bail out
1930         for any reason before getting to the end of the string, as defined 
1931         by a nul byte if len was -1, defined by the len otherwise. This 
1932         also fixes a bug where nul bytes were not treated as invalid 
1933         when the length was specified.
1934
1935 2000-12-12  Havoc Pennington  <hp@pobox.com>
1936
1937         * gmain.c (g_main_context_destroy): don't try to use thread stuff
1938         unless G_THREADS_ENABLED
1939         (g_main_context_query): ditto
1940         (g_main_context_check): ditto
1941         (g_main_loop_quit): ditto
1942
1943 Tue Dec 12 18:58:22 2000  Tim Janik  <timj@gtk.org>
1944
1945         * ghash.c (g_hash_table_remove): return whether a value
1946         got removed.
1947
1948 Tue Dec 12 15:18:10 2000  Owen Taylor  <otaylor@redhat.com>
1949
1950         * gmain.[ch]: Revert unauthorized changes.
1951
1952 2000-12-12  Elliot Lee  <sopwith@redhat.com>
1953
1954         * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy):
1955         GMainContext useful in implementing some additional styles of
1956         main loop usage.  To do this, however, Joe Hacker needs to be able
1957         to create/destroy GMainContext's at will. This is just an export
1958         of existing functionality, rather than any new functionality.
1959
1960         They are listed in the "Low level functions for implementing custom
1961         main loops" section of the header file, to avoid confusing people.
1962
1963 Sun Dec 10 10:47:11 2000  Owen Taylor  <otaylor@redhat.com>
1964
1965         * gmain.c (g_source_destroy_internal): Remove pollfds
1966         from the context here, not when actually freeing the
1967         source.
1968
1969         * gmain.c (g_source_unref_internal): Free source list
1970         and source, call source->source_funcs->destroy().
1971
1972         * giochannel.c: Unreference io_channel properly.
1973
1974 Thu Dec  7 15:22:30 2000  Owen Taylor  <otaylor@redhat.com>
1975
1976         * tests/mainloop-test.c (recurser_start): Add a bunch
1977         of unrefs.
1978
1979         * gmain.c (g_source_attach): Reference the source
1980         when adding (pointed out by Elliot)
1981
1982 2000-12-08  Raja R Harinath  <harinath@cs.umn.edu>
1983
1984         * acglib.m4 (GLIB_AC_DIVERT_BEFORE_HELP): 
1985         Rename from GLIB_DIVERT_BEFORE_HELP.  
1986         Update to track autoconf 2.49b.
1987         * configure.in: Reflect above change.
1988         (AC_EGREP_HEADER): Rename from really obselete AC_HEADER_EGREP.
1989         (debug_default): Replace "if test `expr ...`" with "case". 
1990
1991         * tests/Makefile.am (TESTS): Rearrange into other variables, and
1992         include run-markup-tests.sh.
1993         (TESTS_ENVIRONMENT): New.  Pass $srcdir to tests.
1994         (noinst_PROGRAMS): Rename to ...
1995         (check_PROGRAMS): ... this.  'automake' ensures that these are
1996         built before running the tests.
1997         * tests/run-markup-tests.sh: Support $srcdir != $builddir.
1998
1999 2000-12-08  Havoc Pennington  <hp@pobox.com>
2000
2001         * tests/Makefile.am (TESTS): move markup-test to noinst_PROGRAMS;
2002         it isn't a proper test, the proper test would be 
2003         run-markup-tests.sh, but that can't go in tests, so we need 
2004         a manual make check rule. Didn't do that yet.
2005
2006 2000-12-07  Raja R Harinath  <harinath@cs.umn.edu>
2007
2008         * gmain.h: Don't put anything after an #endif.
2009         * gmain.c: Likewise.
2010
2011 2000-12-06  Havoc Pennington  <hp@pobox.com>
2012
2013         * tests/strfunc-test.c (main): add g_strdupv test
2014
2015         * gstrfuncs.c (g_strdupv): Add a function to copy 
2016         an array of strings
2017
2018 Tue Dec  5 12:23:04 2000  Owen Taylor  <otaylor@redhat.com>
2019
2020         * gmain.[hc]: Major change in API for creating sources
2021         to handle multiple main loops (GMainContext *). 
2022
2023         GSources are now exposed as GSource * and implemented
2024         with structure derivation.
2025
2026         * giochannel.[ch]: Changed vtable for GIOChannel to correspond
2027         to the new mainloop API, add g_io_channel_create_watch().
2028          
2029         * gtypes.h: Move GTimeVal here.
2030
2031         * gthread.h: Remove gmain.h include to avoid circularity.
2032         
2033         * giounix.c: Update for new GMain API.
2034          
2035         * giowin32.c: Update for new GMain API. (No check for
2036         proper compilation or working.)
2037
2038         * timeloop.c timeloop-basic.c: A benchmarking program for
2039         the main loop comparing the main loop against a 
2040         hand-written (timeloop-basic.c) variant. 
2041
2042         * tests/mainloop-test.c: New torture test of mainloop.
2043         
2044         * docs/Changes-2.0.txt: Started. Added text about
2045         changes to GMain.
2046
2047         * gmain.c (g_main_add_poll_unlocked): Initial fd->revents
2048         to zero. (#8482, Benjamin Kahn)
2049
2050 2000-12-01  Tor Lillqvist  <tml@iki.fi>
2051
2052         * {.,*}/makefile.msc.in: Include make.msc from GLib's build subdir.
2053
2054         * makefile.{mingw,msc}.in (glib_OBJECTS): Add gunibreak.
2055
2056         * glib.def: Update correspondingly.
2057
2058 2000-11-21  Havoc Pennington  <hp@pobox.com>
2059
2060         * gmacros.h: Provide G_CONST_RETURN which is 'const' by default,
2061         and nothing when G_DISABLE_CONST_RETURNS is defined.
2062
2063 2000-11-29  Havoc Pennington  <hp@redhat.com>
2064
2065         * gunidecomp.c (COMBINING_CLASS): 
2066         s/UNICODE_LAST_CHAR/G_UNICODE_LAST_CHAR/
2067
2068         * gunichartables.h: Update for data in Unicode 3.0.1
2069
2070         * gunidecomp.h: Ditto
2071         
2072         * gunicode.h (GUnicodeBreakType): Enum for line break properties
2073         (g_unichar_break_type): Get the break property for a char
2074         
2075         * gunibreak.h: Autogenerated line break property tables
2076
2077         * gunibreak.c (g_unichar_break_type): added 
2078         
2079         * Makefile.am (EXTRA_DIST): dist gen-unicode-tables.pl
2080
2081         * Makefile.am (libglib_1_3_la_SOURCES): Add gunibreak.h, gunibreak.c
2082         
2083         * gen-unicode-tables.pl: Include the script to update the unicode
2084         char tables
2085
2086 2000-11-28  Elliot Lee  <sopwith@redhat.com>
2087
2088         * gmarkup.c: Fix warnings.
2089
2090         * guniprop.c, gunidecomp.c: Make warnings go away by using
2091         GPOINTER_TO_INT() instead of (int).
2092
2093         * gcompletion.[ch]: Add g_completion_set_compare(),
2094         to allow (for example) using case-insensitive completion.
2095
2096 2000-11-28  Tor Lillqvist  <tml@iki.fi>
2097
2098         Patches by Hans Breuer:
2099         
2100         * gspawn-win32.c: Move the code for gspawn-win32-helper to its own
2101         file.
2102
2103         * makefile.{mingw,msc}.in: Change accordingly.
2104
2105         * gspawn-win32-helper.c: New file.
2106
2107         * Makefile.am (EXTRA_DIST): Add it.
2108
2109         * gmarkup.c (find_current_text_end): Fix assertion not to check an
2110         uninitialised variable.
2111
2112 2000-11-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2113
2114         * gthread.c: Set the thread data before locking the mutex, because
2115         the locking call might use g_thread_self ().
2116
2117         * gthread.h: Do only show the location of the locking/unlocking
2118         for -DG_ERRORCHECK_MUTEXES and not the name of the mutex. Add the
2119         errorcheck capability for g_cond_wait and g_cond_timed_wait as
2120         well.   
2121
2122 2000-11-27  Havoc Pennington  <hp@redhat.com>
2123
2124         * gthread.h: Add void in empty function arg list
2125
2126 2000-11-22  Tor Lillqvist  <tml@iki.fi>
2127
2128         * makefile.{mingw,msc}.in: Add gqsort.
2129
2130         * glib.def: Update.
2131
2132 2000-11-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2133
2134         * configure.in: Add a surrogate for thread priorities using PID
2135         niceness for systems with no thread priorities and different PIDs
2136         for threads of the same process (most notably: Linux). Define
2137         G_THREAD_USE_PID_SURROGATE in that case, as used by
2138         gthread-posix.c. Also make the system thread bigger by
2139         sizeof (long) to contain the thread's PID.
2140
2141         * gfileutils.c: Include stdlib.h for mkstemp prototype.
2142
2143         * gthread.c: Add priority range checks to the affected functions.
2144
2145         * gthreadpool.c: Remove unused variable.
2146
2147 Mon Nov 20 18:55:17 2000  Jonathan Blandford  <jrb@redhat.com>
2148
2149         * gtree.[hc]: Patch from David Benson <daveb@idealab.com> to add
2150         user_data support to gtree functions.
2151
2152 Mon Nov 13 18:35:52 2000  Jonathan Blandford  <jrb@redhat.com>
2153
2154         * gtypes.h (GCompareFuncData): new func type to let you use user
2155         data when comparing nodes.
2156
2157         * gslist.c (g_list_sort_with_data): new function to sort with
2158         user_data. 
2159
2160         * glist.c (g_list_sort_with_data): new function to sort with
2161         user_data. 
2162
2163         * garray.[ch]: Added convenience functions to sort arrays.
2164
2165 2000-11-16  Havoc Pennington  <hp@redhat.com>
2166
2167         * guniprop.c (g_unichar_isspace): Use a switch here, maybe helps 
2168         the compiler optimize things. Also, ' ' is a SPACE_SEPARATOR,
2169         so don't special case it.
2170
2171 2000-11-17  Tor Lillqvist  <tml@iki.fi>
2172
2173         * glib.def: Add g_trash_stack entry points.
2174
2175 Fri Nov 17 15:43:00 2000  Owen Taylor  <otaylor@redhat.com>
2176
2177         * Released 1.3.2
2178         
2179         * NEWS: Update.
2180
2181         * tests/Makefile.am (dist-hook): Add code to distribute
2182         markup test files.
2183
2184 2000-11-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2185
2186         * configure.in: Check for the sched.h header and include it on
2187         gthread/gthread-posix.c if available.
2188
2189         * configure.in: Add -D_POSIX4_DRAFT_SOURCE to
2190         GTHREAD_COMPILE_IMPL_DEFINES. Also add -D_POSIX4A_DRAFT10_SOURCE
2191         to G_THREAD_CFLAGS. Really deploy GTHREAD_COMPILE_IMPL_DEFINES,
2192         when searching for thread libs. Look for sched_* functions in
2193         -lrte as well. All of that is necessary on DG/UX.
2194
2195         * configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADERS in
2196         various places to make it work more reliable, to make it accept
2197         macros instead of functions etc.
2198
2199         * configure.in: Replace some NULL's for checks with 0 to make it
2200         work without stdio.h everywhere.
2201
2202         * configure.in, gutils.c: changed the test for getpwuid_r to first
2203         test for a posix version and then for a non-posix version. No code
2204         change in gutils.c. Again this change deals better with getpwuid_r
2205         being a macro and not a function. Most of the above with kind help
2206         from Tethys <tet@isengard.europe.dg.com>. This fixes Bug #13403.
2207         
2208 2000-11-14  Tor Lillqvist  <tml@iki.fi>
2209
2210         * gwin32.h: Make #endif comment match #ifdef.
2211
2212 Mon Nov 13 14:00:20 2000  Owen Taylor  <otaylor@redhat.com>
2213
2214         * configure.in: Up version to 1.3.2
2215
2216         * gconvert.h (enum GConvertError): Remove trailing ,
2217
2218         * gfileutils.c (g_file_open_tmp): Fix comment to 
2219         properly describe return value.
2220
2221 2000-11-13  Tor Lillqvist  <tml@iki.fi>
2222
2223         * config.h.win32.in: Add USE_LIBICONV.
2224
2225         * gconvert.c: Check G_OS_WIN32 only after including glib.h. 
2226
2227         * glib.def: Update.
2228
2229 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2230
2231         * gthread.c (g_static_rec_mutex_*): Made recursive mutexes also
2232         work when the thread system is not (yet) initialized.
2233
2234 Sun Nov 12 18:34:32 2000  Owen Taylor  <otaylor@redhat.com>
2235
2236         * gconvert.[ch]: Create wrapper functions for iconv()
2237         so that we can transparently use the native iconv, 
2238         libiconv, or (in the future) a mini-iconv included
2239         with glib.
2240
2241         * glib-config-2.0.in glib-2.0.pc.in: Include @ICONV_LIBS@
2242
2243         * INSTALL: Added note about libiconv.
2244
2245         * configure.in: Add checks for libiconv from pango. If
2246         EILSEQ is not defined in errno.h add define for it into
2247         glibconfig.h so g_iconv can use it. (Note, recompiling
2248         from a system without EILSEQ to a system with EILSEQ
2249         will break binary compatibility)
2250
2251 2000-11-12  Robert Brady  <robert@suse.co.uk>
2252
2253         * gstrfuncs.c, gstrfuncs.h: Remove g_filename_{to,from}_utf8
2254
2255         * gconvert.c, gconvert.h: Add g_filename_{to,from}_utf8 and
2256         g_locale_{to.from}_utf8.  The locale_ variant honours 
2257         nl_langinfo(CODESET), the filename_ variant uses UTF-8 unless
2258         asked otherwise.
2259
2260         (g_convert): Add G_CONVERT_ERROR_PARTIAL_INPUT error, if bytesread
2261         != length and no bytesread pointer passed.
2262
2263 Sun Nov 12 15:29:53 2000  Owen Taylor  <otaylor@redhat.com>
2264
2265         * gfileutils.[ch]: template is a reserved word in
2266         C++ s/template/tmpl/. 
2267
2268 2000-11-11  Havoc Pennington  <hp@pobox.com>
2269
2270         * gmarkup.c (g_markup_parse_context_parse): Handle a long stream
2271         of bytes containing no UTF-8 character starts
2272
2273 2000-11-11  Tor Lillqvist  <tml@iki.fi>
2274
2275         * glib.def: Add missing entry points.
2276
2277         * gfileutils.c (g_mkstemp): Improve chance to generate unique
2278         names with less effort a bit.
2279
2280         * gfileutils.h: Add g_file_open_tmp() declaration.
2281
2282         * testglib.c: Include <io.h> on Win32.
2283
2284         * makefile.mingw.in: Correct the way to invoke sub-makes.
2285
2286 Sun Nov  5 13:20:54 2000  Owen Taylor  <otaylor@redhat.com>
2287
2288         * glib-object.h: Add gtypemodule.h
2289
2290 2000-11-11  Tor Lillqvist  <tml@iki.fi>
2291
2292         * gfileutils.c (g_file_open_tmp): New function, suggested by Havoc
2293         earlier this month.
2294         (g_mkstemp): Use only one case for letters in temp file name, as
2295         this will be used on systems with case-insensitive file systems.
2296
2297         * testglib.c (main): Test g_mkstemp() and g_file_open_tmp().
2298
2299 2000-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2300
2301         * gthreadpool.c: Don't take other threads with other priorities
2302         into account as changing the priority is highly
2303         unportable. (Actually using it at all already is unportable, but
2304         even sometimes where that works, changing priority is not
2305         possible).
2306
2307 2000-11-05  Havoc Pennington  <hp@pobox.com>
2308
2309         * gmarkup.h: rename G_MARKUP_FOO to
2310         G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG
2311
2312         * gmarkup.c: don't start doc comments with "Returns"
2313         
2314 2000-11-05  Havoc Pennington  <hp@pobox.com>
2315
2316         * gmarkup.c: inline docs
2317         (unescape_text): properly check strtoul for failure.
2318         
2319         * gerror.c (g_propagate_error): Free the src error if the dest
2320         location is NULL - I'm pretty sure that's what this function was 
2321         supposed to do.
2322
2323 2000-11-05  Havoc Pennington  <hp@pobox.com>
2324
2325         * gutils.c (g_find_program_in_path): cleanup docs, sync param 
2326         names to those in the header
2327
2328         * gfileutils.c (g_mkstemp): clean up docs
2329
2330         * gshell.h: sync param names with param names in .c file
2331
2332         * gfileutils.h (enum GFileTest): remove trailing comma from last
2333         member, confuses gtk-doc
2334
2335         * gmarkup.h: s/GMarkupErrorType/GMarkupError/g; to follow
2336         convention
2337
2338 2000-11-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2339
2340         * gasyncqueue.c: Added documentation for asyncronous queues.
2341
2342         * gspawn.c: Include sys/select.h (some platforms need it for
2343         select). 
2344
2345         * gspawn.c: Changed unportable __FUNCTION__ to the verbatim
2346         function name.
2347
2348 2000-10-31  Tor Lillqvist  <tml@iki.fi>
2349
2350         * gutils.c
2351         * gutils.h
2352         * gfileutils.c
2353         * gfileutils.h: Actually, g_mkstemp() is better suited in gfileutils.
2354
2355 2000-10-30  Tor Lillqvist  <tml@iki.fi>
2356
2357         * configure.in: Check for mkstemp.
2358
2359         * gutils.c (g_mkstemp): New function. If HAVE_MKSTEMP, just call
2360         it, otherwise use code lifted from glibc.
2361
2362         * gutils.h: Declare it.
2363
2364         * glib.def: Here, too. Plus two missing functions.
2365
2366 2000-10-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2367
2368         * gcache.h, gcache.c, ghash.h, ghash.c, grel.c, grel.h, gtypes.h:
2369         Introduced new function type GEqualFunc to return TRUE for equal
2370         params. This is now used instead of GCompareFunc (which should
2371         work akin to strcmp) here. This kind of fixes Bug #14412. Note
2372         that technically GCompareFunc and GEqualFunc are still the same
2373         types, as gint == gboolean.
2374
2375         * ghash.h, gutils.c: g_int_equal and g_direct_equal now return
2376         gboolean to be really become GEqualFunc.
2377
2378         * gscanner.c, testglib.c, tests/hash-test.c: Some tiny changes to
2379         follow the above change.
2380
2381 2000-10-27  Tor Lillqvist  <tml@iki.fi>
2382
2383         * makefile.{mingw,msc}.in (glib_OBJECTS): Add gmarkup.
2384
2385         * glib.def: Add missing functions.
2386
2387         * tests/makefile.{mingw,msc}.in (TESTS): Add markup-test.
2388
2389 2000-10-24  Havoc Pennington  <hp@pobox.com>
2390
2391         * gmarkup.h, gmarkup.c: New module to parse a simple
2392         markup language
2393         
2394         * Makefile.am: add gmarkup.h, gmarkup.c
2395
2396         * tests/Makefile.am: add markup-test
2397
2398         * gstring.h (g_string_new_len): new function to create a string
2399         with a length
2400         (g_string_new): avoid a gratuitous realloc
2401
2402 2000-10-26  Tor Lillqvist  <tml@iki.fi>
2403
2404         * makefile.{mingw,msc}.in: Cosmetics.
2405
2406 2000-10-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2407
2408         * gstrfuncs.c (g_strsplit): When the string is ended by a
2409         delimiter, return an extra empty string just like for a delimiter
2410         at the start of the string. This makes the function behave more
2411         consistent and also fixes Bug #15026.
2412
2413 Tue Oct 24 22:09:14 2000  Tim Janik  <timj@gtk.org>
2414
2415         * glib-object.h: added newly added gobject/ headers.
2416
2417         * gmesage.c: print g_message() output to stderr instead of stdout.
2418
2419 2000-10-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2420
2421         * configure.in: Use one = instead of two, which is plainly wrong.
2422
2423 2000-10-19  Tor Lillqvist  <tml@iki.fi>
2424
2425         * makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
2426         with user32.lib.
2427
2428         * gspawn-win32.c
2429         * gfileutils.c: Make them compile with picky MSVC.
2430
2431         * gwin32.h: New file. Move Win32-only stuff that isn't related to
2432         GIOChannels here from giochannel.h.
2433
2434         * Makefile.am: Add it here.
2435
2436         * giochannel.h: Move stuff to gwin32.h.
2437
2438         * glib.h: On Win32, include gwin32.h.
2439
2440 Mon Sep 11 10:03:24 2000  Owen Taylor  <otaylor@redhat.com>
2441
2442         * glib.h convert.c (g_convert_with_fallback): Change
2443         ERROR_OTHER to ERROR_FAILED, add some dummy marking with _().
2444
2445         * docs/reference/glib/glib-sections.txt
2446         docs/reference/glib/glib-docs.sgml Update for g_convert,
2447         g_unicode_validate.
2448
2449 2000-10-16  Tor Lillqvist  <tml@iki.fi>
2450
2451         * glibconfig.h.win32.in: Remove alloca stuff from here. galloca.h
2452         takes care of it, correctly.
2453
2454         * giowin32.c (reader_thread): Some more debugging output.
2455         (g_io_channel_win32_poll): Remove unused vars.
2456
2457         * gfileutils.c: Changes for Win32, with no unistd.h and no
2458         S_ISLNK().
2459
2460         * gspawn-win32.c: Implementation of the g_spwan_* functions for
2461         Win32. Due to the general non-Unixness of Win32, much of the
2462         functionality that is relatively clean to implement on Unix, is
2463         hard to do on Win32. We must use a separate helper program to
2464         change directory, close extra file descriptors, redirect the std
2465         ones, as needed, and only then start the child process. No child
2466         process pid can be returned, unfortunately. Or if we used
2467         CreateProcess directly, it probably could. (Now we use the spawnv*
2468         functions from msvcrt.)
2469
2470         * Makefile.am (EXTRA_DIST): Add gspawn-win32.c
2471
2472         * glib.def: Add new entry points.
2473
2474         * glib.def
2475         * giowin32.c: Remove g_io_channel_win32_wait_for_condition(),
2476         g_io_channel_win32_poll() subsumes it.
2477
2478         * gbacktrace.h: G_BREAKPOINT for MSVC (on the ix86).
2479
2480         * gwin32.c (g_win32_getlocale): Use "sp" for
2481         LANG_CROATIAN+SUBLANG_SERBIAN_LATIN.
2482
2483         * makefile.{mingw,msc}.in (glib_OBJECTS): Add new files.
2484         Add gspawn-win32-helper.exe rule.
2485
2486         * tests/makefile.{mingw,msc}.in (TESTS): Add shell-test and
2487         spawn-test.
2488
2489         * tests/spawn-test.c: (run_tests): On Win32, don't try to run
2490         /bin/sh, but ipconfig (no special significance in choosing that,
2491         just a program that outputs something to stdout).
2492
2493 2000-10-15  Raja R Harinath  <harinath@cs.umn.edu>
2494
2495         Remove need for acconfig.h, and misc. cleanups.
2496         * acglib.m4 (GLIB_SIZEOF): Add 'autoheader' comment to
2497         AC_DEFINE_UNQUOTED.
2498         (GLIB_BYTE_CONTENTS): Likewise.
2499
2500         * configure.in: Add 'autoheader' comments to all AC_DEFINE(...)
2501         and AC_DEFINE_UNQUOTED(...) lines.
2502         Replace AC_MSG_CHECKING/AC_CACHE_VAL with AC_CACHE_CHECK.
2503         (AM_PROG_LIBTOOL): Move after AC_PROG_CC.
2504         
2505         * acconfig.h: Empty out.
2506
2507         * Makefile.am (BUILT_EXTRA_DIST): New variable.  List 'dist'able
2508         files that are created in the builddir.
2509         (dist-hook): Handle those files.
2510         (libglib_1_3_la_SOURCES): Remove @ALLOCA@.  @ALLOCA@ should only
2511         be used in an _LDADD or _LIBADD, since it expands (if necessary)
2512         to 'alloca.o'.
2513
2514         * tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
2515         (dist-hook): Handle $(BUILT_EXTRA_DIST).
2516         
2517 2000-10-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2518
2519         * grand.c: Added inline documentation. 
2520
2521         * gtypes.h, gnode.h, gutils.h: Readded GFreeFunc,
2522         g_node_insert_after and g_find_program_in_path resp., which
2523         mysteriously disappeared during the glib.h dissection.
2524
2525 2000-10-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2526
2527         * glibconfig.h.win32.in: Adapted accordingly to header separation
2528         and GLIB_HAVE_ALLOCA_H renaming.
2529
2530         * Makefile.am: Added the new headers to glibinclude_HEADERS.
2531
2532         * glib.h: Forgot to include gerror.h.
2533
2534         * glib.h, galloca.h, garray.h, gasyncqueue.h, gbacktrace.h,
2535         gcache.h, gcompletion.h, gconvert.h, gdataset.h, gdate.h, ghash.h,
2536         ghook.h, giochannel.h, glist.h , gmacros.h, gmain.h, gmem.h,
2537         gmessages.h, gnode.h, gprimes.h, gquark.h, gqueue.h, grand.h,
2538         grel.h, gscanner.h, gslist.h, gstrfuncs.h, gstring.h, gthread.h,
2539         gthreadpool.h, gtimer.h, gtree.h, gtypes.h, gutils.h: Split glib.h
2540         into many header files mostly according to the resp. *.c-files.
2541         
2542         * gmacros.h: Added G_BEGIN_DECLS and G_END_DECLS to mean: 'in case
2543         of C++: extern "C" { ... }' analogous to glibc __BEGIN_DECLS and
2544         __END_DECLS.
2545
2546         * configure.in, gerror.h, gfileutils.h, gshell.h, gspawn.h,
2547         gunicode.h, : Changed guard-macro names to something more
2548         consistent.
2549
2550         * configure.in, *.h: Use G_BEGIN_DECLS and G_END_DECLS.
2551
2552         * configure.in: Defined GLIB_HAVE_ALLOCA_H instead of including
2553         alloca.h in glibconfig.h, GLIB_HAVE_ALLOCA_H is used in glib.h.
2554
2555         * configure.in: Removed cruft from old threading code.
2556
2557 2000-10-09  Raja R Harinath  <harinath@cs.umn.edu>
2558
2559         Work with beta autoconf 2.50.
2560         * configure.in (GLIB_MAJOR_VERSION): Use GLIB_DIVERT_BEFORE_HELP
2561         instead of AC_DIVERT_PUSH(),AC_DIVERT_POP.
2562         (AC_CHECK_HEADERS): Remove redundant AC_DEFINE(HAVE_...).
2563         (REALLOC_0_WORKS): Move AC_DEFINE outside AC_CACHE_VAL.
2564         (dlopen): Quote nested AC_CHECK_... calls.
2565
2566         * acglib.m4 (GLIB_TR_SH, GLIB_TR_CPP): Utility macros copied from
2567         beta autoconf 2.50.
2568         (GLIB_DIVERT_BEFORE_HELP): New macro that works both with autoconf
2569         2.13 and beta autoconf 2.50.
2570         (GLIB_SIZEOF, GLIB_BYTECONTENTS): Use GLIB_TR_*.
2571
2572         * Makefile.am (CONFIGURE_DEPENDENCIES): Use this to specify
2573         that 'configure' depends on acglib.m4.
2574
2575 2000-10-09  Havoc Pennington  <hp@redhat.com>
2576
2577         * Makefile.am, tests/Makefile.am: Add new files.
2578
2579         * tests/spawn-test.c, tests/shell-test.c: new tests for
2580         the shell/spawn stuff
2581
2582         * gutils.c (g_find_program_in_path): convert a relative
2583         program name into an absolute pathname to an existing 
2584         executable
2585
2586         * gspawn.h, gspawn.c: New fork/exec API
2587
2588         * gshell.h, gshell.c: Shell-related utilities, at the moment
2589         simply routines to parse argv and quote/unquote strings
2590
2591         * guniprop.c (g_unichar_isspace): Return TRUE for the 
2592         ASCII space characters isspace() returns TRUE for.
2593
2594         * gfileutils.c (g_file_get_contents): Convenience function 
2595         to slurp entire file into a string and return it. Partially
2596         written by Joel Becker.
2597         (g_file_test): file test function
2598
2599 2000-10-06  Tor Lillqvist  <tml@iki.fi>
2600
2601         * makefile.msc.in: Revamp to be like makefile.mingw.in, make
2602         the MSVC build actually work again.
2603
2604         * gmodule/makefile.msc.in
2605         * gobject/makefile.msc.in
2606         * gthread/makefile.msc.in: New files, like their mingw counterparts.
2607
2608         * gmodule/Makefile.am
2609         * gobject/Makefile.am
2610         * gthread/Makefile.am: Make and distribute them.
2611
2612         * */makefile.mingw.in: Allow override of GLib version number from
2613         the build/win32/module.defs file.
2614
2615         * glib.def: Add new entry point.
2616
2617         * tests/gio-test.c (main): Fix the Win32-only code to use current
2618         API, g_io_channel_win32_make_pollfd() and g_io_channel_win32_poll().
2619
2620         Fixes from Hans Breuer:
2621
2622         * glib.h (struct DIR): Keep the last readdir result cached inside
2623         the DIR struct, to enable several DIRs being open simultaneously.
2624
2625         * gwin32.c (g_win32_readdir): Use the above instead of static.
2626
2627         * giowin32.c (g_io_channel_win32_make_pollfd): Insert cast to keep
2628         MSVC happy.
2629
2630 2000-10-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2631
2632         * glib.h: Changed alloca stuff a bit: when we have a working
2633         alloca.h, we're not messing with alloca any further. Should fix a
2634         bug reported by Bernd Demian <wega@csc-dd.de>.
2635
2636 2000-09-29  Jonathan Blandford  <jrb@redhat.com>
2637
2638         * gnode.c (g_node_insert_after): Added function to keep symmetry
2639         with g_node_insert_before. 
2640
2641 2000-09-29  Martin Baulig  <baulig@suse.de>
2642
2643         Several minor ANSI C fixes.
2644
2645         Added missing casts:
2646         * gdate.c (g_date_fill_parse_tokens): `s = (guchar *) str'.
2647         * gmain.c (g_idle_dispatch): `func = (GSourceFunc) source_data'.
2648         (g_idle_add_full): `(gpointer) function' in call to g_source_add().
2649         * gstrfuncs.c (g_strdown): `s = (guchar *) string' and
2650         `return (gchar *) string'.
2651         (g_strup): Likewise.
2652         (g_strchug): `start = (guchar*) string' in 1st for() argument;
2653         `strlen ((gchar *) start)' in call to g_memmove().
2654         * gstring.c (g_string_down): `s = (guchar *) string->str'.
2655         (g_string_up): Likewise.
2656         * gthreadpool.c (stop_this_thread_marker):
2657         `(gpointer) &g_thread_pool_new'.
2658         * gunidecomp.h (decomp_table[]): Cast all the strings to
2659         `unsigned char *'.
2660
2661         Put text following #endif into comments:
2662         * gmain.c: here.
2663
2664 2000-09-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2665
2666         * configure.in, glib.h: Added errorcheck mutexes. These are
2667         activated through the preprocessor symbol
2668         G_ERRORCHECK_MUTEXES. Need to add an extra word to StaticMutex in
2669         order to achieve this. g_(static_)mutex_* functions instrument the
2670         mutex operations with mutex name and location, when compiled with
2671         -DG_ERRORCHECK_MUTEXES. g_thread_init activates the errorcheck
2672         mutexes, when compiled with -DG_ERRORCHECK_MUTEXES.
2673
2674 2000-09-28  Havoc Pennington  <hp@pobox.com>
2675
2676         * glib.h (GThreadPriority): fix indentation
2677         (GConvertError): generic error is conventionally called
2678         _FAILED rather than _OTHER, at least at the moment, 
2679         according to GError docs in docs/reference.
2680
2681         * gconvert.c: s/_OTHER/_FAILED/
2682
2683 2000-09-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2684
2685         * configure.in: Adjusted the test for an unimplemented
2686          getpwuid_r. Info from Michael Pruett. This is just a forward
2687          merge from glib-1-2.
2688
2689         * configure.in: Moved determination of G_THREAD_FLAGS before
2690         G_THREAD_LIBS. Check for UnixWare systems and set the right cflags
2691         and libs there (it needs -Kthread for the native compiler and
2692         -pthread for gcc). Thanks to Boyd Lynn Gerber <gerberb@zenez.com>
2693         for the info.
2694
2695         * configure.in: Fail immediately, when no thread library is found,
2696         instead of continuing searching for rt libs etc. Changed almost
2697         all occurances of $enable_threads to $have_threads, as that's,
2698         what we want.
2699
2700         * tests/threadpool-test.c: Define vars inside the guard to avoid
2701         warnings.
2702
2703         * configure.in, tests/type-test.c: Some platforms support 64 bit
2704         'long long', but you can not printf or scanf them. In that case,
2705         don't define G_G{UINT|INT}64_FORMAT. Changed the type-test program
2706         to reflect that.
2707
2708         * gutils.c (g_get_current_dir): max_len can't be initialized
2709         statically as it might call a function. So do it at first call.
2710
2711 Tue Sep 26 2000 Elliot Lee <sopwith@redhat.com>
2712
2713         * glib.h: Add G_GNUC_PURE macro (but don't use it anywhere).
2714
2715 Mon Sep 25 2000 Elliot Lee <sopwith@redhat.com>
2716
2717         * garray.c, glib.h, gmem.c: Add a few missing G_GNUC_CONST's.
2718
2719 2000-09-21  Tor Lillqvist  <tml@iki.fi>
2720
2721         * makefile.mingw.in: Add gconvert.o. Use libiconv.
2722
2723         * config.h.win32.in: Define HAVE_GETCWD.
2724
2725         * glib.def: Add new entry points.
2726
2727 2000-09-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2728
2729         * configure.in: The last released automake (1.4) still requires
2730         AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL, so use that for the
2731         time being.
2732
2733 2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2734
2735         * acconfig.h, configure.in, gutils.c: Test for the existence of
2736         getcwd, and use it only when found.
2737
2738         * glib.h: Only use the gcc-variable-macro-argument-extension for
2739         gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
2740
2741 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
2742
2743         * gutf8.c: Implement g_ucs4_to_utf8 which was in
2744         the header file but not implemented.
2745
2746 Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com>
2747
2748         * glib.h configure.in: Define g_alloca() as an
2749         alloca-that-works-anywhere.
2750
2751         * gconvert.c: Fix warnings which could have caused problems on
2752         64-bit platforms.
2753
2754 Sun Sep 10 12:37:40 2000  Owen Taylor  <otaylor@redhat.com>
2755
2756         * glib.h gconvert.c (g_convert): Havoc Pennington's implementation 
2757         of convenient character set conversion using iconv, with
2758         the addition of GError. We probably need a fallback that
2759         just does conversions between, say UTF-8,16,32 and ISO-8859-1
2760         for targets without iconv at all.
2761
2762         Also add g_convert_with_fallback() to take care of conversions 
2763         where we accept some loss going to the target encoding.
2764
2765 2000-09-10  Havoc Pennington  <hp@redhat.com>
2766
2767         * gutf8.c (g_utf8_validate): Add this function.
2768
2769 Sat Sep  9 18:50:42 2000  Owen Taylor  <otaylor@redhat.com>
2770
2771         * gstrfuncs.c (g_strescape): Add a missing g_return_if_fail().
2772
2773 Mon Aug 21 03:57:46 2000  Tim Janik  <timj@gtk.org>
2774
2775         * glib.h (G_BREAKPOINT): for non-i386 and non-alpha, or non gcc,
2776         implement BREAKPOINT() as raise (5 /* SIGTRAP */);
2777
2778         * glib.h: provide user-definable switch G_IMPLEMENT_INLINES,
2779         to turn on compilation of inline function implementations provided
2780         in header files with extern linkage.
2781         wrap inline function implementations into ifdef __G_UTILS_C__, so we
2782         really only compile them for gutils.c and not also into arbitrary user
2783         code that wants to make use of G_IMPLEMENT_INLINES.
2784         adjusted comment apropriately.
2785
2786         * gutils.c: to turn on compilation of inline functions, provide
2787         #define G_IMPLEMENT_INLINES 1 and #define __G_UTILS_C__.
2788
2789 2000-09-06  Havoc Pennington  <hp@redhat.com>
2790
2791         * gerror.c: docs
2792
2793         * docs/reference/glib/tmpl/error_reporting.sgml: docs
2794
2795 Wed Sep  6 10:28:34 2000  Owen Taylor  <otaylor@redhat.com>
2796
2797         * guniprop.c gunicode.h gutf8.c: Some inline docs fixes.
2798
2799 2000-09-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2800
2801         * glib.h, gtimer.c, tests/thread-test.c:
2802         s/G_MICROSEC/G_USEC_PER_SEC/
2803
2804         * glib.h: Removed G_G{U}{SHORT|INT|LONG}_FORMAT from glib.h, as
2805         they are really superfluous.
2806
2807 Tue Sep  5 20:16:27 2000  Owen Taylor  <otaylor@redhat.com>
2808
2809         * configure.in docs/Makefile.am: Add gtk-doc checks
2810         for newly added docs/reference/ subdir.
2811
2812 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2813
2814         * gthread.c (g_thread_error_quark): Don't use a G_LOCK, as it
2815         isn't necessary.
2816
2817 2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2818
2819         * gstring.c (g_string_free): Use g_return_val_if_fail instead of
2820         g_return_if_fail, as the function now is supposed to return
2821         something.
2822
2823         * gerror.c, gerror.h (g_propagte_error): Added function
2824         g_propagte_error to hand over local errors to the calling
2825         function.
2826
2827         * glib.h: Include gerror.h before it is used for some g_thread_*
2828         functions.
2829
2830         * gthread.c, gthreadpool.c, glib.h: Enable error reporting for
2831         thread creation, namely for g_thread_create, g_thread_pool_new,
2832         g_thread_pool_push and g_thread_pool_set_max_threads.
2833
2834         * tests/thread-test.c, tests/threadpool-test.c: Adapted
2835         accordingly.
2836
2837 2000-08-31  Tor Lillqvist  <tml@iki.fi>
2838
2839         * glib.h
2840         * glib.def
2841         * giowin32.c (g_io_channel_win32_make_pollfd): New function, to
2842         make a GPollFD from a GIOChannel. Creates the events and starts
2843         the reader thread if necessary.
2844
2845         * glib.h
2846         * giowin32.c (g_io_channel_win32_poll): No use for separate
2847         condition parameter.
2848
2849         * gmain.c (g_get_current_time): (Win32): Simplify, use
2850         GetSystemTimeAsFileTime().
2851
2852 2000-08-27  Tor Lillqvist  <tml@iki.fi>
2853
2854         * giowin32.c (g_io_channel_win32_poll): New function, otherwise
2855         like g_io_channel_win32_wait_for_condition(), but accept several
2856         GPollFDs.
2857         (g_io_channel_win32_wait_for_condition): Call
2858         g_io_channel_win32_poll().
2859
2860         * glib.h: Declare g_io_channel_win32_poll().
2861
2862         * gwin32.c (g_win32_error_message): Don't believe return value
2863         from FormatMessage.
2864
2865 2000-08-25 Elliot Lee <sopwith@redhat.com>
2866
2867         * glib.h, gunicode.h, gmodule/gmodule.h:
2868         Mark the following functions G_GNUC_CONST (to allow optimization)
2869         because their results are a function of only their parameters: 
2870         g_int_hash, g_int_equal, g_direct_hash, g_direct_equal,
2871         g_quark_to_string, g_date_is_leap_year, g_date_days_in_month,
2872         g_date_monday_weeks_in_year, g_date_sunday_weeks_in_year,
2873         g_spaced_primes_closest, g_unichar_is*, g_unichar_to*,
2874         g_unichar_*digit_value, g_unichar_type
2875
2876 2000-08-21 Elliot Lee <sopwith@redhat.com>
2877
2878         * gobject/Makefile.am, gobject/gobject-query.c,
2879         gobject/gparamspecs.c: Fix inclusion of config.h
2880
2881 Mon Aug 21 14:46:23 2000  Owen Taylor  <otaylor@redhat.com>
2882
2883         * tests/gio-test.c: Fix a couple of trivial bugs that
2884         were causing warnings.
2885
2886 Mon Aug 21 14:39:36 2000  Owen Taylor  <otaylor@redhat.com>
2887
2888         * glib.h: Use C99 varargs macros where possible 
2889         (check __STDC_VERSION__), otherwise, on gcc, use an alternate 
2890         form of gcc varargs which is more likely
2891         to be supported going forward. (Based on some code
2892         from Raja Harinath)
2893
2894 2000-08-17  Darin Adler  <darin@eazel.com>
2895
2896         * glib.h:
2897         * garray.c: (g_array_free), (g_ptr_array_free),
2898         (g_byte_array_free): Return the data left behind.
2899         * gstring.c: (g_string_free): Return the data left behind.
2900
2901         Changed the free calls that leave data behind so they
2902         return a pointer to the left-behind data, NULL if told not
2903         to leave anything behind. This makes these calls easier
2904         to use correctly, without any incompatible API change for
2905         callers that don't know about the return value. Of course,
2906         it would be even clearer if the free calls weren't dual-purpose
2907         in the first place.
2908
2909 2000-08-12  Tor Lillqvist  <tml@iki.fi>
2910
2911         * giowin32.c: Some indentation and spacing fixes. Add some more
2912         logging.
2913         (g_io_win32_add_watch): New function, with common code from
2914         g_io_win32_fd_add_watch and g_io_win32_sock_add_watch. Don't start
2915         more than one reader thread for a GIOChannel. We should obviously
2916         have just one reader thread reading a file descriptor or socket.
2917
2918 2000-08-10  Havoc Pennington  <hp@redhat.com>
2919
2920         * gthread-2.0.pc.in (Cflags): don't duplicate glib Cflags
2921
2922         * gmodule-2.0.pc.in (Cflags): don't duplicate glib Cflags
2923
2924         * gobject-2.0.pc.in (Cflags): don't duplicate Cflags from glib
2925         itself
2926
2927 2000-08-10  Havoc Pennington  <hp@redhat.com>
2928
2929         * glib-2.0.pc.in (Cflags): Look in glib-2.0/include for
2930         glibconfig.h
2931
2932 2000-08-07  Tor Lillqvist  <tml@iki.fi>
2933
2934         * tests/gio-test.c (shutdown_source): New function, that calls
2935         g_source_remove(). Check return value of g_source_remove(), and
2936         decrement running subprocess counter only if g_source_remove()
2937         actually did remove the source.
2938
2939         (recv_message): Call shutdown_source() on EOF condition. Return
2940         FALSE on G_IO_HUP and G_IO_ERR condition. Fix printf format typo.
2941
2942 Sun Aug  6 20:06:02 2000  Tim Janik  <timj@gtk.org>
2943
2944         * gmessages.c (g_log_domain_check_free): keep *last updated while
2945         running through the domain list, so we don't screw up the removal,
2946         patch provided by Gady Kozma <gadykozma@hotmail.com>.
2947
2948 Sun Aug  6 20:03:41 2000  Tim Janik  <timj@gtk.org>
2949
2950         * gmessages.c (g_log_remove_handler): keep *last updated while running
2951         through the handler list, so we don't screw up the removal.
2952
2953 Sun Jul 30 16:54:13 2000  Owen Taylor  <otaylor@redhat.com>
2954
2955         * gunicode.h: Fix stray character
2956
2957         * gutf8.c (g_unichar_to_utf8): Allow outbuf to be NULL, in
2958         which case we just compute the length.
2959
2960 2000-07-31  Havoc Pennington  <hp@redhat.com>
2961
2962         * Makefile.am (EXTRA_DIST): forgot to add .pc.in to EXTRA_DIST
2963
2964 2000-07-31  Havoc Pennington  <hp@redhat.com>
2965
2966         * glib-2.0.pc.in, gobject-2.0.pc.in, gmodule-2.0.pc.in,
2967         gobject-2.0.pc.in: pkg-config data files         
2968
2969         * Makefile.am: Install/dist the .pc files
2970
2971         * configure.in: Output the .pc files
2972
2973 2000-07-31  Tor Lillqvist  <tml@iki.fi>
2974
2975         * giowin32.c (buffer_read): The code didn't compile (must
2976         have been sleepy when committing). "return" instead of "break"
2977
2978         (g_io_win32_fd_add_watch): Cannot check if the file descriptor is
2979         readable by calling ReadFile to read zero bytes. ReadFile blocks
2980         on NT even if trying to read nothing at all. So, don't check if
2981         file descriptor is readable; assume this function isn't called
2982         otherwise.
2983
2984 Sun Jul 30 10:44:16 2000  Tim Janik  <timj@gtk.org>
2985
2986         * gmain.c (g_get_current_time): fix tor's recent changes which
2987         got rid of a required variable in the non-windows path.
2988
2989 2000-07-30  Tor Lillqvist  <tml@iki.fi>
2990
2991         Finally, a new and improved IO Channel and condition watch
2992         implementation for Win32. Based on code provided by Craig Setera.
2993
2994         When watching file descriptors, for which there is no select()
2995         like functionality on Win32 that would work on all Win32 platforms
2996         for all types of file descriptors (including anonymous pipes), we
2997         start a new thread that blocks while trying to read from the file
2998         descriptor. When the read returns, a Win32 Event is signalled that
2999         the polling routine eventually notices. Meanwhile, the data being
3000         read is stored in a circular buffer, from where the IO channel's
3001         read() method picks it up.
3002
3003         If the buffer fills up the reading thread has to wait for space
3004         becoming available. For this another Win32 Event is used. The IO
3005         Channel's read() method signals this when it has read some data
3006         out of the buffer.
3007
3008         The separate reader thread(s), and the circular buffer(s) with
3009         associated events mean lots of possibilities for fun parallelism
3010         errors. But it seems to work OK, i.e. GIMP runs.
3011
3012         * gmain.c: Small changes to the Win32 polling function.
3013         (g_main_win32_get_poll_func): New function. Perhaps it would be a
3014         good idea to provide this on all platforms.
3015
3016         * giowin32.c: The bulk of the new implementation.
3017         (g_io_channel_win32_wait_for_condition): New function. To be used
3018         where on Unix one does a select() on the channel's fd, like
3019         libgimp's gimp_extension_process(). Could be provided on all
3020         platforms.
3021
3022         * glib.h: Update documentation for IO Channels on Win32. Remove
3023         the declarations for the as of now obsolete old functions related
3024         to IO Channels for pipes with "wakeup" messages.
3025
3026         * glib.def: Some new functions.
3027
3028         * tests/gio-test.c: New file, to test GIOChannel and main loop.
3029
3030         * tests/Makefile.am
3031         * tests/makefile.mingw.in: Add it.
3032
3033         (Later the same night:)
3034
3035         * giowin32.c: Compile in the debugging code all the time, but only
3036         output debug messages if told so. Add (unadvertised) function to
3037         turn on/off debug messages for a channel.
3038
3039         (buffer_read): Don't loop. It is expected behaviour to return a
3040         short read occasionally, for instance when reading from
3041         pipes. It's the calling code that should loop if it *knows* how
3042         much the writer has written.
3043
3044         * tests/gio-test.c: Correct the program's name in the output.
3045         (recv_message): Loop calling g_io_channel_read() (in a new
3046         function read_all()) until we have all the bytes we want (that we
3047         know the writer has written/will write).
3048
3049 Thu Jul 27 05:15:11 2000  Tim Janik  <timj@gtk.org>
3050
3051         * gstrfuncs.c (g_strlcpy, g_strlcat): completed tor's fix
3052         to cover both #ifdef branches.
3053
3054 2000-07-26  Tor Lillqvist  <tml@iki.fi>
3055
3056         * gstrfuncs.c (g_strlcpy, g_strlcat): Return 0 on error, not NULL.
3057
3058         * glib.def: Add g_strlcpy, g_strlcat.
3059
3060         * glibconfig.h.win32.in: Add gsize and gssize.
3061
3062 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
3063
3064         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
3065         updates the license headers to the GNU Lesser General Public License,
3066         as well as updating the copyright year to 2000.
3067
3068 Wed Jul 26 05:47:48 2000  Tim Janik  <timj@gtk.org>
3069
3070         * configure.in:
3071         * testglib.c:
3072         * gstrfuncs.c:
3073         * glib.h: added g_strlcat() and g_strlcpy() wrappers, supplied by
3074         David Wheeler <dwheeler@ida.org>:
3075
3076         * glib.h, gstrfuncs.c: added g_strlcpy and g_strlcat to support
3077           safe manipulation of fixed-length string buffers.
3078           These functions were originally developed by Todd Miller to simplify
3079           development of security-related programs, and
3080           are available on many (but not all) Unix-like systems,
3081           including OpenBSD, FreeBSD, and Solaris.  See
3082           ftp://ftp.openbsd.org/pub/OpenBSD/src/lib/libc/string/strlcpy.3
3083           and http://www.openbsd.org/security.html.
3084           If there's a strlcpy/strlcat on the system, it's called, otherwise
3085           an implementation is provided.
3086
3087         * testglib.c: Added tests for g_strlcpy, g_strlcat.
3088
3089 Wed Jul 26 05:03:24 2000  Tim Janik  <timj@gtk.org>
3090
3091         * acglib.m4 (GLIB_SIZEOF): include <stdlib.h> and <stddef.h> if
3092         STDC_HEADERS is defined.
3093
3094         * glib.h:
3095         * glibconfig.h: define gsize and gssize in terms of GLIB_SIZEOF_SIZE_T
3096
3097         * glib.h (g_return_if_reached): applied darin's fix for copy'n
3098         paste error in the macro implementation.
3099
3100 Wed Jul 26 00:46:03 2000  Tim Janik  <timj@gtk.org>
3101
3102         * glib.h: applied patch from Darin Adler <darin@eazel.com> which
3103         supplies g_return_if_reached(), g_return_val_if_reached() and
3104         g_critical().
3105
3106 2000-07-22  Tor Lillqvist  <tml@iki.fi>
3107
3108         * build-dll: Fix resource handling, the resource file got left out
3109         from the DLL after all... Remove the WIN32APIHEADERS, not needed
3110         with current windres.
3111
3112         * glib.def: Add new functions.
3113
3114 2000-07-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3115
3116         * gutils.c, glib.h: Mark the functions g_basename and g_dirname
3117         deprecated. They will issue an warning once, when compiled with
3118         G_ENABLE_DEBUG, but continue to work as before. Instead the
3119         functions g_path_get_basename and g_path_get_dirname should be
3120         used, which BOTH return newly allocated memory, that has to freed
3121         by g_free. The new g_path_get_basename now strips trailing slashes
3122         from the path. This fixes #5097. For discussion see
3123         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
3124
3125         * gwin32.c, testglib.c, tests/dirname-test.c: Use the new
3126         functions instead of the old ones.
3127
3128         * ghash.c, gscanner.c, glib.h: Mark the functions
3129         g_hash_table_freeze, g_hash_table_thaw and thus
3130         g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table
3131         deprecated. They will issue an warning once, when compiled with
3132         G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see
3133         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
3134
3135 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3136
3137         * configure.in, glib.h: glibconfig.h and glib.h now include files
3138         outside of the extern "C" block. Makes some C++ compiler
3139         happy. Reported by Denis Vakatov <vakatov@peony.nlm.nih.gov>.
3140
3141 Sat Jul 15 23:49:03 2000  Owen Taylor  <otaylor@redhat.com>
3142
3143         * glib/glib.texi: Remove incomplete start of info file -
3144         real docs are in RDP.   
3145
3146 Sat Jul 15 22:44:22 2000  Owen Taylor  <otaylor@redhat.com>
3147
3148         * configure.in: Add build/Makefile and 
3149         build/win32/Makefile to AC_OUTPUT() so things build
3150         again.
3151
3152 Sat Jul 15 09:11:46 2000  Tim Janik  <timj@gtk.org>
3153
3154         * gstrfuncs.c (g_strncasecmp): fixed an off by 0 error (yeah,
3155         the function went off when the while (n--) loop failed due to
3156         n==0 ;), reported by Jean-Louis HAMEL <jlhamel@club-internet.fr>.
3157
3158 2000-07-15  Tor Lillqvist  <tml@iki.fi>
3159
3160         * Makefile.am (SUBDIRS): Include the "build" module in GLib, too,
3161         to make it more self-contained. If your CVS client doesn't
3162         automatically get it, do a cvs get build in glib.
3163
3164         * */makefile.mingw.in: Include make.mingw from build in the glib
3165         source directory.
3166
3167 Fri Jul 14 16:26:35 2000  Owen Taylor  <otaylor@redhat.com>
3168
3169         * Release 1.3.1
3170
3171 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
3172
3173         * configure.in Makefile.am glib-config.m4 glib.m4: Move
3174         glib-config to glib-config-2.0 move glib.m4 to
3175         glib-2.0.m4
3176
3177         * Makefile.am gobject/Makefile.am gmodule/Makefile.am
3178         gthread/Makefile.am tests/Makefile.am: Change 
3179         library names to libglib-1.3.la, etc, so that we
3180         can distinguish glib-1.2 and glib-2.0 on the linkline.
3181
3182         * Makefile.am gobject/Makefile.am gmodule/Makefile.am:
3183         Move include files into /usr/include/glib-2.0.
3184
3185 Thu Jul  6 18:54:49 2000  Owen Taylor  <otaylor@redhat.com>
3186
3187         * docs/Makefile.am (EXTRA_DIST): Remove info files
3188         from the build.
3189
3190 2000-07-14  Tor Lillqvist  <tml@iki.fi>
3191
3192         * glib.def: Add g_error functions.
3193
3194         * makefile.mingw.in: Add gbacktrace.o.
3195
3196         * gbacktrace.c: No need to include <process.h>.
3197
3198 2000-07-12  Havoc Pennington  <hp@redhat.com>
3199
3200         * glib.h: #include <gerror.h>
3201
3202         * Makefile.am (include_HEADERS): Add gerror.h
3203         (libglib_la_SOURCES): Add gbacktrace.c
3204
3205         * gbacktrace.c: Move g_on_error_query() in here (moved on the 
3206         server, so history is preserved)
3207
3208         * gerror.h: GError interface
3209
3210         * gerror.c: GError implementation replaces stuff that's now in 
3211         gbacktrace.c
3212
3213 Sun Jul  9 21:20:45 2000  Owen Taylor  <otaylor@redhat.com>
3214
3215         * gunicode.h: Include stddef.h instead of stdlib.h
3216
3217 2000-07-08  Tor Lillqvist  <tml@iki.fi>
3218
3219         * glib.h (GLIB_VAR): Rename the GUTILS_C_VAR macro to GLIB_VAR.
3220
3221         * gunicode.h: Mark the g_utf8_skip array with GLIB_VAR.
3222
3223         * glib.def: Add two missing entry points.
3224
3225 Thu Jul  6 15:35:28 2000  Owen Taylor  <otaylor@redhat.com>
3226
3227         * Release 1.3.1
3228
3229         * Makefile.am (EXTRA_DIST): Dist fixes.
3230
3231         * configure.in: Moderate the warnings just a little bit.
3232
3233 2000-07-05  Tor Lillqvist  <tml@iki.fi>
3234
3235         * README.win32: Update.
3236
3237 Mon Jul  3 17:58:02 2000  Owen Taylor  <otaylor@redhat.com>
3238
3239         * gutf8.c (g_utf8_get_charset_internal): Fix up
3240         to correspond to configure.in checks.
3241
3242 Mon Jul  3 17:18:19 2000  Owen Taylor  <otaylor@redhat.com>
3243
3244         * glib.h: Comment g_get_codeset() out of the header file
3245         temporarily. (Very similar to g_get_charset(), need
3246         to resolve the two.)
3247
3248 2000-07-01  Tor Lillqvist  <tml@iki.fi>
3249
3250         * glib.def: Add new entry points.
3251
3252         * makefile.{mingw,msc}.in: Add the new Unicode object files.
3253
3254 Thu Jun 29 15:57:28 2000  Owen Taylor  <otaylor@redhat.com>
3255
3256         * NEWS: updated
3257
3258         * Makefile.am: added snapcheck target to go along with snapshot
3259
3260         * gstring.c glib.h (g_string_hash): Add g_string_hash to 
3261         go along with g_string_equal.
3262
3263 Tue Jun 27 12:40:23 EDT 2000  David A. Wheeler <dwheeler@dwheeler.com>
3264
3265         * glib.h: Added g_string_equal for comparing GStrings;
3266         changed g_str_equal so it returns gboolean (instead of gint).
3267
3268         * gstring.c: Modified GString implementation to support embedded
3269         ASCII NUL ('\0') characters, and implemented g_string_equal.
3270
3271         * testglib.c tests/string-test.c: Added tests for g_string_equal
3272         and tests for proper handling of embedded ASCII NUL characters.
3273
3274 Wed Jun 28 22:52:00 2000  Owen Taylor  <otaylor@redhat.com>
3275
3276         * Makefile.am (libglib_la_SOURCES): Fix
3277         gunichartable.h => gunichartables.h. (From Eric Limings)
3278
3279 Fri Jun 23 17:20:26 2000  Tim Janik  <timj@gtk.org>
3280
3281         * glib.h: define gstring in terms of gchar*. this typedef reflects
3282         the type name of the primitive G_TYPE_STRING in the gobject module.
3283
3284 Wed Jun 21 12:09:03 2000  Owen Taylor  <otaylor@redhat.com>
3285
3286         * gunicode.h gutf8.c guniprop.c gunidecomp.[ch] gunichartables.h
3287         Makefile.am glib.h: Initial pass at adding unicode support
3288         functions. A few things still need to be implemented, a bit
3289         of cleanup needs to be done, tests need to be added, and 
3290         the docs need to be finished, but this should allow replacing
3291         most or all use of libunicode.
3292
3293 2000-06-06  Tor Lillqvist  <tml@iki.fi>
3294
3295         * giowin32.c (g_io_channel_win32_pipe_readable): If we are
3296         watching the same pipe for different conditions (with different
3297         callbacks), check them all. Only call the callback for G_IO_IN
3298         from here. (This bug popped up when a watch for G_IO_ERR|G_IO_HUP
3299         was added to gimplib.)
3300
3301 2000-05-30  Tor Lillqvist  <tml@iki.fi>
3302
3303         * gutils.c (g_locale_get_codeset): Implement on Win32.
3304
3305         * glib.def: Add g_get_codeset.
3306
3307         * tests/Makefile.am (EXTRA_DIST): makefile.cygwin* has been
3308         renamed to makefile.mingw*.
3309
3310 Tue May 30 16:01:32 2000  Owen Taylor  <otaylor@redhat.com>
3311
3312         * glib.h gutils.c: Move the g_locale_get_codeset() up in the 
3313         header file to correspond to to comments about memory
3314         management. Rename to g_get_codeset() to avoid 
3315         polluting the g_locale_* namespace, which probably
3316         would have g_locale_get_codeset (GLocale *locale).
3317         Add a doc comment.
3318
3319 Mon May 29 14:10:35 2000  Owen Taylor  <otaylor@redhat.com>
3320
3321         * gutils.c (g_locale_get_codeset): Add function to get the 
3322         codeset name for the current locale.
3323
3324         * configure.in acconfig.h: Add check for nl_langinfo(CODESET);
3325
3326 Fri May 19 11:39:29 2000  Tim Janik  <timj@gtk.org>
3327
3328         * gutils.c (g_snprintf):
3329         (g_vsnprintf): added argument assertments.
3330
3331         * gstring.c (g_string_assign): added argument assertments.
3332         (g_string_truncate): make len a guint.
3333
3334 Fri May 19 09:00:44 2000  Tim Janik  <timj@gtk.org>
3335
3336         * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with
3337         ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>.
3338
3339         * gslist.c (g_slist_reverse): shut up compiler.
3340
3341         * gscanner.c (g_scanner_get_token_ll): removed inline assignment.
3342
3343         * garray.c: remove index>=0 checks for unsigned indices.
3344
3345         * gmain.c (g_idle_prepare): timeout assignment fix.
3346
3347         * gtree.c (g_tree_node_rotate_right): shut up compiler.
3348
3349 2000-05-13  Tor Lillqvist  <tml@iki.fi>
3350
3351         * makefile.mingw.in
3352         * tests/makefile.mingw.in
3353         * build-dll: Rename makefile.cygwin(.in) to
3354         makefile.mingw(.in), which better describes what it is. Move the
3355         build of gmodule, gthread and gobject DLLs to makefiles in those
3356         directories. Move resource file handling and build number bump to
3357         build-dll, where it sits much cleaner.
3358
3359         * README.win32
3360         * Makefile.am (EXTRA_DIST): Update accordingly.
3361
3362         * glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
3363         G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
3364         implementations.
3365
3366         * glib.def: Add g_strcanon.
3367
3368         * gtree.c (g_tree_node_rotate_left): Remove unused variables.
3369
3370         * gwin32.c (g_win32_opendir): Remove unneeded statement.
3371
3372 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
3373
3374         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
3375         broken and require an empty arg, give it to them.
3376
3377 Fri Apr 28 23:54:35 2000  Tim Janik  <timj@gtk.org>
3378
3379         * setup things for a new sub-library libgobject:
3380
3381         * Makefile.am (SUBDIRS): added gobject
3382
3383         * glib-config.in: feature -lgobject.
3384
3385         * configure.in (AC_OUTPUT): generate gobject/Makefile.
3386
3387         * glib.m4 (AM_PATH_GLIB): feature gobject module.
3388
3389         * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.*
3390
3391 Fri Apr 28 21:41:49 2000  Tim Janik  <timj@gtk.org>
3392
3393         * glib.h: added G_STRLOC macro.
3394         G_STRUCT_OFFSET(): signedness corrections.
3395         (G_CSET_DIGITS): list 0-9.
3396         * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS.
3397
3398         * glib.h: 
3399         * gstrfuncs.c:
3400         (g_strdown):
3401         (g_strup):
3402         (g_strreverse): return the modified string instead of void, so
3403         calls to these functions can be nested.
3404         (g_strcanon): new function, canonicalizes string according to
3405         a given character set.
3406
3407 Fri Apr 28 19:45:16 2000  Tim Janik  <timj@gtk.org>
3408
3409         * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
3410
3411 Wed May 10 19:52:44 2000  Owen Taylor  <otaylor@redhat.com>
3412
3413         * glib.m4: Print found version when test succeeds.
3414
3415 2000-05-04  Tor Lillqvist  <tml@iki.fi>
3416
3417         * makefile.cygwin.in
3418         * tests/makefile.cygwin.in: Include the common makefile snippet
3419         from ../build/win32.
3420
3421         Maybe CVSROOT/modules should be changed so that the 'build' module
3422         is included within the glib module (and gtk+, and gimp, and maybe
3423         others later), in the same way as the 'macros' module is included
3424         in lots of GNOME CVS modules?
3425
3426 2000-05-02  Tor Lillqvist  <tml@iki.fi>
3427
3428         * glib.def: Add new functions.
3429
3430         * makefile.{cygwin,msc}.in (glib_OBJECTS): Add new object files.
3431
3432         * tests/makefile.{cygwin,msc}.in: Add threadpool-test.
3433
3434 2000-04-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3435
3436         * gasyncqueue.c: New File implementing an asynchronous queue to be
3437         used for asynchronous inter-thread communication.
3438
3439         * gthreadpool.c: New File implementing a thread pool to be used
3440         for distributing work among several threads. 
3441
3442         * glib.h: Added the type and function declarations for these two
3443         types.
3444
3445         * tests/threadpool-test.c: New File implementing a test for the
3446         thread pool. This also checks the asynchronous queue underlying
3447         the thread pool.
3448
3449         * tests/Makefile.am: Changed accordingly.
3450
3451 2000-04-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3452
3453         * configure.in: Look for both pthread_create and pthread_join in
3454         the thread library. Some systems define one of them, but not both
3455         in libc. Arghh. Now we really start a thread and join it later and
3456         check, whether the thread to actually ran.
3457
3458         * glib.h, gcache.c, gtree.c: Changed the 'value' parameter of
3459         g_cache_remove from gpointer to gconstpointer. Dito for the 'key'
3460         parameter of g_tree_lookup and g_tree_remove and the 'data'
3461         parameter of g_tree_search. This function now takes a function of
3462         type GCompareFunc instead of GSearchFunc. This fixes Bug
3463         #8267. Thanks to Juan Toledo <toledo@users.sourceforge.net> for
3464         pointing that out.
3465
3466         * glib.h: Removed declaration of GSearchFunc.
3467
3468         * gmem.c: s/GSearchFunc/GCompareFunc/.
3469
3470 2000-04-19  Tor Lillqvist  <tml@iki.fi>
3471
3472         * glib.def: Update entry point list.
3473
3474 2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3475
3476         * glib.h (G_TRYLOCK): Made the debugging G_TRYLOCK call also work
3477         for compilers with funny G_STMT_(START|END) macros.
3478
3479         * tests/thread-test.c: Implemented a check for that.
3480
3481         * gutils.c (g_getenv): Changed the win32 part of this function to
3482         be thread safe and to make the returned environment string
3483         persistent to match the UN*X behavior. This is again a response to
3484         Bug #8983.
3485
3486         * glib.h (G_LOCK_NAME): Removed parentheses around the lock name,
3487         as that seems to cause problems for some compilers and really
3488         isn't necessary.
3489
3490 Wed Apr 19 08:32:32 2000  Tim Janik  <timj@gtk.org>
3491
3492         * gscanner.c (g_scanner_new): make sure that
3493         scanner->config->cset_skip_characters is "" instead of NULL, so we
3494         don't segfault further on.
3495
3496 2000-04-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3497
3498         * glib.h, glist.h, gslist.h: Changed the 'data' parameters from
3499         gpointer to gconstpointer for the functions
3500         g_(list|slist)_(remove|find|find_custom|index), as they do not
3501         change this parameter. This fixes bug #4836.
3502
3503         * glib.h: Changed comment for g_getenv to reflect, that the
3504         returned memory must not be freed. Fixes bug #8983.
3505
3506 2000-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3507
3508         * configure.in, acconfig.h: Add configure test for garbage
3509         collector friendliness for GLib. If enabled, ENABLE_GC_FRIENDLY
3510         will be defined.
3511
3512         * garray.c, ghash.c, glist.c, gmain.c, gmem.c, gnode.c, gqueue.c,
3513         gslist.c, gtree.c: If ENABLE_GC_FRIENDLY is defined, NULLify all
3514         memory released by the user, but cached by GLib. This lets a
3515         garbage collector have a more correct view of the actually used
3516         memory.
3517
3518         * garray.c, glib.h: Added g_(array|ptr_array|byte_array)_sized_new
3519         functions, that reserve a certain amount of memeory for the array
3520         at creation time to avoid reallocation. Fixes bug #6707 from
3521         Charles Kerr <ckerr@osserver1.nssl.noaa.gov>.
3522
3523         * glib.h, gqueue.c, tests/queue-test.c (main): Renamed
3524         g_queue_create to g_queue_new in conformance to all other GLib
3525         data types.
3526
3527 2000-04-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3528
3529         * grand.c (g_rand_new): Fixed bug. Thanks to Marko Kreen
3530         <marko@l-t.ee> for reporting that.
3531
3532 2000-03-26  Tor Lillqvist  <tml@iki.fi>
3533
3534         * README.win32: Tell about using the mingw-based gcc, which is
3535         much easier than modifying the cygwin gcc to product mingw code
3536         for the msvcrt runtime.
3537
3538         * makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
3539         with a "pure" mingw gcc, too.
3540
3541 2000-03-24  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3542
3543         * garray.c: Made GArray behave correctly. Now zero_terminated
3544         really means, that the element array->data[array->len] exists and
3545         is zeroed, and clear means that any unassigned elements obtained
3546         through g_array_set_size (the only way to get unassigned elements
3547         AFAICT) are zeroed. Added some macros to make the code more
3548         obvoius. Also made GPtrArray zero elements after
3549         g_ptr_array_set_size. This is done in a portbale way (assignment
3550         of NULL instead of just memsetting it to zero), though that might
3551         be more portability than we actually want.
3552
3553         * Makefile.am, gthread/Makefile.am, gmodule/Makefile.am,
3554         tests/Makefile.am: Added various win32 related *.in files to
3555         EXTRA_DIST to let 'make distcheck' procude all the corresponding
3556         files, which it silently fails to do currently.
3557
3558 2000-03-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3559
3560         * configure.in: After finding the right thread library (containing
3561         e.g. pthread_create) we now search for the right realtime library
3562         (containing e.g. sched_get_priority_max). Makes the output of the
3563         thread related libraries correct. 
3564
3565         * gtimer.c (g_usleep): The current implementation of g_usleep
3566         (simply calling select) doesn't work reliable for multi-threaded
3567         programs on some platforms (bad omen for the main loop....), so I
3568         changed the implementation for thread-using programs to wait for a
3569         GCond for the specified amount of time (NB: sleep and usleep are
3570         not MT-safe in general, because they often use signals).
3571
3572 Wed Mar 22 16:49:57 2000  Owen Taylor  <otaylor@redhat.com>
3573
3574         * gmem.c (g_mem_chunk_area_compare): Fix indentation.
3575
3576 2000-03-22 Elliot Lee <sopwith@redhat.com>
3577
3578         * gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in
3579         comparing two pointers more than 4G apart.
3580
3581 2000-03-22  Tor Lillqvist  <tml@iki.fi>
3582
3583         * gutils.c: Move Win32-only includes after inclusion of glib.h, so
3584         that G_OS_WIN32 is defined.
3585
3586         * glibconfig.h.win32.in: Add GSystemThread.
3587
3588 2000-03-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3589
3590         * gutils.c (g_get_current_dir): Ok, Marcus Brinkmann
3591         <Marcus.Brinkmann@ruhr-uni-bochum.de> convinced me, that 128 KB
3592         path length might not be enough for the HURD. So I changed the
3593         loop to at least avoid an integer overflow, which could happen at
3594         beyond 2GB size ;-)
3595
3596         * configure.in: Test for sched_yield as the native yield function
3597         first. Corrected typo g_thread_sleep -> g_usleep. Corrected
3598         message for the pthread_create test. Negative Priorities are
3599         allowed (and used on Solaris), so consider
3600         sched_get_priority_min failed only if it returns -1, not <0. Check
3601         for sched_get_priority_min also in -lrt, if not found in -lpthread
3602         alone and add -lrt to G_THREAD_LIBS then. Remove special case
3603         handling of priorities for older solaris versions and posix
3604         threads. Thanks to Wan-Teh Chang <wtc@netscape.com> for suggesting
3605         some of those changes.
3606
3607         * config.guess, config.sub, ltconfig, ltmain.sh:
3608         Upgrade to libtool 1.3.4.
3609
3610 2000-03-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3611
3612         * glib.h, configure.in, gutils.h: always define G_GNUC_EXTENSION,
3613         even when not needed by GLib. That's actually also the way, the
3614         GLib reference manual describes that macro. Therefore I had to
3615         remove the lonesome #include <glibconfig.h> in gutils.c, which
3616         doesn't seem to be needed there however. This change should make
3617         Ben Gertzfield <che@debian.org> happy.
3618
3619         * gutils.c: Furthermore two warnings in gutils.c were voided,
3620         which crept in due to my last change.
3621
3622         * gutils.c (g_get_current_dir): Allocate only up to 128KB for a
3623         pathname. While this is an arbitrary value just like 2048, it
3624         seems to be enough (after all, even 4GB is an arbitrary value).
3625
3626 2000-03-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3627
3628         * gmain.c (g_main_poll): Warn in case of an error during the call
3629         to poll(2). Closes Bug#7564 as reported by David Helder
3630         <dhelder@umich.edu>.
3631
3632         * gutils.c (g_get_current_dir): Make g_get_current_dir work on
3633         systems with unlimited pathname length like the HURD (It worked
3634         there before, but only for pathes shorter than 2048). Closes
3635         Bug#4525 as reported by Marcus Brinkmann
3636         <Marcus.Brinkmann@ruhr-uni-bochum.de>.
3637
3638 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3639
3640         * giounix.c (g_io_unix_write, g_io_unix_read): Interpret EINTR as
3641         G_IO_ERROR_AGAIN.
3642
3643 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3644
3645         * configure.in: Added the missing POSIX_NO_YIELD and
3646         POSIX_NO_PRIORITIES warning messages.
3647
3648         * configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK, to test for
3649         real thread support. On solaris pthread_create can be linked to
3650         even in -lc, but it doesn't work then.
3651
3652         * configure.in: Don't use priorities for threads, when the
3653         minimal/maximal priorities couldn't be determined at configure
3654         time.
3655
3656         * configure.in, gthread.c: Always define GSystemThread in
3657         glibconfig.h to represent a system thread.
3658
3659         * configure.in: Do not use native recursive threads, when
3660         possibe. We use some features, that they do not expose (namely the
3661         depth counter).
3662
3663         * glib.h, gthread.c: Redefined GStaticRecMutex. The functions are
3664         now implemented in a different way, which should be way
3665         faster. Alsothere are now functions g_static_rec_mutex_unlock_full
3666         and g_static_rec_mutex_lock_full to leave/enter a recursive mutex
3667         completly.
3668
3669         * gthread.c (g_thread_self): Do not test the system_thread to be
3670         non-zero to speed things up.
3671
3672         * gthread.c (g_mutex_init): Therefore set the system_thread of the
3673         main thread here.
3674
3675         * tests/thread-test.c: Rerun all tests once again, but this time
3676         we fool the system into thinking, that the available thread system
3677         is not native, but userprovided.
3678
3679 2000-03-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3680
3681         * gqueue.c (g_queue_push_tail_link, g_queue_push_head_link): We
3682         want the next and prev pointer of the inserted link to be NULL.
3683
3684 2000-03-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3685
3686         * configure.in: Another small change to the pthread_.. search
3687         pattern. Should work *now* for AIX.
3688
3689 2000-03-04  Tor Lillqvist  <tml@iki.fi>
3690
3691         * gwin32.c (g_win32_error_message): New function that returns the
3692         message string for a Win32 error code.
3693
3694         * glib.h: Declare it.
3695
3696         * glib.def: Export it, plus g_node_copy.
3697
3698 2000-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3699
3700         * configure.in: Make the search for pthread_attr_... prototypes
3701         find names at the start of a line also, like it is on AIX. Thanks
3702         to Valdis Kletnieks <Valdis.Kletnieks@vt.edu> for the info.
3703
3704 Wed Mar  1 10:39:39 2000  Tim Janik  <timj@gtk.org>
3705
3706         * gslist.c (g_slist_reverse): minor optimization.
3707
3708         * testglib.c (g_node_test): added a couple of tests for
3709         g_node_copy().
3710
3711         * glib.h:
3712         * gnode.c (g_node_copy): new function to copy subtrees,
3713         supplied by dbsears@ix.netcom.com.
3714         changed iterator to walk the children list backwards, so
3715         we get down from O(n^2) to O(n).
3716
3717         * gnode.c (g_node_first_sibling): applied patch from
3718         dbsears@ix.netcom.com to optimize access if node->parent
3719         is present.
3720
3721         * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
3722         assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
3723         thus breaks the original code.
3724
3725         * merged changes from 1.2.7.
3726
3727 Fri Jan 28 11:37:41 2000  Owen Taylor  <otaylor@redhat.com>
3728
3729         Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
3730
3731         * gtimer.c (g_timer_elapsed): Never report negative times -
3732         clip times to 0.
3733
3734         * gmain.c (g_timeout_prepare): Guard against unexpected
3735         clock shifts by never setting a timeout of more than
3736         data->interval msecs.
3737
3738 2000-02-27  Tor Lillqvist  <tml@iki.fi>
3739
3740         * glib.def: Add new functions.
3741
3742 2000-02-23  Tor Lillqvist  <tml@iki.fi>
3743
3744         * README.win32: Add a missing step to the setup instructions for
3745         gcc-2.95.2. Thanks to Arnaud Charlet.
3746
3747         * glib.def: Add missing entry point.
3748
3749 2000-02-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3750
3751         * configure.in: Changed GCC version test to also accept major
3752         versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
3753         pointing this out.
3754
3755 Thu Feb 17 12:53:44 2000  Tim Janik  <timj@gtk.org>
3756
3757         * gstring.c: changed g_str_hash() to a 31 bit version based on
3758         a submission by Karl Nelson and hand optimized ad absurdum by
3759         various people ;)
3760
3761         * gstring.c: applied patch from havoc for new gstring functions,
3762         added some more sanity checks, coding style fixups.
3763
3764 2000-02-13  Havoc Pennington  <hp@pobox.com>
3765
3766         * tests/string-test.c (main): Add tests for the new GString 
3767         features
3768
3769         * testglib.c (main): Add tests for the new GString features
3770
3771         * gstring.c (g_string_insert_len): New function; insert 
3772         a given length of string at a given position. 
3773         (g_string_append): reimplement in terms of g_string_insert_len
3774         (g_string_append_len): new function
3775         (g_string_insert_c): accept -1 for "pos" arg to mean "append"
3776         (g_string_append_c): reimplement in terms of g_string_insert_c
3777         (g_string_prepend): reimplement in terms of g_string_insert_len
3778         (g_string_prepend_len): new function
3779         (g_string_prepend_c): reimplement in terms of g_string_insert_c
3780         (g_string_insert): reimplement in terms of g_string_insert_len
3781
3782         * glib.h: Declare g_string_insert_len, g_string_append_len,
3783         g_string_prepend_len
3784
3785 Sun Feb 13 08:16:47 2000  Tim Janik  <timj@gtk.org>
3786
3787         * configure.in: wtf??? someone destroyed the configure.in, reverting to
3788         an older version from Feb 4 which apears to still work.
3789
3790 2000-02-07  Tor Lillqvist  <tml@iki.fi>
3791
3792         * gmodule.rc.in gthread.rc.in: Move to corresponding subdirectories.
3793
3794         * Makefile.am
3795         * gmodule/Makefile.am
3796         * gthread/Makefile.am: Change accordingly.
3797
3798         * makefile.cygwin: Corresponding changes, some cleanup.
3799
3800 2000-02-05  Tor Lillqvist  <tml@iki.fi>
3801
3802         * glib.rc.in gmodule.rc.in gthread.rc.in: New files, for putting
3803         version info in the DLLs on Win32.
3804
3805         * Makefile.am: Generate corresponding *.rc files and distribute
3806         them.
3807
3808         * makefile.cygwin.in: Add rules to automatically bump a "build
3809         number" in the version info in the rc files each time the DLL is
3810         built. But do this only for the person who releases binaries. If
3811         others build the DLLs, the build number is set to zero.
3812
3813 Fri Feb  4 19:36:05 2000  Tim Janik  <timj@gtk.org>
3814
3815         * glib.h: 
3816         * gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
3817         and g_dataset_id_remove_no_notify() to avoid second lookup for common
3818         use.
3819
3820 2000-02-01  Tor Lillqvist  <tml@iki.fi>
3821
3822         * glib.h
3823         * gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
3824         functions for conversion between UTF-8 and the encoding expected
3825         by C runtime functions like open() and stat(), and returned by
3826         readdir().
3827
3828         Implement them on Win32 where we use the system "ANSI" codepage,
3829         which might be single-byte or double-byte. On Unix, just skip the
3830         issue for now and provide dummy implementations that return a copy
3831         of the argument.
3832
3833         * README.win32
3834         * build-dll
3835         * glib.def: Minor updates.
3836
3837 Wed Jan 26 05:24:38 2000  Tim Janik  <timj@gtk.org>
3838
3839         * glib.h:
3840         * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
3841         refetch the current time after invocation of poll() to cover up for
3842         the time spent in that function call.
3843
3844 Fri Jan 21 10:18:24 2000  Owen Taylor  <otaylor@redhat.com>
3845
3846         * glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
3847         the number of elements in an array.
3848
3849 Sun Jan  9 13:28:36 2000  Tim Janik  <timj@gtk.org>
3850
3851         * gstrfuncs.c (g_strtod): correctly fetch the current locale,
3852         fix from owen.
3853
3854 1999-12-16  Tor Lillqvist  <tml@iki.fi>
3855
3856         * gmodule/gmodule-win32.c: Use FormatMessage to translate system
3857         error codes into textual messages.
3858
3859 1999-11-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3860
3861         * glib.h (G_TRYLOCK): This of course should return TRUE in a
3862         program with a thread-disabled GLib.
3863
3864 1999-11-18  Tor Lillqvist  <tml@iki.fi>
3865
3866         * glib.def: g_strjoin was missing.
3867
3868 1999-11-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3869
3870         * acconfig.h, config.h.win32.in, configure.in: Renamed
3871         GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
3872         changed meaning.
3873
3874         * configure.in: Cope with systems, that have a pthread_t type,
3875         that is not a pointer. Hint from Karl Nelson
3876         <kenelson@ece.ucdavis.edu>. Define GLIB_SIZEOF_SYSTEM_THREAD to 4
3877         for Solaris. Cope with systems, that have no default mutex
3878         initialize, like obviously most DCE systems.
3879
3880         * glib.h, gthread.c: Changed the prototype of thread_create and
3881         thread_self to return the system thread into provided memory
3882         instead of a return value. This is necessary, as HPUX has a
3883         pthread_t, that is bigger than the biggest integral type there.
3884
3885         * gthread.c: system_thread is no longer a pointer, but an memory
3886         area of size GLIB_SIZEOF_SYSTEM_THREAD. Changed the
3887         zeroinitialization and the tests for zeroness accordingly.
3888
3889 1999-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3890
3891         * configure.in: Create docs/glib-config.1 from
3892         docs/glib-config.1.in. Makes 'make distcheck' happy (and me too).
3893
3894         * glib-config.1: Removed from CVS, as it is a generated file.
3895
3896 1999-11-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3897
3898         * configure.in: Make the test for getpwuid_r work on newer AIX
3899         versions, too. Still works on Solaris and Linux. Patch from Craig
3900         Rodrigues <rodrigc@mediaone.net>.
3901
3902 1999-11-08  Tor Lillqvist  <tml@iki.fi>
3903
3904         * gwin32.c (g_win32_getlocale): Look at env vars LC_ALL, LC_CTYPE
3905         and LANG first. Some refinements to the sublanguage logic.
3906
3907 1999-11-04  Tor Lillqvist  <tml@iki.fi>
3908
3909         * makefile.{cygwin,msc}.in: Add gwin32 object. Add rule to make .i
3910         (preprocessed source) files.
3911
3912 1999-11-01  Tor Lillqvist  <tml@iki.fi>
3913
3914         * glib.h
3915         * glib.def: Rename Win32-only functions from gwin_* to g_win32_*
3916         to match the GLib naming conventions.
3917
3918         * gutils.c
3919         * gwin32.c
3920         * testglib.c
3921         * Makefile.am: Move the Win32-only functions to the new
3922         file gwin32.c
3923
3924 1999-10-31  Tor Lillqvist  <tml@iki.fi>
3925
3926         * gutils.c (gwin_getlocale): New Win32-specific function, returns
3927         a Unixish current locale string (en, zh_TW etc).
3928
3929         * glib.h: Declare it.
3930
3931         * glib.def: Export it.
3932
3933         * testglib.c: Test it.
3934
3935         * gmessages.c (Win32: ensure_stdout_valid): Some improvements,
3936         make sure we don't call AllocConsole several times, which I think
3937         has happened.
3938
3939 Sun Oct 31 18:55:01 1999  ape@spacetec.no  (Asbjorn Pettersen)
3940
3941         * gcache.c (g_cache_remove): Test if node is NULL.
3942         If not tested, GIMP's script-fu will crash. 
3943
3944 Sun Oct 17 18:11:40 1999  Tim Janik  <timj@gtk.org>
3945
3946         * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
3947         destroy() notification here as well.
3948
3949 1999-10-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3950
3951         * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
3952         is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
3953
3954 Tue Oct 12 14:17:12 1999  Tim Janik  <timj@gtk.org>
3955
3956         * glib.h: removed useless g_string(x) macro that cluttered the namespace
3957         and was just a poor wrapper around the cpp '#' symbol, use #x if you
3958         need to work around this.
3959         added new macro G_STRINGIFY(arg) that will convert arg to a string,
3960         no matter whether it contains macros or not.
3961
3962 1999-10-12  Tor Lillqvist  <tml@iki.fi>
3963
3964         * config.h.win32.in: Define the new GLIB_SIZEOF_* constants here,
3965         too.
3966
3967         * glib.h: Small Win32 comments improvement.
3968
3969 Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>
3970
3971         * gmessages.c (g_printf_string_upper_bound): completly new
3972         implementation for printf string upper bounds calculation.
3973         we handle all glibc 2.1 format specifiers now, except for positional
3974         parameters (%nn$...) and wide char strings, plus some obscure upper
3975         case variants of the standard conversions. this fixes a lot of
3976         bugs in the old code, i.e.
3977         - NULL format strings
3978         - floats with exponents >+24
3979         - %G
3980         - precision specifications in general
3981         - negative field widths
3982         - %p for SIZEOF_VOID_P > 4 platforms
3983         we now issue warnigns in places where the old code would have
3984         caused buffer overruns anyways. warnings are suppressed when invoked
3985         from glogv(), to avoid infinite recursions if someone passes a log
3986         message that comes with really obscure format specifications.
3987
3988 Tue Oct 12 11:49:00 1999  Tim Janik  <timj@gtk.org>
3989
3990         * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.
3991
3992 Tue Oct 12 03:34:40 1999  Tim Janik  <timj@gtk.org>
3993
3994         * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
3995         mantissa and exponent of IEEE floats and doubles (required by the new
3996         version of g_printf_string_upper_bound). the unions are endian specific,
3997         we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
3998         and doubles are supported (used for storage) by at least intel, ppc and
3999         sparc, reference:
4000         http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html
4001
4002 Mon Oct 11 18:01:49 1999  Tim Janik  <timj@gtk.org>
4003
4004         * configure.in: added additional checks to figure sizes of size_t,
4005         ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
4006
4007 Wed Oct  6 12:44:23 PDT 1999 Manish Singh <yosh@gimp.org>
4008
4009         * configure.in: blah. use G_WITH_CYGWIN instead of G_HAVE_CYGWIN
4010
4011 1999-10-05  Tor Lillqvist  <tml@iki.fi>
4012
4013         * glib.h: (Win32) Drop the mapping of POSIX function names to the
4014         underscored versions, it's unnecessary after all. With MSVC we get
4015         them from oldnames.lib, with gcc-2.95 and mingw32 from
4016         -lmoldname-msvc. Add comment about what headers to include for
4017         prototypes.
4018
4019         * glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.
4020
4021         * gerror.c (g_on_error_query): (Win32) Slightly increased verbosity.
4022
4023         * build-dll: Don't strip.
4024
4025         * tests/string-test.c tests/dirname-test.c: Use G_OS_WIN32.
4026
4027         * glib.def: Add g_thread_use_default_impl.
4028
4029 Sun Oct  3 19:46:55 PDT 1999 Manish Singh <yosh@gimp.org>
4030
4031         * configure.in: use G_HAVE_CYGWIN instead of G_OS_FEATURE_CYGWIN
4032
4033 Sun Oct  3 19:25:42 PDT 1999 Manish Singh <yosh@gimp.org>
4034
4035         * acconfig.h
4036         * configure.in
4037         * glibconfig.h.win32: G_OS_FOO #defines. I *think* I got the cygwin
4038         and beos stuff right, but I haven't tested it. The respective
4039         porters should fix any screwups
4040
4041         * glib.h
4042         * gerror.c
4043         * gmain.c
4044         * gmessages.c
4045         * gscanner.c
4046         * gthread.c
4047         * gtimer.c
4048         * gutils.c
4049         * testglib.c: use G_OS stuff
4050
4051 Wed Sep 22 01:53:18 1999  Tim Janik  <timj@gtk.org>
4052
4053         * glib.h (NULL): define NULL as (0L) if __cplusplus is defined, to
4054         avoid "ANSI C++ forbids implicit conversion from `void *' in argument
4055         passing" errors upon NULL usage in C++ programs (gcc-2.95 is on crack
4056         for erroring out on this, instead of just issueing a warning).
4057
4058         * glib.h (g_trash_stack_pop): use uncasted NULL again.
4059
4060 Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>
4061
4062         * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied
4063         patch from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem
4064         chunk's area sizes to be a multitiple of atom_size, and to
4065         eliminate the MAX_MEM_AREA restriction of 65536 bytes. we also
4066         catch cases where users pass an area size < atom size with a
4067         return_if_fail statement now (which is ok, because previously this
4068         lead to memory corruption anyways).
4069
4070 Thu Sep 16 13:19:54 1999  Tim Janik  <timj@gtk.org>
4071
4072         * glib.h (g_trash_stack_pop): add explicit (GTrashStack*) cast for NULL
4073         pointer to cure ANSI C++ error.
4074
4075 Mon Sep 13 23:25:59 1999  Tim Janik  <timj@gtk.org>
4076
4077         * gmessages.c (g_logv): in case we have to abort the program,
4078         debugging is enabled and we are not called recursively, try
4079         to abort with raise (SIGTRAP) first, so developers may ignore
4080         certain failure conditions during debugging stage.
4081
4082 Thu Aug 26 15:09:36 1999  Tim Janik  <timj@gtk.org>
4083
4084         * Makefile.am:
4085         * gmodule/Makefile.am:
4086         * gthread/Makefile.am: added --export-dynamic so we can load dynmic
4087         modules, (required, according to the libtool 1.3.3 docu).
4088
4089 1999-07-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4090
4091         * grand.c (g_rand_new): Use /dev/urandom, as it doesn't block,
4092         which /dev/random might do. Do not XOR the time, when getting the
4093         seed form /dev/urandom, as this is good itself. Prevent the
4094         initial seed from being zero, which causes the PRNG to produce
4095         only zeros. Hints from Colin Plumb <colin@pgp.com>.
4096
4097 1999-08-17  Tor Lillqvist  <tml@iki.fi>
4098
4099         * glib.h (g_trash_stack_push): Add a cast.
4100
4101         * gslist.c
4102         * glist.c: Make the inline functions static inline, and add
4103         separate extern wrappers. Not all compilers produce callable entry
4104         points for inline functions, even if gcc does.
4105
4106 Sun Aug 15 02:47:14 1999  Tim Janik  <timj@gtk.org>
4107
4108         * glib.h (g_trash_stack_pop): eliminate memset() call, since string.h
4109         has not neccessarily been included prior to glib.h.
4110
4111 Mon Aug  2 21:03:10 1999  Tim Janik  <timj@gtk.org>
4112
4113         * configure.in: added --enable-msg-prefix option.
4114
4115         * gmessages.c (g_log_default_handler): feature "prg_name (pid:%u): "
4116         if --enable-msg-prefix was selected (use "(process:%u): " if
4117         g_get_prgname () returns NULL, along the lines of g_on_error_query).
4118
4119 1999-08-03  Tor Lillqvist  <tml@iki.fi>
4120
4121         * glib.h
4122         * gstrfuncs.c
4123         * tests/strfunc-test.c: Rename g_strccpy to g_strcompress and
4124         g_strecpy to g_strescape per Tim Janik's suggestion. Dropped the
4125         destination parameter, always g_malloc a new string.  Fix bug in
4126         g_strcompress, octal digits were gobbled up without limit, should
4127         use max three.
4128
4129         Sources that use g_strescape must have ifdefs to be compilable
4130         both with GLib 1.2 and 1.3.
4131
4132 Sat Jul 31 17:52:03 PDT 1999 Manish Singh <yosh@gimp.org>
4133
4134         * glib.h
4135         * gstrfuncs.c: the #define for g_strescape interfered with the
4136         compilation of the function, so just remove the function and
4137         note that it's deprecated in the header
4138
4139 1999-08-01  Tor Lillqvist  <tml@iki.fi>
4140
4141         * gstrfuncs.c (g_strccpy, g_strecpy): New functions.
4142
4143         * glib.h: Declare and document them. Define the deprecated
4144         g_strescape as a macro that calls g_strecpy.
4145
4146         * tests/strfunc-test.c (main): Test them.
4147
4148         * makefile.{cygwin,msc}.in
4149         * tests/makefile.{cygwin,msc}.in: Remove gstack and its test
4150         program.
4151
4152         * glib.def: Additions and removals.
4153
4154         * README.win32: Improve gcc build instructions.
4155
4156         * build-dll: Also build import library for MSVC.
4157
4158 Sat Jul 24 20:11:35 1999  Tim Janik  <timj@gtk.org>
4159
4160         * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
4161         * incorporated proposed cleanups from gtk-devel-list.
4162
4163         * bumped version number to GLib-1.3.1
4164
4165         * glib.h:
4166         * gqueue.c:
4167         * gstring.c:
4168         * glist.c:
4169         removed string tokenisation (we got g_strsplit() and g_strjoin()
4170         already) and readline functions.
4171         s/g_list_delete/g_list_delete_link.
4172         implemented g_slist_delete_link.
4173         removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
4174         macro, g_atexit() is provided for public consumption.
4175         added GTrashStack inline utility functions.
4176         reimplement double eneded queues.
4177         removed GStack implementation, people can use a queue or a (singly)
4178         linked list for this task.
4179         deprecated g_strescape(), we need the SunOS variants here.
4180
4181         * gdate.c: added DEBUG_MSG() macro to wrap old messages.
4182
4183         * *.*: CVS merges.
4184
4185         * upgrade to libtool 1.3.3.
4186
4187 1999-07-21  Tor Lillqvist  <tml@iki.fi>
4188
4189         Win32: With the latest gcc (2.95, pre-release), we can have binary
4190         compatibility with MSVC by using the switch -fnative-struct. No
4191         longer build DLLs with .gcc in the name when using gcc.
4192
4193         * README.win32: Renew gcc build instructions.
4194
4195         * build-dll: Comments change, handle also .a files.
4196
4197         * makefile.cygwin.in
4198         * tests/makefile.cygwin.in: Remove .gcc from DLL name.
4199
4200 1999-07-13  Tor Lillqvist  <tml@iki.fi>
4201
4202         * README.win32: Correct URL for mingw runtime sources.
4203
4204         * build-dll: Combine commands with &&.
4205
4206         * glib.h: Map also rmdir() and hypot() for MSVCRT library.
4207
4208         * makefile.cygwin.in
4209         * tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
4210         now called *.gcc.dll, to avoid binary incompatibilities with
4211         MSVC-compiled versions.
4212
4213         * makefile.msc.in: Cosmetics.
4214
4215 1999-07-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4216
4217         * configure.in: Test for pthread_join rather than for
4218         pthread_create to determine the right thread-lib. Makes it work on
4219         mips-sgi-irix6.5. Hitn from to Jari Vuoksenranta
4220         <javu@piano.ux.phys.jyu.fi>.
4221
4222 1999-07-02  Tor Lillqvist  <tml@iki.fi>
4223
4224         * README.win32: Note about need to fix another bug in the mingw32
4225         headers.
4226
4227         * makefile.msc.in: Debugging turned on via an nmake variable,
4228         no need to edit the makefile.
4229
4230 1999-07-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4231
4232         * configure.in, acconfig.h, gutils.c: Added a g_memmove
4233         replacement for platforms without memmove, where bcopy can't
4234         handle overlapping copies and the corresponding checks, which is
4235         taken form the PERL Configure routine.
4236
4237         * glib.h: Updated the commentary about g_memmove to be right and
4238         more GLib-like.
4239
4240         * configure.in: Removed test for rand_r, as it isn't used anymore.
4241
4242 1999-06-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4243
4244         * glib.h, grand.c: Finally removed the g_random_normal and
4245         g_rand_normal functions.
4246
4247 1999-06-28  Tor Lillqvist  <tml@iki.fi>
4248
4249         * glib.def: Add missing export of g_strncasecmp.
4250
4251 1999-06-21  Jose Mercado  <jmercado@mit.edu>
4252
4253         * glib.spec.in: Changed version number (1.1->1.3) in files section
4254         to allow rpm to build packages again.
4255
4256 1999-06-21  Tor Lillqvist  <tml@iki.fi>
4257
4258         * README.win32: Update the pthreads snapshot version we want.
4259         Advice how to hand-expand the makefile.*.in files.
4260
4261         * config.h.win32.in: Define values needed by Sebastian Wilhelmi's
4262         new thread stuff.
4263
4264         * glib.def: Add new functions.
4265
4266         * glibconfig.h.win32.in: Update the pthreads snapshot version.
4267         Fix typo.
4268
4269         * gthread.c: Include config.h, guard inclusion of unistd.h.  When
4270         using gcc on Win32, g_thread_functions_for_glib_use must be marked
4271         for export here, too.
4272
4273         * gtimer.c: Implement g_usleep on native Win32 using Sleep (which
4274         only has millisecond granularity, though).
4275
4276         * makefile.cygwin.in
4277         * makefile.msc.in: Update pthreads snapshot version. File
4278         name changes. Remove testgthread.
4279
4280         * tests/makefile.cygwin.in
4281         * tests/makefile.msc.in: Add thread-test. Link with gthread lib.
4282
4283 1999-06-18  Jeff Garzik  <jgarzik@pobox.com>
4284
4285         * tests/Makefile.am:  Re-order tests in alpha order.
4286
4287 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4288
4289         * configure.in: Changed test for pthread_attr_setstacksize from
4290         AC_TRY_COMPILE to AC_TRY_LINK.
4291
4292 1999-06-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4293
4294         * configure.in, acglib.m4, acconfig.h, glib.h, gthread.c:
4295         Completed the thread support in GLib. Thread creation,
4296         prioritizing threads, yielding, joining threads as well as
4297         reader/writer locks and recursive mutexes are now in place. Please
4298         test heavily on your platform. It is so far tested on
4299         Linux/i386/pthreads, Solaris/Sparc/pthreads and
4300         Solaris/Sparc/solaristhreads.
4301
4302         * gtimer.c, glib.h: Implement g_usleep (gulong microseconds) for
4303         thread safe sleeping. (sleep() is not MT-safe at all!)
4304
4305         * gutils.c: Avoid compiler warning.
4306
4307         * tests/Makefile.am, tests/thread-test.c: New program to test some
4308         aspects of the thread implementation.
4309
4310         * gthread.c, Makefile.am: Renamed from gmutex.c to reflect the
4311         change of content.
4312
4313         * configure.in: Purged all appearances of nspr. 
4314
4315 Wed Jun  2 11:42:46 PDT 1999 Manish Singh <yosh@gimp.org>
4316
4317         * acinclude.m4
4318         * config.guess
4319         * config.status
4320         * ltconfig
4321         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
4322
4323 1999-05-29  Tor Lillqvist  <tml@iki.fi>
4324
4325         * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
4326
4327         * glib.h: Document g_strescape.
4328
4329 1999-05-12  Tor Lillqvist  <tml@iki.fi>
4330
4331         * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
4332         _fstat.
4333
4334         * README.win32: Advice also to remove -lmoldname in the
4335         patch to the egcs-1.1.2 spec file.
4336
4337 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
4338
4339         * gmodule/Makefile.am: Another small fix.
4340
4341 1999-05-08  Tor Lillqvist  <tml@iki.fi>
4342
4343         * Makefile.am tests/Makefile.am: Correct rules for making the
4344         win32-related files that are made from corresponding .in files.
4345         Is there a cleaner way than explicitly writing rules that invoke
4346         config.status?
4347
4348 Fri Jul 16 22:18:36 PDT 1999 Manish Singh <yosh@gimp.org>
4349
4350         * ltconfig
4351         * ltmain.sh: upgrade to libtool 1.3.3
4352
4353 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4354
4355         * gdate.c, gstrfuncs.c, gstring.c: Fixed the use of the
4356         is..... and to..... macros, which take unsigned chars, not chars!
4357         Thanks to Morten Welinder <terra@diku.dk> for pointing this out.
4358
4359 Thu Jun  3 16:30:31 PDT 1999 Manish Singh <yosh@gimp.org>
4360
4361         * gerror.c (g_on_error_query): check isatty() before querying so
4362         we don't loop endlessly
4363
4364 Sat May 29 11:16:29 PDT 1999 Manish Singh <yosh@gimp.org>
4365
4366         * acinclude.m4
4367         * config.guess
4368         * config.status
4369         * ltconfig
4370         * ltmain.sh: upgrade to libtool 1.3.2
4371
4372 1999-05-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4373
4374         * gmain.c: provide a poll prototype for SunOS, as they do not do
4375         it self. Hint from Christian Parg <cparg@fs-design.de>.
4376
4377 Tue May 25 12:23:07 1999  Owen Taylor  <otaylor@redhat.com>
4378
4379         * gstrfuncs.c (g_strchug): Use g_memmove() not memmove().
4380         (Reported by Charles Levert <charles@comm.polymtl.ca>)
4381
4382 Mon May 10 22:03:52 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
4383
4384         * Released GLib 1.2.3
4385
4386 1999-05-08  Tor Lillqvist  <tml@iki.fi>
4387
4388         * Makefile.am tests/Makefile.am: Correct rules for making the
4389         win32-related files that are made from corresponding .in files.
4390         Is there a cleaner way than explicitly writing rules that invoke
4391         config.status?
4392
4393 Sat May  1 10:18:01 PDT 1999 Manish Singh <yosh@gimp.org>
4394
4395         * acinclude.m4
4396         * config.guess
4397         * config.status
4398         * ltconfig
4399         * ltmain.sh: upgrade to libtool 1.3
4400
4401 1999-04-30  Tor Lillqvist  <tml@iki.fi>
4402
4403         * Makefile.am: Don't distribute glibconfig.h.win32.in, but
4404         glibconfig.h.win32. Generate it when making a dist. Also generate
4405         makefile.msc and config.h.win32 from corresponding .in files when
4406         making dist.
4407
4408         * configure.in: Also substitute @GLIB_INTERFACE_AGE@ and
4409         @GLIB_BINARY_AGE@ (needed in config.h.win32).
4410
4411         * glibconfig.h.win32.in: Use static mutex structure and initial
4412         value corresponding to the 1999-04-07 snapshot of pthreads-win32.
4413
4414         * tests/Makefile.am: Distribute makefile.msc. Generate it when
4415         making dist.
4416
4417         * tests/makefile.msc.in: New file.
4418
4419         * tests/node-test.c: Include <stdlib.h> for exit().
4420
4421 Thu Apr 29 02:16:36 1999  Tim Janik  <timj@gtk.org>
4422
4423         * gstrfuncs.c: minor code cleanups.
4424
4425 Tue Apr 27 13:11:29 1999  Owen Taylor  <otaylor@redhat.com>
4426
4427         * gmain.c (g_main_poll): Mask out ERR HUP and NVAL from
4428         the events field so we don't give IRIX fits.
4429
4430 Tue Apr 20 08:42:22 1999  Tim Janik  <timj@gtk.org>
4431
4432         * gscanner.c (g_scanner_unexp_token): behave conservative with
4433         G_TOKEN_IDENTIFIER_NULL and always assume scanner->value.v_string
4434         to be "null" in that case.
4435
4436 1999-04-20  Havoc Pennington  <hp@pobox.com>
4437
4438         * gutils.c (g_vsnprintf):  When using the vsnprintf()
4439         implementation, '\0'-terminate the resulting string
4440         and return its length rather than -1.
4441
4442 Mon Apr 19 13:42:21 1999  Owen Taylor  <otaylor@redhat.com>
4443
4444         * gmain.c (g_main_iterate): Added missing
4445         #ifdef G_THREADS_ENABLED. (I never liked G_THREADS_ENABLED in
4446         the first place!)
4447
4448 1999-04-18  Havoc Pennington  <hp@pobox.com>
4449
4450         * gutils.c (g_snprintf): When using the vsnprintf()
4451         implementation, '\0'-terminate the resulting string
4452         and return its length rather than -1.
4453
4454 Fri Apr 16 06:52:07 1999  Tim Janik  <timj@gtk.org>
4455
4456         * gscanner.c (g_scanner_unexp_token): feature G_TOKEN_EOF as a valid
4457         expected token as well, so we get "- expected end of file" instead of
4458         "- expected (unknown) token <0>".
4459
4460 Tue Apr 13 16:16:14 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
4461
4462         * Released GLib 1.2.2
4463
4464 1999-04-12  Elliot Lee  <sopwith@mh69.mh.cuc.edu>
4465
4466         * g_strchug(): s/strcpy/memmove/
4467
4468 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4469
4470         * configure.in: Adjusted the test for an unimplemented
4471         getpwuid_r. Info from Michael Pruett <mikep@ugcs.caltech.edu>.
4472
4473 Sun Apr 11 15:07:34 1999  Tim Janik  <timj@gtk.org>
4474
4475         * configure.in: bumped versin number to GLib 1.2.2, interface 2,
4476         binary 2.
4477
4478         * NEWS: updates.
4479
4480 Sun Apr 11 14:37:06 1999  Tim Janik  <timj@gtk.org>
4481
4482         * gstrfuncs.c (g_strcasecmp): always check for s1, s2 != NULL.
4483
4484 Sat Apr 10 19:30:50 1999  Tim Janik  <timj@gtk.org>
4485
4486         * glib.h: removed braces around inline strings for the G_GNUC_FUNCTION
4487         and G_GNUC_PRETTY_FUNCTION macros, so the macros can be used for
4488         compile time string concatenation.
4489
4490 Thu Apr  8 19:53:19 1999  Owen Taylor  <otaylor@redhat.com>
4491
4492         * gmain.c (g_main_iterate): Check for two threads
4493         calling g_main_iterate at once.
4494
4495         * gmain.c: If the set of poll file descriptors changes
4496         during a call to poll(), abort that call, and start
4497         a new poll. My test program still segfaults
4498         obscurely on glibc 2.0 (in read()!!!), but now it works on
4499         glibc 2.1, so I'll blame something else for the other segfault.
4500
4501 1999-03-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4502
4503         * configure.in: Fixed slight bug, that made configure hang on some
4504         systems. Please do not merge this into 1.3 branch. It's taken care
4505         of differently there. Info from J. Rhett Aultman
4506         <cuplan@alley.gator.net>
4507
4508 Wed Mar 24 21:23:47 CST 1999 Shawn T. Amundson <amundson@gtk.org>
4509
4510         * Released GLib 1.2.1
4511
4512         * README:
4513           INSTALL: 
4514           NEWS: 
4515           sanity_check: updated
4516
4517         * glibconfig.h.win32.in:
4518           Makefile.am:
4519           docs/glib-config.1.in:
4520           docs/Makefile.am: Added files used to generate new files.
4521
4522         * glibconfig.h.win32:
4523           docs/glib-config.1: Removed, now generated.
4524
4525         * configure.in: Added to output now-generated files.
4526
4527 Tue Mar 23 13:43:39 PST 1999 Manish Singh <yosh@gimp.org>
4528
4529         * giounix.c: add user_data param to check and prepare functions
4530
4531 Mon Mar 22 03:54:43 1999  Tim Janik  <timj@gtk.org>
4532
4533         * glib.h:
4534         * gmain.c: add user_data to the GSource ->check and ->prepare
4535         functions, so it can be used to e.g. pass a GPollFd.
4536         (g_main_poll): only add poll records with an events mask != 0 to the
4537         fd_array. don't even bother calling poll_func() if fds=timeout=0.
4538         added debugging printouts around poll_func() invokation that can be
4539         enabled with #define G_MAIN_POLL_DEBUG.
4540
4541 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
4542
4543         * acinclude.m4
4544         * config.guess
4545         * config.sub
4546         * ltconfig
4547         * ltmain.sh: upgrade to libtool 1.2f
4548
4549         * autogen.sh: libtool is not required to autogen glib
4550
4551         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
4552         needed)
4553
4554 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4555
4556         * gmem.c: Fixed another stupid fault of mine: Did
4557         s/g_static_/g_private_/g
4558
4559 Wed Mar 17 03:17:42 1999  Tim Janik  <timj@gtk.org>
4560
4561         * configure.in bumped versin number to GLib 1.2.1, interface 1,
4562         binary 1.
4563
4564         * NEWS: updates.
4565
4566         * glib.h: added GLIB_CHECK_VERSION() macro similar to
4567         GTK_CHECK_VERSION().
4568
4569 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
4570
4571         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
4572         to g_return_if_fail().
4573         (g_mem_profile): 
4574         (g_mem_chunk_print): 
4575         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
4576         messages.
4577
4578         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
4579         to g_return_if_fail().
4580         * grel.c (g_*): changed a bunch of g_assert() statements to
4581         g_return_if_fail() and added some extra ones to check relation != NULL.
4582
4583 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4584
4585         * configure.in: Also accept _Pctime_r instead of ctime_r, while
4586         seraching for the right `_REENTRANT' flag. This is for Digital
4587         UNIX 4.0d. Thanks to Sascha Brawer <sb@adasys.ch>.
4588
4589 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
4590
4591         * configure.in: check for working realloc (NULL,).
4592         * gmem.c (g_realloc): use malloc() for initial allocation on systems
4593         where realloc(NULL,) will not work (this is the case on SunOS, reported
4594         by Tom Geiger).
4595
4596 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
4597
4598         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
4599         flag around the call to g_hook_free() to avoid spurious
4600         warnings (happens during destruction phase).
4601
4602 1999-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4603
4604         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
4605         from config.h.win32 to glibconfig.h.win32
4606
4607         * acconfig.h, configure.in, config.h.win32: Added test for DCE
4608         versions of mutex_trylock and cond_timedwait. The win32 versions
4609         are posix, aren't they?
4610
4611 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4612
4613         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
4614         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
4615
4616 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4617
4618         * gutils.c (g_get_any_init): Fixed yet another bloody
4619         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
4620         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
4621         test better than that, but have no idea, how to do that easily.
4622
4623 Sun Feb 21 22:11:51 CST 1999  Shawn T. Amundson <amundson@gtk.org>
4624
4625         * Released GLib 1.2.0
4626
4627         * AUTHORS: updated
4628
4629 Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>
4630
4631         * *.[ch]: inserted additional note to look for ChangeLog and
4632           AUTHORS file for a log of modifications.
4633
4634 Sun Feb 21 14:01:00 1999  Dr Mike <drmike@redhat.com>
4635
4636         * Made specfile generated, tweaked slightly
4637
4638 Sat May  8 06:00:17 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
4639
4640         * configure.in
4641           gmodule/Makefile.am
4642           gthread/Makefile.am: Better testing reveals better
4643           methods.  Fixes for BeOS.
4644
4645 Sat May  8 01:52:29 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
4646
4647         * configure.in
4648           gerror.c
4649           gmain.c
4650           gstrfuncs.c
4651           gutils.c
4652           ltconfig
4653           ltmain.sh
4654           gmodule/Makefile.am
4655           gmodule/gmodule.c
4656           gmodule/gmoduleconf.h.in
4657           gmodule/gmodule-beos.c
4658           gthread/Makefile.am: Port to BeOS by myself and Richard Offer.
4659
4660 1999-05-06  Tor Lillqvist  <tml@iki.fi>
4661
4662         * makefile.msc.in makefile.cygwin.in glibconfig.h.win32.in
4663         config.h.win32.in tests/makefile.msc.in tests/makefile.cygwin.in:
4664         New files, used to generate corresponding non-.in files when
4665         making a dist. This is just so the version numbers will be kept in
4666         synch automatically.
4667
4668         * configure.in: Also substitute @GLIB_MAJOR_VERSION@,
4669         @GLIB_MINOR_VERSION@, and @GLIB_INTERFACE_AGE@.
4670
4671         * Makefile.am tests/Makefile.am: Also distribute makefile.cygwin.
4672
4673         * gerror.c (g_on_error_query): On Win32, put up a MessageBox and
4674         then exit.
4675
4676         * glib.def: Add a couple of functions.
4677
4678 Sat May  1 10:26:20 PDT 1999 Manish Singh <yosh@gimp.org>
4679
4680         * acinclude.m4
4681         * config.guess
4682         * config.status
4683         * ltconfig
4684         * ltmain.sh: upgrade to libtool 1.3
4685
4686 1999-04-25  Tor Lillqvist  <tml@iki.fi>
4687
4688         * README.win32: More editing.
4689         * build-dll: Use gcc, not ld to link.
4690         * glib.h: On native Win32 use _unlink().
4691         * gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
4692         not _MSC_VER.
4693         * gstring.c: Include <io.h> on Win32 for _read prototype.
4694         * gutils.c: Remove old IO channel code (was in #if 0).
4695         * makefile.cygwin: Don't need to link with kernel32 and msvcrt
4696         explicitly, they are included anyway.
4697
4698 1999-04-24  Tor Lillqvist  <tml@iki.fi>
4699
4700         Support added for building using a GNU toolchain on Win32,
4701         i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
4702
4703         * README.win32: Updated.
4704         * build-dll makefile.cygwin tests/makefile.cygwin: New files.
4705         * glib.h glib.def glibconfig.h.win32: Slight updates. 
4706         * gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
4707         * gmain.c gutils.c testglib.c tests/string-test.c: Test for
4708         NATIVE_WIN32, not _MSC_VER.
4709         * gmutex.c: Must declare g_thread_functions_for_glib_use as
4710         exported (using the GUTILS_C_VAR macro).
4711         * gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
4712         * gmodule/gmoduleconf.h.win32: Need underscore with gcc.
4713         * gthread/gthread.c: With gcc on Win32, must use memcpy to assign
4714         value of g_thread_functions_for_glib_use (?).
4715         * makefile.msc tests/makefile.msc: Cosmetics.
4716
4717 Fri Apr 23 14:29:25 BST 1999  Tony Gale <gale@gtk.org>
4718
4719         * glib.h: Fix typo in g_string_ncasecmp macro (by me).
4720           Add b_string_strncasecmp macro.
4721
4722 1999-04-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4723
4724         * gutils.c (g_get_any_init): use sysconf (_SC_GETPW_R_SIZE_MAX) as
4725         the new initinal bufsize for getpwuid_r on systems, that support
4726         this. Hint from Holger Duerer <H.Duerer@zait.uni-bremen.de>.
4727
4728 Sat Apr 17 20:55:13 BST 1999  Tony Gale <gale@gtk.org>
4729
4730         * glib.h, gstring.c: Add new g_string functions for reading
4731           from file/socket descriptors, and tokenising strings.
4732
4733           Added various g_string macros.
4734
4735 Tue Apr 13 23:28:32 1999  Tor Lillqvist  <tml@iki.fi>
4736
4737         * README.win32: Mention the tests directory.
4738
4739         * glib.def: Add the functions from grand.c.
4740
4741         * glibconfig.h.win32: Add unsigned max values, and the format
4742         strings.
4743
4744         * makefile.msc: Add grand.
4745
4746         * tests/{date-test,node-test}.c: Include <stdlib.h> for exit().
4747
4748         * tests/makefile.msc: New file.
4749
4750 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4751
4752         * glib.h: Moved struct declaration up. Style fixes.
4753
4754         * grand.c: Style fixes. Only try to open /dev/random once.
4755
4756         * tests/rand-test.c (main): New tests; Slight bug fix. 
4757
4758 1999-04-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4759
4760         * grand.c, tests/rand-test.c: New files to implement the Mersenne
4761         Twister Pseudo Random Number Generator.
4762
4763         * glib.h, AUTHORS, Makefile.am, tests/Makefile.am: Changed
4764         accordingly.
4765
4766 Thu Apr  8 21:12:30 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
4767
4768         * Released GLib 1.3.0
4769
4770 1999-03-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4771
4772         * configure.in: Added a check for the right format to printf and
4773         scanf long longs. It is %qi instead of %lli on FreeBSD for
4774         whatever reason.
4775
4776 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
4777
4778         * Makefile.am (glibconfig.h): Make sure `glibconfig.h' exists
4779         after the rule is fired.
4780         (install-exec-local): Install glibconfig.h only if the contents
4781         are different from the currently installed glibconfig.h.
4782
4783 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
4784
4785         * Makefile.am (configexecincludedir): Rename from 
4786         configincludedir so that glibconfig.h will be installed 
4787         as part of `make install-exec'. 
4788
4789 Thu Mar 25 22:45:47 1999  Tor Lillqvist  <tml@iki.fi>
4790
4791         * config.h.win32: Update version numbers.
4792
4793         * glibconfig.h.win32: Update version numbers and pthreads-win32-
4794         related magic values.
4795
4796         * README.win32: Some improvements.
4797
4798         * makefile.msc: Add gqueue and gstack. Correct version number.
4799
4800 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
4801
4802         * acinclude.m4
4803         * config.guess
4804         * config.sub
4805         * ltconfig
4806         * ltmain.sh: upgrade to libtool 1.2f
4807
4808         * autogen.sh: libtool is not required to autogen glib
4809
4810         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
4811         needed)
4812
4813 1999-03-18  Jeff Garzik  <jgarzik@pobox.com>
4814
4815         * glib.def: Add new g_list, g_stack, g_queue functions.
4816
4817 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4818
4819         * configure.in: added new AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
4820         to hold various defines to get the right thread implementation on
4821         different platforms. Also look in -ldce for pthread_create. Should
4822         make it work on HP-UX 10.x. Information from "D. Emilio Grimaldo
4823         Tunon" <emilio_tunon@nl.compuware.com>.
4824
4825 1999-03-17  Jeff Garzik  <jgarzik@pobox.com>
4826
4827         * gstack.c, gqueue.c:
4828         Add copyright, clean up code a bit.
4829
4830 1999-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4831
4832         * configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
4833         platforms with only /usr/include/values.h.
4834
4835         * acconfig.h: Removed unnecessary macros.
4836
4837         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
4838         from config.h.win32 to glibconfig.h.win32. Taken from glib 1.2
4839         branch.
4840
4841         * configure.in: Also accept _Pctime_r instead of ctime_r, while
4842         seraching for the right `_REENTRANT' flag. This is for Digital
4843         UNIX 4.0d. Taken from glib 1.2 branch.
4844
4845 Wed Mar 17 03:14:56 1999  Tim Janik  <timj@gtk.org>
4846
4847         * glib.h: added GLIB_CHECK_VERSION() macro similar to
4848         GTK_CHECK_VERSION().
4849
4850 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
4851
4852         * merges from glib-1-2:
4853
4854 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
4855
4856         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
4857         to g_return_if_fail().
4858         (g_mem_profile):
4859         (g_mem_chunk_print):
4860         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
4861         messages.
4862
4863         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
4864         to g_return_if_fail().
4865         * grel.c (g_*): changed a bunch of g_assert() statements to
4866         g_return_if_fail() and added some extra ones to check relation != NULL.
4867
4868 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
4869
4870         * configure.in: check for working realloc (NULL,).
4871         * gmem.c (g_realloc): use malloc() for initial allocation on systems
4872         where realloc(NULL,) will not work (this is the case on SunOS, reported
4873         by Tom Geiger).
4874
4875 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
4876
4877         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
4878         flag around the call to g_hook_free() to avoid spurious
4879         warnings (happens during destruction phase).
4880
4881 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4882
4883         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
4884         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
4885
4886 1999-03-16  Timur Bakeyev  <mc@bat.ru>
4887
4888         * configure.in: Fix problem with pthread_create in libc, as running
4889         "gcc test.c -l " is not legal.
4890
4891 1999-03-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4892
4893         * tests/type-test.c: Added a test for the
4894         G_(U)?INT(16|32|64)_FORMAT and G_(MIN|MAX|MAXU)(SHORT|INT|LONG)
4895         macros.
4896
4897         * configure.in: Removed G_(U)?INT8_FORMAT again, as it can't be
4898         used for scanf.
4899
4900         * configure.in: Added the macros G_MAXU(SHORT|INT|LONG). I do not
4901         know how to handle these on platforms with /usr/include/values.h,
4902         but without /usr/include/limits.h. Please someone add this.
4903
4904
4905 1999-03-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4906
4907         * configure.in: Added the macros G_(U)?INT(8|16|32|64)_FORMAT to
4908         use for printf and (much more important) scanf format strings for
4909         the corresponding GLib types. 
4910
4911         * glib.h Added G_(U)?(SHORT|INT|LONG)_FORMAT for consistency. It
4912         however makes no sense to also provide G_(FLOAT|DOUBLE)_FORMAT, as
4913         they are different for printf (f for both) and scanf (f for float,
4914         lf for double). Defining G_INT_FORMAT makes sense however, as we
4915         might want to define gint to something different than int someday
4916         in the future. Idea from Sascha Brawer <sb@adasys.ch>.
4917
4918 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
4919
4920         * gdate.c:
4921         Commented out debugging output.
4922
4923         * tests/Makefile.am, tests/date-test.c:
4924         Added test of the GDate module, based closely on testgdate.c.
4925
4926         * tests/Makefile.am:
4927         Bugfix - compile tests with @GLIB_DEBUG_FLAGS@.
4928
4929 1999-03-14  Raja R Harinath  <harinath@cs.umn.edu>
4930
4931         * configure.in (glibconfig.h): Remove widechar tests and defines.
4932         (fd_set): Change the grep for `fd_mask' to search for `fd_set'.
4933         * gerror.c (fd_mask): Remove conditional typedef.  It is not used
4934         elsewhere in the file.
4935         * gmain.c (fd_mask): Likewise.
4936
4937 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4938
4939         * configure.in: Test for posix threads first, then for dce threads.
4940
4941 1999-03-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4942
4943         * configure.in: Revamped the thread configure stuff. Now dce
4944         threads (old posix draft) are recogniced. This is necessary,
4945         because dce threads are in fact working quite differently from
4946         posix threads. Also changed the conditions for checking for MT
4947         safe functions a bit, because G_THREADS_IMPL_NONE still have to
4948         compile thread safe. NOTE: Please do not commit my change to
4949         glib-1-2/{acconfig.h,configure.in,config.h.win32} from 1999-03-03,
4950         as the current change will take care of that too.
4951
4952 Tue Mar  9 14:37:32 1999  Jeff Garzik  <jgarzik@pobox.com>
4953
4954         * Makefile.am, glib.h, gstack.c, gqueue.c,
4955           tests/Makefile.am, tests/queue-test.c, tests/stack-test.c:
4956         Added stack, queue ADTs and related tests.
4957
4958         * glib.h, glist.c:
4959         New g_list_delete() function.
4960
4961 Sat Mar  6 11:03:08 1999  Asbjorn Pettersen  <ape@lrdpf.spacetec.no>
4962
4963         * gutils.c (g_get_any_init): add OS/2 changes.
4964         change '\\' in HOME to '/'.
4965
4966 1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
4967
4968         * glib.def: g_spaced_primes_closest was omitted here, so I
4969         couldn't build Xdelta on Windows.
4970
4971 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4972
4973         * gutils.c (g_get_any_init): Fixed yet another bloody
4974         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
4975         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
4976         test better than that, but have no idea, how to do that easily.
4977
4978 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
4979
4980         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
4981         new one.
4982
4983         * configure.in: set glib version to 1.3.0.