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