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