Add closure_marshal/closure_callback fields to GSourceFuncs for use by
[platform/upstream/glib.git] / ChangeLog.pre-2-2
1 Mon Aug 27 14:56:12 2001  Owen Taylor  <otaylor@redhat.com>
2
3         * glib/gmain.h: Add closure_marshal/closure_callback
4         fields to GSourceFuncs for use by g_source_set_closure().
5
6         * glib/gmain.c glib/giounix.c glib/giowin32.c 
7           glib/gmain.h: Export the SourceFuncs vtables so GObject
8         can use them to figure out closure callbacks/marshallers
9         for the default source types.
10
11 Sun Sep  2 13:05:53 2001  Owen Taylor  <otaylor@redhat.com>
12
13         * glib/gstrfuncs.c (g_strchomp): Replace some uses
14         of isspace() with g_ascii_isspace().
15
16         * glib/gutf8.c glib/gunicode.h glib/gstrfuncs.[ch]: Add
17         extra indirections to g_utf8_skip and g_ascii_table to
18         avoid great whopping copy relocs.
19
20 Sun Sep  2 11:10:42 2001  Owen Taylor  <otaylor@redhat.com>
21
22         * glib/gen-unicode-tables.pl glib/gunicomp.h
23         glib/gunichartables.h glib/giounix.c: Fix some variables that 
24         should have been static.
25
26 2001-08-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
27
28         * glib/gthread.h, glib/gthread.c: Add 'want_to_read' to
29         GStaticRWLock to avoid calling g_cond_broadcast, when no one is
30         waiting.
31
32         * glib/gmain.c (g_main_context_add_poll_unlocked): Don't free
33         cached_poll_array, when adding new poll's. This is taken care for
34         in g_main_context_iterate.
35
36 2001-08-30  Tor Lillqvist  <tml@iki.fi>
37
38         After being away for about five months, I'm back working on
39         this...  For now, still using same build setup for Win32. Probably
40         will change to not including version numbers in the import library
41         names, though. (But the DLL names would still include them,
42         possibly even also the micro version number.) That would be more
43         Unix-like. Also, will have to check out newest mingw tool versions
44         to see if the build-dll script now can be retired.
45         
46         * makefile.mingw
47         * makefile.msc: New files, no need to generate from .in as
48         they don't contain references to automake variables.
49         
50         * makefile.mingw.in
51         * makefile.msc.in: Removed.
52         
53         * glib.rc.in: Remove
54         * glib/glib.rc.in: Moved here.
55         
56         * Makefile.am
57         * glib/Makefile.am: Corresponding changes.
58
59         * glib/glib.def: Fix typo, add new entries.
60
61         * glib/gspawn-win32-helper.c: More debugging. Doesn't work
62         currently (or then it never has on Win2k, which I now use?)
63
64         * glib/gstrfuncs.c
65         * glib/gstrfuncs.h: Mark g_ascii_table for export/import on Win32.
66
67         * */makefile.mingw.in: Reflect new location of glib library.
68         
69 2001-08-30  Michael Natterer  <mitch@gimp.org>
70
71         * glib/giochannel.h: (struct GIOChannel): "gboolean foo : 1"
72         results in TRUE being -1 once assigned, use "guint foo : 1"
73         instead.
74
75 2001-08-27  Darin Adler  <darin@bentspoon.com>
76
77         * glib/gconvert.h:
78         * glib/gconvert.c: (g_filename_from_uri):
79         Updated name of error from G_CONVERT_ERROR_NOT_LOCAL_FILE to
80         G_CONVERT_ERROR_NOT_ABSOLUTE_FILE_URI.
81         
82         * tests/.cvsignore:
83         * tests/uri-test.c:
84         Added a lot more test for the new URI functions, including a
85         number that seem to indicate some minor bugs.
86
87 2001-08-26  Alex Larsson  <alexl@redhat.com>
88
89         * glib/gconvert.[ch] (g_filename_from_uri,
90         g_filename_to_uri): New functions to convert
91         between local pahtnames and file: uris.
92
93         * tests/Makefile.am:
94         * tests/uri-test.c:
95         Tests for the new functions.
96
97 2001-08-25  Alexander Larsson  <alla@lysator.liu.se>
98
99         * glib/gstrfuncs.[ch]:
100         * docs/reference/glib/glib-overrides.txt:
101         * docs/reference/glib/glib-sections.txt:
102         * docs/reference/glib/tmpl/string_utils.sgml:
103         Implement and document g_ascii_isxxx.
104
105         * tests/strfunc-test.c:
106         Add tests for g_ascii_isxxx
107         
108         * glib/guniprop.c (g_unichar_ispunct):
109         include symbols, not just punctuation.
110         (g_unichar_isspace): Vertical tab is not
111         considered whitespace.
112         
113         * tests/shell-test.c:
114         Output errors on stderr
115
116 2001-08-24  Alexander Larsson  <alla@lysator.liu.se>
117
118         * glib/gconvert.[ch] (g_convert_with_iconv):
119         New function, doing the same as g_convert but taking
120         a GIConv argument. The old g_convert is just
121         a call to this with a newly opened GIConv.
122
123 2001-08-24  Darin Adler  <darin@bentspoon.com>
124
125         * tests/shell-test.c: (check_string_result): Fix bad indenting.
126         I figured I should fix this since I just pointed Alex here to
127         look at this as an example.
128
129 2001-08-24  Ron Steinke  <rsteinke@w-link.net>
130
131         * glib/giochannel.c: Matthias Clasen's fix for
132         the buffer corruption bug by setting outbuf _after_
133         the call to g_string_set_size()
134
135         * glib/giochannel.c: kept the buffers from perpetually
136         growing by subtracting 1 from allocated_len in the calculation
137         of available space to account for the null at the end of the
138         buffer
139
140         * glib/giochannel.c: fixed g_io_channel_write_chars()
141         to not write more than space_in_buf bytes for the UTF-8 case
142
143 Fri Aug 24 11:15:46 2001  Owen Taylor  <otaylor@redhat.com>
144
145         * glib/gstrfuncs.c docs/Changes-2.0.txt: Patch from Darin
146         Adler to restore Glib-1.2 handling of empty strings,
147         and to fix off-by-one with @max_tokens. (#57663).
148         Doc improvements.
149
150         * tests/strfunc-test.c: Change tests to correspond to
151         new behavior of g_strsplit().
152
153 Thu Aug 23 11:09:58 2001  Owen Taylor  <otaylor@redhat.com>
154
155         * glib/ghash.c (g_hash_table_foreach_remove_or_steal): 
156         Patch from Josh Pritikin to fix reversed key and value destroy 
157         functions. (#59433)
158
159         * glib/giochannel.h (struct _GIOChannel): Mark structure
160         /*< private >*/
161
162 Thu Aug 23 16:14:17 2001  Tim Janik  <timj@gtk.org>
163
164         * glib/gmacros.h (G_GNUC_NO_INSTRUMENT): new macro.
165
166 2001-08-21  Abel Cheung  <maddog@linux.org.hk>
167
168         * configure.in: Added "zh_TW" to ALL_LINGUAS.
169
170 2001-08-20  Sven Neumann  <sven@gimp.org>
171
172         * Makefile.am: added po to SUBDIRS
173
174 Sun Aug 19 21:32:39 2001  Owen Taylor  <otaylor@redhat.com>
175
176         * glib/ghash.c: Eliminate use of floating point when 
177         determining if the hash table needs to be resized,
178         and also factor out the test from g_hash_table_resize()
179         to save function calls for the common case.
180         (#59124)
181
182         * glib/gmain.c (g_main_context_query): Document the
183         return value.
184
185 2001-08-19  Darin Adler  <darin@bentspoon.com>
186
187         * glib/gshell.c: (g_shell_quote): Added missing \ character.
188
189         * tests/shell-test.c: (check_string_result), (test_shell_unquote),
190         (main): Added tests for g_shell_quote and g_shell_unquote.
191
192 2001-08-19  Fatih Demir <kabalak@gtranslator.org>
193
194         * configure.in: Added "ta" to the languages list.
195
196 2001-08-19  Havoc Pennington  <hp@pobox.com>
197
198         * glib/gshell.c (g_shell_unquote): add comment about shell quoting
199         rules to the docs.
200
201 2001-08-16  Ron Steinke  <rsteinke@w-link.net>
202
203         * glib/giounix.c: fixed an error in setting close_on_unref
204         in g_io_channel_new_file ()
205
206 2001-08-16  Ron Steinke  <rsteinke@w-link.net>
207
208         * glib/giochannel.c glib/glib.def glib/giochannel.h: Added
209         new functions g_io_channel_[set,get]_close_on_unref ()
210
211         * glib/giochannel.c: glib/giochannel.h: Documentation fixes
212
213         * glib/giochannel.c: Fixed g_io_channel_write_chars ()
214         so that bytes_written is always set to an appropriate
215         value when it returns
216
217         * glib/giounix.c: changed g_io_channel_get_flags () to
218         set the is_readable and is_writeable flags cached
219         by the channel
220
221 Wed Aug 15 11:09:56 2001  Tim Janik  <timj@gtk.org>
222
223         * Makefile.am: let the generated .pc files depend on config.status,
224         so they get correctly remade.
225
226 Sun Aug 12 21:05:13 2001  Tim Janik  <timj@gtk.org>
227
228         * glib/gmessages.h: fix g_return_if_fail, g_assert and friends to
229         have a body for G_DISABLE_CHECKS and G_DISABLE_ASSERT.
230         fixes #58873.
231
232 2001-08-12  Ron Steinke  <rsteinke@w-link.net>
233
234         * glib/giochannel.c: safer handling of errno, fixed
235         a bug in an assert
236
237 Sun Aug 12 10:09:00 2001  Owen Taylor  <otaylor@redhat.com>
238
239         * tests/iochannel-test.c (main): Find test case for
240         srcdir != builddir, miscellaneous cleanups.
241
242         * tests/Makefile.am (EXTRA_DIST): Distribute casefold.txt,
243         casemap.txt iochannel-test-infile.
244
245         * glib-2.0-uninstalled.pc.in: Fix for move of glib files
246         into subdir. (Pointed out by Steve Baker)
247
248 Sat Aug  4 01:04:08 2001  Tim Janik  <timj@gtk.org>
249
250         * glib/gscanner.c (g_scanner_unexp_token): fix INT and FLOAT warnings
251         for invalid token values.
252
253 2001-08-10  Ron Steinke  <rsteinke@w-link.net>
254
255         * glib/giochannel.c: Fixed a "sense of comparison" bug,
256         added an assert to check when g_io_channels_read_chars ()
257         is looping endlessly due to encoded_read_buf being corrupted.
258
259 2001-08-06  Sven Neumann  <sven@gimp.org>
260
261         * glib/gutils.[ch]: added new function g_nullify_pointer().
262         
263 2001-08-05  Ron Steinke  <rsteinke@w-link.net>
264
265         * glib/giochannel.c glib/giochannel.c glib/glib.def
266         docs/reference/glib/glib-sections.txt: Added new functions
267         g_io_channel_[read,write]_unichar ()
268
269         * glib/giochannel.h: Finally remembered to remove the
270         old error message G_IO_CHANNEL_ERROR_PCHAR_FLUSH
271
272         * glib/giochannel.c: Some fixes to g_io_channel_fill_buffer ()
273         and g_io_channel_write_chars ()
274
275 2001-08-05  Ron Steinke  <rsteinke@w-link.net>
276
277         * glib/giochannel.c: Replaced the local use_buf variable with a macro
278         in most places. This allows us to check some things without worrying
279         whether we have allocated the read buffers yet, and allows us to allocate
280         the buffers later in some cases.
281
282         * glib/giochannel.c: Introduced a MAX_CHAR_SIZE macro, which is
283         supposed to be greater than or equal to the length in bytes
284         of the longest character in any encoding. This is necessary
285         to get the minimum buffer size for successful writing.
286
287         * glib/giochannel.c: Fixed g_io_channel_set_encoding () so
288         that it just prints a warning if partial_write_buf isn't
289         empty instead of failing.
290
291         * glib/giochannel.c: Fixed several functions so they can accept
292         NULL parameters for pointers to return values.
293
294         * glib/giochannel.c: Altered the error handling for
295         g_io_channel_read_chars () to only return an error if
296         it doesn't have any buffered data.
297
298         * glib/giochannel.c: Rewrote g_io_channel_write_chars ()
299         to fix the error handling and remove duplicate sections
300         of code.
301
302         * glib/giounix.c: Fixed g_io_channel_new_file () to
303         call fstat () to set the is_seekable flag, in case someone
304         uses it on a FIFO.
305
306 Sun Aug  5 08:25:30 2001  Owen Taylor  <otaylor@redhat.com>
307
308         * glib/gmacros.h: Include stddef.h so that we use
309         the system's definition of NULL. (#54730)
310
311 2001-08-04  Alexander Larsson   <alexl@redhat.com>
312         
313         * win32-fixup.pl: 
314         Hacky script to fix up your .msc.in files on windows. 
315         Dunno if this is a good solution yet.
316         
317         * build/win32/module.defs:
318         Back down libiconv version to 1.3, since that is what tor distributes.
319         
320         * glib/glib.def:
321         Update
322
323         * gobject/makefile.msc.in:
324         build gobject-query.exe and gmarshal.strings, add libiconv dependency to linklines.
325
326         * gobject/marshal-genstrings.pl:
327         New file. perl script to generate gmarshal.strings.
328         
329 2001-08-03  Ron Steinke  <rsteinke@w-link.net>
330
331         * glib/giochannel.c: Fixed g_io_channel_seek_position()
332         so that G_SEEK_CUR can be used with UTF-8 encoding
333
334         * glib/giochannel.c: Changed test to decide whether
335         use_buf is encoded_read_buf or read_buf from
336         "if (channel->do_encode)" to "if (channel->encoding)" to
337         fix bug 58472
338
339         * tests/iochannel-test.c: Fixed so it doesn't output
340         double newlines
341
342         * glib/giochannel.c: Fixed g_io_channel_fill_buffer()
343         so that encoded_read_buf is created for UTF-8 encoding
344
345 2001-08-03  Darin Adler  <darin@bentspoon.com>
346
347         * tests/strfunc-test.c: (strv_check), (main):
348         Improve strfunc test to test the split function in a way that
349         demonstrates its idiosyncrasies.
350         * tests/.cvsignore:
351
352 2001-08-03  Sven Neumann  <sven@gimp.org>
353
354         * configure.in: beautified configure help output.
355         
356         * glib/gtree.c: changed help for g_tree_insert(); it was misleading.
357
358 Fri Aug  3 10:20:10 2001  Owen Taylor  <otaylor@redhat.com>
359
360         * glib/guniprop.c (g_unichar_xdigit_value): Fix computation
361         (Fix from Cesar Rincon)
362
363 2001-08-01  Christopher James Lahey  <clahey@ximian.com>
364
365         * glib/gutf8.c (g_utf8_find_prev_char): Made g_utf8_find_prev_char
366         able to return the first character of a string.
367
368 2001-07-31  Ron Steinke  <rsteinke@w-link.net>
369
370         * glib/giochannel.h: Committed this file, which is where
371         the changes in my previous changelog entry happened,
372         not giochannel.c
373
374 2001-07-31  Sven Neumann  <sven@gimp.org>
375
376         * glib/gmem.c: declare gboolean vtable_set static.
377
378 2001-07-30  Ron Steinke  <rsteinke@w-link.net>
379
380         * glib/giochannel.c docs/reference/glib/glib-sections.txt
381         tests/iochannel-test.c: removed G_IO_CHANNEL_*_LINE_TERM macros
382
383         * glib/giochannel.c put /*<public>*/ and /*<private>*/ tags in
384         the GIOChannel structure
385
386
387 2001-07-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
388
389         * configure.in: #undef inline before testing whether it works to
390         avoid false positives. Patch from Garry R. Osgood
391         <grosgood@rcn.com>. Fixes bug #58272.
392
393         * gmodule/gmodule.c (parse_libtool_archive): build the library
394         name ourselfs ... so we can load the library specified and not
395         mangle any name not beggining in 'lib'. Patch from Michael Meeks
396         <michael@ximian.com>. Fixes bug #58226.
397
398 2001-07-29  Ron Steinke  <rsteinke@w-link.net>
399
400         * glib/giochannel.c: Matthias Classen's patch to give
401         g_io_channel_flush() the correct sense when testing
402         whether the buffer is empty
403         * glib/giounix.c: Matthias Classen's patch to set
404         the mode of a file created with g_io_channel_new_file()
405
406 Sun Jul 29 16:08:17 2001  Tim Janik  <timj@gtk.org>
407
408         * glib/gscanner.[hc]: removed deprecated g_scanner_stat_mode().
409
410         * glib/gscanner.c (g_scanner_msg_handler): by default, print scanner
411         errors and warnings to stderr.
412
413 2001-07-27  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
414
415         * glib/gtypes.h: Use G_GNUC_EXTENSION instead of
416         __extension__. Patch from Pavel Roskin <proski@gnu.org>.
417
418 2001-07-26  Darin Adler  <darin@bentspoon.com>
419
420         * configure.in:
421         * m4macros/glib-2.0.m4:
422         Update location of pkgconfig from sourceforge.net to new
423         location at freedeskop.org.
424
425 2001-07-26  Michael Natterer  <mitch@convergence.de>
426
427         * gobject/glib-genmarshal.c: added a "release_check" to the
428         OutArgument structure, which, if present, gets integrated in the
429         marshaller code and protects us from stuff like
430         g_object_unref(NULL) on marshaller return values.
431
432 2001-07-23  Padraig O'Briain  <Padraig.Obriain@sun.com>
433
434         * gobject/gobjectnotifyqueue.c: fix unconditional check of
435         first GParamSpec in g_object_notify_queue_thaw(); prevent
436         property notification being lost
437
438 2001-07-23  Ron Steinke  <rsteinke@w-link.net>
439
440         * glib/giochannel.c: fixed g_io_channel_seek_position() so that
441         G_SEEK_CUR works for UTF-8 channel encoding, and unallocated
442         converters are not flushed after the seek; fixed
443         g_io_channel_get_buffer_condition() so that G_IO_IN is only
444         set if the read buffer contains at least one full character
445
446 2001-07-23  Sven Neumann  <sven@gimp.org>
447
448         * Makefile.am: removed glib.def from EXTRA_DIST ...
449         * glib/Makefile.am: ... and added it here.
450
451 2001-07-22  Hans Breuer  <hans@breuer.org>
452
453         * glib/giochannel.c (g_io_channel_get_buffer_condition) : make
454         the code actually have an effect (Use |= to set bits). Not
455         absolutely sure if is the right one.
456
457         * glib/giowin32.c (g_io_win32_<check|prepare>) : don't modify
458         watch->condition but restored the previous behaviour.
459         Now gio-test as well as The Gimp work again ...
460         
461 2001-07-21  Hans Breuer  <hans@breuer.org>
462
463         * glib/giowin32.c (g_io_channel_new_file) : set the
464         corresponding p(ermission)mode of the file when creating,
465         otherwise a wronly file couldn't be overwritten (at least
466         not on Win9x).
467
468 2001-07-21  Hans Breuer  <hans@breuer.org>
469
470         * glib/giowin32.c : intial implementation of new API functions.
471         Not sure if it behaves as intended ...
472
473         * glib.def : removed, glib/glib.def is the file used since moved
474         * glib/glib.def : updated
475
476         * tests/makefile.msc : added iochannel-test
477
478 Fri Jul 20 19:19:10 (UTC) 2001  Ron Steinke  <rsteinke@w-link.net>
479
480         * glib/giochannel.c: API changes, fixes to
481         error handling, some internal restructuring
482         * glib/giochannel.h: API changes, documentation for
483         elements in GIOChannel structure
484         * glib/giounix.c: Matched API changes, implemented
485         backend to set is_readable, is_writeable, is_seekable
486         flags, added a test to catch large values of count
487         for which the behavior of write() is undefined
488         * glib/giowin32.c: Changed to match new prototypes for
489         io_close() and io_seek(), removed references to
490         G_IO_STATUS_INTR, set is_seekable flag in channel
491         creation functions
492         * glib.def: Renamed g_channel_error_quark() and
493         g_channel_error_from_errno() to g_io_channel_error_quark() and
494         g_io_channel_error_from_errno(); added new functions
495         g_io_channel_get_buffered() and g_io_channel_set_buffered()
496         * docs/reference/glib/glib-sections.txt: Modified iochannel
497         section to reflect new functions and API changes
498         * tests/iochannel-test.c: Fixed to work with API changes
499         * tests/iochannel-test-infile: New file; input file
500         for iochannel-test
501         * tests/unicode-collate.c tests/unicode-normalize.c:
502         Changed G_IO_FILE_MODE_READ to "r" to match API change
503
504 Fri Jul 20 19:16:24 (UTC) 2001  Ron Steinke  <rsteinke@w-link.net>
505
506         * gobject/glib-genmarshal.c: modified to create header files
507         using G_[BEGIN,END]_DECLS instead of #ifdef __cplusplus ...
508
509 Fri Jul 20 14:11:29 2001  Owen Taylor  <otaylor@redhat.com>
510
511         * glib/gutf8.c glib/gunidecomp.c: s/size_t/gsize/ to match
512         prototypes.
513
514 Thu Jul 19 16:05:21 2001  Owen Taylor  <otaylor@redhat.com>
515
516         * glib/gcompletion.c (g_completion_complete): Fix memory
517         leak and dubious list manipulation. (Found by 
518         Ron Koerner, #53408)
519
520         * glib/gfileutils.c (get_contents_stdio): Call fclose()
521         on FILE * on error. (#57057)
522
523 2001-07-20  Hans Breuer  <hans@breuer.org>
524
525         * glib/glib/giowin32.c : make it compile again
526
527         * glib/glib.def : updated exports
528
529         * glib/makefile.msc.in :
530         * glib/makefile.mingw.in : 
531         * tests/makefile.msc.in : reflect glib move
532
533         * tests/mainloop-test.c : #include <io.h> for _pipe()
534
535         * tests/gio-test.c : casts for strict compiler settings
536
537         * makefile.msc.in : new master makefile reflecting the glib
538         move. The '.in' isn't really needed anymore, because there
539         is no version number in it
540
541 2001-07-19  Darin Adler  <darin@bentspoon.com>
542
543         * glib/gstrfuncs.c: (g_ascii_strdown), (g_ascii_strup): Add
544         missing const.
545         (g_strsplit): Add g_return_val_if_fail for case of empty
546         delimiter, which can result in an infinite loop otherwise.
547         * glib/gstrfuncs.h: Add missing const.
548         * tests/.cvsignore: Ignore a generated file.
549         
550         * tests/array-test.c:
551         * tests/dirname-test.c:
552         * tests/hash-test.c:
553         * tests/list-test.c:
554         * tests/node-test.c:
555         * tests/relation-test.c:
556         * tests/shell-test.c:
557         * tests/slist-test.c:
558         * tests/spawn-test.c:
559         * tests/strfunc-test.c:
560         * tests/string-test.c:
561         * tests/testglib.c:
562         * tests/tree-test.c:
563         * tests/type-test.c:
564         Add an #undef G_DISABLE_ASSERT so all tests will assert even if
565         asserts are disabled inside glib itself.
566
567 Fri Jul 13 19:20:06 2001  Owen Taylor  <otaylor@redhat.com>
568
569         * glib/gstring.c (g_string_insert/append/prepend_unichar):
570         Add functions to insert a unichar as UTF-8, since this
571         is reasonably common.
572
573         * glib/gutf8.c glib/gunicode.h (g_utf8_get_char_validated):
574         New function exposing iterating through possibly invalid/incomplete
575         UTF-8 to unicode to the outside world.
576
577         * glib/gutf8.c (g_utf8_get_char_extended): Fix max_len argument
578         to be gssize, not gsize.
579
580 2001-07-17  Kjartan Maraas  <kmaraas@gnome.org>
581
582         * configure.in: Added "nn" to ALL_LINGUAS.
583         
584 2001-07-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
585
586         * glib/gmain.c: Add some assertions. Simplify and fix
587         g_main_context_release(). Fix some locking bugs in
588         g_main_loop_run().
589
590 2001-07-12  Mark Murnane  <Mark.Murnane@sun.com>
591
592         * glib/gmessages.c: Changed prototype of printf_string_upper_bound
593         to return gsize.  Now matches the actual function body.
594
595         * glib/gstrfuncs.c (g_strrstr_len): Changed type of parameter #2 
596         from gint to gssize.  Now matches the prototype in gstrfuncs.h.
597         
598 2001-07-11  Darin Adler  <darin@bentspoon.com>
599
600         * .cvsignore: Add some generated files.
601
602         * glib/gmain.c: (g_main_context_iterate): Comment out cruft
603         after #endif to avoid gcc warning.
604         * gmodule/gmodule.c: (g_module_set_error_unduped): Remove
605         const from type to avoid gcc warning.
606         * gobject/gsignal.c: (g_signal_emitv): ifdef variable used
607         only if G_ENABLE_DEBUG to avoid gcc warning.
608         * gobject/gtype.c: (type_iface_vtable_init_Wm),
609         (type_iface_vtable_finalize_Wm): ifdef call needed only
610         if !G_DISABLE_ASSERT to avoid gcc warning.
611         * tests/testglib.c: (main): ifdef call needed only if
612         !G_DISABLE_ASSERT to avoid gcc warning. Maybe later we
613         should make the test to #undef G_DISABLE_ASSERT.
614         * tests/unicode-collate.c: Add include of <string.h> to
615         avoid gcc warning.
616
617 Wed Jul 11 11:13:50 2001  Owen Taylor  <otaylor@redhat.com>
618
619         * glib/Makefile.am (libglib_1_3_la_SOURCES): Add gunicomp.h
620         (Reported by Sven Neumann).
621
622         * glib/guniprop.c (g_utf8_str/updown) glib/gunicollate.c
623         (g_utf8_collate_key): Fix shadowing problems reported by
624         many (D. Adler, S. Neumann, M. Murmane, L. Peter)
625
626 Fri Jul  6 00:02:41 2001  Tim Janik  <timj@gtk.org>
627
628         * glib/gmessages.c (printf_string_upper_bound): fix negative exponent
629         handling (numbers<0).
630         
631         * glib/gutils.h (g_bit_storage): take a gulong as argument.
632         same for g_bit_nth_lsf() and g_bit_nth_msf() as mask.
633
634 2001-07-08  Martin Baulig  <baulig@suse.de>
635
636         * tests/unicode-normalize.c, tests/unicode-collate.c:
637         Reflect latest g_io_channel_new_file() API changes, use
638         G_IO_FILE_MODE_READ instead of "r".
639
640 Fri Jul  6 22:34:32 2001  Owen Taylor  <otaylor@redhat.com>
641
642         * glib/gunicode.h glib/gunidecomp.c glib/guniprop.c 
643           glib/gunicollate.c: Add length arguments to
644         g_utf8_{strup,strdown,casefold,collate_key}.
645
646         * glib/gdate.c: Fix for above.
647
648 2001-07-06  Pablo Saratxaga <pablo@mandrakesoft.com>
649
650         * configure.in: added Basque (eu) to ALL_LINGUAS
651
652 Mon Jul  2 19:48:52  2001 Andrew Lanoix <alanoix@umich.edu>
653
654         *giowin32.c: g_source_remove()ing an socket iochannel closes
655         the socket when it should not. Patch by Peter Zelezny 
656         <zed@linux.com>
657
658         *giowin32.c: Fix a few typos
659         
660 Mon Jul  2 16:03:21 2001  Owen Taylor  <otaylor@redhat.com>
661
662         * glib/giochannel.c (g_io_channel_get_buffer_condition): Fix.
663
664         * glib/giunix.c: Fix prepare/check/dispatch for watches.
665
666         * tests/unicode-normalize.c: #include <string.h>
667
668 Sat Jun 30 23:14:32 2001  Tim Janik  <timj@gtk.org>
669
670         * glib/glist.[hc]: added g_list_insert_before().
671
672         * glib/gslist.c (g_slist_insert_before): provide an implementation,
673         prototype was already present...
674
675 Sun Jul  1 20:16:25 2001  Owen Taylor  <otaylor@redhat.com>
676
677         * glib/guniprop.c (g_unichar_totitle): Use G_N_ELEMENTS
678         rather than a custom macro.
679
680         * glib/gen-unicode-tables.pl: Adapt to changes in table
681         formats for Unicode 3.1
682
683         * glib/gunicode.h glib/guniprop.c glib/gunichartables.h
684           glib/gen-unicode-tables.pl: Add case conversion functions
685         g_utf8_casefold, g_utf8_strup, g_utf8_strdown.
686
687         * tests/unicode-caseconv.c tests/gen-casefold-txt.pl
688           tests/gen-casemap-txt.pl tests/casefold.txt 
689           tests/casemap.txt: Test cases for case conversion.
690
691         * glib/gunicode.h glib/gunidecomp.[ch] glib/gunicomp.h
692           glib/gen-unicode-tables.pl: Add function to do Unicode
693         normalization g_utf8_normalize().
694
695         * tests/unicode-normalize.c: Test program for case conversion.
696
697         * glib/gunicode.h glib/gunicollate.c: Add collation functions
698         g_utf8_collate, g_utf8_collate_key.
699
700         * test/unicode-collate.c: Test program for collation.
701
702         * glib/gdate.c (g_date_fill_parse_tokens): Fix uninitialized
703         variable.
704
705         * glib/gdate.c (g_date_strftime) docs/Changes-2.0.txt:
706         Make work with UTF-8 even if the locale isn't UTF-8 based.
707         Still somewhat of broken, if the format string contains 
708         characters not representable in the current locale, will warn
709         and not work.
710         
711         * glib/gdate.c: Use UTF-8 normalization and casefolding.
712
713 Sat Jun 30 16:03:16 2001  Owen Taylor  <otaylor@redhat.com>
714
715         * glib/giowin32.c glib/giounix.c glib/gmain.[ch]:
716         Rename GSourceFuncs::destroy to GSourceFuncs::finalize.
717         (#56858)
718
719 Sat Jun 30 15:49:10 2001  Owen Taylor  <otaylor@redhat.com>
720
721         * glib/gmain.[ch]: (Mostly patch from Sebastian Wilhemi)
722         Make some changes to the way that GMainContext works:
723
724          - a GMainContext is no longer associated with a single
725            thread, but any thread can acquire ownership 
726            of thread and iterate.
727
728          - There is a facility g_main_context_wait() for
729            non-owner-threads to wait either for ownership
730            or for a condition to be broadcast.
731
732          - For efficiency, GMainLoop just piggybacks of
733            of the loops mutex / condition instead of
734            having a separate mutex/condition for each
735            GMainLoop.
736
737         * glib/gthread.[ch]: Remove hacks to store the thread's
738         GMainContext in the GThread structures, since we
739         no longer have the GMainContext <=> GThread correspondence.
740         
741         * glib/gmain.[ch]: Make g_main_context_wakeup() public
742         so someone could completely duplicate GMainLoop 
743         with the public API.
744
745         * tests/mainloop-test: Fix up to the new API. Decidedly
746         doesn't work at the moment, but that may be the IO
747         channel changes, or preexisting locking problems.
748
749 Sat Jun 30 13:18:28 2001  Owen Taylor  <otaylor@redhat.com>
750
751         * glib/gstrfuncs.c glib/gstring.h: Try compiling
752         before committing, why don't you? Simple fixes
753         for my stupid typos. 
754
755 Sat Jun 30 12:49:26 2001  Owen Taylor  <otaylor@redhat.com>
756
757         Patch from Darin Adler (#54166)
758         
759         * glib/gstrfuncs.[ch]: Add ascii-only, locale-insensitive
760         g_ascii_to[lower/upper], g_ascii_str[down/up],
761         g_ascii_is[upper/lower] and deprecate the locale-affected
762         versions which break for UTF-8, etc. Make
763         g_ascii_strup/strdown duplicating,
764         not in-place for consistency with UTF-8 functions.
765
766         * glib/gstring.[ch]: Add ascii-only, locale-insensitive
767         g_string_ascii_[down/up], and deprecate the locale-affected
768         versions which break for UTF-8, etc.
769
770         * glib/gutils.c glib/gwin32.c test/testglib.c: Use
771         the g_ascii_* functions where appropriate.
772
773 Fri Jun 29 13:36:39 2001  Owen Taylor  <otaylor@redhat.com>
774
775         * glib/gstring.[ch] (g_string_set_size): Add function to 
776         allow setting the length of a string greater than the 
777         current length (for buffering usage)
778
779         * glib/gstring.[ch]: Expose string->allocated_len, since
780         that is useful when using GString simply as a buffer. 
781         (Renamed from string->alloc)
782
783         * glib/giochannel.[ch] glib/giounix.c glib/giowin32.c:
784         Major patch from Hidetoshi Tajima and Ron Steinke
785         reworking GIOChannel to have:
786
787          - Buffering
788          - Sane and useful error reporting
789          - Streaming encoding conversion with iconv
790          - Convenience functions to read by lines or 
791            an entire file.
792
793         Also fix remaining 64 bit cleanliness issues.
794
795         * tests/iochannel-test.c tests/Makefile.am: Test case
796         for IO channel streaming conversion. Still needs 
797         some fixing up.
798
799 Thu Jun 28 16:57:44 2001  Tim Janik  <timj@gtk.org>
800
801         * configure.in (GLIB_MICRO_VERSION): up version number to 1.3.7,
802         interface age 0, binary age 0.
803
804 2001-06-27  Kjartan Maraas  <kmaraas@gnome.org>
805
806         * glib/gmarkup.c: Fix a typo.
807         
808 2001-06-27  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
809
810         * Makefile.am, configure.in: Removed glib-config-2.0, as we have
811         pkg-config now.
812
813         * glib/Makefile.am: Added -I$(top_srcdir) for builddir != srcdir.
814
815         * Makefile.am: Removed gen-unicode-tables.pl from EXTRA_DIST.
816
817 Tue Jun 26 11:43:46 2001  Owen Taylor  <otaylor@redhat.com>
818
819         * configure.in Makefile.am *.[ch] glib/*.[ch] glib/Makefile.am:
820         Move glib library into a subdirectory, make all GLib include
821         files include as <glib/glist.h>
822
823         * tests/testglib.c tests/testgdate.c tests/testgdateparser.c
824           tests/timeloop.c tests/timeloop-basic.c: Move all tests into
825         the tests/ subdirectory.
826
827 Sat Jun 23 17:34:38 2001  Tim Janik  <timj@gtk.org>
828
829         * gmessages.c (g_logv): use G_BREAKPOINT() instead of raise(5).
830
831 Wed Jun 20 12:00:54 2001  Owen Taylor  <otaylor@redhat.com>
832
833         Changes for 64-bit cleanliness, loosely based on patch 
834         from Mark Murnane.
835         
836         * gconvert.c (g_convert/g_convert_with_fallback): Remove
837         workarounds for since-fixed GNU libc bugs. Minor
838         doc fix.
839
840         * gconvert.[ch]: Change gint to gsize/gssize as
841         appropriate.
842
843         * gconvert.c (g_locale/filename_to/from_utf8): Fix incorrect
844         computation of bytes_read / bytes_written.
845
846         * gfileutils.[ch] (g_file_get_contents): Make length
847         out parameter 'gsize *len'.
848
849         * ghook.c (g_hook_compare_ids): Don't compare a
850         and b as 'a - b'.
851
852         * gmacros.h (GSIZE_TO_POINTER): Add GPOINTER_TO_SIZE,
853         GSIZE_TO_POINTER.
854
855         * gmain.c (g_timeout_prepare): Rewrite to avoid
856         overflows. (Fixes bug when system clock skews
857         backwards more than 24 days.)
858
859         * gmarkup.[ch]: Make lengths passed to callbacks
860         gsize, length for g_markup_parse-context_parse(),
861         g_markup_escape_text() gssize.
862
863         * gmessages.[ch] (g_printf_string_upper_bound): Change
864         return value to gsize.
865
866         * gmessages.c (printf_string_upper_bound): Remove
867         a ridiculous use of 'inline' on a 300 line function.
868
869         * gstring.[ch]: Represent size of string as a gsize,
870         not gint. Make parameters to functions take gsize,
871         or gssize where -1 is allowed.
872
873         * gstring.c (g_string_erase): Make
874         g_string_erase (string, pos, -1) a synonym for
875         g_string_truncate for consistency with other G*
876         APIs.
877
878         * gstrfuncs.[ch]: Make all functions taking a string
879         length, take a gsize, or gssize if -1 is allowed.
880         (g_strstr_len, g_strrstr_len). Also fix some boundary
881         conditions in g_str[r]str[_len].
882
883         * gutf8.c tests/unicode-encoding.c: Make parameters that 
884         are byte lengths gsize, gssize as appropriate. Make 
885         character offsets, other counts, glong.
886
887         * gasyncqueue.c gcompletion.c
888           timeloop.c timeloop-basic.c gutils.c gspawn.c.
889         Small 64 bit cleanliness fixups.
890
891         * glist.c (g_list_sort2, g_list_sort_real): Fix functions
892         that should have been static.
893
894         * gdate.c (g_date_fill_parse_tokens): Fix extra
895         declaration that was shadowing another.
896
897         * tests/module-test.c: Include string.h
898
899 Mon Jun 18 15:43:29 2001  Owen Taylor  <otaylor@redhat.com>
900
901         * gutf8.c (g_get_charset): Make argument
902         G_CONST_RETURN char **.
903
904 2001-06-22  Andrew Lanoix <alanoix@umich.edu>
905         
906         *giowin32.c: Debug and partial rewrite of async socket code
907         on windows, which fixes major MT issues. Some test code kindly 
908         provided by wroberts1@home.com.
909         
910 Thu Jun 14 14:09:46 2001  Owen Taylor  <otaylor@redhat.com>
911
912         * gstrfuncs.c (g_strconcat): Fix a use of strcat that
913         wasn't replaced with g_stpcpy in the original 
914         stpcpy-for-efficiency patch.
915
916 2001-06-11  Havoc Pennington  <hp@redhat.com>
917
918         * NEWS: updated
919
920         * configure.in (GLIB_MICRO_VERSION): increment version to 1.3.6
921
922 2001-06-08  Alex Larsson  <alexl@redhat.com>
923
924         * gstrfuncs.[ch]:
925         Added new functions g_strstr_len, g_strrstr and g_strrstr_len
926         
927         * tests/strfunc-test.c:
928         Add some tests for the new functions.
929         
930         * gunicode.h:
931         * gutf8.c:
932         Add length argument to g_utf8_strchr and g_utf8_strrchr.
933         
934 2001-06-08  Havoc Pennington  <hp@redhat.com>
935
936         * gspawn.c: support G_SPAWN_FILE_AND_ARGV_ZERO specifying that 
937         the vector passed in to g_spawn_* contains a filename to 
938         execute in argv[0] then the actual argv begins at argv + 1.
939         Kind of a lame hack, but this isn't something you commonly want
940         to do, and avoids adding more function arguments.
941
942 2001-06-08  Pablo Saratxaga <pablo@mandrakesoft.com>
943
944         * configure.in: Added Azeri (az) to ALL_LINGUAS
945
946 2001-06-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
947
948         * docs/Makefile.am, configure.in: Remove docs/glib-config.1.in.
949
950         * gthread-2.0-uninstalled.pc.in (Cflags): Add @G_THREAD_CFLAGS@.
951
952 2001-06-07  Havoc Pennington  <hp@redhat.com>
953
954         * m4macros/glib-2.0.m4: subst GLIB_GENMARSHAL, GOBJECT_QUERY, 
955         GLIB_MKENUMS variables
956
957         * gmodule-2.0.pc.in: add gmodule_supported variable
958
959         * glib-2.0.pc.in: add glib_genmarshal, gobject_query,
960         glib_mkenums variables  
961
962         * configure.in: put G_MODULE_SUPPORTED value into 
963         .pc files
964
965         * autogen.sh: support AUTOGEN_SUBDIR_MODE
966
967         * Makefile.am: add -uninstalled.pc.in to EXTRA_DIST
968
969 2001-06-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
970
971         * configure.in: Look for nanosleep function. 
972
973         * gtimer.c: Use nanosleep for g_usleep, when found.
974
975         * gtimer.c, gtimer.h: Add g_time_val_add function. Closes #54271.
976
977         * gasyncqueue.c: Documentation updates.
978
979         * gthreadpool.c: Use g_time_val_add now that we have it.
980
981 2001-06-01  Jon Trowbridge  <trow@gnu.org>
982
983        * gdate.c (g_date_update_julian): Changed to take a const
984        argument, and then to cast out const.
985        (g_date_update_dmy): Changed to take a const argument, and then
986        cast out const.
987        (g_date_get_weekday): Changed argument to be const.
988        (g_date_get_month): Changed argument to be const.
989        (g_date_get_year): Changed argument to be const.
990        (g_date_get_day): Changed argument to be const.
991        (g_date_get_julian): Changed argument to be const.
992        (g_date_get_day_of_year): Changed argument to be const.
993        (g_date_get_monday_week_of_year): Changed argument to be const.
994        (g_date_get_sunday_week_of_year): Changed argument to be const.
995        (g_date_compare): Changed arguments to be const.
996        (g_date_to_struct_tm): Changed GDate argument to be const.
997        (g_date_strftime): Changed GDate argument to be const.
998        (g_date_clamp): Added.  The equivalent of the CLAMP macro for
999        GDates.
1000        (g_date_order): Added.  Ensure that the first GDate argument
1001        preceeds the second, swapping them if necessary.
1002        (g_date_days_between): Added.  Computes the (signed) number of days
1003        between two dates.
1004
1005 Mon Jun  4 16:02:57 2001  Owen Taylor  <otaylor@redhat.com>
1006
1007         * gstrfuncs.c (g_strup/strdown): to match g_strcasecmp,
1008         check if it is lower/upper before converting to upper/lower
1009         [ not required by ISO... ] (#55682, Jon Trowbridge)
1010
1011 Mon Jun  4 15:59:15 2001  Owen Taylor  <otaylor@redhat.com>
1012
1013         * gunicode.h: Make a bit more standalone by adding include
1014         of gerror.h. #54543.
1015         
1016         * gunicode.h: Change size_t to g_size. (Ugh)
1017
1018 2001-05-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1019
1020         * grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in
1021         g_random_boolean, also both functions now return 1 or 0 instead of
1022         1<<15 or 0.
1023
1024         * tests/rand-test.c: Extended testcases.
1025
1026         * configure.in: Remove G_HAVE_ISO_CXX_VARARGS and
1027         G_HAVE_ISO_C_VARARGS and define G_HAVE_ISO_VARARGS directly
1028         guarded by #if(n)def __cplusplus.
1029
1030 2001-05-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1031
1032         * gthread-2.0.pc.in: Add @G_THREAD_CFLAGS@ to Cflags.
1033
1034 Tue May 29 18:17:11 2001  Owen Taylor  <otaylor@redhat.com>
1035
1036         * autogen.sh (have_libtool): Fix GNU sedism
1037
1038 2001-05-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1039
1040         * tests/Makefile.am, tests/qsort-test.c: Add test case for the
1041         g_qsort_with_data func. It works. This fixes bug #52605.
1042
1043         * tests/Makefile.am, tests/cxx-test.C: Now that we check for a C++
1044         compiler in configure.in anyway, I added a test, that the GLib
1045         headers can be inclued into a C++ program. This fixes bug #52605.
1046
1047         * configure.in: Don't bail out, if no C++ compiler is
1048         found. Define G_HAVE_ISO_VARARGS only if appropriate.
1049
1050         * gmessages.h: Thus we can revert the previous patch.
1051
1052 2001-05-29  James Henstridge  <james@daa.com.au>
1053
1054         * gmessages.h: "#ifdef G_HAVE_ISO_VARARGS" will always succeed
1055         even when we don't have ISO vararg support.  Changed to
1056         "#if G_HAVE_ISO_VARARGS".
1057
1058 Mon May 28 11:40:34 2001  Owen Taylor  <otaylor@redhat.com>
1059
1060         * configure.in: Check for __VARARGS__ separately for C and C++.
1061
1062 2001-05-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1063
1064         * configure.in: Fix typo.
1065
1066 Sun May 27 05:09:18 2001  Tim Janik  <timj@gtk.org>
1067
1068         * gmain.c (g_main_context_prepare): unlock context when bailing
1069         out with a warning.
1070         (g_main_context_check): same here.
1071
1072         * gmain.c (g_main_context_check): before returning due to
1073         changed pollfds, unlock context.
1074         
1075 Thu May 24 21:24:16 CEST 2001 Paolo Molaro <lupus@ximian.com>
1076
1077         * gmarkup.c: back out change by mitch@convergence.de and apply patch in
1078         bug id #52067 that fixes the same problem in a more complete manner.
1079         This fixes also a segfault for a malformed XML file and adds a new
1080         test case.
1081
1082 2001-05-24  Hans Breuer  <hans@breuer.org>
1083
1084         * grel.c : reflect renaming of g_string_sprintfa to g_string_printfa
1085
1086         * makefile.msc.in : create an additional static lib to be used from
1087         (at least) glib-genmarshal
1088
1089 2001-05-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1090
1091         * garray.c (g_array_remove_index_fast): Tiny speed improvement
1092         suggested by noon@users.sourceforge.net.
1093
1094 2001-05-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1095
1096         * config.h.win32.in: Removed POSIX_*. Defined G_THREAD_SOURCE to
1097         "gthread-win32.c".
1098
1099         * glibconfig.h.win32.in: Define G_HAVE_ISO_VARARGS for gcc, don't
1100         know about MSC. Define G_THREADS_IMPL_WIN32 instead of
1101         G_THREADS_IMPL_POSIX and define the right static mutex macros and
1102         types.
1103
1104         * glib.def: g_thread_create renamed to g_thread_create_full.
1105
1106         * gthread.c: memcpy is not necessary here. We can simply use
1107         struct assignment.
1108
1109         * gmessages.c: Fix compilation error on win32. Added
1110         GFileDescriptor, wich is gint on Unix and FILE* on win32.
1111
1112 2001-05-21  Andrew Lanoix <alanoix@umich.edu>
1113
1114         *giowin32.c: G_IO_WIN32_WINDOWS_MESSAGES channels
1115         not handled correctly in g_io_win32_check()
1116
1117 Sun May 20 10:47:47 2001  Owen Taylor  <otaylor@redhat.com>
1118
1119         * configure.in: Fix some problems in writing out varargs
1120         tests in configure.in
1121
1122 Fri May 18 10:52:23 2001  Owen Taylor  <otaylor@redhat.com>
1123
1124         * configure.in gmessages.h: Use compile checks for ISO C99 and GNU
1125         extension varargs macros syntax and store result in glibconfig.h
1126         (G_HAVE_ISO_VARARGS, G_HAVE_GNUC_VARARGS) rather than relying
1127         on checking predefined macros.
1128
1129 2001-05-18  Michael Natterer  <mitch@convergence.de>
1130
1131         * gmarkup.c: don't g_strdup()/g_free() all parsed attributes and
1132         their values twice but simply copy the string pointers from the
1133         GMarkupAttribute struct to the string arrays before passing them
1134         to start_element().
1135
1136 2001-05-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1137
1138         * gthread.c, gthread.h: Renamed g_thread_create to
1139         g_thread_create_full and added macro g_thread_create, which omits
1140         'stack_size', 'bound' and 'priority' parameters. Also removed
1141         'bound' from GThread struct.
1142
1143         * gthreadpool.h, gthreadpool.c: Adapted GThreadPool to the above
1144         changes. GThreadPool lost the 'priority' and 'bound'
1145         members. g_thread_pool_new the 'stack_size', 'bound' and
1146         'priority' parameters.
1147
1148         * tests/mainloop-test.c, tests/thread-test.c,
1149         tests/threadpool-test.c: Adapted to the above changes.
1150
1151         * gmem.c (g_mem_profile): Fixed mutex deadlock.
1152
1153 2001-05-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1154
1155         * makefile.mingw.in: Add gpattern.o to objects.
1156
1157         * glib.def: Export g_thread_exit as well.
1158
1159         * Makefile.am: Fix BUILT_EXTRA_DIST exporting.
1160
1161 Sun May 13 10:31:17 2001  Owen Taylor  <otaylor@redhat.com>
1162
1163         * glib/Makefile.am gobject/Makefile.am gmodule/Makefile.am:
1164         Add inter-library dependencies.
1165
1166         * acinclude.m4: Remove libtool macros.
1167
1168         * autogen.sh: Require libtool-1.4, automake-1.4p1.
1169
1170 2001-05-15  Havoc Pennington  <hp@redhat.com>
1171
1172         * configure.in (AC_OUTPUT): m4macros/Makefile
1173
1174         * m4macros/Makefile.am, m4macros/glib-2.0.m4,
1175         m4macros/glib-gettext.m4:
1176         m4 files moved here on server, Makefile.am added
1177          
1178         This is so you can aclocal -I m4macros while avoiding acinclude.m4
1179
1180         * Makefile.am: add m4macros subdir, remove references to glib-2.0.m4
1181
1182 2001-05-14  Havoc Pennington  <hp@redhat.com>
1183
1184         * gutf8.c (g_utf8_get_char): fix docs; they said we validated 
1185         the UTF-8, but we can't possibly detect partial chars since
1186         there's no length arg here, so trying to use this function 
1187         on invalid UTF-8 is a bad idea.
1188
1189 Thu May 10 23:21:30 2001  Owen Taylor  <otaylor@redhat.com>
1190
1191         * gmessages.c (g_log_write_prefix): Avoid using stdio
1192         to be as robust as possible in out-of-memory.
1193
1194         * gmessages.c (g_log_default_handler): Remove some dead
1195         code.
1196
1197         * gutils.c (g_parse_debug_string): Fix to avoid mallocs.
1198
1199 Fri May 11 18:25:23 2001  Tim Janik  <timj@gtk.org>
1200
1201         * gdataset.c:
1202         (g_dataset_foreach):
1203         (g_datalist_foreach): make these safe against removal of the
1204         current element.
1205
1206 2001-05-10  Havoc Pennington  <hp@pobox.com>
1207
1208         * gmessages.c (g_log_write_prefix): change env variable to
1209         G_MESSAGES_PREFIXED, suggested by Tim
1210
1211 Thu May 10 15:19:01 2001  Tim Janik  <timj@gtk.org>
1212
1213         * gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm
1214         to generate hashes.
1215
1216         * gmem.c (standard_calloc): free() doesn't return a value
1217         (Mark Murnane).
1218
1219 2001-04-26  Havoc Pennington  <hp@redhat.com>
1220
1221         * configure.in: Get rid of --enable-msg-prefix
1222
1223         * gmessages.c: make whether to prefix the messages with
1224         appname/pid a runtime setting, not a compile-time setting.  Change
1225         default to include prefix for debug/warning/error type messages.
1226
1227 2001-05-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1228
1229         * gthread.c, gthread.h: Renamed 'value' and 'arg' to 'data' and
1230         'thread_func' to 'func' to make it more consistent with the rest
1231         of GLib.
1232
1233         * gthreadpool.c, gthreadpool.h: Moved 'stack_size' from the public
1234         members of GThreadPool to the private ones. Renamed 'thread_func'
1235         to 'func' as above. Moved up 'user_data' in g_thead_pool_new
1236         argument list and in GThreadPool struct.
1237         
1238 Tue May  8 15:33:31 2001  Tim Janik  <timj@gtk.org>
1239
1240         * gcompletion.h: removed #include <unistd.h> sneaked in by
1241         sopwith in november.
1242
1243 2001-05-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1244
1245         * gmain.c, gthread.c, gthread.h: Moved func and arg members from
1246         GRealThread to GThread, such that they can be accessed by the
1247         user.
1248
1249         * gthread.c, gthread.h: Due to popular demand (Tim being the
1250         populus here ;-) threads now have a 'return value', which is
1251         returned by g_thread_join and is either the return of the topmost
1252         thread function or the value given to g_thread_exit.
1253         
1254         * gthreadpool.c, tests/mainloop-test.c, tests/thread-test.c:
1255         Adapted to the above change.
1256
1257 2001-01-06  Hans Breuer  <hans@breuer.org>
1258
1259         * glib.def : don't try to export g_strcpy, it is g_stpcpy;
1260         updated and added some tweaking for functions which got 
1261         renamed recently, to avoid the update hassle if it can 
1262         simply be done compatible. Should vanish if there is a 
1263         stable version for win32.
1264
1265 Fri May  4 11:49:18 2001  Owen Taylor  <otaylor@redhat.com>
1266
1267         * Released 1.3.5
1268
1269         * NEWS: Updated
1270
1271         * configure.in (GLIB_MICRO_VERSION): Up version to 1.3.5,
1272         interface/binary age 0.
1273
1274 2001-05-04  Sven Neumann  <sven@convergence.de>
1275
1276         * ghash.c: fixed a typo in a comment.
1277
1278         * gtree.[ch]: added new functions g_tree_new_full(), g_tree_replace(), 
1279         g_tree_steal() and g_tree_foreach() to adapt GTree to the GHashTable
1280         API. Moved comments into the C file.
1281
1282         * docs/reference/glib/glib-sections.txt
1283         * docs/reference/glib/tmpl/glib-unused.sgml
1284         * docs/reference/glib/tmpl/hash_tables.sgml
1285         * docs/reference/glib/tmpl/linked_lists_double.sgml
1286         * docs/reference/glib/tmpl/linked_lists_single.sgml
1287         * docs/reference/glib/tmpl/macros_misc.sgml
1288         * docs/reference/glib/tmpl/trees-binary.sgml: updated documentation
1289         
1290 Thu May  3 06:38:28 2001  Owen Taylor  <otaylor@redhat.com>
1291
1292         * g[s]list.c (g_[s]list_foreach) docs/Changes-2.0.txt: Make
1293         foreach() safe against removal of the _current_ element. While
1294         this could break some code, the new behavior is consistent with
1295         the rest of GLib/GTK+ and probably is what people expect in most
1296         cases. (Suggested by Paul Kuykendall, #50071)
1297
1298 Wed May  2 11:10:22 2001  Owen Taylor  <otaylor@redhat.com>
1299
1300         * gutf8.c (g_utf8_to_ucs4_fast): Fix read past end of the string.
1301         (#50404, fix from Jonas Borgström)
1302         
1303 Sun Apr 29 00:37:34 2001  Tim Janik  <timj@gtk.org>
1304
1305         * ghook.[hc]: made hook ids a gulong.
1306
1307 2001-04-20  Dan Winship  <danw@ximian.com>
1308
1309         * configure.in: Add a check for the Darwin dynamic linker. Use
1310         AC_TRY_LINK when checking for "nonposix getpwuid_r" so it notices
1311         "no getpwuid_r" correctly.
1312
1313         * testglib.c (main): Make template[] bigger to prevent an overrun.
1314         Remove an unused variable. Initialize error to NULL.
1315
1316         * tests/gio-test.c (main): Add a cast to prevent a warning when
1317         size_t is a long.
1318
1319         * tests/type-test.c (main): Add an #ifdef to prevent a warning
1320         when G_HAVE_GINT64 is defined and G_GINT64_FORMAT isn't.
1321
1322 2001-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1323
1324         * ghash.c, ghash.h: Remove definition of g_hash_table_freeze and
1325         g_hash_table_thaw. Instead added G_DISABLE_DEPRECATED-guarded
1326         macros to ghash.h to go along the lines of the standard.
1327
1328         * gscanner.c, gscanner.h: Dito for g_scanner_freeze_symbol_table
1329         and g_scanner_thaw_symbol_table.
1330
1331         * gutils.c, gutils.h: Dito for g_dirname. g_basename is still
1332         defined in gutils.c, but declared ing gutils.h only
1333         G_DISABLE_DEPRECATED-guarded.
1334         
1335         * configure.in: Removed bashism in test for the pkg-config
1336         version.
1337
1338         * configure.in: Rewrote test for multithread flag. Now uses
1339         localtime_r, which hopefully has a consistent prototype across
1340         different platforms. Also it uses a clever double EGREP trick
1341         instead of compiling, which could give false positives. Thanks to
1342         Dan Winship <danw@ximian.com> for the hint.
1343
1344 Wed Apr 18 17:35:38 2001  Owen Taylor  <otaylor@redhat.com>
1345
1346         * gutils.c (_glib_gettext): Add missing static pointed
1347         out by Michael Meeks.
1348
1349 Wed Apr 18 09:37:07 2001  Owen Taylor  <otaylor@redhat.com>
1350
1351         * MAINTAINERS: Removed. Keeping README, README.cvs-commits
1352         HACKING, and AUTHORS up to date is plenty without extra
1353         random files that someone thought a module should have.
1354         (Actually, I believe this was used for debbugs in the past.)
1355
1356 Tue Apr 17 11:47:07 2001  Owen Taylor  <otaylor@redhat.com>
1357
1358         * Released 1.3.4
1359
1360         * NEWS: Updated
1361
1362 Tue Apr 17 10:43:36 2001  Owen Taylor  <otaylor@redhat.com>
1363
1364         * gstrfuncs.c: Define _GNU_SOURCE for stpcpy
1365
1366         * tests/mainloop-test.c (main): Wait for all threads
1367         to start before beginning tests.
1368
1369 2001-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1370
1371         * gthreadpool.c (g_thread_pool_thread_proxy): Until now every
1372         thread pool always had at least one tread waiting to avoid
1373         switching overhead in case a new task would be added soon after
1374         one finished. This however means a big waste of threads, if many
1375         mostly inactive thread pools are involved. Now such a waiting
1376         thread will only wait for half a second (This value is of course
1377         very randomly picked) and go to the global threadpool afterwards.
1378
1379 Mon Apr 16 12:04:52 2001  Owen Taylor  <otaylor@redhat.com>
1380
1381         * configure.in: Remove warnings about conflicts with the
1382         stable version.
1383
1384         * glib-2.0.m4: Fix some of the error text to be halfway
1385         up to date.
1386
1387         * README.in INSTALL.in: Add these to generate README, INSTAL
1388         (as in the stable branch). Update.
1389
1390         * HACKING: Update.
1391
1392 2001-04-16  Havoc Pennington  <hp@redhat.com>
1393
1394         * gqsort.c: docs
1395
1396         * gfileutils.c: docs
1397
1398         * gwin32.c: docs fixes
1399
1400         * gconvert.c: docs
1401
1402         * guniprop.c: docs
1403
1404         * gutf8.c: docs
1405
1406 2001-04-16  Havoc Pennington  <hp@redhat.com>
1407
1408         * glib-2.0.m4: put AC_PATH_PROG(pkg-config) before "Checking for
1409         glib" so the output looks right 
1410
1411 2001-03-23  Havoc Pennington  <hp@redhat.com>
1412
1413         * gutils.c (g_parse_debug_string): make GDebugKeys argument 
1414         const
1415
1416 2001-04-14  Hans Breuer  <hans@breuer.org>
1417
1418         * glib.def : 
1419         * makefile.msc.in : updated
1420
1421         * gpattern.c : include "gutils.h" to resolve the inline hassle
1422
1423 2001-04-11  Alexander Larsson  <alexl@redhat.com>
1424
1425         * glib-2.0.m4: Pass pkg-config options
1426         before the other args so it works even if
1427         POSIXLY_CORRECT is set.
1428
1429 Mon Apr  9 18:57:44 2001  Tim Janik  <timj@gtk.org>
1430
1431         * configure.in: increment version to 1.3.4 (binary 0, interface 0).
1432
1433 2001-04-05  Christian Rose  <menthos@menthos.com>
1434
1435         * configure.in: Added sv to ALL_LINGUAS.
1436
1437 Wed Apr  4 09:18:55 2001  Tim Janik  <timj@gtk.org>
1438
1439         * Released GLib-1.3.3.
1440
1441 Tue Apr  3 20:22:59 2001  Tim Janik  <timj@gtk.org>
1442
1443         * NEWS: updates.
1444
1445         * NEWS.pre-1-3: take over old news.
1446
1447 Tue Apr  3 12:38:16 2001  Owen Taylor  <otaylor@redhat.com>
1448
1449         * glib-config-2.0.in: Exit with an error message that you
1450         should use pkg-config instead.
1451
1452         * configure.in (PACKAGE): Require pkg-config.
1453
1454         * tests/Makefile.am (EXTRA_DIST): Add utf8.txt.
1455
1456         * configure.in (GLIB_MICRO_VERSION): Up MICRO to 3,
1457         leave interface/binary at 0.
1458
1459 Tue Apr  3 13:46:22 2001  Tim Janik  <timj@gtk.org>
1460
1461         * glist.[hc]: added g_list_nth_prev() which walks ->prev instead
1462         of ->next.
1463
1464         * gpattern.[hc]: added shell-style pattern matching code from beast,
1465         derived from the gtk_pattern_*() code, but with a couple of bug fixes
1466         and a number of optimizations.
1467
1468 2001-04-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1469
1470         * gthreadpool.c: Added documentation.
1471
1472         * gthreadpool.c: The global thread pool now also is seperated for
1473         bound and unbound threads. Only threads with standard stack size
1474         go to the global pool. g_thread_pool_new now protects the global
1475         setup of inform_mutex etc. with a lock. Fixed some typos. Unlock
1476         the queue after g_thread_pool_wakeup_and_stop_all in the proxy.
1477
1478 2001-04-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1479
1480         * gmain.c: Use the new GRealThread member "context" instead of a
1481         GStaticPrivate to store the thread specific main loop context.
1482
1483         * gthread.c: Added "context" member to GRealThread and updated
1484         g_thread_create, g_thread_self and g_thread_cleanup accordingly.
1485         
1486         * gthread.c, gthread.h: Removed the functions
1487         g_static_private_(get|set)_for_thread and adapted
1488         g_static_private_(get|set) and g_static_private_free
1489         accordingly. This fixes Bug #51435.
1490         
1491 2001-03-30  Sven Neumann  <sven@gimp.org>
1492
1493         * ghash.[ch]
1494         * docs/reference/glib/tmpl/hash_tables.sgml: added new functions
1495         g_hash_table_new_full, g_hash_table_replace, g_hash_table_steal and
1496         g_hash_table_foreach_steal. Moved most docs out of the template
1497         file into the C file. Please proofread the new documentation.
1498
1499 2001-03-29  Tor Lillqvist  <tml@iki.fi>
1500
1501         * glib.def: Updates.
1502         * tests/makefile.mingw.in
1503         * tests/makefile.msc.in: Add module-test rules.
1504
1505 Mon Mar 26 14:14:53 2001  Owen Taylor  <otaylor@redhat.com>
1506
1507         * Makefile.am (INCLUDES): -DG_DISABLE_DEPRECATED
1508
1509         * gmain.h timeloop.c: Surround the cruftiest stuff with
1510         #ifndef G_DISABLE_DEPRECATED.
1511
1512         * gcompat.h gdate.h: Move compat defines back to 
1513         gdate.h, surround with #ifndef G_DISABLE_DEPRECATED. 
1514         Remove gcompat.h.
1515
1516 Mon Mar 26 13:34:50 2001  Owen Taylor  <otaylor@redhat.com>
1517
1518         [ Patch from DindinX  <David.Odin@bigfoot.com>, added docs ]
1519  
1520         * gstrfuncs.c, gstrfuncs.h: Add g_stpcpy () for platform that don't
1521         have stpcpy ().
1522         * gstrfuncs.c (g_strjoin, g_strjoinv and g_strconcat): use
1523         g_stpcpy () so these functions run much faster.
1524         * config.h.win32.in, glib.def: add reference to g_stpcpy ()
1525         * configure.in: Add a test for the stpcpy () function.
1526  
1527 2001-03-20  Havoc Pennington  <hp@redhat.com>
1528
1529         * gutf8.c (g_utf8_strlen): rewrite, based on bug #52328 from
1530         Anders
1531
1532 2001-03-19  Havoc Pennington  <hp@redhat.com>
1533
1534         * gutf8.c (g_unichar_validate): added this function
1535
1536 2001-03-18  Tor Lillqvist  <tml@iki.fi>
1537
1538         * gspawn-win32.c (SETUP_DEBUG): Add braces to silence gcc -Wall.
1539
1540         * gspawn-win32-helper.c (write_no_error): Remove unused function.
1541
1542         * tests/makefile.mingw.in (module-test.exe): Add rules for
1543         building module-test.
1544
1545 Wed Mar 14 18:46:54 2001  Tim Janik  <timj@gtk.org>
1546
1547         * gscanner.[hc]: removed archaic gpointer derived_data; relict and
1548         added a GData member instead.
1549         
1550         * glist.[hc]: added g_list_remove_all().
1551
1552         * gslist.[hc]: added g_slist_remove_all().
1553
1554 Sat Mar 17 19:54:51 2001  Owen Taylor  <otaylor@redhat.com>
1555
1556         * timeloop.c: Reorder headers to make FreeBSD happy. 
1557
1558 2001-03-13  Tor Lillqvist  <tml@iki.fi>
1559
1560         From Edward M. Lee  <tailbert@yahoo.com>:
1561
1562         * gdate.c (g_date_set_parse): add support for dates that in the
1563         form "Wed Mar 14 2001". Running testgdate on cygwin requires this.
1564
1565 Fri Mar  9 18:01:43 2001  Tim Janik  <timj@gtk.org>
1566
1567         * gscanner.[hc]: made config arg to g_scanner_new() const.
1568
1569 2001-03-12  Tor Lillqvist  <tml@iki.fi>
1570
1571         * tests/Makefile.am (libmoduletestplugin_b_la_LIBADD,
1572         libmoduletestplugin_b_la_LIBADD): Link with the libgmodule la only
1573         on Win32.
1574
1575 2001-03-10  Tor Lillqvist  <tml@iki.fi>
1576
1577         * glibconfig.h.win32.in: Define G_PLATFORM_WIN32 here, too.
1578
1579         * tests/Makefile.am: Use the _LIBADD dependency on libglib only on
1580         Win32.
1581
1582 2001-03-09  Tor Lillqvist  <tml@iki.fi>
1583
1584         * README.win32: Update with some information about using configure
1585         and libtool.
1586
1587 2001-03-09  Hans Breuer  <hans@breuer.org>
1588
1589         * gobject/gobject.def : updated
1590
1591 2001-03-08  Tor Lillqvist  <tml@iki.fi>
1592
1593         * glib.def
1594         * gobject/gobject.def
1595         * gobject/makefile.mingw.in: Update.
1596
1597 2001-03-08  Sven Neumann  <sven@gimp.org>
1598
1599         * gtree.[ch]: 
1600         * docs/reference/glib/tmpl/trees-binary.sgml: added new function 
1601         g_tree_lookup_extended().
1602
1603 Thu Mar  8 16:23:34 2001  Tim Janik  <timj@gtk.org>
1604
1605         * ghook.[hc]: destruction cleanup. there's one
1606         ->finalize_hook member in the hooklist now that gets
1607         called when a hook should be destroyed, that's it.
1608         that function is guarranteed to be called only when
1609         all ref_counts to the hook vanished, thus also when
1610         the hook is not in call.
1611
1612 2001-03-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1613
1614         * configure.in (FLAG_DOES_NOT_WORK): Fix typo and thus bug #51862.
1615
1616 Wed Mar  7 09:32:06 2001  Tim Janik  <timj@gtk.org>
1617
1618         * glib-object.h: add gvaluearray.h.
1619
1620         * gstring.[hc]: fixup naming of g_string_sprint*.
1621         
1622         * gtypes.h: fixed GCompareDataFunc naming.
1623
1624 2001-03-07  Christian Meyer  <chrisime@gnome.org>
1625
1626         * configure.in: Added de (German) to ALL_LINGUAS.
1627
1628 2001-03-02  Christophe Merlet  <redfox@eikonex.org>
1629
1630         * configure.in: Added fr (French) to ALL_LINGUAS.
1631
1632 2001-03-01  Tor Lillqvist  <tml@iki.fi>
1633
1634         * gutils.c (g_path_is_absolute): (Win32) Remove test for initial
1635         double backslash (UNC path), this will of course be matched by the
1636         test for an initial G_DIR_SEPARATOR right up front. Silly me.
1637         (g_find_program_in_path): Implement on Win32. Append the
1638         executable file name suffixes from PATHEXT in turn while looking
1639         for the program.
1640         (g_find_program_in_path): If the program we are looking for is a
1641         relative path in a subdirectory, don't do any path search.
1642         (g_get_any_init): (Win32) Also look for the USERPROFILE env var
1643         indicating the home directory equivalent.
1644         (g_find_program_in_path): (Win32): Use MAXPATHLEN, not PATH_MAX
1645         which isn't defined with MSVC.
1646
1647         * testglib.c (main): Test g_find_program_in_path() on Win32 by
1648         looking for more.com and regedit.
1649
1650         * glib.def: Add g_find_program_in_path.
1651
1652 2001-02-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1653
1654         * gthreadpool.c (g_thread_pool_thread_proxy): Make
1655         max_unused_threads work for -1 as well.
1656
1657 2001-02-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1658
1659         * gthread.h (struct _GThread): Change the order to match the order
1660         in g_thread_create().
1661
1662         * gthread.c (g_static_rec_mutex_lock_full): Also do the right
1663         thing (behave like 'depth' calls to g_static_rec_mutex_lock) for a
1664         mutex, that is already locked.
1665
1666 Thu Feb 22 10:31:36 2001  Owen Taylor  <otaylor@redhat.com>
1667
1668         * gmain.c (g_source_remove_poll): Add missing implementation
1669         of g_source_remove_poll. (Pointed out by Stefan Westerfeld)
1670
1671 2001-02-21  Tor Lillqvist  <tml@iki.fi>
1672
1673         * gutils.c (g_find_program_in_path): Implement on Win32.
1674
1675         Cygwin support contributed by Stefan Ondrejicka
1676         <ondrej@idata.sk>. Hopefully I got it all in while simultaneously
1677         adding support for auto*/libtool for mingw.
1678
1679         * Makefile.am: Changes for auto* support on Cygwin and Win32. Do
1680         still distribute the hand-written makefiles and *.win32.in files,
1681         though. Use GIO, GSPAWN and PLATFORMDEP macros set by configure.
1682         Use -no-undefined. Pass -export-symbols glib.def to libtool.
1683         
1684         * configure.in: Define G_PLATFORM_WIN32 on both pure Win32 (mingw)
1685         and Cygwin. Add AC_CYGWIN, AC_EXEEXT and AC_LIBTOOL_WIN32_DLL
1686         calls for Cygwin and mingw support.  Check for %I64u guint64
1687         format (in MS C library). Set G_MODULE_IMPL on mingw and
1688         Cygwin. Use ac_object and ac_exeext.  Set GIO, GSPAWN, PLATFORMDEP
1689         and G_LIBS_EXTRA. Compile timeloop only on Unix. Define OS_WIN32
1690         automake conditional on Win32.
1691         
1692         * glib.h: Include gwin32.h also on Cygwin.
1693
1694         * gfileutils.c (get_contents_posix): Use O_BINARY (defined as 0 on
1695         Unix) for Cygwin's sake.
1696
1697         * gtimer.c (GETTIME): Reduce #ifdefs, use a macro GETTIME().
1698
1699         * gconvert.c
1700         * gthread.c
1701         * gutf8.c
1702         * gutils.c: For code needed both on Cygwin and native Win32,
1703         test for G_PLATFORM_WIN32.
1704
1705         * gmarkup.h: Use G_BEGIN_DECLS and G_END_DECLS.
1706         
1707         * gtypes.h: Refine GLIB_VAR definition. Also check for DLL_EXPORT
1708         in case compiling a static library on Win32 or Cygwin.
1709
1710         * gwin32.c: No <direct.h> on Cygwin. No need for ftruncate() or
1711         dirent emulation on Cygwin.
1712         (get_package_directory_from_module) Convert return value from
1713         GetModuleFileName() to POSIX path on Cygwin.
1714
1715         * tests/Makefile.am (progs_LDADD): Link with libglib, libgthread
1716         and libgmodule as appropriate. Use -no-undefined.
1717
1718         * gbacktrace.c: Move #ifdefs around a bit on Win32.
1719
1720 2001-02-21  Tor Lillqvist  <tml@iki.fi>
1721
1722         * gshell.c (unquote_string_inplace): Make static.
1723
1724         * gthread.h: Include gtypes.h to be sure to get GLIB_VAR
1725         definition, remove definition from here.
1726
1727         * gunicode.h: Remove duplicate GLIB_VAR definition from here, too.
1728
1729         * gutils.c: (Win32) Use USERPROFILE as home dir if present. On
1730         Win2k, HOMEDRIVE and HOMEPATH aren't reliable.
1731         
1732         * Makefile.am (INCLUDES): Add -DGLIB_COMPILATION.
1733
1734         * makefile.mingw.in: Remove install target, Windows isn't Unix.
1735         (DEFINES): Add -DDLL_EXPORT.
1736
1737         * testgdate.c
1738         * testgdateparser.c
1739         * testglib.c: Undefine GLIB_COMPILATION.
1740
1741         * testglib.c: Make some vars static. Add Cygwin path tests.
1742
1743         * glib.def: Updates.
1744
1745         * .cvsignore
1746         * */.cvsignore: Ignore also .obj, .dll, .lib and .exe files.
1747
1748 2001-02-19  Hans Breuer <hans@breuer.org>
1749
1750         * glib/glib.def, gobject/gobject.def : added nissing symbols
1751
1752         * gobject/makefile.msc : updated
1753
1754         * glib/gmessages.c : call the "debug interrupt" before exiting the
1755         program, if build with msvc as debug version. Which gives the opportunity
1756         to see the callstack, etc.
1757
1758         * glib/gthread.c : thread->pid is only defined #ifdef
1759         G_THREAD_USE_PID_SURROGATE
1760
1761 Mon Feb 19 07:32:38 2001  Tim Janik  <timj@gtk.org>
1762
1763         * glib-config-2.0.in (lib_glib): my name is glib-config-2.0!
1764         don't exit with errorcode!=0 for --help or -h.
1765         
1766         * Makefile.am:
1767         * configure.in: build glib-config-2.0.
1768
1769 2001-02-17  Havoc Pennington  <hp@pobox.com>
1770
1771         * gthread.c: include string.h
1772
1773         Applied patch from Soeren Sandmann:
1774         
1775         * testglib.c: const fixes
1776
1777         * gwin32.h: format cleanups
1778
1779         * gutils.c (g_atexit): constify a variable
1780         (g_find_program_in_path): constification
1781         (g_basename): G_CONST_RETURN
1782         (g_path_skip_root): G_CONST_RETURN
1783         (g_getenv): G_CONST_RETURN
1784         (g_get_user_name): G_CONST_RETURN
1785         (g_get_real_name): G_CONST_RETURN
1786         (g_get_home_dir): G_CONST_RETURN
1787         (g_get_tmp_dir): G_CONST_RETURN
1788         (g_get_prgname): G_CONST_RETURN
1789         (_glib_gettext): G_CONST_RETURN
1790
1791         * gunicode.h: formatting cleanups
1792
1793         * gstrfuncs.c (g_strerror): G_CONST_RETURN
1794         (g_strsignal): G_CONST_RETURN
1795
1796         * gspawn.c (g_execute): const on variables
1797
1798         * gmessages.c (printf_string_upper_bound): fix const on a variable
1799
1800         * gmem.c (g_mem_chunk_new): make the "name" arg const
1801         (struct _GRealMemChunk): make the "name" field const
1802
1803         * gfileutils.c (g_file_open_tmp): store const return in a const
1804         gchar* variable
1805
1806         * gdataset.c (g_quark_to_string): G_CONST_RETURN
1807
1808 Sat Feb 17 07:26:33 2001  Tim Janik  <timj@gtk.org>
1809
1810         * configure.in (G_MODULE_HAVE_DLERROR): add check for broken RTLD_GLOBAL
1811         (on OSF1 V5.0).
1812
1813 2001-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1814
1815         * acconfig.h, configure.in: Reverted the changes necessary to
1816         enlarge the system thread for G_THREAD_USE_PID_SURROGATE.
1817
1818         * gthread.c: Now implement G_THREAD_USE_PID_SURROGATE in gthread.c
1819         instead of gthread/gthread-posix.c. While the latter has the
1820         advantage, that it is conceptually cleaner, it makes
1821         g_thread_self_posix_impl _very_ slow and that hurts
1822         GStaticRecMutex and other things. So the new version is less
1823         clean, but faster.
1824
1825 2001-02-09  Havoc Pennington  <hp@redhat.com>
1826
1827         * gconvert.c (g_convert): don't overwrite errors
1828
1829         * gerror.c (g_set_error): improve warning message if an error is
1830         overwritten     
1831         (g_propagate_error): ditto
1832
1833 2001-02-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1834
1835         * gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
1836         g_static_rec_mutex_free, g_static_private_init,
1837         g_static_private_free, g_static_rw_lock_init to allow the usage of
1838         all those types dynamically. (g_static_rw_lock_free already
1839         existed). Aditionally freed static_private indeces are reused
1840         now. Untill now the array would just grow if you would use more
1841         and more static_private. That required adding a slist of all
1842         running threads, which could potentially be of good use later. It
1843         is not exported however. Renamed a LOCK and small indentation
1844         fixes.
1845
1846         * tests/thread-test.c: Test the new static_private index freing
1847         and reusing feature.
1848         
1849 Mon Feb 12 15:01:09 2001  Owen Taylor  <otaylor@redhat.com>
1850
1851         * configure.in (gtk_doc_min_version): Add check for gtk-doc version.
1852
1853 2001-02-10  Tor Lillqvist  <tml@iki.fi>
1854
1855         * gtypes.h
1856         * gutils.h: Move GLIB_VAR definition from gutils.h to gtypes.h
1857
1858         * glib.def
1859         * gmem.h: Mark glib_mem_profiler_table for export.
1860
1861         * gwin32.c (get_package_directory_from_module): Don't store
1862         address of local variable in hashtable.
1863
1864 2001-02-08  Fatih Demir <kabalak@kabalak.net>
1865
1866         * configure.in: Added "tr" to ALL_LINGUAS.
1867
1868 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1869
1870         * gwin32.c (g_win32_getlocale): Use "nn" for Nynorsk, as nn.po
1871         files are appearing now. If the sublanguage starts with '@', don't
1872         use a '_' separator. South Africa is 'ZA', not 'SA'.
1873
1874 Sun Feb  4 07:38:32 2001  Tim Janik  <timj@gtk.org>
1875
1876         * docs/debugging.txt: s/glib_trap_/g_trap_/. add comments on
1877         g_trap_instance_signals, g_trace_instance_signals and
1878         GRUNTIME_DEBUG.
1879
1880         * gmem.c: s/glib_trap_/g_trap_/.
1881         
1882 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1883
1884         * tests/Makefile.am (thread_LDADD): Change order of libs,
1885         put progs_LDADD last. Needed for cygwin, says jbdoll@kepri.re.kr.
1886
1887 2001-02-02  Tor Lillqvist  <tml@iki.fi>
1888
1889         * giochannel.h
1890         * giowin32.c
1891         * gmain.c: Stylistic cleanups. Use G_STRLOC in g_warning() calls.
1892
1893         * glib.def: Add missing functions.
1894
1895 2001-02-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1896
1897         * gthread.c, gthread.h: Added g_static_mutex_init to allow
1898         initialization of a GStaticMutex, that can not be initialized with
1899         G_STATIC_MUTEX_INIT, for example in allocated structures.
1900
1901 Wed Jan 31 13:46:58 2001  Owen Taylor  <otaylor@redhat.com>
1902
1903         * acinclude.m4 glib-gettext.m4: Fix problem with --disable-nls.
1904
1905 2001-01-31  Tor Lillqvist  <tml@iki.fi>
1906
1907         * glibconfig.h.win32.in: Corresponding change as below to
1908         GStaticMutex.
1909
1910 2001-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1911
1912         * gthread.c, gthread.h: Added g_static_mutex_free to allow using
1913         GStaticMutexes with limited lifetime without leaking.
1914         
1915         * configure.in: GStaticMutex doesn't have to provide extra space
1916         for debugging information for G_ERRORCHECK_MUTEXES, as then the
1917         non-default implementation (runtime_mutex) is used anyway.
1918
1919         * gthread.h (g_cond_wait): Added debug information for
1920         g_mutex_free calls, if G_ERRORCHECK_MUTEXES is defined.
1921
1922 2001-01-29  Tor Lillqvist  <tml@iki.fi>
1923
1924         * glibconfig.h.win32.in: Use the same GMutex structure as the
1925         configure-generated glibconfig.h does.
1926
1927         * gstrfuncs.c (g_strsignal): Declare strsignal() on Cygwin, too,
1928         says jbdoll@kepri.re.kr.
1929
1930 2001-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1931
1932         * gthread.c: Broadcast the condition, if there are waiting
1933         readers, as all might read at the same time. Only signal the
1934         writer thread, if there are no more readers.
1935
1936 2001-01-25  Tor Lillqvist  <tml@iki.fi>
1937
1938         * makefile.mingw.in
1939         * */makefile.mingw.in: Protect the rule to rebuild makefile.mingw
1940         if makefile.mingw.in has changed with a check if said .in file
1941         exists. (This rule is mainly a convenience for yours truly.)
1942
1943         * giowin32.c: Socket support rewritten. It was utterly broken, and
1944         untested in fact. We still do use a thread for each socket being
1945         watched, but instead of blocking in recv() (which of course was
1946         plain stupid for sockets being listen()ed on in a server-type
1947         application), we block in select(). The read method for sockets
1948         calls recv(). It is now possible for the application to call
1949         accept(), recv() or send() in the callback, just like on
1950         Unix. Tested with code kindly provided by Andrew Lanoix.
1951
1952         Rename g_io_channel_win32_new_stream_socket() to
1953         g_io_channel_win32_new_socket() as it isn't restricted to stream
1954         sockets.
1955         
1956         * gmain.c (g_poll): Related changes in the Win32 version of
1957         g_poll(). When polling for messages, always do a PeekMessage()
1958         first. We used to miss messages if several were posted between
1959         calls to g_poll().
1960
1961         * giochannel.h: Improve Win32-related comments.
1962
1963         * gutf8.c: (Win32) Include <stdio.h> for sprintf.
1964
1965         * tests/gio-test.c: (Win32) Add tests for polling for Windows
1966         messages.
1967
1968         * tests/makefile.mingw.in: Remove superfluous compilation command
1969         line.
1970
1971 2001-01-23  Alex Larsson  <alexl@redhat.com>
1972
1973         * gmain.c (g_source_callback_unref): Free the callback
1974         (g_source_set_callback): Initialize the callback refcount
1975
1976 2001-01-20  Tor Lillqvist  <tml@iki.fi>
1977
1978         * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is
1979         currently commented out from gutils.h, fix it to return the same
1980         CP%d value as g_get_charset().
1981
1982 2001-01-19  Kjartan Maraas  <kmaraas@gnome.org>
1983
1984         * gconvert.c: Fix typo.
1985         * gfileutils.c: Same here.
1986         * configure.in: Added no to ALL_LINGUAS
1987         
1988 2001-01-17  Tor Lillqvist  <tml@iki.fi>
1989
1990         * gwin32.c (g_win32_getlocale, g_win32_error_message): Add doc
1991         comments.
1992         (g_win32_get_package_installation_directory): Add one parameter,
1993         the name of a DLL in the package. Add possibility to use that to
1994         deduce the installation directory if not entered into the
1995         Registry. Make the return value dynamically allocated.
1996         (g_win32_get_package_installation_subdirectory): New convenience
1997         function.
1998
1999         * gutils.c (GLIB_LOCALE_DIR)
2000         * gwin32.h: Adapt accordingly.
2001
2002         * testglib.c (main): Adapt tests accordingly.
2003
2004 Tue Jan 16 23:20:38 2001  Owen Taylor  <otaylor@redhat.com>
2005
2006         * gutils.c glibintl.h: Optimize for size rather than speed by
2007         making _() always call _glib_gettext() instead of conditionally
2008         calling gettext() or _glib_gettext_init. glib only uses translated
2009         strings in slow error handling code anyways.
2010
2011         * glibintl.h: g'ify types.
2012
2013         * Makefile.am: include glibintl.h in _SOURCES
2014
2015 2001-01-17  Tor Lillqvist  <tml@iki.fi>
2016
2017         * config.h.win32.in: Define ENABLE_NLS and GETTEXT_PACKAGE.
2018
2019         * makefile.mingw.in
2020         * makefile.msc.in: Use the GNU intl library.
2021
2022         * gwin32.c (g_win32_get_package_installation_directory): New
2023         function. To be used by various GLib-using packages to get their
2024         installation directory, which should be stored in the Registry by
2025         some installer.
2026
2027         * gwin32.h: Declare it.
2028
2029         * testglib.c (main): Test it.
2030
2031         * gutils.c: On Win32, define GLIB_LOCALE_DIR using
2032         g_win32_get_package_installation_directory().
2033
2034         * glib.def: Update.
2035
2036 Mon Jan 15 21:39:06 2001  Owen Taylor  <otaylor@redhat.com>
2037
2038         * glib-2.0.pc.in (Libs) glib-config-2.0.in: Add @INTLLIBS@.
2039
2040 Mon Jan 15 21:12:49 2001  Owen Taylor  <otaylor@redhat.com>
2041
2042         * configure.in acconfig.h glibintl.h gutils.c
2043         po/{Makefile.in.in,POTFILES.in,po2tbl.in}: Add gettext
2044         support.
2045
2046         * glib-gettext.m4 acinclude.m4: Clean up the GTK+ gettext macros
2047         some more and put them in this file, though they also need
2048         to be included in acinclude.m4 due to the brokeness of
2049         aclocal.
2050
2051         * gspawn.c gspawn-win32.c gutf8.c gconvert.c gfileutils.c
2052         gshell.c: Remove dummy _() #defines, include glibintl.m4.
2053
2054 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2055
2056         * giowin32.c: Rework the changes needed to pass mainloop-test. Now
2057         we don't need to call TerminateThread() after all, which is a
2058         relief, as the docs have a BIG RED WARNING SIGN about using that
2059         API. Instead, when closing a fd channel that has a reader thread
2060         running, just mark it as non-running and additionally mark the fd
2061         as ripe for closing. When the reader thread hopefully eventually
2062         gets something (and EOF or some actual data), it will note that it
2063         shouldn't be running, break out of the loop, and close the fd.
2064
2065         The socket channel closing code should probably be changed
2066         similarily, but that will have to wait until I have a test case.
2067         
2068         (g_pipe_readable_msg, g_io_channel_win32_new_pipe,
2069         g_io_channel_win32_new_pipe_with_wakeups,
2070         g_io_channel_win32_pipe_request_wakeups,
2071         g_io_channel_win32_pipe_readable): Remove these, have been
2072         obsolete for some time.
2073         
2074         * gutils.c (g_basename, g_dirname): Don't warn about deprecation
2075         on Win32. Code written for GLib 1.2 doesn't have much choice but
2076         to use GLib >= 1.3 on Win32.
2077
2078         * glib.def: Update.
2079
2080 2001-01-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2081
2082         * gmem.c: Made g_profile_mutex a GMutex* instead of
2083         G_LOCK_DEFINE_STATIC to avoid deadlock for thread implementations
2084         without native static mutexes. Contruct g_profile_mutex in
2085         g_mem_init().
2086
2087 2001-01-06  Tor Lillqvist  <tml@iki.fi>
2088
2089         * gconvert.c (g_locale_to_utf8, g_locale_from_utf8): Get len using
2090         strlen() if arg is negative in the Win32 code, too.
2091
2092         * giowin32.c: Changes necessary to be able to run
2093         mainloop-test. We can't close the fd that our (internal) reader
2094         thread is sitting doing a blocking read() from. We must terminate
2095         the thread first. Keep track of thread handle, and close it when
2096         thread is dying. Start reader thread with the lower-level
2097         CreateThread() instead of _beginthreadex() from the C runtime, in
2098         order to be able to use TerminateThread(). Hopefuly this isn't
2099         harmful.
2100
2101         * glib.def: Update.
2102
2103         * tests/makefile.{mingw,msc}.in (TESTS): Add mainloop-test and
2104         unicode-encoding.
2105
2106         * tests/mainloop-test.c: Portability: <unistd.h>, need <fcntl.h>
2107         on Win32.
2108
2109         * tests/unicode-encoding.c (process): Add missing "line" argument
2110         to fail(). On Win32, convert UTF-16LE, as libiconv'c ivonf always
2111         converts to UTF-16BE if we ask for unspecific UTF-16.
2112         (main) Handle also '\r'.
2113
2114 Fri Jan  5 11:25:42 2001  Owen Taylor  <otaylor@redhat.com>
2115
2116         * configure.in (PACKAGE): move $enable_debug down below
2117         checks for GCC to avoid setting CFLAGS prematurely,
2118         change checks to avoid adding -g twice.
2119
2120         * gutf8.c (g_ucs4_to_utf8): Support len < 0 to mean
2121         0 termination.
2122
2123         * gutf8.c (g_utf8_to_ucs4): Terminate result with 0.
2124
2125         * tests/mainloop-test.c (main): Fix uses of 
2126         g_main_loop_destroy().
2127
2128         * tests/unicode-encoding.c tests/Makefile.am tests/utf8.txt:
2129         Tests for unicode-conversion code.
2130
2131         * gconvert.c (g_convert, g_convert_with_fallback): work around
2132         a couple of GNU libc bugs.
2133
2134         * gconvert.[ch] (g_{locale,filename}_{to,from}_utf8): Standardize
2135         arguments to match g_convert(). Document.
2136
2137         * gunicode.[ch]: 
2138           - Implement conversion functions to and from UTF-16
2139           - Standardize unicode conversion functions on prototype like
2140             g_convert.
2141           - Add a lot of error checking to unicode conversion functions.
2142
2143         * gunicode.[ch] (g_utf8_to_ucs4_fast): Add fast, non-checking
2144         variant of g_utf8_to_ucs4.
2145
2146         * gutf8.c (g_utf8_validate): 
2147          - add g_return_if_fail (str != NULL).
2148          - add checks for overlong strings, non-valid Unicode characters (>= 110000)
2149            and single surrogates.
2150
2151 2001-01-05  Tor Lillqvist  <tml@iki.fi>
2152
2153         * testglib.c (main): Add test for g_path_skip_root().
2154
2155         * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
2156         forward slashes in the template.
2157
2158         * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
2159         part of UNC paths. On all platforms, skip several initial
2160         slashes. Add a few comments.
2161         (g_get_any_init): On Win32, in case HOME is Unix-style with
2162         (forward) slashes (some other applications apparently set it up
2163         this way, convert to backslashed form.
2164
2165         * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
2166         although using configure for mingw surely doesn't work yet.
2167
2168         * glib.def: Update.
2169
2170 2001-01-02  Havoc Pennington  <hp@redhat.com>
2171
2172         * configure.in: remove glib-config-2.0
2173
2174         * Makefile.am: remove glib-config-2.0
2175
2176 2001-01-03  Havoc Pennington  <hp@pobox.com>
2177
2178         * tests/Makefile.am (INCLUDES): -I$(top_srcdir)/gmodule, 
2179         fix from Michael Meeks
2180
2181         * Makefile.am (INCLUDES): DISABLE was spelled wrong
2182
2183 Wed Jan  3 14:10:49 2001  Owen Taylor  <otaylor@redhat.com>
2184
2185         * gmain.[ch]: Switch GMainLoop to be ref/unref, use to
2186         make dropping reference to running loop safe.
2187
2188 Wed Dec 13 20:41:49 2000  Owen Taylor  <otaylor@redhat.com>
2189
2190         * gmain.c (g_source_unref_internal): Unref callback->cb_data
2191         if it was still set when the source is freed. (Usually, this
2192         will be done by g_source_destroy.)
2193
2194 2001-01-02  Dan Winship  <danw@helixcode.com>
2195
2196         * garray.h (g_array_append_val, g_array_prepend_val,
2197         g_array_insert_val): Use parentheses around an argument to make
2198         these cause an error if you pass a non-lvalue for the value,
2199         rather than silently doing the wrong thing.
2200
2201 2000-12-29  Tor Lillqvist  <tml@iki.fi>
2202
2203         * glibconfig.h.win32.in: Add GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG.
2204
2205         * glib.def: Update.
2206
2207         * {.,*}/makefile.{mingw,msc}.in: Add -DG_ENABLE_DEBUG.
2208         
2209 Fri Dec 29 14:53:18 2000  Tim Janik  <timj@gtk.org>
2210
2211         * configure.in: we can't grow _cv_ variables by using a backticked
2212         expr that refers back to the variable (glib_cv_sizeof_system_thread for
2213         G_THREAD_USE_PID_SURROGATE), that'd keep the variable growing every time
2214         it's evaluated. quantum states, anyone?)
2215
2216 Thu Dec 28 10:21:46 2000  Tim Janik  <timj@gtk.org>
2217
2218         * gmem.[hc]: got rid of outdated dmalloc support. provide g_try_malloc()
2219         and g_try_realloc() which _may_ fail and return NULL.
2220         nuked g_mem_check(), provided GMemVTable for memory function
2221         virtualization, alterable at program startup with g_mem_set_vtable().
2222         provided glib_mem_profiler_table and g_mem_profile() to support limited
2223         profiling information out of the box (uses mprotect() for free()ed areas
2224         on linux).
2225         provide globally visible G_MEM_ALIGN.
2226         buncha cleanups.
2227
2228         * docs/macros.txt: file to get a clue about the various configuration
2229         macros.
2230
2231         * docs/debugging.txt: explain debugging traps.
2232
2233         * configure.in: got rid of --enable-mem-check and --enable-mem-profile,
2234         define GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG. check malloc prototypes
2235         and define SANE_MALLOC_PROTOS is we can use them.
2236         <boy, is this file a mess>
2237
2238         * gutils.c, gscanner.c: fix up compatibility warnings, use g_message().
2239
2240 2000-12-27  Tor Lillqvist  <tml@iki.fi>
2241
2242         * README.win32: Update.
2243
2244 2000-12-25  Tor Lillqvist  <tml@iki.fi>
2245
2246         * gmessages.c: (Win32) Use a MessageBox for fatal
2247         messages. Collect eror message into a buffer, and display that.
2248
2249         * glib.def: Update.
2250
2251         * glibconfig.h.win32.in: Update. Remove unused wchar and wctype
2252         macros, add G_MODULE_SUFFIX.
2253
2254 2000-12-24  Ali Abdin  <aliabdin@aucegypt.edu>
2255
2256         * Makefile.am, gcompat.h, glib.h: New gcompat.h header file
2257           as recommended by Havoc.
2258
2259         * gdate.c, gdate.h, testgdate.c,
2260           docs/reference/glib/glib-sections.txt,
2261           docs/reference/glib/tmpl/date.sgml, tests/date-test.c: Rename some
2262           of the gdate functions to use the '_get' in their name. Patch
2263           reviewed by Havoc.
2264                 
2265 2000-12-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2266
2267         * configure.in: Determine the suffix of the shared librarries for
2268         this system. This is done analogous to
2269         ltconfig.sh. G_MODULE_SUFFIX in glibconfig.h is set to either
2270         "sl", "dll", or (most often) "so".
2271
2272         * tests/Makefile.am, tests/module-test.c,
2273         tests/libmoduletestplugin_a.c, tests/libmoduletestplugin_b.c:
2274         Added new testcase for gmodule. This is mostly copied from
2275         gmodule/testgmodule.c, but unlike that is is quiet. (Why BTW are
2276         some tests that verbose, not to say loquacious...)
2277
2278 2000-12-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2279
2280         * grand.c: Updated G_RAND_DOUBLE_TRANSFORM to be more
2281         accurate. Redid g_rand_double() such that it returns 52 bits after
2282         the point instead of 32 as before. That OTOH requires calling
2283         g_rand_int() twice. Overhauled g_rand_int_range(), which is easier
2284         now thanks to the new precision of g_rand_double(). Thanks to
2285         Sverre Johansen <sj@ifi.uio.no> for the hint.
2286
2287         * grand.h: Added g_rand_boolean() and g_random_boolean()
2288         macros. While they could be omitted due to extreme simplicity,
2289         they make intention clearer in code and are therefore good to have.
2290
2291         * grand.c, grand.h: Renamed all 'min' and 'max' parameters to'
2292         begin' and 'end' resp. to avoid making people think, that 'max' is
2293         included in the interval. 'end' now isn't, whereas 'begin'
2294         is. That's similar to the use in the STL.
2295
2296         * gslist.c, glist.c: Ok, I'm a moron. When I originally
2297         implemented ENABLE_GC_FRIENDLY, I forgot to include config.h into
2298         the affected files. Now that Alex did that for those two,
2299         inevitable typos surfaced, which are now fixed.
2300         
2301         * garray.c, ghash.c, gqueue.c, gtree.c: Include config.h as well,
2302         as ENABLE_GC_FRIENDLY should be known.
2303
2304 2000-12-19  Alexander Larsson  <alexl@redhat.com>
2305
2306         * configure.in:
2307         Added --disable-mem-pools option.
2308
2309         * glist.c:
2310         * gslist.c:
2311         * gnode.c:
2312         * gmem.c:
2313         Disable free list and memory chunks if DISABLE_MEM_POOLS is defined.
2314
2315 2000-12-17  Tor Lillqvist  <tml@iki.fi>
2316
2317         * gutf8.c (g_utf8_get_charset_internal): (Win32) Use GetACP to get
2318         the current ANSI codepage.
2319
2320         * gunicode.h: Add comment that the static string g_get_charset
2321         sets the parameter to point to should be copied in case the
2322         charset might be changed later in the program.
2323
2324 2000-12-14  Tor Lillqvist  <tml@iki.fi>
2325
2326         * makefile.{mingw,msc}.in: No need to -DGSPAWN_HELPER when
2327         compiling gspawn-win32-helper any longer.
2328
2329         * giowin32.c (g_io_win32_dispatch): Warn if no callback. Call
2330         callback correctly.
2331         (g_io_win32_create_watch): Fix typo.
2332         (g_io_win32_fd_create_watch): Ditto.
2333         (g_io_channel_unix_new): If it is a file descriptor (i.e., a Unix
2334         fd lookalike provided by the C library), call
2335         g_io_channel_win32_new_fd(). If it is a socket (from WinSock),
2336         call g_io_cahnnel_win32_new_stream_socket(). Hopefully sockets and
2337         fds don't overlap. TODO: Implement also datagram sockets.
2338         (g_io_channel_win32_poll): Call g_main_context_get_poll_func().
2339
2340         * gcompletion.h: Include <unistd.h> only on Unix. Is this
2341         inclusion really needed here? OTOH, do include <stddef.h>, for
2342         size_t.
2343
2344         * gmessages.c: (Win32) Don't define a function called "write" that
2345         might clash with the prototype from <io.h>, use a #define.
2346
2347         * glib.def: Update.
2348
2349         * gmain.c (g_source_add_poll): Don't return a value from void
2350         function.
2351         (g_main_context_get_poll_func): Compile also for non-Win32, as
2352         presumably was intended. The result var is a GPollFunc, not a
2353         GPollFunc*. Return the result!
2354
2355 2000-12-13  Havoc Pennington  <hp@redhat.com>
2356
2357         * gconvert.c (open_converter): make static
2358
2359         * gutf8.c (g_utf8_validate): Simplify logic a bit, maybe 
2360         speeding it up - now we just return FALSE if we had to bail out
2361         for any reason before getting to the end of the string, as defined 
2362         by a nul byte if len was -1, defined by the len otherwise. This 
2363         also fixes a bug where nul bytes were not treated as invalid 
2364         when the length was specified.
2365
2366 2000-12-12  Havoc Pennington  <hp@pobox.com>
2367
2368         * gmain.c (g_main_context_destroy): don't try to use thread stuff
2369         unless G_THREADS_ENABLED
2370         (g_main_context_query): ditto
2371         (g_main_context_check): ditto
2372         (g_main_loop_quit): ditto
2373
2374 Tue Dec 12 18:58:22 2000  Tim Janik  <timj@gtk.org>
2375
2376         * ghash.c (g_hash_table_remove): return whether a value
2377         got removed.
2378
2379 Tue Dec 12 15:18:10 2000  Owen Taylor  <otaylor@redhat.com>
2380
2381         * gmain.[ch]: Revert unauthorized changes.
2382
2383 2000-12-12  Elliot Lee  <sopwith@redhat.com>
2384
2385         * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy):
2386         GMainContext useful in implementing some additional styles of
2387         main loop usage.  To do this, however, Joe Hacker needs to be able
2388         to create/destroy GMainContext's at will. This is just an export
2389         of existing functionality, rather than any new functionality.
2390
2391         They are listed in the "Low level functions for implementing custom
2392         main loops" section of the header file, to avoid confusing people.
2393
2394 Sun Dec 10 10:47:11 2000  Owen Taylor  <otaylor@redhat.com>
2395
2396         * gmain.c (g_source_destroy_internal): Remove pollfds
2397         from the context here, not when actually freeing the
2398         source.
2399
2400         * gmain.c (g_source_unref_internal): Free source list
2401         and source, call source->source_funcs->destroy().
2402
2403         * giochannel.c: Unreference io_channel properly.
2404
2405 Thu Dec  7 15:22:30 2000  Owen Taylor  <otaylor@redhat.com>
2406
2407         * tests/mainloop-test.c (recurser_start): Add a bunch
2408         of unrefs.
2409
2410         * gmain.c (g_source_attach): Reference the source
2411         when adding (pointed out by Elliot)
2412
2413 2000-12-08  Raja R Harinath  <harinath@cs.umn.edu>
2414
2415         * acglib.m4 (GLIB_AC_DIVERT_BEFORE_HELP): 
2416         Rename from GLIB_DIVERT_BEFORE_HELP.  
2417         Update to track autoconf 2.49b.
2418         * configure.in: Reflect above change.
2419         (AC_EGREP_HEADER): Rename from really obselete AC_HEADER_EGREP.
2420         (debug_default): Replace "if test `expr ...`" with "case". 
2421
2422         * tests/Makefile.am (TESTS): Rearrange into other variables, and
2423         include run-markup-tests.sh.
2424         (TESTS_ENVIRONMENT): New.  Pass $srcdir to tests.
2425         (noinst_PROGRAMS): Rename to ...
2426         (check_PROGRAMS): ... this.  'automake' ensures that these are
2427         built before running the tests.
2428         * tests/run-markup-tests.sh: Support $srcdir != $builddir.
2429
2430 2000-12-08  Havoc Pennington  <hp@pobox.com>
2431
2432         * tests/Makefile.am (TESTS): move markup-test to noinst_PROGRAMS;
2433         it isn't a proper test, the proper test would be 
2434         run-markup-tests.sh, but that can't go in tests, so we need 
2435         a manual make check rule. Didn't do that yet.
2436
2437 2000-12-07  Raja R Harinath  <harinath@cs.umn.edu>
2438
2439         * gmain.h: Don't put anything after an #endif.
2440         * gmain.c: Likewise.
2441
2442 2000-12-06  Havoc Pennington  <hp@pobox.com>
2443
2444         * tests/strfunc-test.c (main): add g_strdupv test
2445
2446         * gstrfuncs.c (g_strdupv): Add a function to copy 
2447         an array of strings
2448
2449 Tue Dec  5 12:23:04 2000  Owen Taylor  <otaylor@redhat.com>
2450
2451         * gmain.[hc]: Major change in API for creating sources
2452         to handle multiple main loops (GMainContext *). 
2453
2454         GSources are now exposed as GSource * and implemented
2455         with structure derivation.
2456
2457         * giochannel.[ch]: Changed vtable for GIOChannel to correspond
2458         to the new mainloop API, add g_io_channel_create_watch().
2459          
2460         * gtypes.h: Move GTimeVal here.
2461
2462         * gthread.h: Remove gmain.h include to avoid circularity.
2463         
2464         * giounix.c: Update for new GMain API.
2465          
2466         * giowin32.c: Update for new GMain API. (No check for
2467         proper compilation or working.)
2468
2469         * timeloop.c timeloop-basic.c: A benchmarking program for
2470         the main loop comparing the main loop against a 
2471         hand-written (timeloop-basic.c) variant. 
2472
2473         * tests/mainloop-test.c: New torture test of mainloop.
2474         
2475         * docs/Changes-2.0.txt: Started. Added text about
2476         changes to GMain.
2477
2478         * gmain.c (g_main_add_poll_unlocked): Initial fd->revents
2479         to zero. (#8482, Benjamin Kahn)
2480
2481 2000-12-01  Tor Lillqvist  <tml@iki.fi>
2482
2483         * {.,*}/makefile.msc.in: Include make.msc from GLib's build subdir.
2484
2485         * makefile.{mingw,msc}.in (glib_OBJECTS): Add gunibreak.
2486
2487         * glib.def: Update correspondingly.
2488
2489 2000-11-21  Havoc Pennington  <hp@pobox.com>
2490
2491         * gmacros.h: Provide G_CONST_RETURN which is 'const' by default,
2492         and nothing when G_DISABLE_CONST_RETURNS is defined.
2493
2494 2000-11-29  Havoc Pennington  <hp@redhat.com>
2495
2496         * gunidecomp.c (COMBINING_CLASS): 
2497         s/UNICODE_LAST_CHAR/G_UNICODE_LAST_CHAR/
2498
2499         * gunichartables.h: Update for data in Unicode 3.0.1
2500
2501         * gunidecomp.h: Ditto
2502         
2503         * gunicode.h (GUnicodeBreakType): Enum for line break properties
2504         (g_unichar_break_type): Get the break property for a char
2505         
2506         * gunibreak.h: Autogenerated line break property tables
2507
2508         * gunibreak.c (g_unichar_break_type): added 
2509         
2510         * Makefile.am (EXTRA_DIST): dist gen-unicode-tables.pl
2511
2512         * Makefile.am (libglib_1_3_la_SOURCES): Add gunibreak.h, gunibreak.c
2513         
2514         * gen-unicode-tables.pl: Include the script to update the unicode
2515         char tables
2516
2517 2000-11-28  Elliot Lee  <sopwith@redhat.com>
2518
2519         * gmarkup.c: Fix warnings.
2520
2521         * guniprop.c, gunidecomp.c: Make warnings go away by using
2522         GPOINTER_TO_INT() instead of (int).
2523
2524         * gcompletion.[ch]: Add g_completion_set_compare(),
2525         to allow (for example) using case-insensitive completion.
2526
2527 2000-11-28  Tor Lillqvist  <tml@iki.fi>
2528
2529         Patches by Hans Breuer:
2530         
2531         * gspawn-win32.c: Move the code for gspawn-win32-helper to its own
2532         file.
2533
2534         * makefile.{mingw,msc}.in: Change accordingly.
2535
2536         * gspawn-win32-helper.c: New file.
2537
2538         * Makefile.am (EXTRA_DIST): Add it.
2539
2540         * gmarkup.c (find_current_text_end): Fix assertion not to check an
2541         uninitialised variable.
2542
2543 2000-11-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2544
2545         * gthread.c: Set the thread data before locking the mutex, because
2546         the locking call might use g_thread_self ().
2547
2548         * gthread.h: Do only show the location of the locking/unlocking
2549         for -DG_ERRORCHECK_MUTEXES and not the name of the mutex. Add the
2550         errorcheck capability for g_cond_wait and g_cond_timed_wait as
2551         well.   
2552
2553 2000-11-27  Havoc Pennington  <hp@redhat.com>
2554
2555         * gthread.h: Add void in empty function arg list
2556
2557 2000-11-22  Tor Lillqvist  <tml@iki.fi>
2558
2559         * makefile.{mingw,msc}.in: Add gqsort.
2560
2561         * glib.def: Update.
2562
2563 2000-11-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2564
2565         * configure.in: Add a surrogate for thread priorities using PID
2566         niceness for systems with no thread priorities and different PIDs
2567         for threads of the same process (most notably: Linux). Define
2568         G_THREAD_USE_PID_SURROGATE in that case, as used by
2569         gthread-posix.c. Also make the system thread bigger by
2570         sizeof (long) to contain the thread's PID.
2571
2572         * gfileutils.c: Include stdlib.h for mkstemp prototype.
2573
2574         * gthread.c: Add priority range checks to the affected functions.
2575
2576         * gthreadpool.c: Remove unused variable.
2577
2578 Mon Nov 20 18:55:17 2000  Jonathan Blandford  <jrb@redhat.com>
2579
2580         * gtree.[hc]: Patch from David Benson <daveb@idealab.com> to add
2581         user_data support to gtree functions.
2582
2583 Mon Nov 13 18:35:52 2000  Jonathan Blandford  <jrb@redhat.com>
2584
2585         * gtypes.h (GCompareFuncData): new func type to let you use user
2586         data when comparing nodes.
2587
2588         * gslist.c (g_list_sort_with_data): new function to sort with
2589         user_data. 
2590
2591         * glist.c (g_list_sort_with_data): new function to sort with
2592         user_data. 
2593
2594         * garray.[ch]: Added convenience functions to sort arrays.
2595
2596 2000-11-16  Havoc Pennington  <hp@redhat.com>
2597
2598         * guniprop.c (g_unichar_isspace): Use a switch here, maybe helps 
2599         the compiler optimize things. Also, ' ' is a SPACE_SEPARATOR,
2600         so don't special case it.
2601
2602 2000-11-17  Tor Lillqvist  <tml@iki.fi>
2603
2604         * glib.def: Add g_trash_stack entry points.
2605
2606 Fri Nov 17 15:43:00 2000  Owen Taylor  <otaylor@redhat.com>
2607
2608         * Released 1.3.2
2609         
2610         * NEWS: Update.
2611
2612         * tests/Makefile.am (dist-hook): Add code to distribute
2613         markup test files.
2614
2615 2000-11-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2616
2617         * configure.in: Check for the sched.h header and include it on
2618         gthread/gthread-posix.c if available.
2619
2620         * configure.in: Add -D_POSIX4_DRAFT_SOURCE to
2621         GTHREAD_COMPILE_IMPL_DEFINES. Also add -D_POSIX4A_DRAFT10_SOURCE
2622         to G_THREAD_CFLAGS. Really deploy GTHREAD_COMPILE_IMPL_DEFINES,
2623         when searching for thread libs. Look for sched_* functions in
2624         -lrte as well. All of that is necessary on DG/UX.
2625
2626         * configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADERS in
2627         various places to make it work more reliable, to make it accept
2628         macros instead of functions etc.
2629
2630         * configure.in: Replace some NULL's for checks with 0 to make it
2631         work without stdio.h everywhere.
2632
2633         * configure.in, gutils.c: changed the test for getpwuid_r to first
2634         test for a posix version and then for a non-posix version. No code
2635         change in gutils.c. Again this change deals better with getpwuid_r
2636         being a macro and not a function. Most of the above with kind help
2637         from Tethys <tet@isengard.europe.dg.com>. This fixes Bug #13403.
2638         
2639 2000-11-14  Tor Lillqvist  <tml@iki.fi>
2640
2641         * gwin32.h: Make #endif comment match #ifdef.
2642
2643 Mon Nov 13 14:00:20 2000  Owen Taylor  <otaylor@redhat.com>
2644
2645         * configure.in: Up version to 1.3.2
2646
2647         * gconvert.h (enum GConvertError): Remove trailing ,
2648
2649         * gfileutils.c (g_file_open_tmp): Fix comment to 
2650         properly describe return value.
2651
2652 2000-11-13  Tor Lillqvist  <tml@iki.fi>
2653
2654         * config.h.win32.in: Add USE_LIBICONV.
2655
2656         * gconvert.c: Check G_OS_WIN32 only after including glib.h. 
2657
2658         * glib.def: Update.
2659
2660 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2661
2662         * gthread.c (g_static_rec_mutex_*): Made recursive mutexes also
2663         work when the thread system is not (yet) initialized.
2664
2665 Sun Nov 12 18:34:32 2000  Owen Taylor  <otaylor@redhat.com>
2666
2667         * gconvert.[ch]: Create wrapper functions for iconv()
2668         so that we can transparently use the native iconv, 
2669         libiconv, or (in the future) a mini-iconv included
2670         with glib.
2671
2672         * glib-config-2.0.in glib-2.0.pc.in: Include @ICONV_LIBS@
2673
2674         * INSTALL: Added note about libiconv.
2675
2676         * configure.in: Add checks for libiconv from pango. If
2677         EILSEQ is not defined in errno.h add define for it into
2678         glibconfig.h so g_iconv can use it. (Note, recompiling
2679         from a system without EILSEQ to a system with EILSEQ
2680         will break binary compatibility)
2681
2682 2000-11-12  Robert Brady  <robert@suse.co.uk>
2683
2684         * gstrfuncs.c, gstrfuncs.h: Remove g_filename_{to,from}_utf8
2685
2686         * gconvert.c, gconvert.h: Add g_filename_{to,from}_utf8 and
2687         g_locale_{to.from}_utf8.  The locale_ variant honours 
2688         nl_langinfo(CODESET), the filename_ variant uses UTF-8 unless
2689         asked otherwise.
2690
2691         (g_convert): Add G_CONVERT_ERROR_PARTIAL_INPUT error, if bytesread
2692         != length and no bytesread pointer passed.
2693
2694 Sun Nov 12 15:29:53 2000  Owen Taylor  <otaylor@redhat.com>
2695
2696         * gfileutils.[ch]: template is a reserved word in
2697         C++ s/template/tmpl/. 
2698
2699 2000-11-11  Havoc Pennington  <hp@pobox.com>
2700
2701         * gmarkup.c (g_markup_parse_context_parse): Handle a long stream
2702         of bytes containing no UTF-8 character starts
2703
2704 2000-11-11  Tor Lillqvist  <tml@iki.fi>
2705
2706         * glib.def: Add missing entry points.
2707
2708         * gfileutils.c (g_mkstemp): Improve chance to generate unique
2709         names with less effort a bit.
2710
2711         * gfileutils.h: Add g_file_open_tmp() declaration.
2712
2713         * testglib.c: Include <io.h> on Win32.
2714
2715         * makefile.mingw.in: Correct the way to invoke sub-makes.
2716
2717 Sun Nov  5 13:20:54 2000  Owen Taylor  <otaylor@redhat.com>
2718
2719         * glib-object.h: Add gtypemodule.h
2720
2721 2000-11-11  Tor Lillqvist  <tml@iki.fi>
2722
2723         * gfileutils.c (g_file_open_tmp): New function, suggested by Havoc
2724         earlier this month.
2725         (g_mkstemp): Use only one case for letters in temp file name, as
2726         this will be used on systems with case-insensitive file systems.
2727
2728         * testglib.c (main): Test g_mkstemp() and g_file_open_tmp().
2729
2730 2000-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2731
2732         * gthreadpool.c: Don't take other threads with other priorities
2733         into account as changing the priority is highly
2734         unportable. (Actually using it at all already is unportable, but
2735         even sometimes where that works, changing priority is not
2736         possible).
2737
2738 2000-11-05  Havoc Pennington  <hp@pobox.com>
2739
2740         * gmarkup.h: rename G_MARKUP_FOO to
2741         G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG
2742
2743         * gmarkup.c: don't start doc comments with "Returns"
2744         
2745 2000-11-05  Havoc Pennington  <hp@pobox.com>
2746
2747         * gmarkup.c: inline docs
2748         (unescape_text): properly check strtoul for failure.
2749         
2750         * gerror.c (g_propagate_error): Free the src error if the dest
2751         location is NULL - I'm pretty sure that's what this function was 
2752         supposed to do.
2753
2754 2000-11-05  Havoc Pennington  <hp@pobox.com>
2755
2756         * gutils.c (g_find_program_in_path): cleanup docs, sync param 
2757         names to those in the header
2758
2759         * gfileutils.c (g_mkstemp): clean up docs
2760
2761         * gshell.h: sync param names with param names in .c file
2762
2763         * gfileutils.h (enum GFileTest): remove trailing comma from last
2764         member, confuses gtk-doc
2765
2766         * gmarkup.h: s/GMarkupErrorType/GMarkupError/g; to follow
2767         convention
2768
2769 2000-11-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2770
2771         * gasyncqueue.c: Added documentation for asyncronous queues.
2772
2773         * gspawn.c: Include sys/select.h (some platforms need it for
2774         select). 
2775
2776         * gspawn.c: Changed unportable __FUNCTION__ to the verbatim
2777         function name.
2778
2779 2000-10-31  Tor Lillqvist  <tml@iki.fi>
2780
2781         * gutils.c
2782         * gutils.h
2783         * gfileutils.c
2784         * gfileutils.h: Actually, g_mkstemp() is better suited in gfileutils.
2785
2786 2000-10-30  Tor Lillqvist  <tml@iki.fi>
2787
2788         * configure.in: Check for mkstemp.
2789
2790         * gutils.c (g_mkstemp): New function. If HAVE_MKSTEMP, just call
2791         it, otherwise use code lifted from glibc.
2792
2793         * gutils.h: Declare it.
2794
2795         * glib.def: Here, too. Plus two missing functions.
2796
2797 2000-10-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2798
2799         * gcache.h, gcache.c, ghash.h, ghash.c, grel.c, grel.h, gtypes.h:
2800         Introduced new function type GEqualFunc to return TRUE for equal
2801         params. This is now used instead of GCompareFunc (which should
2802         work akin to strcmp) here. This kind of fixes Bug #14412. Note
2803         that technically GCompareFunc and GEqualFunc are still the same
2804         types, as gint == gboolean.
2805
2806         * ghash.h, gutils.c: g_int_equal and g_direct_equal now return
2807         gboolean to be really become GEqualFunc.
2808
2809         * gscanner.c, testglib.c, tests/hash-test.c: Some tiny changes to
2810         follow the above change.
2811
2812 2000-10-27  Tor Lillqvist  <tml@iki.fi>
2813
2814         * makefile.{mingw,msc}.in (glib_OBJECTS): Add gmarkup.
2815
2816         * glib.def: Add missing functions.
2817
2818         * tests/makefile.{mingw,msc}.in (TESTS): Add markup-test.
2819
2820 2000-10-24  Havoc Pennington  <hp@pobox.com>
2821
2822         * gmarkup.h, gmarkup.c: New module to parse a simple
2823         markup language
2824         
2825         * Makefile.am: add gmarkup.h, gmarkup.c
2826
2827         * tests/Makefile.am: add markup-test
2828
2829         * gstring.h (g_string_new_len): new function to create a string
2830         with a length
2831         (g_string_new): avoid a gratuitous realloc
2832
2833 2000-10-26  Tor Lillqvist  <tml@iki.fi>
2834
2835         * makefile.{mingw,msc}.in: Cosmetics.
2836
2837 2000-10-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2838
2839         * gstrfuncs.c (g_strsplit): When the string is ended by a
2840         delimiter, return an extra empty string just like for a delimiter
2841         at the start of the string. This makes the function behave more
2842         consistent and also fixes Bug #15026.
2843
2844 Tue Oct 24 22:09:14 2000  Tim Janik  <timj@gtk.org>
2845
2846         * glib-object.h: added newly added gobject/ headers.
2847
2848         * gmesage.c: print g_message() output to stderr instead of stdout.
2849
2850 2000-10-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2851
2852         * configure.in: Use one = instead of two, which is plainly wrong.
2853
2854 2000-10-19  Tor Lillqvist  <tml@iki.fi>
2855
2856         * makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
2857         with user32.lib.
2858
2859         * gspawn-win32.c
2860         * gfileutils.c: Make them compile with picky MSVC.
2861
2862         * gwin32.h: New file. Move Win32-only stuff that isn't related to
2863         GIOChannels here from giochannel.h.
2864
2865         * Makefile.am: Add it here.
2866
2867         * giochannel.h: Move stuff to gwin32.h.
2868
2869         * glib.h: On Win32, include gwin32.h.
2870
2871 Mon Sep 11 10:03:24 2000  Owen Taylor  <otaylor@redhat.com>
2872
2873         * glib.h convert.c (g_convert_with_fallback): Change
2874         ERROR_OTHER to ERROR_FAILED, add some dummy marking with _().
2875
2876         * docs/reference/glib/glib-sections.txt
2877         docs/reference/glib/glib-docs.sgml Update for g_convert,
2878         g_unicode_validate.
2879
2880 2000-10-16  Tor Lillqvist  <tml@iki.fi>
2881
2882         * glibconfig.h.win32.in: Remove alloca stuff from here. galloca.h
2883         takes care of it, correctly.
2884
2885         * giowin32.c (reader_thread): Some more debugging output.
2886         (g_io_channel_win32_poll): Remove unused vars.
2887
2888         * gfileutils.c: Changes for Win32, with no unistd.h and no
2889         S_ISLNK().
2890
2891         * gspawn-win32.c: Implementation of the g_spwan_* functions for
2892         Win32. Due to the general non-Unixness of Win32, much of the
2893         functionality that is relatively clean to implement on Unix, is
2894         hard to do on Win32. We must use a separate helper program to
2895         change directory, close extra file descriptors, redirect the std
2896         ones, as needed, and only then start the child process. No child
2897         process pid can be returned, unfortunately. Or if we used
2898         CreateProcess directly, it probably could. (Now we use the spawnv*
2899         functions from msvcrt.)
2900
2901         * Makefile.am (EXTRA_DIST): Add gspawn-win32.c
2902
2903         * glib.def: Add new entry points.
2904
2905         * glib.def
2906         * giowin32.c: Remove g_io_channel_win32_wait_for_condition(),
2907         g_io_channel_win32_poll() subsumes it.
2908
2909         * gbacktrace.h: G_BREAKPOINT for MSVC (on the ix86).
2910
2911         * gwin32.c (g_win32_getlocale): Use "sp" for
2912         LANG_CROATIAN+SUBLANG_SERBIAN_LATIN.
2913
2914         * makefile.{mingw,msc}.in (glib_OBJECTS): Add new files.
2915         Add gspawn-win32-helper.exe rule.
2916
2917         * tests/makefile.{mingw,msc}.in (TESTS): Add shell-test and
2918         spawn-test.
2919
2920         * tests/spawn-test.c: (run_tests): On Win32, don't try to run
2921         /bin/sh, but ipconfig (no special significance in choosing that,
2922         just a program that outputs something to stdout).
2923
2924 2000-10-15  Raja R Harinath  <harinath@cs.umn.edu>
2925
2926         Remove need for acconfig.h, and misc. cleanups.
2927         * acglib.m4 (GLIB_SIZEOF): Add 'autoheader' comment to
2928         AC_DEFINE_UNQUOTED.
2929         (GLIB_BYTE_CONTENTS): Likewise.
2930
2931         * configure.in: Add 'autoheader' comments to all AC_DEFINE(...)
2932         and AC_DEFINE_UNQUOTED(...) lines.
2933         Replace AC_MSG_CHECKING/AC_CACHE_VAL with AC_CACHE_CHECK.
2934         (AM_PROG_LIBTOOL): Move after AC_PROG_CC.
2935         
2936         * acconfig.h: Empty out.
2937
2938         * Makefile.am (BUILT_EXTRA_DIST): New variable.  List 'dist'able
2939         files that are created in the builddir.
2940         (dist-hook): Handle those files.
2941         (libglib_1_3_la_SOURCES): Remove @ALLOCA@.  @ALLOCA@ should only
2942         be used in an _LDADD or _LIBADD, since it expands (if necessary)
2943         to 'alloca.o'.
2944
2945         * tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
2946         (dist-hook): Handle $(BUILT_EXTRA_DIST).
2947         
2948 2000-10-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2949
2950         * grand.c: Added inline documentation. 
2951
2952         * gtypes.h, gnode.h, gutils.h: Readded GFreeFunc,
2953         g_node_insert_after and g_find_program_in_path resp., which
2954         mysteriously disappeared during the glib.h dissection.
2955
2956 2000-10-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2957
2958         * glibconfig.h.win32.in: Adapted accordingly to header separation
2959         and GLIB_HAVE_ALLOCA_H renaming.
2960
2961         * Makefile.am: Added the new headers to glibinclude_HEADERS.
2962
2963         * glib.h: Forgot to include gerror.h.
2964
2965         * glib.h, galloca.h, garray.h, gasyncqueue.h, gbacktrace.h,
2966         gcache.h, gcompletion.h, gconvert.h, gdataset.h, gdate.h, ghash.h,
2967         ghook.h, giochannel.h, glist.h , gmacros.h, gmain.h, gmem.h,
2968         gmessages.h, gnode.h, gprimes.h, gquark.h, gqueue.h, grand.h,
2969         grel.h, gscanner.h, gslist.h, gstrfuncs.h, gstring.h, gthread.h,
2970         gthreadpool.h, gtimer.h, gtree.h, gtypes.h, gutils.h: Split glib.h
2971         into many header files mostly according to the resp. *.c-files.
2972         
2973         * gmacros.h: Added G_BEGIN_DECLS and G_END_DECLS to mean: 'in case
2974         of C++: extern "C" { ... }' analogous to glibc __BEGIN_DECLS and
2975         __END_DECLS.
2976
2977         * configure.in, gerror.h, gfileutils.h, gshell.h, gspawn.h,
2978         gunicode.h, : Changed guard-macro names to something more
2979         consistent.
2980
2981         * configure.in, *.h: Use G_BEGIN_DECLS and G_END_DECLS.
2982
2983         * configure.in: Defined GLIB_HAVE_ALLOCA_H instead of including
2984         alloca.h in glibconfig.h, GLIB_HAVE_ALLOCA_H is used in glib.h.
2985
2986         * configure.in: Removed cruft from old threading code.
2987
2988 2000-10-09  Raja R Harinath  <harinath@cs.umn.edu>
2989
2990         Work with beta autoconf 2.50.
2991         * configure.in (GLIB_MAJOR_VERSION): Use GLIB_DIVERT_BEFORE_HELP
2992         instead of AC_DIVERT_PUSH(),AC_DIVERT_POP.
2993         (AC_CHECK_HEADERS): Remove redundant AC_DEFINE(HAVE_...).
2994         (REALLOC_0_WORKS): Move AC_DEFINE outside AC_CACHE_VAL.
2995         (dlopen): Quote nested AC_CHECK_... calls.
2996
2997         * acglib.m4 (GLIB_TR_SH, GLIB_TR_CPP): Utility macros copied from
2998         beta autoconf 2.50.
2999         (GLIB_DIVERT_BEFORE_HELP): New macro that works both with autoconf
3000         2.13 and beta autoconf 2.50.
3001         (GLIB_SIZEOF, GLIB_BYTECONTENTS): Use GLIB_TR_*.
3002
3003         * Makefile.am (CONFIGURE_DEPENDENCIES): Use this to specify
3004         that 'configure' depends on acglib.m4.
3005
3006 2000-10-09  Havoc Pennington  <hp@redhat.com>
3007
3008         * Makefile.am, tests/Makefile.am: Add new files.
3009
3010         * tests/spawn-test.c, tests/shell-test.c: new tests for
3011         the shell/spawn stuff
3012
3013         * gutils.c (g_find_program_in_path): convert a relative
3014         program name into an absolute pathname to an existing 
3015         executable
3016
3017         * gspawn.h, gspawn.c: New fork/exec API
3018
3019         * gshell.h, gshell.c: Shell-related utilities, at the moment
3020         simply routines to parse argv and quote/unquote strings
3021
3022         * guniprop.c (g_unichar_isspace): Return TRUE for the 
3023         ASCII space characters isspace() returns TRUE for.
3024
3025         * gfileutils.c (g_file_get_contents): Convenience function 
3026         to slurp entire file into a string and return it. Partially
3027         written by Joel Becker.
3028         (g_file_test): file test function
3029
3030 2000-10-06  Tor Lillqvist  <tml@iki.fi>
3031
3032         * makefile.msc.in: Revamp to be like makefile.mingw.in, make
3033         the MSVC build actually work again.
3034
3035         * gmodule/makefile.msc.in
3036         * gobject/makefile.msc.in
3037         * gthread/makefile.msc.in: New files, like their mingw counterparts.
3038
3039         * gmodule/Makefile.am
3040         * gobject/Makefile.am
3041         * gthread/Makefile.am: Make and distribute them.
3042
3043         * */makefile.mingw.in: Allow override of GLib version number from
3044         the build/win32/module.defs file.
3045
3046         * glib.def: Add new entry point.
3047
3048         * tests/gio-test.c (main): Fix the Win32-only code to use current
3049         API, g_io_channel_win32_make_pollfd() and g_io_channel_win32_poll().
3050
3051         Fixes from Hans Breuer:
3052
3053         * glib.h (struct DIR): Keep the last readdir result cached inside
3054         the DIR struct, to enable several DIRs being open simultaneously.
3055
3056         * gwin32.c (g_win32_readdir): Use the above instead of static.
3057
3058         * giowin32.c (g_io_channel_win32_make_pollfd): Insert cast to keep
3059         MSVC happy.
3060
3061 2000-10-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3062
3063         * glib.h: Changed alloca stuff a bit: when we have a working
3064         alloca.h, we're not messing with alloca any further. Should fix a
3065         bug reported by Bernd Demian <wega@csc-dd.de>.
3066
3067 2000-09-29  Jonathan Blandford  <jrb@redhat.com>
3068
3069         * gnode.c (g_node_insert_after): Added function to keep symmetry
3070         with g_node_insert_before. 
3071
3072 2000-09-29  Martin Baulig  <baulig@suse.de>
3073
3074         Several minor ANSI C fixes.
3075
3076         Added missing casts:
3077         * gdate.c (g_date_fill_parse_tokens): `s = (guchar *) str'.
3078         * gmain.c (g_idle_dispatch): `func = (GSourceFunc) source_data'.
3079         (g_idle_add_full): `(gpointer) function' in call to g_source_add().
3080         * gstrfuncs.c (g_strdown): `s = (guchar *) string' and
3081         `return (gchar *) string'.
3082         (g_strup): Likewise.
3083         (g_strchug): `start = (guchar*) string' in 1st for() argument;
3084         `strlen ((gchar *) start)' in call to g_memmove().
3085         * gstring.c (g_string_down): `s = (guchar *) string->str'.
3086         (g_string_up): Likewise.
3087         * gthreadpool.c (stop_this_thread_marker):
3088         `(gpointer) &g_thread_pool_new'.
3089         * gunidecomp.h (decomp_table[]): Cast all the strings to
3090         `unsigned char *'.
3091
3092         Put text following #endif into comments:
3093         * gmain.c: here.
3094
3095 2000-09-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3096
3097         * configure.in, glib.h: Added errorcheck mutexes. These are
3098         activated through the preprocessor symbol
3099         G_ERRORCHECK_MUTEXES. Need to add an extra word to StaticMutex in
3100         order to achieve this. g_(static_)mutex_* functions instrument the
3101         mutex operations with mutex name and location, when compiled with
3102         -DG_ERRORCHECK_MUTEXES. g_thread_init activates the errorcheck
3103         mutexes, when compiled with -DG_ERRORCHECK_MUTEXES.
3104
3105 2000-09-28  Havoc Pennington  <hp@pobox.com>
3106
3107         * glib.h (GThreadPriority): fix indentation
3108         (GConvertError): generic error is conventionally called
3109         _FAILED rather than _OTHER, at least at the moment, 
3110         according to GError docs in docs/reference.
3111
3112         * gconvert.c: s/_OTHER/_FAILED/
3113
3114 2000-09-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3115
3116         * configure.in: Adjusted the test for an unimplemented
3117          getpwuid_r. Info from Michael Pruett. This is just a forward
3118          merge from glib-1-2.
3119
3120         * configure.in: Moved determination of G_THREAD_FLAGS before
3121         G_THREAD_LIBS. Check for UnixWare systems and set the right cflags
3122         and libs there (it needs -Kthread for the native compiler and
3123         -pthread for gcc). Thanks to Boyd Lynn Gerber <gerberb@zenez.com>
3124         for the info.
3125
3126         * configure.in: Fail immediately, when no thread library is found,
3127         instead of continuing searching for rt libs etc. Changed almost
3128         all occurances of $enable_threads to $have_threads, as that's,
3129         what we want.
3130
3131         * tests/threadpool-test.c: Define vars inside the guard to avoid
3132         warnings.
3133
3134         * configure.in, tests/type-test.c: Some platforms support 64 bit
3135         'long long', but you can not printf or scanf them. In that case,
3136         don't define G_G{UINT|INT}64_FORMAT. Changed the type-test program
3137         to reflect that.
3138
3139         * gutils.c (g_get_current_dir): max_len can't be initialized
3140         statically as it might call a function. So do it at first call.
3141
3142 Tue Sep 26 2000 Elliot Lee <sopwith@redhat.com>
3143
3144         * glib.h: Add G_GNUC_PURE macro (but don't use it anywhere).
3145
3146 Mon Sep 25 2000 Elliot Lee <sopwith@redhat.com>
3147
3148         * garray.c, glib.h, gmem.c: Add a few missing G_GNUC_CONST's.
3149
3150 2000-09-21  Tor Lillqvist  <tml@iki.fi>
3151
3152         * makefile.mingw.in: Add gconvert.o. Use libiconv.
3153
3154         * config.h.win32.in: Define HAVE_GETCWD.
3155
3156         * glib.def: Add new entry points.
3157
3158 2000-09-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3159
3160         * configure.in: The last released automake (1.4) still requires
3161         AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL, so use that for the
3162         time being.
3163
3164 2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3165
3166         * acconfig.h, configure.in, gutils.c: Test for the existence of
3167         getcwd, and use it only when found.
3168
3169         * glib.h: Only use the gcc-variable-macro-argument-extension for
3170         gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
3171
3172 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
3173
3174         * gutf8.c: Implement g_ucs4_to_utf8 which was in
3175         the header file but not implemented.
3176
3177 Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com>
3178
3179         * glib.h configure.in: Define g_alloca() as an
3180         alloca-that-works-anywhere.
3181
3182         * gconvert.c: Fix warnings which could have caused problems on
3183         64-bit platforms.
3184
3185 Sun Sep 10 12:37:40 2000  Owen Taylor  <otaylor@redhat.com>
3186
3187         * glib.h gconvert.c (g_convert): Havoc Pennington's implementation 
3188         of convenient character set conversion using iconv, with
3189         the addition of GError. We probably need a fallback that
3190         just does conversions between, say UTF-8,16,32 and ISO-8859-1
3191         for targets without iconv at all.
3192
3193         Also add g_convert_with_fallback() to take care of conversions 
3194         where we accept some loss going to the target encoding.
3195
3196 2000-09-10  Havoc Pennington  <hp@redhat.com>
3197
3198         * gutf8.c (g_utf8_validate): Add this function.
3199
3200 Sat Sep  9 18:50:42 2000  Owen Taylor  <otaylor@redhat.com>
3201
3202         * gstrfuncs.c (g_strescape): Add a missing g_return_if_fail().
3203
3204 Mon Aug 21 03:57:46 2000  Tim Janik  <timj@gtk.org>
3205
3206         * glib.h (G_BREAKPOINT): for non-i386 and non-alpha, or non gcc,
3207         implement BREAKPOINT() as raise (5 /* SIGTRAP */);
3208
3209         * glib.h: provide user-definable switch G_IMPLEMENT_INLINES,
3210         to turn on compilation of inline function implementations provided
3211         in header files with extern linkage.
3212         wrap inline function implementations into ifdef __G_UTILS_C__, so we
3213         really only compile them for gutils.c and not also into arbitrary user
3214         code that wants to make use of G_IMPLEMENT_INLINES.
3215         adjusted comment apropriately.
3216
3217         * gutils.c: to turn on compilation of inline functions, provide
3218         #define G_IMPLEMENT_INLINES 1 and #define __G_UTILS_C__.
3219
3220 2000-09-06  Havoc Pennington  <hp@redhat.com>
3221
3222         * gerror.c: docs
3223
3224         * docs/reference/glib/tmpl/error_reporting.sgml: docs
3225
3226 Wed Sep  6 10:28:34 2000  Owen Taylor  <otaylor@redhat.com>
3227
3228         * guniprop.c gunicode.h gutf8.c: Some inline docs fixes.
3229
3230 2000-09-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3231
3232         * glib.h, gtimer.c, tests/thread-test.c:
3233         s/G_MICROSEC/G_USEC_PER_SEC/
3234
3235         * glib.h: Removed G_G{U}{SHORT|INT|LONG}_FORMAT from glib.h, as
3236         they are really superfluous.
3237
3238 Tue Sep  5 20:16:27 2000  Owen Taylor  <otaylor@redhat.com>
3239
3240         * configure.in docs/Makefile.am: Add gtk-doc checks
3241         for newly added docs/reference/ subdir.
3242
3243 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3244
3245         * gthread.c (g_thread_error_quark): Don't use a G_LOCK, as it
3246         isn't necessary.
3247
3248 2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3249
3250         * gstring.c (g_string_free): Use g_return_val_if_fail instead of
3251         g_return_if_fail, as the function now is supposed to return
3252         something.
3253
3254         * gerror.c, gerror.h (g_propagte_error): Added function
3255         g_propagte_error to hand over local errors to the calling
3256         function.
3257
3258         * glib.h: Include gerror.h before it is used for some g_thread_*
3259         functions.
3260
3261         * gthread.c, gthreadpool.c, glib.h: Enable error reporting for
3262         thread creation, namely for g_thread_create, g_thread_pool_new,
3263         g_thread_pool_push and g_thread_pool_set_max_threads.
3264
3265         * tests/thread-test.c, tests/threadpool-test.c: Adapted
3266         accordingly.
3267
3268 2000-08-31  Tor Lillqvist  <tml@iki.fi>
3269
3270         * glib.h
3271         * glib.def
3272         * giowin32.c (g_io_channel_win32_make_pollfd): New function, to
3273         make a GPollFD from a GIOChannel. Creates the events and starts
3274         the reader thread if necessary.
3275
3276         * glib.h
3277         * giowin32.c (g_io_channel_win32_poll): No use for separate
3278         condition parameter.
3279
3280         * gmain.c (g_get_current_time): (Win32): Simplify, use
3281         GetSystemTimeAsFileTime().
3282
3283 2000-08-27  Tor Lillqvist  <tml@iki.fi>
3284
3285         * giowin32.c (g_io_channel_win32_poll): New function, otherwise
3286         like g_io_channel_win32_wait_for_condition(), but accept several
3287         GPollFDs.
3288         (g_io_channel_win32_wait_for_condition): Call
3289         g_io_channel_win32_poll().
3290
3291         * glib.h: Declare g_io_channel_win32_poll().
3292
3293         * gwin32.c (g_win32_error_message): Don't believe return value
3294         from FormatMessage.
3295
3296 2000-08-25 Elliot Lee <sopwith@redhat.com>
3297
3298         * glib.h, gunicode.h, gmodule/gmodule.h:
3299         Mark the following functions G_GNUC_CONST (to allow optimization)
3300         because their results are a function of only their parameters: 
3301         g_int_hash, g_int_equal, g_direct_hash, g_direct_equal,
3302         g_quark_to_string, g_date_is_leap_year, g_date_days_in_month,
3303         g_date_monday_weeks_in_year, g_date_sunday_weeks_in_year,
3304         g_spaced_primes_closest, g_unichar_is*, g_unichar_to*,
3305         g_unichar_*digit_value, g_unichar_type
3306
3307 2000-08-21 Elliot Lee <sopwith@redhat.com>
3308
3309         * gobject/Makefile.am, gobject/gobject-query.c,
3310         gobject/gparamspecs.c: Fix inclusion of config.h
3311
3312 Mon Aug 21 14:46:23 2000  Owen Taylor  <otaylor@redhat.com>
3313
3314         * tests/gio-test.c: Fix a couple of trivial bugs that
3315         were causing warnings.
3316
3317 Mon Aug 21 14:39:36 2000  Owen Taylor  <otaylor@redhat.com>
3318
3319         * glib.h: Use C99 varargs macros where possible 
3320         (check __STDC_VERSION__), otherwise, on gcc, use an alternate 
3321         form of gcc varargs which is more likely
3322         to be supported going forward. (Based on some code
3323         from Raja Harinath)
3324
3325 2000-08-17  Darin Adler  <darin@eazel.com>
3326
3327         * glib.h:
3328         * garray.c: (g_array_free), (g_ptr_array_free),
3329         (g_byte_array_free): Return the data left behind.
3330         * gstring.c: (g_string_free): Return the data left behind.
3331
3332         Changed the free calls that leave data behind so they
3333         return a pointer to the left-behind data, NULL if told not
3334         to leave anything behind. This makes these calls easier
3335         to use correctly, without any incompatible API change for
3336         callers that don't know about the return value. Of course,
3337         it would be even clearer if the free calls weren't dual-purpose
3338         in the first place.
3339
3340 2000-08-12  Tor Lillqvist  <tml@iki.fi>
3341
3342         * giowin32.c: Some indentation and spacing fixes. Add some more
3343         logging.
3344         (g_io_win32_add_watch): New function, with common code from
3345         g_io_win32_fd_add_watch and g_io_win32_sock_add_watch. Don't start
3346         more than one reader thread for a GIOChannel. We should obviously
3347         have just one reader thread reading a file descriptor or socket.
3348
3349 2000-08-10  Havoc Pennington  <hp@redhat.com>
3350
3351         * gthread-2.0.pc.in (Cflags): don't duplicate glib Cflags
3352
3353         * gmodule-2.0.pc.in (Cflags): don't duplicate glib Cflags
3354
3355         * gobject-2.0.pc.in (Cflags): don't duplicate Cflags from glib
3356         itself
3357
3358 2000-08-10  Havoc Pennington  <hp@redhat.com>
3359
3360         * glib-2.0.pc.in (Cflags): Look in glib-2.0/include for
3361         glibconfig.h
3362
3363 2000-08-07  Tor Lillqvist  <tml@iki.fi>
3364
3365         * tests/gio-test.c (shutdown_source): New function, that calls
3366         g_source_remove(). Check return value of g_source_remove(), and
3367         decrement running subprocess counter only if g_source_remove()
3368         actually did remove the source.
3369
3370         (recv_message): Call shutdown_source() on EOF condition. Return
3371         FALSE on G_IO_HUP and G_IO_ERR condition. Fix printf format typo.
3372
3373 Sun Aug  6 20:06:02 2000  Tim Janik  <timj@gtk.org>
3374
3375         * gmessages.c (g_log_domain_check_free): keep *last updated while
3376         running through the domain list, so we don't screw up the removal,
3377         patch provided by Gady Kozma <gadykozma@hotmail.com>.
3378
3379 Sun Aug  6 20:03:41 2000  Tim Janik  <timj@gtk.org>
3380
3381         * gmessages.c (g_log_remove_handler): keep *last updated while running
3382         through the handler list, so we don't screw up the removal.
3383
3384 Sun Jul 30 16:54:13 2000  Owen Taylor  <otaylor@redhat.com>
3385
3386         * gunicode.h: Fix stray character
3387
3388         * gutf8.c (g_unichar_to_utf8): Allow outbuf to be NULL, in
3389         which case we just compute the length.
3390
3391 2000-07-31  Havoc Pennington  <hp@redhat.com>
3392
3393         * Makefile.am (EXTRA_DIST): forgot to add .pc.in to EXTRA_DIST
3394
3395 2000-07-31  Havoc Pennington  <hp@redhat.com>
3396
3397         * glib-2.0.pc.in, gobject-2.0.pc.in, gmodule-2.0.pc.in,
3398         gobject-2.0.pc.in: pkg-config data files         
3399
3400         * Makefile.am: Install/dist the .pc files
3401
3402         * configure.in: Output the .pc files
3403
3404 2000-07-31  Tor Lillqvist  <tml@iki.fi>
3405
3406         * giowin32.c (buffer_read): The code didn't compile (must
3407         have been sleepy when committing). "return" instead of "break"
3408
3409         (g_io_win32_fd_add_watch): Cannot check if the file descriptor is
3410         readable by calling ReadFile to read zero bytes. ReadFile blocks
3411         on NT even if trying to read nothing at all. So, don't check if
3412         file descriptor is readable; assume this function isn't called
3413         otherwise.
3414
3415 Sun Jul 30 10:44:16 2000  Tim Janik  <timj@gtk.org>
3416
3417         * gmain.c (g_get_current_time): fix tor's recent changes which
3418         got rid of a required variable in the non-windows path.
3419
3420 2000-07-30  Tor Lillqvist  <tml@iki.fi>
3421
3422         Finally, a new and improved IO Channel and condition watch
3423         implementation for Win32. Based on code provided by Craig Setera.
3424
3425         When watching file descriptors, for which there is no select()
3426         like functionality on Win32 that would work on all Win32 platforms
3427         for all types of file descriptors (including anonymous pipes), we
3428         start a new thread that blocks while trying to read from the file
3429         descriptor. When the read returns, a Win32 Event is signalled that
3430         the polling routine eventually notices. Meanwhile, the data being
3431         read is stored in a circular buffer, from where the IO channel's
3432         read() method picks it up.
3433
3434         If the buffer fills up the reading thread has to wait for space
3435         becoming available. For this another Win32 Event is used. The IO
3436         Channel's read() method signals this when it has read some data
3437         out of the buffer.
3438
3439         The separate reader thread(s), and the circular buffer(s) with
3440         associated events mean lots of possibilities for fun parallelism
3441         errors. But it seems to work OK, i.e. GIMP runs.
3442
3443         * gmain.c: Small changes to the Win32 polling function.
3444         (g_main_win32_get_poll_func): New function. Perhaps it would be a
3445         good idea to provide this on all platforms.
3446
3447         * giowin32.c: The bulk of the new implementation.
3448         (g_io_channel_win32_wait_for_condition): New function. To be used
3449         where on Unix one does a select() on the channel's fd, like
3450         libgimp's gimp_extension_process(). Could be provided on all
3451         platforms.
3452
3453         * glib.h: Update documentation for IO Channels on Win32. Remove
3454         the declarations for the as of now obsolete old functions related
3455         to IO Channels for pipes with "wakeup" messages.
3456
3457         * glib.def: Some new functions.
3458
3459         * tests/gio-test.c: New file, to test GIOChannel and main loop.
3460
3461         * tests/Makefile.am
3462         * tests/makefile.mingw.in: Add it.
3463
3464         (Later the same night:)
3465
3466         * giowin32.c: Compile in the debugging code all the time, but only
3467         output debug messages if told so. Add (unadvertised) function to
3468         turn on/off debug messages for a channel.
3469
3470         (buffer_read): Don't loop. It is expected behaviour to return a
3471         short read occasionally, for instance when reading from
3472         pipes. It's the calling code that should loop if it *knows* how
3473         much the writer has written.
3474
3475         * tests/gio-test.c: Correct the program's name in the output.
3476         (recv_message): Loop calling g_io_channel_read() (in a new
3477         function read_all()) until we have all the bytes we want (that we
3478         know the writer has written/will write).
3479
3480 Thu Jul 27 05:15:11 2000  Tim Janik  <timj@gtk.org>
3481
3482         * gstrfuncs.c (g_strlcpy, g_strlcat): completed tor's fix
3483         to cover both #ifdef branches.
3484
3485 2000-07-26  Tor Lillqvist  <tml@iki.fi>
3486
3487         * gstrfuncs.c (g_strlcpy, g_strlcat): Return 0 on error, not NULL.
3488
3489         * glib.def: Add g_strlcpy, g_strlcat.
3490
3491         * glibconfig.h.win32.in: Add gsize and gssize.
3492
3493 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
3494
3495         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
3496         updates the license headers to the GNU Lesser General Public License,
3497         as well as updating the copyright year to 2000.
3498
3499 Wed Jul 26 05:47:48 2000  Tim Janik  <timj@gtk.org>
3500
3501         * configure.in:
3502         * testglib.c:
3503         * gstrfuncs.c:
3504         * glib.h: added g_strlcat() and g_strlcpy() wrappers, supplied by
3505         David Wheeler <dwheeler@ida.org>:
3506
3507         * glib.h, gstrfuncs.c: added g_strlcpy and g_strlcat to support
3508           safe manipulation of fixed-length string buffers.
3509           These functions were originally developed by Todd Miller to simplify
3510           development of security-related programs, and
3511           are available on many (but not all) Unix-like systems,
3512           including OpenBSD, FreeBSD, and Solaris.  See
3513           ftp://ftp.openbsd.org/pub/OpenBSD/src/lib/libc/string/strlcpy.3
3514           and http://www.openbsd.org/security.html.
3515           If there's a strlcpy/strlcat on the system, it's called, otherwise
3516           an implementation is provided.
3517
3518         * testglib.c: Added tests for g_strlcpy, g_strlcat.
3519
3520 Wed Jul 26 05:03:24 2000  Tim Janik  <timj@gtk.org>
3521
3522         * acglib.m4 (GLIB_SIZEOF): include <stdlib.h> and <stddef.h> if
3523         STDC_HEADERS is defined.
3524
3525         * glib.h:
3526         * glibconfig.h: define gsize and gssize in terms of GLIB_SIZEOF_SIZE_T
3527
3528         * glib.h (g_return_if_reached): applied darin's fix for copy'n
3529         paste error in the macro implementation.
3530
3531 Wed Jul 26 00:46:03 2000  Tim Janik  <timj@gtk.org>
3532
3533         * glib.h: applied patch from Darin Adler <darin@eazel.com> which
3534         supplies g_return_if_reached(), g_return_val_if_reached() and
3535         g_critical().
3536
3537 2000-07-22  Tor Lillqvist  <tml@iki.fi>
3538
3539         * build-dll: Fix resource handling, the resource file got left out
3540         from the DLL after all... Remove the WIN32APIHEADERS, not needed
3541         with current windres.
3542
3543         * glib.def: Add new functions.
3544
3545 2000-07-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3546
3547         * gutils.c, glib.h: Mark the functions g_basename and g_dirname
3548         deprecated. They will issue an warning once, when compiled with
3549         G_ENABLE_DEBUG, but continue to work as before. Instead the
3550         functions g_path_get_basename and g_path_get_dirname should be
3551         used, which BOTH return newly allocated memory, that has to freed
3552         by g_free. The new g_path_get_basename now strips trailing slashes
3553         from the path. This fixes #5097. For discussion see
3554         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
3555
3556         * gwin32.c, testglib.c, tests/dirname-test.c: Use the new
3557         functions instead of the old ones.
3558
3559         * ghash.c, gscanner.c, glib.h: Mark the functions
3560         g_hash_table_freeze, g_hash_table_thaw and thus
3561         g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table
3562         deprecated. They will issue an warning once, when compiled with
3563         G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see
3564         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
3565
3566 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3567
3568         * configure.in, glib.h: glibconfig.h and glib.h now include files
3569         outside of the extern "C" block. Makes some C++ compiler
3570         happy. Reported by Denis Vakatov <vakatov@peony.nlm.nih.gov>.
3571
3572 Sat Jul 15 23:49:03 2000  Owen Taylor  <otaylor@redhat.com>
3573
3574         * glib/glib.texi: Remove incomplete start of info file -
3575         real docs are in RDP.   
3576
3577 Sat Jul 15 22:44:22 2000  Owen Taylor  <otaylor@redhat.com>
3578
3579         * configure.in: Add build/Makefile and 
3580         build/win32/Makefile to AC_OUTPUT() so things build
3581         again.
3582
3583 Sat Jul 15 09:11:46 2000  Tim Janik  <timj@gtk.org>
3584
3585         * gstrfuncs.c (g_strncasecmp): fixed an off by 0 error (yeah,
3586         the function went off when the while (n--) loop failed due to
3587         n==0 ;), reported by Jean-Louis HAMEL <jlhamel@club-internet.fr>.
3588
3589 2000-07-15  Tor Lillqvist  <tml@iki.fi>
3590
3591         * Makefile.am (SUBDIRS): Include the "build" module in GLib, too,
3592         to make it more self-contained. If your CVS client doesn't
3593         automatically get it, do a cvs get build in glib.
3594
3595         * */makefile.mingw.in: Include make.mingw from build in the glib
3596         source directory.
3597
3598 Fri Jul 14 16:26:35 2000  Owen Taylor  <otaylor@redhat.com>
3599
3600         * Release 1.3.1
3601
3602 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
3603
3604         * configure.in Makefile.am glib-config.m4 glib.m4: Move
3605         glib-config to glib-config-2.0 move glib.m4 to
3606         glib-2.0.m4
3607
3608         * Makefile.am gobject/Makefile.am gmodule/Makefile.am
3609         gthread/Makefile.am tests/Makefile.am: Change 
3610         library names to libglib-1.3.la, etc, so that we
3611         can distinguish glib-1.2 and glib-2.0 on the linkline.
3612
3613         * Makefile.am gobject/Makefile.am gmodule/Makefile.am:
3614         Move include files into /usr/include/glib-2.0.
3615
3616 Thu Jul  6 18:54:49 2000  Owen Taylor  <otaylor@redhat.com>
3617
3618         * docs/Makefile.am (EXTRA_DIST): Remove info files
3619         from the build.
3620
3621 2000-07-14  Tor Lillqvist  <tml@iki.fi>
3622
3623         * glib.def: Add g_error functions.
3624
3625         * makefile.mingw.in: Add gbacktrace.o.
3626
3627         * gbacktrace.c: No need to include <process.h>.
3628
3629 2000-07-12  Havoc Pennington  <hp@redhat.com>
3630
3631         * glib.h: #include <gerror.h>
3632
3633         * Makefile.am (include_HEADERS): Add gerror.h
3634         (libglib_la_SOURCES): Add gbacktrace.c
3635
3636         * gbacktrace.c: Move g_on_error_query() in here (moved on the 
3637         server, so history is preserved)
3638
3639         * gerror.h: GError interface
3640
3641         * gerror.c: GError implementation replaces stuff that's now in 
3642         gbacktrace.c
3643
3644 Sun Jul  9 21:20:45 2000  Owen Taylor  <otaylor@redhat.com>
3645
3646         * gunicode.h: Include stddef.h instead of stdlib.h
3647
3648 2000-07-08  Tor Lillqvist  <tml@iki.fi>
3649
3650         * glib.h (GLIB_VAR): Rename the GUTILS_C_VAR macro to GLIB_VAR.
3651
3652         * gunicode.h: Mark the g_utf8_skip array with GLIB_VAR.
3653
3654         * glib.def: Add two missing entry points.
3655
3656 Thu Jul  6 15:35:28 2000  Owen Taylor  <otaylor@redhat.com>
3657
3658         * Release 1.3.1
3659
3660         * Makefile.am (EXTRA_DIST): Dist fixes.
3661
3662         * configure.in: Moderate the warnings just a little bit.
3663
3664 2000-07-05  Tor Lillqvist  <tml@iki.fi>
3665
3666         * README.win32: Update.
3667
3668 Mon Jul  3 17:58:02 2000  Owen Taylor  <otaylor@redhat.com>
3669
3670         * gutf8.c (g_utf8_get_charset_internal): Fix up
3671         to correspond to configure.in checks.
3672
3673 Mon Jul  3 17:18:19 2000  Owen Taylor  <otaylor@redhat.com>
3674
3675         * glib.h: Comment g_get_codeset() out of the header file
3676         temporarily. (Very similar to g_get_charset(), need
3677         to resolve the two.)
3678
3679 2000-07-01  Tor Lillqvist  <tml@iki.fi>
3680
3681         * glib.def: Add new entry points.
3682
3683         * makefile.{mingw,msc}.in: Add the new Unicode object files.
3684
3685 Thu Jun 29 15:57:28 2000  Owen Taylor  <otaylor@redhat.com>
3686
3687         * NEWS: updated
3688
3689         * Makefile.am: added snapcheck target to go along with snapshot
3690
3691         * gstring.c glib.h (g_string_hash): Add g_string_hash to 
3692         go along with g_string_equal.
3693
3694 Tue Jun 27 12:40:23 EDT 2000  David A. Wheeler <dwheeler@dwheeler.com>
3695
3696         * glib.h: Added g_string_equal for comparing GStrings;
3697         changed g_str_equal so it returns gboolean (instead of gint).
3698
3699         * gstring.c: Modified GString implementation to support embedded
3700         ASCII NUL ('\0') characters, and implemented g_string_equal.
3701
3702         * testglib.c tests/string-test.c: Added tests for g_string_equal
3703         and tests for proper handling of embedded ASCII NUL characters.
3704
3705 Wed Jun 28 22:52:00 2000  Owen Taylor  <otaylor@redhat.com>
3706
3707         * Makefile.am (libglib_la_SOURCES): Fix
3708         gunichartable.h => gunichartables.h. (From Eric Limings)
3709
3710 Fri Jun 23 17:20:26 2000  Tim Janik  <timj@gtk.org>
3711
3712         * glib.h: define gstring in terms of gchar*. this typedef reflects
3713         the type name of the primitive G_TYPE_STRING in the gobject module.
3714
3715 Wed Jun 21 12:09:03 2000  Owen Taylor  <otaylor@redhat.com>
3716
3717         * gunicode.h gutf8.c guniprop.c gunidecomp.[ch] gunichartables.h
3718         Makefile.am glib.h: Initial pass at adding unicode support
3719         functions. A few things still need to be implemented, a bit
3720         of cleanup needs to be done, tests need to be added, and 
3721         the docs need to be finished, but this should allow replacing
3722         most or all use of libunicode.
3723
3724 2000-06-06  Tor Lillqvist  <tml@iki.fi>
3725
3726         * giowin32.c (g_io_channel_win32_pipe_readable): If we are
3727         watching the same pipe for different conditions (with different
3728         callbacks), check them all. Only call the callback for G_IO_IN
3729         from here. (This bug popped up when a watch for G_IO_ERR|G_IO_HUP
3730         was added to gimplib.)
3731
3732 2000-05-30  Tor Lillqvist  <tml@iki.fi>
3733
3734         * gutils.c (g_locale_get_codeset): Implement on Win32.
3735
3736         * glib.def: Add g_get_codeset.
3737
3738         * tests/Makefile.am (EXTRA_DIST): makefile.cygwin* has been
3739         renamed to makefile.mingw*.
3740
3741 Tue May 30 16:01:32 2000  Owen Taylor  <otaylor@redhat.com>
3742
3743         * glib.h gutils.c: Move the g_locale_get_codeset() up in the 
3744         header file to correspond to to comments about memory
3745         management. Rename to g_get_codeset() to avoid 
3746         polluting the g_locale_* namespace, which probably
3747         would have g_locale_get_codeset (GLocale *locale).
3748         Add a doc comment.
3749
3750 Mon May 29 14:10:35 2000  Owen Taylor  <otaylor@redhat.com>
3751
3752         * gutils.c (g_locale_get_codeset): Add function to get the 
3753         codeset name for the current locale.
3754
3755         * configure.in acconfig.h: Add check for nl_langinfo(CODESET);
3756
3757 Fri May 19 11:39:29 2000  Tim Janik  <timj@gtk.org>
3758
3759         * gutils.c (g_snprintf):
3760         (g_vsnprintf): added argument assertments.
3761
3762         * gstring.c (g_string_assign): added argument assertments.
3763         (g_string_truncate): make len a guint.
3764
3765 Fri May 19 09:00:44 2000  Tim Janik  <timj@gtk.org>
3766
3767         * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with
3768         ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>.
3769
3770         * gslist.c (g_slist_reverse): shut up compiler.
3771
3772         * gscanner.c (g_scanner_get_token_ll): removed inline assignment.
3773
3774         * garray.c: remove index>=0 checks for unsigned indices.
3775
3776         * gmain.c (g_idle_prepare): timeout assignment fix.
3777
3778         * gtree.c (g_tree_node_rotate_right): shut up compiler.
3779
3780 2000-05-13  Tor Lillqvist  <tml@iki.fi>
3781
3782         * makefile.mingw.in
3783         * tests/makefile.mingw.in
3784         * build-dll: Rename makefile.cygwin(.in) to
3785         makefile.mingw(.in), which better describes what it is. Move the
3786         build of gmodule, gthread and gobject DLLs to makefiles in those
3787         directories. Move resource file handling and build number bump to
3788         build-dll, where it sits much cleaner.
3789
3790         * README.win32
3791         * Makefile.am (EXTRA_DIST): Update accordingly.
3792
3793         * glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
3794         G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
3795         implementations.
3796
3797         * glib.def: Add g_strcanon.
3798
3799         * gtree.c (g_tree_node_rotate_left): Remove unused variables.
3800
3801         * gwin32.c (g_win32_opendir): Remove unneeded statement.
3802
3803 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
3804
3805         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
3806         broken and require an empty arg, give it to them.
3807
3808 Fri Apr 28 23:54:35 2000  Tim Janik  <timj@gtk.org>
3809
3810         * setup things for a new sub-library libgobject:
3811
3812         * Makefile.am (SUBDIRS): added gobject
3813
3814         * glib-config.in: feature -lgobject.
3815
3816         * configure.in (AC_OUTPUT): generate gobject/Makefile.
3817
3818         * glib.m4 (AM_PATH_GLIB): feature gobject module.
3819
3820         * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.*
3821
3822 Fri Apr 28 21:41:49 2000  Tim Janik  <timj@gtk.org>
3823
3824         * glib.h: added G_STRLOC macro.
3825         G_STRUCT_OFFSET(): signedness corrections.
3826         (G_CSET_DIGITS): list 0-9.
3827         * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS.
3828
3829         * glib.h: 
3830         * gstrfuncs.c:
3831         (g_strdown):
3832         (g_strup):
3833         (g_strreverse): return the modified string instead of void, so
3834         calls to these functions can be nested.
3835         (g_strcanon): new function, canonicalizes string according to
3836         a given character set.
3837
3838 Fri Apr 28 19:45:16 2000  Tim Janik  <timj@gtk.org>
3839
3840         * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
3841
3842 Wed May 10 19:52:44 2000  Owen Taylor  <otaylor@redhat.com>
3843
3844         * glib.m4: Print found version when test succeeds.
3845
3846 2000-05-04  Tor Lillqvist  <tml@iki.fi>
3847
3848         * makefile.cygwin.in
3849         * tests/makefile.cygwin.in: Include the common makefile snippet
3850         from ../build/win32.
3851
3852         Maybe CVSROOT/modules should be changed so that the 'build' module
3853         is included within the glib module (and gtk+, and gimp, and maybe
3854         others later), in the same way as the 'macros' module is included
3855         in lots of GNOME CVS modules?
3856
3857 2000-05-02  Tor Lillqvist  <tml@iki.fi>
3858
3859         * glib.def: Add new functions.
3860
3861         * makefile.{cygwin,msc}.in (glib_OBJECTS): Add new object files.
3862
3863         * tests/makefile.{cygwin,msc}.in: Add threadpool-test.
3864
3865 2000-04-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3866
3867         * gasyncqueue.c: New File implementing an asynchronous queue to be
3868         used for asynchronous inter-thread communication.
3869
3870         * gthreadpool.c: New File implementing a thread pool to be used
3871         for distributing work among several threads. 
3872
3873         * glib.h: Added the type and function declarations for these two
3874         types.
3875
3876         * tests/threadpool-test.c: New File implementing a test for the
3877         thread pool. This also checks the asynchronous queue underlying
3878         the thread pool.
3879
3880         * tests/Makefile.am: Changed accordingly.
3881
3882 2000-04-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3883
3884         * configure.in: Look for both pthread_create and pthread_join in
3885         the thread library. Some systems define one of them, but not both
3886         in libc. Arghh. Now we really start a thread and join it later and
3887         check, whether the thread to actually ran.
3888
3889         * glib.h, gcache.c, gtree.c: Changed the 'value' parameter of
3890         g_cache_remove from gpointer to gconstpointer. Dito for the 'key'
3891         parameter of g_tree_lookup and g_tree_remove and the 'data'
3892         parameter of g_tree_search. This function now takes a function of
3893         type GCompareFunc instead of GSearchFunc. This fixes Bug
3894         #8267. Thanks to Juan Toledo <toledo@users.sourceforge.net> for
3895         pointing that out.
3896
3897         * glib.h: Removed declaration of GSearchFunc.
3898
3899         * gmem.c: s/GSearchFunc/GCompareFunc/.
3900
3901 2000-04-19  Tor Lillqvist  <tml@iki.fi>
3902
3903         * glib.def: Update entry point list.
3904
3905 2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3906
3907         * glib.h (G_TRYLOCK): Made the debugging G_TRYLOCK call also work
3908         for compilers with funny G_STMT_(START|END) macros.
3909
3910         * tests/thread-test.c: Implemented a check for that.
3911
3912         * gutils.c (g_getenv): Changed the win32 part of this function to
3913         be thread safe and to make the returned environment string
3914         persistent to match the UN*X behavior. This is again a response to
3915         Bug #8983.
3916
3917         * glib.h (G_LOCK_NAME): Removed parentheses around the lock name,
3918         as that seems to cause problems for some compilers and really
3919         isn't necessary.
3920
3921 Wed Apr 19 08:32:32 2000  Tim Janik  <timj@gtk.org>
3922
3923         * gscanner.c (g_scanner_new): make sure that
3924         scanner->config->cset_skip_characters is "" instead of NULL, so we
3925         don't segfault further on.
3926
3927 2000-04-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3928
3929         * glib.h, glist.h, gslist.h: Changed the 'data' parameters from
3930         gpointer to gconstpointer for the functions
3931         g_(list|slist)_(remove|find|find_custom|index), as they do not
3932         change this parameter. This fixes bug #4836.
3933
3934         * glib.h: Changed comment for g_getenv to reflect, that the
3935         returned memory must not be freed. Fixes bug #8983.
3936
3937 2000-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3938
3939         * configure.in, acconfig.h: Add configure test for garbage
3940         collector friendliness for GLib. If enabled, ENABLE_GC_FRIENDLY
3941         will be defined.
3942
3943         * garray.c, ghash.c, glist.c, gmain.c, gmem.c, gnode.c, gqueue.c,
3944         gslist.c, gtree.c: If ENABLE_GC_FRIENDLY is defined, NULLify all
3945         memory released by the user, but cached by GLib. This lets a
3946         garbage collector have a more correct view of the actually used
3947         memory.
3948
3949         * garray.c, glib.h: Added g_(array|ptr_array|byte_array)_sized_new
3950         functions, that reserve a certain amount of memeory for the array
3951         at creation time to avoid reallocation. Fixes bug #6707 from
3952         Charles Kerr <ckerr@osserver1.nssl.noaa.gov>.
3953
3954         * glib.h, gqueue.c, tests/queue-test.c (main): Renamed
3955         g_queue_create to g_queue_new in conformance to all other GLib
3956         data types.
3957
3958 2000-04-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3959
3960         * grand.c (g_rand_new): Fixed bug. Thanks to Marko Kreen
3961         <marko@l-t.ee> for reporting that.
3962
3963 2000-03-26  Tor Lillqvist  <tml@iki.fi>
3964
3965         * README.win32: Tell about using the mingw-based gcc, which is
3966         much easier than modifying the cygwin gcc to product mingw code
3967         for the msvcrt runtime.
3968
3969         * makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
3970         with a "pure" mingw gcc, too.
3971
3972 2000-03-24  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3973
3974         * garray.c: Made GArray behave correctly. Now zero_terminated
3975         really means, that the element array->data[array->len] exists and
3976         is zeroed, and clear means that any unassigned elements obtained
3977         through g_array_set_size (the only way to get unassigned elements
3978         AFAICT) are zeroed. Added some macros to make the code more
3979         obvoius. Also made GPtrArray zero elements after
3980         g_ptr_array_set_size. This is done in a portbale way (assignment
3981         of NULL instead of just memsetting it to zero), though that might
3982         be more portability than we actually want.
3983
3984         * Makefile.am, gthread/Makefile.am, gmodule/Makefile.am,
3985         tests/Makefile.am: Added various win32 related *.in files to
3986         EXTRA_DIST to let 'make distcheck' procude all the corresponding
3987         files, which it silently fails to do currently.
3988
3989 2000-03-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3990
3991         * configure.in: After finding the right thread library (containing
3992         e.g. pthread_create) we now search for the right realtime library
3993         (containing e.g. sched_get_priority_max). Makes the output of the
3994         thread related libraries correct. 
3995
3996         * gtimer.c (g_usleep): The current implementation of g_usleep
3997         (simply calling select) doesn't work reliable for multi-threaded
3998         programs on some platforms (bad omen for the main loop....), so I
3999         changed the implementation for thread-using programs to wait for a
4000         GCond for the specified amount of time (NB: sleep and usleep are
4001         not MT-safe in general, because they often use signals).
4002
4003 Wed Mar 22 16:49:57 2000  Owen Taylor  <otaylor@redhat.com>
4004
4005         * gmem.c (g_mem_chunk_area_compare): Fix indentation.
4006
4007 2000-03-22 Elliot Lee <sopwith@redhat.com>
4008
4009         * gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in
4010         comparing two pointers more than 4G apart.
4011
4012 2000-03-22  Tor Lillqvist  <tml@iki.fi>
4013
4014         * gutils.c: Move Win32-only includes after inclusion of glib.h, so
4015         that G_OS_WIN32 is defined.
4016
4017         * glibconfig.h.win32.in: Add GSystemThread.
4018
4019 2000-03-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4020
4021         * gutils.c (g_get_current_dir): Ok, Marcus Brinkmann
4022         <Marcus.Brinkmann@ruhr-uni-bochum.de> convinced me, that 128 KB
4023         path length might not be enough for the HURD. So I changed the
4024         loop to at least avoid an integer overflow, which could happen at
4025         beyond 2GB size ;-)
4026
4027         * configure.in: Test for sched_yield as the native yield function
4028         first. Corrected typo g_thread_sleep -> g_usleep. Corrected
4029         message for the pthread_create test. Negative Priorities are
4030         allowed (and used on Solaris), so consider
4031         sched_get_priority_min failed only if it returns -1, not <0. Check
4032         for sched_get_priority_min also in -lrt, if not found in -lpthread
4033         alone and add -lrt to G_THREAD_LIBS then. Remove special case
4034         handling of priorities for older solaris versions and posix
4035         threads. Thanks to Wan-Teh Chang <wtc@netscape.com> for suggesting
4036         some of those changes.
4037
4038         * config.guess, config.sub, ltconfig, ltmain.sh:
4039         Upgrade to libtool 1.3.4.
4040
4041 2000-03-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4042
4043         * glib.h, configure.in, gutils.h: always define G_GNUC_EXTENSION,
4044         even when not needed by GLib. That's actually also the way, the
4045         GLib reference manual describes that macro. Therefore I had to
4046         remove the lonesome #include <glibconfig.h> in gutils.c, which
4047         doesn't seem to be needed there however. This change should make
4048         Ben Gertzfield <che@debian.org> happy.
4049
4050         * gutils.c: Furthermore two warnings in gutils.c were voided,
4051         which crept in due to my last change.
4052
4053         * gutils.c (g_get_current_dir): Allocate only up to 128KB for a
4054         pathname. While this is an arbitrary value just like 2048, it
4055         seems to be enough (after all, even 4GB is an arbitrary value).
4056
4057 2000-03-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4058
4059         * gmain.c (g_main_poll): Warn in case of an error during the call
4060         to poll(2). Closes Bug#7564 as reported by David Helder
4061         <dhelder@umich.edu>.
4062
4063         * gutils.c (g_get_current_dir): Make g_get_current_dir work on
4064         systems with unlimited pathname length like the HURD (It worked
4065         there before, but only for pathes shorter than 2048). Closes
4066         Bug#4525 as reported by Marcus Brinkmann
4067         <Marcus.Brinkmann@ruhr-uni-bochum.de>.
4068
4069 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4070
4071         * giounix.c (g_io_unix_write, g_io_unix_read): Interpret EINTR as
4072         G_IO_ERROR_AGAIN.
4073
4074 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4075
4076         * configure.in: Added the missing POSIX_NO_YIELD and
4077         POSIX_NO_PRIORITIES warning messages.
4078
4079         * configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK, to test for
4080         real thread support. On solaris pthread_create can be linked to
4081         even in -lc, but it doesn't work then.
4082
4083         * configure.in: Don't use priorities for threads, when the
4084         minimal/maximal priorities couldn't be determined at configure
4085         time.
4086
4087         * configure.in, gthread.c: Always define GSystemThread in
4088         glibconfig.h to represent a system thread.
4089
4090         * configure.in: Do not use native recursive threads, when
4091         possibe. We use some features, that they do not expose (namely the
4092         depth counter).
4093
4094         * glib.h, gthread.c: Redefined GStaticRecMutex. The functions are
4095         now implemented in a different way, which should be way
4096         faster. Alsothere are now functions g_static_rec_mutex_unlock_full
4097         and g_static_rec_mutex_lock_full to leave/enter a recursive mutex
4098         completly.
4099
4100         * gthread.c (g_thread_self): Do not test the system_thread to be
4101         non-zero to speed things up.
4102
4103         * gthread.c (g_mutex_init): Therefore set the system_thread of the
4104         main thread here.
4105
4106         * tests/thread-test.c: Rerun all tests once again, but this time
4107         we fool the system into thinking, that the available thread system
4108         is not native, but userprovided.
4109
4110 2000-03-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4111
4112         * gqueue.c (g_queue_push_tail_link, g_queue_push_head_link): We
4113         want the next and prev pointer of the inserted link to be NULL.
4114
4115 2000-03-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4116
4117         * configure.in: Another small change to the pthread_.. search
4118         pattern. Should work *now* for AIX.
4119
4120 2000-03-04  Tor Lillqvist  <tml@iki.fi>
4121
4122         * gwin32.c (g_win32_error_message): New function that returns the
4123         message string for a Win32 error code.
4124
4125         * glib.h: Declare it.
4126
4127         * glib.def: Export it, plus g_node_copy.
4128
4129 2000-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4130
4131         * configure.in: Make the search for pthread_attr_... prototypes
4132         find names at the start of a line also, like it is on AIX. Thanks
4133         to Valdis Kletnieks <Valdis.Kletnieks@vt.edu> for the info.
4134
4135 Wed Mar  1 10:39:39 2000  Tim Janik  <timj@gtk.org>
4136
4137         * gslist.c (g_slist_reverse): minor optimization.
4138
4139         * testglib.c (g_node_test): added a couple of tests for
4140         g_node_copy().
4141
4142         * glib.h:
4143         * gnode.c (g_node_copy): new function to copy subtrees,
4144         supplied by dbsears@ix.netcom.com.
4145         changed iterator to walk the children list backwards, so
4146         we get down from O(n^2) to O(n).
4147
4148         * gnode.c (g_node_first_sibling): applied patch from
4149         dbsears@ix.netcom.com to optimize access if node->parent
4150         is present.
4151
4152         * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
4153         assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
4154         thus breaks the original code.
4155
4156         * merged changes from 1.2.7.
4157
4158 Fri Jan 28 11:37:41 2000  Owen Taylor  <otaylor@redhat.com>
4159
4160         Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
4161
4162         * gtimer.c (g_timer_elapsed): Never report negative times -
4163         clip times to 0.
4164
4165         * gmain.c (g_timeout_prepare): Guard against unexpected
4166         clock shifts by never setting a timeout of more than
4167         data->interval msecs.
4168
4169 2000-02-27  Tor Lillqvist  <tml@iki.fi>
4170
4171         * glib.def: Add new functions.
4172
4173 2000-02-23  Tor Lillqvist  <tml@iki.fi>
4174
4175         * README.win32: Add a missing step to the setup instructions for
4176         gcc-2.95.2. Thanks to Arnaud Charlet.
4177
4178         * glib.def: Add missing entry point.
4179
4180 2000-02-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4181
4182         * configure.in: Changed GCC version test to also accept major
4183         versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
4184         pointing this out.
4185
4186 Thu Feb 17 12:53:44 2000  Tim Janik  <timj@gtk.org>
4187
4188         * gstring.c: changed g_str_hash() to a 31 bit version based on
4189         a submission by Karl Nelson and hand optimized ad absurdum by
4190         various people ;)
4191
4192         * gstring.c: applied patch from havoc for new gstring functions,
4193         added some more sanity checks, coding style fixups.
4194
4195 2000-02-13  Havoc Pennington  <hp@pobox.com>
4196
4197         * tests/string-test.c (main): Add tests for the new GString 
4198         features
4199
4200         * testglib.c (main): Add tests for the new GString features
4201
4202         * gstring.c (g_string_insert_len): New function; insert 
4203         a given length of string at a given position. 
4204         (g_string_append): reimplement in terms of g_string_insert_len
4205         (g_string_append_len): new function
4206         (g_string_insert_c): accept -1 for "pos" arg to mean "append"
4207         (g_string_append_c): reimplement in terms of g_string_insert_c
4208         (g_string_prepend): reimplement in terms of g_string_insert_len
4209         (g_string_prepend_len): new function
4210         (g_string_prepend_c): reimplement in terms of g_string_insert_c
4211         (g_string_insert): reimplement in terms of g_string_insert_len
4212
4213         * glib.h: Declare g_string_insert_len, g_string_append_len,
4214         g_string_prepend_len
4215
4216 Sun Feb 13 08:16:47 2000  Tim Janik  <timj@gtk.org>
4217
4218         * configure.in: wtf??? someone destroyed the configure.in, reverting to
4219         an older version from Feb 4 which apears to still work.
4220
4221 2000-02-07  Tor Lillqvist  <tml@iki.fi>
4222
4223         * gmodule.rc.in gthread.rc.in: Move to corresponding subdirectories.
4224
4225         * Makefile.am
4226         * gmodule/Makefile.am
4227         * gthread/Makefile.am: Change accordingly.
4228
4229         * makefile.cygwin: Corresponding changes, some cleanup.
4230
4231 2000-02-05  Tor Lillqvist  <tml@iki.fi>
4232
4233         * glib.rc.in gmodule.rc.in gthread.rc.in: New files, for putting
4234         version info in the DLLs on Win32.
4235
4236         * Makefile.am: Generate corresponding *.rc files and distribute
4237         them.
4238
4239         * makefile.cygwin.in: Add rules to automatically bump a "build
4240         number" in the version info in the rc files each time the DLL is
4241         built. But do this only for the person who releases binaries. If
4242         others build the DLLs, the build number is set to zero.
4243
4244 Fri Feb  4 19:36:05 2000  Tim Janik  <timj@gtk.org>
4245
4246         * glib.h: 
4247         * gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
4248         and g_dataset_id_remove_no_notify() to avoid second lookup for common
4249         use.
4250
4251 2000-02-01  Tor Lillqvist  <tml@iki.fi>
4252
4253         * glib.h
4254         * gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
4255         functions for conversion between UTF-8 and the encoding expected
4256         by C runtime functions like open() and stat(), and returned by
4257         readdir().
4258
4259         Implement them on Win32 where we use the system "ANSI" codepage,
4260         which might be single-byte or double-byte. On Unix, just skip the
4261         issue for now and provide dummy implementations that return a copy
4262         of the argument.
4263
4264         * README.win32
4265         * build-dll
4266         * glib.def: Minor updates.
4267
4268 Wed Jan 26 05:24:38 2000  Tim Janik  <timj@gtk.org>
4269
4270         * glib.h:
4271         * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
4272         refetch the current time after invocation of poll() to cover up for
4273         the time spent in that function call.
4274
4275 Fri Jan 21 10:18:24 2000  Owen Taylor  <otaylor@redhat.com>
4276
4277         * glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
4278         the number of elements in an array.
4279
4280 Sun Jan  9 13:28:36 2000  Tim Janik  <timj@gtk.org>
4281
4282         * gstrfuncs.c (g_strtod): correctly fetch the current locale,
4283         fix from owen.
4284
4285 1999-12-16  Tor Lillqvist  <tml@iki.fi>
4286
4287         * gmodule/gmodule-win32.c: Use FormatMessage to translate system
4288         error codes into textual messages.
4289
4290 1999-11-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4291
4292         * glib.h (G_TRYLOCK): This of course should return TRUE in a
4293         program with a thread-disabled GLib.
4294
4295 1999-11-18  Tor Lillqvist  <tml@iki.fi>
4296
4297         * glib.def: g_strjoin was missing.
4298
4299 1999-11-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4300
4301         * acconfig.h, config.h.win32.in, configure.in: Renamed
4302         GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
4303         changed meaning.
4304
4305         * configure.in: Cope with systems, that have a pthread_t type,
4306         that is not a pointer. Hint from Karl Nelson
4307         <kenelson@ece.ucdavis.edu>. Define GLIB_SIZEOF_SYSTEM_THREAD to 4
4308         for Solaris. Cope with systems, that have no default mutex
4309         initialize, like obviously most DCE systems.
4310
4311         * glib.h, gthread.c: Changed the prototype of thread_create and
4312         thread_self to return the system thread into provided memory
4313         instead of a return value. This is necessary, as HPUX has a
4314         pthread_t, that is bigger than the biggest integral type there.
4315
4316         * gthread.c: system_thread is no longer a pointer, but an memory
4317         area of size GLIB_SIZEOF_SYSTEM_THREAD. Changed the
4318         zeroinitialization and the tests for zeroness accordingly.
4319
4320 1999-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4321
4322         * configure.in: Create docs/glib-config.1 from
4323         docs/glib-config.1.in. Makes 'make distcheck' happy (and me too).
4324
4325         * glib-config.1: Removed from CVS, as it is a generated file.
4326
4327 1999-11-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4328
4329         * configure.in: Make the test for getpwuid_r work on newer AIX
4330         versions, too. Still works on Solaris and Linux. Patch from Craig
4331         Rodrigues <rodrigc@mediaone.net>.
4332
4333 1999-11-08  Tor Lillqvist  <tml@iki.fi>
4334
4335         * gwin32.c (g_win32_getlocale): Look at env vars LC_ALL, LC_CTYPE
4336         and LANG first. Some refinements to the sublanguage logic.
4337
4338 1999-11-04  Tor Lillqvist  <tml@iki.fi>
4339
4340         * makefile.{cygwin,msc}.in: Add gwin32 object. Add rule to make .i
4341         (preprocessed source) files.
4342
4343 1999-11-01  Tor Lillqvist  <tml@iki.fi>
4344
4345         * glib.h
4346         * glib.def: Rename Win32-only functions from gwin_* to g_win32_*
4347         to match the GLib naming conventions.
4348
4349         * gutils.c
4350         * gwin32.c
4351         * testglib.c
4352         * Makefile.am: Move the Win32-only functions to the new
4353         file gwin32.c
4354
4355 1999-10-31  Tor Lillqvist  <tml@iki.fi>
4356
4357         * gutils.c (gwin_getlocale): New Win32-specific function, returns
4358         a Unixish current locale string (en, zh_TW etc).
4359
4360         * glib.h: Declare it.
4361
4362         * glib.def: Export it.
4363
4364         * testglib.c: Test it.
4365
4366         * gmessages.c (Win32: ensure_stdout_valid): Some improvements,
4367         make sure we don't call AllocConsole several times, which I think
4368         has happened.
4369
4370 Sun Oct 31 18:55:01 1999  ape@spacetec.no  (Asbjorn Pettersen)
4371
4372         * gcache.c (g_cache_remove): Test if node is NULL.
4373         If not tested, GIMP's script-fu will crash. 
4374
4375 Sun Oct 17 18:11:40 1999  Tim Janik  <timj@gtk.org>
4376
4377         * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
4378         destroy() notification here as well.
4379
4380 1999-10-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4381
4382         * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
4383         is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
4384
4385 Tue Oct 12 14:17:12 1999  Tim Janik  <timj@gtk.org>
4386
4387         * glib.h: removed useless g_string(x) macro that cluttered the namespace
4388         and was just a poor wrapper around the cpp '#' symbol, use #x if you
4389         need to work around this.
4390         added new macro G_STRINGIFY(arg) that will convert arg to a string,
4391         no matter whether it contains macros or not.
4392
4393 1999-10-12  Tor Lillqvist  <tml@iki.fi>
4394
4395         * config.h.win32.in: Define the new GLIB_SIZEOF_* constants here,
4396         too.
4397
4398         * glib.h: Small Win32 comments improvement.
4399
4400 Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>
4401
4402         * gmessages.c (g_printf_string_upper_bound): completly new
4403         implementation for printf string upper bounds calculation.
4404         we handle all glibc 2.1 format specifiers now, except for positional
4405         parameters (%nn$...) and wide char strings, plus some obscure upper
4406         case variants of the standard conversions. this fixes a lot of
4407         bugs in the old code, i.e.
4408         - NULL format strings
4409         - floats with exponents >+24
4410         - %G
4411         - precision specifications in general
4412         - negative field widths
4413         - %p for SIZEOF_VOID_P > 4 platforms
4414         we now issue warnigns in places where the old code would have
4415         caused buffer overruns anyways. warnings are suppressed when invoked
4416         from glogv(), to avoid infinite recursions if someone passes a log
4417         message that comes with really obscure format specifications.
4418
4419 Tue Oct 12 11:49:00 1999  Tim Janik  <timj@gtk.org>
4420
4421         * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.
4422
4423 Tue Oct 12 03:34:40 1999  Tim Janik  <timj@gtk.org>
4424
4425         * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
4426         mantissa and exponent of IEEE floats and doubles (required by the new
4427         version of g_printf_string_upper_bound). the unions are endian specific,
4428         we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
4429         and doubles are supported (used for storage) by at least intel, ppc and
4430         sparc, reference:
4431         http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html
4432
4433 Mon Oct 11 18:01:49 1999  Tim Janik  <timj@gtk.org>
4434
4435         * configure.in: added additional checks to figure sizes of size_t,
4436         ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
4437
4438 Wed Oct  6 12:44:23 PDT 1999 Manish Singh <yosh@gimp.org>
4439
4440         * configure.in: blah. use G_WITH_CYGWIN instead of G_HAVE_CYGWIN
4441
4442 1999-10-05  Tor Lillqvist  <tml@iki.fi>
4443
4444         * glib.h: (Win32) Drop the mapping of POSIX function names to the
4445         underscored versions, it's unnecessary after all. With MSVC we get
4446         them from oldnames.lib, with gcc-2.95 and mingw32 from
4447         -lmoldname-msvc. Add comment about what headers to include for
4448         prototypes.
4449
4450         * glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.
4451
4452         * gerror.c (g_on_error_query): (Win32) Slightly increased verbosity.
4453
4454         * build-dll: Don't strip.
4455
4456         * tests/string-test.c tests/dirname-test.c: Use G_OS_WIN32.
4457
4458         * glib.def: Add g_thread_use_default_impl.
4459
4460 Sun Oct  3 19:46:55 PDT 1999 Manish Singh <yosh@gimp.org>
4461
4462         * configure.in: use G_HAVE_CYGWIN instead of G_OS_FEATURE_CYGWIN
4463
4464 Sun Oct  3 19:25:42 PDT 1999 Manish Singh <yosh@gimp.org>
4465
4466         * acconfig.h
4467         * configure.in
4468         * glibconfig.h.win32: G_OS_FOO #defines. I *think* I got the cygwin
4469         and beos stuff right, but I haven't tested it. The respective
4470         porters should fix any screwups
4471
4472         * glib.h
4473         * gerror.c
4474         * gmain.c
4475         * gmessages.c
4476         * gscanner.c
4477         * gthread.c
4478         * gtimer.c
4479         * gutils.c
4480         * testglib.c: use G_OS stuff
4481
4482 Wed Sep 22 01:53:18 1999  Tim Janik  <timj@gtk.org>
4483
4484         * glib.h (NULL): define NULL as (0L) if __cplusplus is defined, to
4485         avoid "ANSI C++ forbids implicit conversion from `void *' in argument
4486         passing" errors upon NULL usage in C++ programs (gcc-2.95 is on crack
4487         for erroring out on this, instead of just issueing a warning).
4488
4489         * glib.h (g_trash_stack_pop): use uncasted NULL again.
4490
4491 Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>
4492
4493         * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied
4494         patch from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem
4495         chunk's area sizes to be a multitiple of atom_size, and to
4496         eliminate the MAX_MEM_AREA restriction of 65536 bytes. we also
4497         catch cases where users pass an area size < atom size with a
4498         return_if_fail statement now (which is ok, because previously this
4499         lead to memory corruption anyways).
4500
4501 Thu Sep 16 13:19:54 1999  Tim Janik  <timj@gtk.org>
4502
4503         * glib.h (g_trash_stack_pop): add explicit (GTrashStack*) cast for NULL
4504         pointer to cure ANSI C++ error.
4505
4506 Mon Sep 13 23:25:59 1999  Tim Janik  <timj@gtk.org>
4507
4508         * gmessages.c (g_logv): in case we have to abort the program,
4509         debugging is enabled and we are not called recursively, try
4510         to abort with raise (SIGTRAP) first, so developers may ignore
4511         certain failure conditions during debugging stage.
4512
4513 Thu Aug 26 15:09:36 1999  Tim Janik  <timj@gtk.org>
4514
4515         * Makefile.am:
4516         * gmodule/Makefile.am:
4517         * gthread/Makefile.am: added --export-dynamic so we can load dynmic
4518         modules, (required, according to the libtool 1.3.3 docu).
4519
4520 1999-07-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4521
4522         * grand.c (g_rand_new): Use /dev/urandom, as it doesn't block,
4523         which /dev/random might do. Do not XOR the time, when getting the
4524         seed form /dev/urandom, as this is good itself. Prevent the
4525         initial seed from being zero, which causes the PRNG to produce
4526         only zeros. Hints from Colin Plumb <colin@pgp.com>.
4527
4528 1999-08-17  Tor Lillqvist  <tml@iki.fi>
4529
4530         * glib.h (g_trash_stack_push): Add a cast.
4531
4532         * gslist.c
4533         * glist.c: Make the inline functions static inline, and add
4534         separate extern wrappers. Not all compilers produce callable entry
4535         points for inline functions, even if gcc does.
4536
4537 Sun Aug 15 02:47:14 1999  Tim Janik  <timj@gtk.org>
4538
4539         * glib.h (g_trash_stack_pop): eliminate memset() call, since string.h
4540         has not neccessarily been included prior to glib.h.
4541
4542 Mon Aug  2 21:03:10 1999  Tim Janik  <timj@gtk.org>
4543
4544         * configure.in: added --enable-msg-prefix option.
4545
4546         * gmessages.c (g_log_default_handler): feature "prg_name (pid:%u): "
4547         if --enable-msg-prefix was selected (use "(process:%u): " if
4548         g_get_prgname () returns NULL, along the lines of g_on_error_query).
4549
4550 1999-08-03  Tor Lillqvist  <tml@iki.fi>
4551
4552         * glib.h
4553         * gstrfuncs.c
4554         * tests/strfunc-test.c: Rename g_strccpy to g_strcompress and
4555         g_strecpy to g_strescape per Tim Janik's suggestion. Dropped the
4556         destination parameter, always g_malloc a new string.  Fix bug in
4557         g_strcompress, octal digits were gobbled up without limit, should
4558         use max three.
4559
4560         Sources that use g_strescape must have ifdefs to be compilable
4561         both with GLib 1.2 and 1.3.
4562
4563 Sat Jul 31 17:52:03 PDT 1999 Manish Singh <yosh@gimp.org>
4564
4565         * glib.h
4566         * gstrfuncs.c: the #define for g_strescape interfered with the
4567         compilation of the function, so just remove the function and
4568         note that it's deprecated in the header
4569
4570 1999-08-01  Tor Lillqvist  <tml@iki.fi>
4571
4572         * gstrfuncs.c (g_strccpy, g_strecpy): New functions.
4573
4574         * glib.h: Declare and document them. Define the deprecated
4575         g_strescape as a macro that calls g_strecpy.
4576
4577         * tests/strfunc-test.c (main): Test them.
4578
4579         * makefile.{cygwin,msc}.in
4580         * tests/makefile.{cygwin,msc}.in: Remove gstack and its test
4581         program.
4582
4583         * glib.def: Additions and removals.
4584
4585         * README.win32: Improve gcc build instructions.
4586
4587         * build-dll: Also build import library for MSVC.
4588
4589 Sat Jul 24 20:11:35 1999  Tim Janik  <timj@gtk.org>
4590
4591         * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
4592         * incorporated proposed cleanups from gtk-devel-list.
4593
4594         * bumped version number to GLib-1.3.1
4595
4596         * glib.h:
4597         * gqueue.c:
4598         * gstring.c:
4599         * glist.c:
4600         removed string tokenisation (we got g_strsplit() and g_strjoin()
4601         already) and readline functions.
4602         s/g_list_delete/g_list_delete_link.
4603         implemented g_slist_delete_link.
4604         removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
4605         macro, g_atexit() is provided for public consumption.
4606         added GTrashStack inline utility functions.
4607         reimplement double eneded queues.
4608         removed GStack implementation, people can use a queue or a (singly)
4609         linked list for this task.
4610         deprecated g_strescape(), we need the SunOS variants here.
4611
4612         * gdate.c: added DEBUG_MSG() macro to wrap old messages.
4613
4614         * *.*: CVS merges.
4615
4616         * upgrade to libtool 1.3.3.
4617
4618 1999-07-21  Tor Lillqvist  <tml@iki.fi>
4619
4620         Win32: With the latest gcc (2.95, pre-release), we can have binary
4621         compatibility with MSVC by using the switch -fnative-struct. No
4622         longer build DLLs with .gcc in the name when using gcc.
4623
4624         * README.win32: Renew gcc build instructions.
4625
4626         * build-dll: Comments change, handle also .a files.
4627
4628         * makefile.cygwin.in
4629         * tests/makefile.cygwin.in: Remove .gcc from DLL name.
4630
4631 1999-07-13  Tor Lillqvist  <tml@iki.fi>
4632
4633         * README.win32: Correct URL for mingw runtime sources.
4634
4635         * build-dll: Combine commands with &&.
4636
4637         * glib.h: Map also rmdir() and hypot() for MSVCRT library.
4638
4639         * makefile.cygwin.in
4640         * tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
4641         now called *.gcc.dll, to avoid binary incompatibilities with
4642         MSVC-compiled versions.
4643
4644         * makefile.msc.in: Cosmetics.
4645
4646 1999-07-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4647
4648         * configure.in: Test for pthread_join rather than for
4649         pthread_create to determine the right thread-lib. Makes it work on
4650         mips-sgi-irix6.5. Hitn from to Jari Vuoksenranta
4651         <javu@piano.ux.phys.jyu.fi>.
4652
4653 1999-07-02  Tor Lillqvist  <tml@iki.fi>
4654
4655         * README.win32: Note about need to fix another bug in the mingw32
4656         headers.
4657
4658         * makefile.msc.in: Debugging turned on via an nmake variable,
4659         no need to edit the makefile.
4660
4661 1999-07-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4662
4663         * configure.in, acconfig.h, gutils.c: Added a g_memmove
4664         replacement for platforms without memmove, where bcopy can't
4665         handle overlapping copies and the corresponding checks, which is
4666         taken form the PERL Configure routine.
4667
4668         * glib.h: Updated the commentary about g_memmove to be right and
4669         more GLib-like.
4670
4671         * configure.in: Removed test for rand_r, as it isn't used anymore.
4672
4673 1999-06-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4674
4675         * glib.h, grand.c: Finally removed the g_random_normal and
4676         g_rand_normal functions.
4677
4678 1999-06-28  Tor Lillqvist  <tml@iki.fi>
4679
4680         * glib.def: Add missing export of g_strncasecmp.
4681
4682 1999-06-21  Jose Mercado  <jmercado@mit.edu>
4683
4684         * glib.spec.in: Changed version number (1.1->1.3) in files section
4685         to allow rpm to build packages again.
4686
4687 1999-06-21  Tor Lillqvist  <tml@iki.fi>
4688
4689         * README.win32: Update the pthreads snapshot version we want.
4690         Advice how to hand-expand the makefile.*.in files.
4691
4692         * config.h.win32.in: Define values needed by Sebastian Wilhelmi's
4693         new thread stuff.
4694
4695         * glib.def: Add new functions.
4696
4697         * glibconfig.h.win32.in: Update the pthreads snapshot version.
4698         Fix typo.
4699
4700         * gthread.c: Include config.h, guard inclusion of unistd.h.  When
4701         using gcc on Win32, g_thread_functions_for_glib_use must be marked
4702         for export here, too.
4703
4704         * gtimer.c: Implement g_usleep on native Win32 using Sleep (which
4705         only has millisecond granularity, though).
4706
4707         * makefile.cygwin.in
4708         * makefile.msc.in: Update pthreads snapshot version. File
4709         name changes. Remove testgthread.
4710
4711         * tests/makefile.cygwin.in
4712         * tests/makefile.msc.in: Add thread-test. Link with gthread lib.
4713
4714 1999-06-18  Jeff Garzik  <jgarzik@pobox.com>
4715
4716         * tests/Makefile.am:  Re-order tests in alpha order.
4717
4718 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4719
4720         * configure.in: Changed test for pthread_attr_setstacksize from
4721         AC_TRY_COMPILE to AC_TRY_LINK.
4722
4723 1999-06-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4724
4725         * configure.in, acglib.m4, acconfig.h, glib.h, gthread.c:
4726         Completed the thread support in GLib. Thread creation,
4727         prioritizing threads, yielding, joining threads as well as
4728         reader/writer locks and recursive mutexes are now in place. Please
4729         test heavily on your platform. It is so far tested on
4730         Linux/i386/pthreads, Solaris/Sparc/pthreads and
4731         Solaris/Sparc/solaristhreads.
4732
4733         * gtimer.c, glib.h: Implement g_usleep (gulong microseconds) for
4734         thread safe sleeping. (sleep() is not MT-safe at all!)
4735
4736         * gutils.c: Avoid compiler warning.
4737
4738         * tests/Makefile.am, tests/thread-test.c: New program to test some
4739         aspects of the thread implementation.
4740
4741         * gthread.c, Makefile.am: Renamed from gmutex.c to reflect the
4742         change of content.
4743
4744         * configure.in: Purged all appearances of nspr. 
4745
4746 Wed Jun  2 11:42:46 PDT 1999 Manish Singh <yosh@gimp.org>
4747
4748         * acinclude.m4
4749         * config.guess
4750         * config.status
4751         * ltconfig
4752         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
4753
4754 1999-05-29  Tor Lillqvist  <tml@iki.fi>
4755
4756         * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
4757
4758         * glib.h: Document g_strescape.
4759
4760 1999-05-12  Tor Lillqvist  <tml@iki.fi>
4761
4762         * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
4763         _fstat.
4764
4765         * README.win32: Advice also to remove -lmoldname in the
4766         patch to the egcs-1.1.2 spec file.
4767
4768 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
4769
4770         * gmodule/Makefile.am: Another small fix.
4771
4772 1999-05-08  Tor Lillqvist  <tml@iki.fi>
4773
4774         * Makefile.am tests/Makefile.am: Correct rules for making the
4775         win32-related files that are made from corresponding .in files.
4776         Is there a cleaner way than explicitly writing rules that invoke
4777         config.status?
4778
4779 Fri Jul 16 22:18:36 PDT 1999 Manish Singh <yosh@gimp.org>
4780
4781         * ltconfig
4782         * ltmain.sh: upgrade to libtool 1.3.3
4783
4784 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4785
4786         * gdate.c, gstrfuncs.c, gstring.c: Fixed the use of the
4787         is..... and to..... macros, which take unsigned chars, not chars!
4788         Thanks to Morten Welinder <terra@diku.dk> for pointing this out.
4789
4790 Thu Jun  3 16:30:31 PDT 1999 Manish Singh <yosh@gimp.org>
4791
4792         * gerror.c (g_on_error_query): check isatty() before querying so
4793         we don't loop endlessly
4794
4795 Sat May 29 11:16:29 PDT 1999 Manish Singh <yosh@gimp.org>
4796
4797         * acinclude.m4
4798         * config.guess
4799         * config.status
4800         * ltconfig
4801         * ltmain.sh: upgrade to libtool 1.3.2
4802
4803 1999-05-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4804
4805         * gmain.c: provide a poll prototype for SunOS, as they do not do
4806         it self. Hint from Christian Parg <cparg@fs-design.de>.
4807
4808 Tue May 25 12:23:07 1999  Owen Taylor  <otaylor@redhat.com>
4809
4810         * gstrfuncs.c (g_strchug): Use g_memmove() not memmove().
4811         (Reported by Charles Levert <charles@comm.polymtl.ca>)
4812
4813 Mon May 10 22:03:52 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
4814
4815         * Released GLib 1.2.3
4816
4817 1999-05-08  Tor Lillqvist  <tml@iki.fi>
4818
4819         * Makefile.am tests/Makefile.am: Correct rules for making the
4820         win32-related files that are made from corresponding .in files.
4821         Is there a cleaner way than explicitly writing rules that invoke
4822         config.status?
4823
4824 Sat May  1 10:18:01 PDT 1999 Manish Singh <yosh@gimp.org>
4825
4826         * acinclude.m4
4827         * config.guess
4828         * config.status
4829         * ltconfig
4830         * ltmain.sh: upgrade to libtool 1.3
4831
4832 1999-04-30  Tor Lillqvist  <tml@iki.fi>
4833
4834         * Makefile.am: Don't distribute glibconfig.h.win32.in, but
4835         glibconfig.h.win32. Generate it when making a dist. Also generate
4836         makefile.msc and config.h.win32 from corresponding .in files when
4837         making dist.
4838
4839         * configure.in: Also substitute @GLIB_INTERFACE_AGE@ and
4840         @GLIB_BINARY_AGE@ (needed in config.h.win32).
4841
4842         * glibconfig.h.win32.in: Use static mutex structure and initial
4843         value corresponding to the 1999-04-07 snapshot of pthreads-win32.
4844
4845         * tests/Makefile.am: Distribute makefile.msc. Generate it when
4846         making dist.
4847
4848         * tests/makefile.msc.in: New file.
4849
4850         * tests/node-test.c: Include <stdlib.h> for exit().
4851
4852 Thu Apr 29 02:16:36 1999  Tim Janik  <timj@gtk.org>
4853
4854         * gstrfuncs.c: minor code cleanups.
4855
4856 Tue Apr 27 13:11:29 1999  Owen Taylor  <otaylor@redhat.com>
4857
4858         * gmain.c (g_main_poll): Mask out ERR HUP and NVAL from
4859         the events field so we don't give IRIX fits.
4860
4861 Tue Apr 20 08:42:22 1999  Tim Janik  <timj@gtk.org>
4862
4863         * gscanner.c (g_scanner_unexp_token): behave conservative with
4864         G_TOKEN_IDENTIFIER_NULL and always assume scanner->value.v_string
4865         to be "null" in that case.
4866
4867 1999-04-20  Havoc Pennington  <hp@pobox.com>
4868
4869         * gutils.c (g_vsnprintf):  When using the vsnprintf()
4870         implementation, '\0'-terminate the resulting string
4871         and return its length rather than -1.
4872
4873 Mon Apr 19 13:42:21 1999  Owen Taylor  <otaylor@redhat.com>
4874
4875         * gmain.c (g_main_iterate): Added missing
4876         #ifdef G_THREADS_ENABLED. (I never liked G_THREADS_ENABLED in
4877         the first place!)
4878
4879 1999-04-18  Havoc Pennington  <hp@pobox.com>
4880
4881         * gutils.c (g_snprintf): When using the vsnprintf()
4882         implementation, '\0'-terminate the resulting string
4883         and return its length rather than -1.
4884
4885 Fri Apr 16 06:52:07 1999  Tim Janik  <timj@gtk.org>
4886
4887         * gscanner.c (g_scanner_unexp_token): feature G_TOKEN_EOF as a valid
4888         expected token as well, so we get "- expected end of file" instead of
4889         "- expected (unknown) token <0>".
4890
4891 Tue Apr 13 16:16:14 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
4892
4893         * Released GLib 1.2.2
4894
4895 1999-04-12  Elliot Lee  <sopwith@mh69.mh.cuc.edu>
4896
4897         * g_strchug(): s/strcpy/memmove/
4898
4899 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4900
4901         * configure.in: Adjusted the test for an unimplemented
4902         getpwuid_r. Info from Michael Pruett <mikep@ugcs.caltech.edu>.
4903
4904 Sun Apr 11 15:07:34 1999  Tim Janik  <timj@gtk.org>
4905
4906         * configure.in: bumped versin number to GLib 1.2.2, interface 2,
4907         binary 2.
4908
4909         * NEWS: updates.
4910
4911 Sun Apr 11 14:37:06 1999  Tim Janik  <timj@gtk.org>
4912
4913         * gstrfuncs.c (g_strcasecmp): always check for s1, s2 != NULL.
4914
4915 Sat Apr 10 19:30:50 1999  Tim Janik  <timj@gtk.org>
4916
4917         * glib.h: removed braces around inline strings for the G_GNUC_FUNCTION
4918         and G_GNUC_PRETTY_FUNCTION macros, so the macros can be used for
4919         compile time string concatenation.
4920
4921 Thu Apr  8 19:53:19 1999  Owen Taylor  <otaylor@redhat.com>
4922
4923         * gmain.c (g_main_iterate): Check for two threads
4924         calling g_main_iterate at once.
4925
4926         * gmain.c: If the set of poll file descriptors changes
4927         during a call to poll(), abort that call, and start
4928         a new poll. My test program still segfaults
4929         obscurely on glibc 2.0 (in read()!!!), but now it works on
4930         glibc 2.1, so I'll blame something else for the other segfault.
4931
4932 1999-03-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4933
4934         * configure.in: Fixed slight bug, that made configure hang on some
4935         systems. Please do not merge this into 1.3 branch. It's taken care
4936         of differently there. Info from J. Rhett Aultman
4937         <cuplan@alley.gator.net>
4938
4939 Wed Mar 24 21:23:47 CST 1999 Shawn T. Amundson <amundson@gtk.org>
4940
4941         * Released GLib 1.2.1
4942
4943         * README:
4944           INSTALL: 
4945           NEWS: 
4946           sanity_check: updated
4947
4948         * glibconfig.h.win32.in:
4949           Makefile.am:
4950           docs/glib-config.1.in:
4951           docs/Makefile.am: Added files used to generate new files.
4952
4953         * glibconfig.h.win32:
4954           docs/glib-config.1: Removed, now generated.
4955
4956         * configure.in: Added to output now-generated files.
4957
4958 Tue Mar 23 13:43:39 PST 1999 Manish Singh <yosh@gimp.org>
4959
4960         * giounix.c: add user_data param to check and prepare functions
4961
4962 Mon Mar 22 03:54:43 1999  Tim Janik  <timj@gtk.org>
4963
4964         * glib.h:
4965         * gmain.c: add user_data to the GSource ->check and ->prepare
4966         functions, so it can be used to e.g. pass a GPollFd.
4967         (g_main_poll): only add poll records with an events mask != 0 to the
4968         fd_array. don't even bother calling poll_func() if fds=timeout=0.
4969         added debugging printouts around poll_func() invokation that can be
4970         enabled with #define G_MAIN_POLL_DEBUG.
4971
4972 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
4973
4974         * acinclude.m4
4975         * config.guess
4976         * config.sub
4977         * ltconfig
4978         * ltmain.sh: upgrade to libtool 1.2f
4979
4980         * autogen.sh: libtool is not required to autogen glib
4981
4982         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
4983         needed)
4984
4985 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4986
4987         * gmem.c: Fixed another stupid fault of mine: Did
4988         s/g_static_/g_private_/g
4989
4990 Wed Mar 17 03:17:42 1999  Tim Janik  <timj@gtk.org>
4991
4992         * configure.in bumped versin number to GLib 1.2.1, interface 1,
4993         binary 1.
4994
4995         * NEWS: updates.
4996
4997         * glib.h: added GLIB_CHECK_VERSION() macro similar to
4998         GTK_CHECK_VERSION().
4999
5000 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
5001
5002         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
5003         to g_return_if_fail().
5004         (g_mem_profile): 
5005         (g_mem_chunk_print): 
5006         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
5007         messages.
5008
5009         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
5010         to g_return_if_fail().
5011         * grel.c (g_*): changed a bunch of g_assert() statements to
5012         g_return_if_fail() and added some extra ones to check relation != NULL.
5013
5014 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5015
5016         * configure.in: Also accept _Pctime_r instead of ctime_r, while
5017         seraching for the right `_REENTRANT' flag. This is for Digital
5018         UNIX 4.0d. Thanks to Sascha Brawer <sb@adasys.ch>.
5019
5020 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
5021
5022         * configure.in: check for working realloc (NULL,).
5023         * gmem.c (g_realloc): use malloc() for initial allocation on systems
5024         where realloc(NULL,) will not work (this is the case on SunOS, reported
5025         by Tom Geiger).
5026
5027 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
5028
5029         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
5030         flag around the call to g_hook_free() to avoid spurious
5031         warnings (happens during destruction phase).
5032
5033 1999-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5034
5035         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
5036         from config.h.win32 to glibconfig.h.win32
5037
5038         * acconfig.h, configure.in, config.h.win32: Added test for DCE
5039         versions of mutex_trylock and cond_timedwait. The win32 versions
5040         are posix, aren't they?
5041
5042 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5043
5044         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
5045         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
5046
5047 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5048
5049         * gutils.c (g_get_any_init): Fixed yet another bloody
5050         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
5051         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
5052         test better than that, but have no idea, how to do that easily.
5053
5054 Sun Feb 21 22:11:51 CST 1999  Shawn T. Amundson <amundson@gtk.org>
5055
5056         * Released GLib 1.2.0
5057
5058         * AUTHORS: updated
5059
5060 Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>
5061
5062         * *.[ch]: inserted additional note to look for ChangeLog and
5063           AUTHORS file for a log of modifications.
5064
5065 Sun Feb 21 14:01:00 1999  Dr Mike <drmike@redhat.com>
5066
5067         * Made specfile generated, tweaked slightly
5068
5069 Sat May  8 06:00:17 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
5070
5071         * configure.in
5072           gmodule/Makefile.am
5073           gthread/Makefile.am: Better testing reveals better
5074           methods.  Fixes for BeOS.
5075
5076 Sat May  8 01:52:29 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
5077
5078         * configure.in
5079           gerror.c
5080           gmain.c
5081           gstrfuncs.c
5082           gutils.c
5083           ltconfig
5084           ltmain.sh
5085           gmodule/Makefile.am
5086           gmodule/gmodule.c
5087           gmodule/gmoduleconf.h.in
5088           gmodule/gmodule-beos.c
5089           gthread/Makefile.am: Port to BeOS by myself and Richard Offer.
5090
5091 1999-05-06  Tor Lillqvist  <tml@iki.fi>
5092
5093         * makefile.msc.in makefile.cygwin.in glibconfig.h.win32.in
5094         config.h.win32.in tests/makefile.msc.in tests/makefile.cygwin.in:
5095         New files, used to generate corresponding non-.in files when
5096         making a dist. This is just so the version numbers will be kept in
5097         synch automatically.
5098
5099         * configure.in: Also substitute @GLIB_MAJOR_VERSION@,
5100         @GLIB_MINOR_VERSION@, and @GLIB_INTERFACE_AGE@.
5101
5102         * Makefile.am tests/Makefile.am: Also distribute makefile.cygwin.
5103
5104         * gerror.c (g_on_error_query): On Win32, put up a MessageBox and
5105         then exit.
5106
5107         * glib.def: Add a couple of functions.
5108
5109 Sat May  1 10:26:20 PDT 1999 Manish Singh <yosh@gimp.org>
5110
5111         * acinclude.m4
5112         * config.guess
5113         * config.status
5114         * ltconfig
5115         * ltmain.sh: upgrade to libtool 1.3
5116
5117 1999-04-25  Tor Lillqvist  <tml@iki.fi>
5118
5119         * README.win32: More editing.
5120         * build-dll: Use gcc, not ld to link.
5121         * glib.h: On native Win32 use _unlink().
5122         * gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
5123         not _MSC_VER.
5124         * gstring.c: Include <io.h> on Win32 for _read prototype.
5125         * gutils.c: Remove old IO channel code (was in #if 0).
5126         * makefile.cygwin: Don't need to link with kernel32 and msvcrt
5127         explicitly, they are included anyway.
5128
5129 1999-04-24  Tor Lillqvist  <tml@iki.fi>
5130
5131         Support added for building using a GNU toolchain on Win32,
5132         i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
5133
5134         * README.win32: Updated.
5135         * build-dll makefile.cygwin tests/makefile.cygwin: New files.
5136         * glib.h glib.def glibconfig.h.win32: Slight updates. 
5137         * gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
5138         * gmain.c gutils.c testglib.c tests/string-test.c: Test for
5139         NATIVE_WIN32, not _MSC_VER.
5140         * gmutex.c: Must declare g_thread_functions_for_glib_use as
5141         exported (using the GUTILS_C_VAR macro).
5142         * gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
5143         * gmodule/gmoduleconf.h.win32: Need underscore with gcc.
5144         * gthread/gthread.c: With gcc on Win32, must use memcpy to assign
5145         value of g_thread_functions_for_glib_use (?).
5146         * makefile.msc tests/makefile.msc: Cosmetics.
5147
5148 Fri Apr 23 14:29:25 BST 1999  Tony Gale <gale@gtk.org>
5149
5150         * glib.h: Fix typo in g_string_ncasecmp macro (by me).
5151           Add b_string_strncasecmp macro.
5152
5153 1999-04-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5154
5155         * gutils.c (g_get_any_init): use sysconf (_SC_GETPW_R_SIZE_MAX) as
5156         the new initinal bufsize for getpwuid_r on systems, that support
5157         this. Hint from Holger Duerer <H.Duerer@zait.uni-bremen.de>.
5158
5159 Sat Apr 17 20:55:13 BST 1999  Tony Gale <gale@gtk.org>
5160
5161         * glib.h, gstring.c: Add new g_string functions for reading
5162           from file/socket descriptors, and tokenising strings.
5163
5164           Added various g_string macros.
5165
5166 Tue Apr 13 23:28:32 1999  Tor Lillqvist  <tml@iki.fi>
5167
5168         * README.win32: Mention the tests directory.
5169
5170         * glib.def: Add the functions from grand.c.
5171
5172         * glibconfig.h.win32: Add unsigned max values, and the format
5173         strings.
5174
5175         * makefile.msc: Add grand.
5176
5177         * tests/{date-test,node-test}.c: Include <stdlib.h> for exit().
5178
5179         * tests/makefile.msc: New file.
5180
5181 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5182
5183         * glib.h: Moved struct declaration up. Style fixes.
5184
5185         * grand.c: Style fixes. Only try to open /dev/random once.
5186
5187         * tests/rand-test.c (main): New tests; Slight bug fix. 
5188
5189 1999-04-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5190
5191         * grand.c, tests/rand-test.c: New files to implement the Mersenne
5192         Twister Pseudo Random Number Generator.
5193
5194         * glib.h, AUTHORS, Makefile.am, tests/Makefile.am: Changed
5195         accordingly.
5196
5197 Thu Apr  8 21:12:30 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
5198
5199         * Released GLib 1.3.0
5200
5201 1999-03-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5202
5203         * configure.in: Added a check for the right format to printf and
5204         scanf long longs. It is %qi instead of %lli on FreeBSD for
5205         whatever reason.
5206
5207 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
5208
5209         * Makefile.am (glibconfig.h): Make sure `glibconfig.h' exists
5210         after the rule is fired.
5211         (install-exec-local): Install glibconfig.h only if the contents
5212         are different from the currently installed glibconfig.h.
5213
5214 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
5215
5216         * Makefile.am (configexecincludedir): Rename from 
5217         configincludedir so that glibconfig.h will be installed 
5218         as part of `make install-exec'. 
5219
5220 Thu Mar 25 22:45:47 1999  Tor Lillqvist  <tml@iki.fi>
5221
5222         * config.h.win32: Update version numbers.
5223
5224         * glibconfig.h.win32: Update version numbers and pthreads-win32-
5225         related magic values.
5226
5227         * README.win32: Some improvements.
5228
5229         * makefile.msc: Add gqueue and gstack. Correct version number.
5230
5231 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
5232
5233         * acinclude.m4
5234         * config.guess
5235         * config.sub
5236         * ltconfig
5237         * ltmain.sh: upgrade to libtool 1.2f
5238
5239         * autogen.sh: libtool is not required to autogen glib
5240
5241         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
5242         needed)
5243
5244 1999-03-18  Jeff Garzik  <jgarzik@pobox.com>
5245
5246         * glib.def: Add new g_list, g_stack, g_queue functions.
5247
5248 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5249
5250         * configure.in: added new AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
5251         to hold various defines to get the right thread implementation on
5252         different platforms. Also look in -ldce for pthread_create. Should
5253         make it work on HP-UX 10.x. Information from "D. Emilio Grimaldo
5254         Tunon" <emilio_tunon@nl.compuware.com>.
5255
5256 1999-03-17  Jeff Garzik  <jgarzik@pobox.com>
5257
5258         * gstack.c, gqueue.c:
5259         Add copyright, clean up code a bit.
5260
5261 1999-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5262
5263         * configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
5264         platforms with only /usr/include/values.h.
5265
5266         * acconfig.h: Removed unnecessary macros.
5267
5268         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
5269         from config.h.win32 to glibconfig.h.win32. Taken from glib 1.2
5270         branch.
5271
5272         * configure.in: Also accept _Pctime_r instead of ctime_r, while
5273         seraching for the right `_REENTRANT' flag. This is for Digital
5274         UNIX 4.0d. Taken from glib 1.2 branch.
5275
5276 Wed Mar 17 03:14:56 1999  Tim Janik  <timj@gtk.org>
5277
5278         * glib.h: added GLIB_CHECK_VERSION() macro similar to
5279         GTK_CHECK_VERSION().
5280
5281 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
5282
5283         * merges from glib-1-2:
5284
5285 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
5286
5287         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
5288         to g_return_if_fail().
5289         (g_mem_profile):
5290         (g_mem_chunk_print):
5291         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
5292         messages.
5293
5294         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
5295         to g_return_if_fail().
5296         * grel.c (g_*): changed a bunch of g_assert() statements to
5297         g_return_if_fail() and added some extra ones to check relation != NULL.
5298
5299 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
5300
5301         * configure.in: check for working realloc (NULL,).
5302         * gmem.c (g_realloc): use malloc() for initial allocation on systems
5303         where realloc(NULL,) will not work (this is the case on SunOS, reported
5304         by Tom Geiger).
5305
5306 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
5307
5308         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
5309         flag around the call to g_hook_free() to avoid spurious
5310         warnings (happens during destruction phase).
5311
5312 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5313
5314         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
5315         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
5316
5317 1999-03-16  Timur Bakeyev  <mc@bat.ru>
5318
5319         * configure.in: Fix problem with pthread_create in libc, as running
5320         "gcc test.c -l " is not legal.
5321
5322 1999-03-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5323
5324         * tests/type-test.c: Added a test for the
5325         G_(U)?INT(16|32|64)_FORMAT and G_(MIN|MAX|MAXU)(SHORT|INT|LONG)
5326         macros.
5327
5328         * configure.in: Removed G_(U)?INT8_FORMAT again, as it can't be
5329         used for scanf.
5330
5331         * configure.in: Added the macros G_MAXU(SHORT|INT|LONG). I do not
5332         know how to handle these on platforms with /usr/include/values.h,
5333         but without /usr/include/limits.h. Please someone add this.
5334
5335
5336 1999-03-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5337
5338         * configure.in: Added the macros G_(U)?INT(8|16|32|64)_FORMAT to
5339         use for printf and (much more important) scanf format strings for
5340         the corresponding GLib types. 
5341
5342         * glib.h Added G_(U)?(SHORT|INT|LONG)_FORMAT for consistency. It
5343         however makes no sense to also provide G_(FLOAT|DOUBLE)_FORMAT, as
5344         they are different for printf (f for both) and scanf (f for float,
5345         lf for double). Defining G_INT_FORMAT makes sense however, as we
5346         might want to define gint to something different than int someday
5347         in the future. Idea from Sascha Brawer <sb@adasys.ch>.
5348
5349 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
5350
5351         * gdate.c:
5352         Commented out debugging output.
5353
5354         * tests/Makefile.am, tests/date-test.c:
5355         Added test of the GDate module, based closely on testgdate.c.
5356
5357         * tests/Makefile.am:
5358         Bugfix - compile tests with @GLIB_DEBUG_FLAGS@.
5359
5360 1999-03-14  Raja R Harinath  <harinath@cs.umn.edu>
5361
5362         * configure.in (glibconfig.h): Remove widechar tests and defines.
5363         (fd_set): Change the grep for `fd_mask' to search for `fd_set'.
5364         * gerror.c (fd_mask): Remove conditional typedef.  It is not used
5365         elsewhere in the file.
5366         * gmain.c (fd_mask): Likewise.
5367
5368 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5369
5370         * configure.in: Test for posix threads first, then for dce threads.
5371
5372 1999-03-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5373
5374         * configure.in: Revamped the thread configure stuff. Now dce
5375         threads (old posix draft) are recogniced. This is necessary,
5376         because dce threads are in fact working quite differently from
5377         posix threads. Also changed the conditions for checking for MT
5378         safe functions a bit, because G_THREADS_IMPL_NONE still have to
5379         compile thread safe. NOTE: Please do not commit my change to
5380         glib-1-2/{acconfig.h,configure.in,config.h.win32} from 1999-03-03,
5381         as the current change will take care of that too.
5382
5383 Tue Mar  9 14:37:32 1999  Jeff Garzik  <jgarzik@pobox.com>
5384
5385         * Makefile.am, glib.h, gstack.c, gqueue.c,
5386           tests/Makefile.am, tests/queue-test.c, tests/stack-test.c:
5387         Added stack, queue ADTs and related tests.
5388
5389         * glib.h, glist.c:
5390         New g_list_delete() function.
5391
5392 Sat Mar  6 11:03:08 1999  Asbjorn Pettersen  <ape@lrdpf.spacetec.no>
5393
5394         * gutils.c (g_get_any_init): add OS/2 changes.
5395         change '\\' in HOME to '/'.
5396
5397 1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
5398
5399         * glib.def: g_spaced_primes_closest was omitted here, so I
5400         couldn't build Xdelta on Windows.
5401
5402 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5403
5404         * gutils.c (g_get_any_init): Fixed yet another bloody
5405         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
5406         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
5407         test better than that, but have no idea, how to do that easily.
5408
5409 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
5410
5411         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
5412         new one.
5413
5414         * configure.in: set glib version to 1.3.0.