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