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