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