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