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