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