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