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