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