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