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