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