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