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