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