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