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