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