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