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