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