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