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