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