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