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