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