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