Make foreach() safe against removal of the _current_ element. While this
[platform/upstream/glib.git] / ChangeLog.pre-2-0
1 Thu May  3 06:38:28 2001  Owen Taylor  <otaylor@redhat.com>
2
3         * g[s]list.c (g_[s]list_foreach) docs/Changes-2.0.txt: Make
4         foreach() safe against removal of the _current_ element. While
5         this could break some code, the new behavior is consistent with
6         the rest of GLib/GTK+ and probably is what people expect in most
7         cases. (Suggested by Paul Kuykendall, #50071)
8
9 Wed May  2 11:10:22 2001  Owen Taylor  <otaylor@redhat.com>
10
11         * gutf8.c (g_utf8_to_ucs4_fast): Fix read past end of the string.
12         (#50404, fix from Jonas Borgström)
13         
14 Sun Apr 29 00:37:34 2001  Tim Janik  <timj@gtk.org>
15
16         * ghook.[hc]: made hook ids a gulong.
17
18 2001-04-20  Dan Winship  <danw@ximian.com>
19
20         * configure.in: Add a check for the Darwin dynamic linker. Use
21         AC_TRY_LINK when checking for "nonposix getpwuid_r" so it notices
22         "no getpwuid_r" correctly.
23
24         * testglib.c (main): Make template[] bigger to prevent an overrun.
25         Remove an unused variable. Initialize error to NULL.
26
27         * tests/gio-test.c (main): Add a cast to prevent a warning when
28         size_t is a long.
29
30         * tests/type-test.c (main): Add an #ifdef to prevent a warning
31         when G_HAVE_GINT64 is defined and G_GINT64_FORMAT isn't.
32
33 2001-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
34
35         * ghash.c, ghash.h: Remove definition of g_hash_table_freeze and
36         g_hash_table_thaw. Instead added G_DISABLE_DEPRECATED-guarded
37         macros to ghash.h to go along the lines of the standard.
38
39         * gscanner.c, gscanner.h: Dito for g_scanner_freeze_symbol_table
40         and g_scanner_thaw_symbol_table.
41
42         * gutils.c, gutils.h: Dito for g_dirname. g_basename is still
43         defined in gutils.c, but declared ing gutils.h only
44         G_DISABLE_DEPRECATED-guarded.
45         
46         * configure.in: Removed bashism in test for the pkg-config
47         version.
48
49         * configure.in: Rewrote test for multithread flag. Now uses
50         localtime_r, which hopefully has a consistent prototype across
51         different platforms. Also it uses a clever double EGREP trick
52         instead of compiling, which could give false positives. Thanks to
53         Dan Winship <danw@ximian.com> for the hint.
54
55 Wed Apr 18 17:35:38 2001  Owen Taylor  <otaylor@redhat.com>
56
57         * gutils.c (_glib_gettext): Add missing static pointed
58         out by Michael Meeks.
59
60 Wed Apr 18 09:37:07 2001  Owen Taylor  <otaylor@redhat.com>
61
62         * MAINTAINERS: Removed. Keeping README, README.cvs-commits
63         HACKING, and AUTHORS up to date is plenty without extra
64         random files that someone thought a module should have.
65         (Actually, I believe this was used for debbugs in the past.)
66
67 Tue Apr 17 11:47:07 2001  Owen Taylor  <otaylor@redhat.com>
68
69         * Released 1.3.4
70
71         * NEWS: Updated
72
73 Tue Apr 17 10:43:36 2001  Owen Taylor  <otaylor@redhat.com>
74
75         * gstrfuncs.c: Define _GNU_SOURCE for stpcpy
76
77         * tests/mainloop-test.c (main): Wait for all threads
78         to start before beginning tests.
79
80 2001-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
81
82         * gthreadpool.c (g_thread_pool_thread_proxy): Until now every
83         thread pool always had at least one tread waiting to avoid
84         switching overhead in case a new task would be added soon after
85         one finished. This however means a big waste of threads, if many
86         mostly inactive thread pools are involved. Now such a waiting
87         thread will only wait for half a second (This value is of course
88         very randomly picked) and go to the global threadpool afterwards.
89
90 Mon Apr 16 12:04:52 2001  Owen Taylor  <otaylor@redhat.com>
91
92         * configure.in: Remove warnings about conflicts with the
93         stable version.
94
95         * glib-2.0.m4: Fix some of the error text to be halfway
96         up to date.
97
98         * README.in INSTALL.in: Add these to generate README, INSTAL
99         (as in the stable branch). Update.
100
101         * HACKING: Update.
102
103 2001-04-16  Havoc Pennington  <hp@redhat.com>
104
105         * gqsort.c: docs
106
107         * gfileutils.c: docs
108
109         * gwin32.c: docs fixes
110
111         * gconvert.c: docs
112
113         * guniprop.c: docs
114
115         * gutf8.c: docs
116
117 2001-04-16  Havoc Pennington  <hp@redhat.com>
118
119         * glib-2.0.m4: put AC_PATH_PROG(pkg-config) before "Checking for
120         glib" so the output looks right 
121
122 2001-03-23  Havoc Pennington  <hp@redhat.com>
123
124         * gutils.c (g_parse_debug_string): make GDebugKeys argument 
125         const
126
127 2001-04-14  Hans Breuer  <hans@breuer.org>
128
129         * glib.def : 
130         * makefile.msc.in : updated
131
132         * gpattern.c : include "gutils.h" to resolve the inline hassle
133
134 2001-04-11  Alexander Larsson  <alexl@redhat.com>
135
136         * glib-2.0.m4: Pass pkg-config options
137         before the other args so it works even if
138         POSIXLY_CORRECT is set.
139
140 Mon Apr  9 18:57:44 2001  Tim Janik  <timj@gtk.org>
141
142         * configure.in: increment version to 1.3.4 (binary 0, interface 0).
143
144 2001-04-05  Christian Rose  <menthos@menthos.com>
145
146         * configure.in: Added sv to ALL_LINGUAS.
147
148 Wed Apr  4 09:18:55 2001  Tim Janik  <timj@gtk.org>
149
150         * Released GLib-1.3.3.
151
152 Tue Apr  3 20:22:59 2001  Tim Janik  <timj@gtk.org>
153
154         * NEWS: updates.
155
156         * NEWS.pre-1-3: take over old news.
157
158 Tue Apr  3 12:38:16 2001  Owen Taylor  <otaylor@redhat.com>
159
160         * glib-config-2.0.in: Exit with an error message that you
161         should use pkg-config instead.
162
163         * configure.in (PACKAGE): Require pkg-config.
164
165         * tests/Makefile.am (EXTRA_DIST): Add utf8.txt.
166
167         * configure.in (GLIB_MICRO_VERSION): Up MICRO to 3,
168         leave interface/binary at 0.
169
170 Tue Apr  3 13:46:22 2001  Tim Janik  <timj@gtk.org>
171
172         * glist.[hc]: added g_list_nth_prev() which walks ->prev instead
173         of ->next.
174
175         * gpattern.[hc]: added shell-style pattern matching code from beast,
176         derived from the gtk_pattern_*() code, but with a couple of bug fixes
177         and a number of optimizations.
178
179 2001-04-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
180
181         * gthreadpool.c: Added documentation.
182
183         * gthreadpool.c: The global thread pool now also is seperated for
184         bound and unbound threads. Only threads with standard stack size
185         go to the global pool. g_thread_pool_new now protects the global
186         setup of inform_mutex etc. with a lock. Fixed some typos. Unlock
187         the queue after g_thread_pool_wakeup_and_stop_all in the proxy.
188
189 2001-04-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
190
191         * gmain.c: Use the new GRealThread member "context" instead of a
192         GStaticPrivate to store the thread specific main loop context.
193
194         * gthread.c: Added "context" member to GRealThread and updated
195         g_thread_create, g_thread_self and g_thread_cleanup accordingly.
196         
197         * gthread.c, gthread.h: Removed the functions
198         g_static_private_(get|set)_for_thread and adapted
199         g_static_private_(get|set) and g_static_private_free
200         accordingly. This fixes Bug #51435.
201         
202 2001-03-30  Sven Neumann  <sven@gimp.org>
203
204         * ghash.[ch]
205         * docs/reference/glib/tmpl/hash_tables.sgml: added new functions
206         g_hash_table_new_full, g_hash_table_replace, g_hash_table_steal and
207         g_hash_table_foreach_steal. Moved most docs out of the template
208         file into the C file. Please proofread the new documentation.
209
210 2001-03-29  Tor Lillqvist  <tml@iki.fi>
211
212         * glib.def: Updates.
213         * tests/makefile.mingw.in
214         * tests/makefile.msc.in: Add module-test rules.
215
216 Mon Mar 26 14:14:53 2001  Owen Taylor  <otaylor@redhat.com>
217
218         * Makefile.am (INCLUDES): -DG_DISABLE_DEPRECATED
219
220         * gmain.h timeloop.c: Surround the cruftiest stuff with
221         #ifndef G_DISABLE_DEPRECATED.
222
223         * gcompat.h gdate.h: Move compat defines back to 
224         gdate.h, surround with #ifndef G_DISABLE_DEPRECATED. 
225         Remove gcompat.h.
226
227 Mon Mar 26 13:34:50 2001  Owen Taylor  <otaylor@redhat.com>
228
229         [ Patch from DindinX  <David.Odin@bigfoot.com>, added docs ]
230  
231         * gstrfuncs.c, gstrfuncs.h: Add g_stpcpy () for platform that don't
232         have stpcpy ().
233         * gstrfuncs.c (g_strjoin, g_strjoinv and g_strconcat): use
234         g_stpcpy () so these functions run much faster.
235         * config.h.win32.in, glib.def: add reference to g_stpcpy ()
236         * configure.in: Add a test for the stpcpy () function.
237  
238 2001-03-20  Havoc Pennington  <hp@redhat.com>
239
240         * gutf8.c (g_utf8_strlen): rewrite, based on bug #52328 from
241         Anders
242
243 2001-03-19  Havoc Pennington  <hp@redhat.com>
244
245         * gutf8.c (g_unichar_validate): added this function
246
247 2001-03-18  Tor Lillqvist  <tml@iki.fi>
248
249         * gspawn-win32.c (SETUP_DEBUG): Add braces to silence gcc -Wall.
250
251         * gspawn-win32-helper.c (write_no_error): Remove unused function.
252
253         * tests/makefile.mingw.in (module-test.exe): Add rules for
254         building module-test.
255
256 Wed Mar 14 18:46:54 2001  Tim Janik  <timj@gtk.org>
257
258         * gscanner.[hc]: removed archaic gpointer derived_data; relict and
259         added a GData member instead.
260         
261         * glist.[hc]: added g_list_remove_all().
262
263         * gslist.[hc]: added g_slist_remove_all().
264
265 Sat Mar 17 19:54:51 2001  Owen Taylor  <otaylor@redhat.com>
266
267         * timeloop.c: Reorder headers to make FreeBSD happy. 
268
269 2001-03-13  Tor Lillqvist  <tml@iki.fi>
270
271         From Edward M. Lee  <tailbert@yahoo.com>:
272
273         * gdate.c (g_date_set_parse): add support for dates that in the
274         form "Wed Mar 14 2001". Running testgdate on cygwin requires this.
275
276 Fri Mar  9 18:01:43 2001  Tim Janik  <timj@gtk.org>
277
278         * gscanner.[hc]: made config arg to g_scanner_new() const.
279
280 2001-03-12  Tor Lillqvist  <tml@iki.fi>
281
282         * tests/Makefile.am (libmoduletestplugin_b_la_LIBADD,
283         libmoduletestplugin_b_la_LIBADD): Link with the libgmodule la only
284         on Win32.
285
286 2001-03-10  Tor Lillqvist  <tml@iki.fi>
287
288         * glibconfig.h.win32.in: Define G_PLATFORM_WIN32 here, too.
289
290         * tests/Makefile.am: Use the _LIBADD dependency on libglib only on
291         Win32.
292
293 2001-03-09  Tor Lillqvist  <tml@iki.fi>
294
295         * README.win32: Update with some information about using configure
296         and libtool.
297
298 2001-03-09  Hans Breuer  <hans@breuer.org>
299
300         * gobject/gobject.def : updated
301
302 2001-03-08  Tor Lillqvist  <tml@iki.fi>
303
304         * glib.def
305         * gobject/gobject.def
306         * gobject/makefile.mingw.in: Update.
307
308 2001-03-08  Sven Neumann  <sven@gimp.org>
309
310         * gtree.[ch]: 
311         * docs/reference/glib/tmpl/trees-binary.sgml: added new function 
312         g_tree_lookup_extended().
313
314 Thu Mar  8 16:23:34 2001  Tim Janik  <timj@gtk.org>
315
316         * ghook.[hc]: destruction cleanup. there's one
317         ->finalize_hook member in the hooklist now that gets
318         called when a hook should be destroyed, that's it.
319         that function is guarranteed to be called only when
320         all ref_counts to the hook vanished, thus also when
321         the hook is not in call.
322
323 2001-03-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
324
325         * configure.in (FLAG_DOES_NOT_WORK): Fix typo and thus bug #51862.
326
327 Wed Mar  7 09:32:06 2001  Tim Janik  <timj@gtk.org>
328
329         * glib-object.h: add gvaluearray.h.
330
331         * gstring.[hc]: fixup naming of g_string_sprint*.
332         
333         * gtypes.h: fixed GCompareDataFunc naming.
334
335 2001-03-07  Christian Meyer  <chrisime@gnome.org>
336
337         * configure.in: Added de (German) to ALL_LINGUAS.
338
339 2001-03-02  Christophe Merlet  <redfox@eikonex.org>
340
341         * configure.in: Added fr (French) to ALL_LINGUAS.
342
343 2001-03-01  Tor Lillqvist  <tml@iki.fi>
344
345         * gutils.c (g_path_is_absolute): (Win32) Remove test for initial
346         double backslash (UNC path), this will of course be matched by the
347         test for an initial G_DIR_SEPARATOR right up front. Silly me.
348         (g_find_program_in_path): Implement on Win32. Append the
349         executable file name suffixes from PATHEXT in turn while looking
350         for the program.
351         (g_find_program_in_path): If the program we are looking for is a
352         relative path in a subdirectory, don't do any path search.
353         (g_get_any_init): (Win32) Also look for the USERPROFILE env var
354         indicating the home directory equivalent.
355         (g_find_program_in_path): (Win32): Use MAXPATHLEN, not PATH_MAX
356         which isn't defined with MSVC.
357
358         * testglib.c (main): Test g_find_program_in_path() on Win32 by
359         looking for more.com and regedit.
360
361         * glib.def: Add g_find_program_in_path.
362
363 2001-02-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
364
365         * gthreadpool.c (g_thread_pool_thread_proxy): Make
366         max_unused_threads work for -1 as well.
367
368 2001-02-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
369
370         * gthread.h (struct _GThread): Change the order to match the order
371         in g_thread_create().
372
373         * gthread.c (g_static_rec_mutex_lock_full): Also do the right
374         thing (behave like 'depth' calls to g_static_rec_mutex_lock) for a
375         mutex, that is already locked.
376
377 Thu Feb 22 10:31:36 2001  Owen Taylor  <otaylor@redhat.com>
378
379         * gmain.c (g_source_remove_poll): Add missing implementation
380         of g_source_remove_poll. (Pointed out by Stefan Westerfeld)
381
382 2001-02-21  Tor Lillqvist  <tml@iki.fi>
383
384         * gutils.c (g_find_program_in_path): Implement on Win32.
385
386         Cygwin support contributed by Stefan Ondrejicka
387         <ondrej@idata.sk>. Hopefully I got it all in while simultaneously
388         adding support for auto*/libtool for mingw.
389
390         * Makefile.am: Changes for auto* support on Cygwin and Win32. Do
391         still distribute the hand-written makefiles and *.win32.in files,
392         though. Use GIO, GSPAWN and PLATFORMDEP macros set by configure.
393         Use -no-undefined. Pass -export-symbols glib.def to libtool.
394         
395         * configure.in: Define G_PLATFORM_WIN32 on both pure Win32 (mingw)
396         and Cygwin. Add AC_CYGWIN, AC_EXEEXT and AC_LIBTOOL_WIN32_DLL
397         calls for Cygwin and mingw support.  Check for %I64u guint64
398         format (in MS C library). Set G_MODULE_IMPL on mingw and
399         Cygwin. Use ac_object and ac_exeext.  Set GIO, GSPAWN, PLATFORMDEP
400         and G_LIBS_EXTRA. Compile timeloop only on Unix. Define OS_WIN32
401         automake conditional on Win32.
402         
403         * glib.h: Include gwin32.h also on Cygwin.
404
405         * gfileutils.c (get_contents_posix): Use O_BINARY (defined as 0 on
406         Unix) for Cygwin's sake.
407
408         * gtimer.c (GETTIME): Reduce #ifdefs, use a macro GETTIME().
409
410         * gconvert.c
411         * gthread.c
412         * gutf8.c
413         * gutils.c: For code needed both on Cygwin and native Win32,
414         test for G_PLATFORM_WIN32.
415
416         * gmarkup.h: Use G_BEGIN_DECLS and G_END_DECLS.
417         
418         * gtypes.h: Refine GLIB_VAR definition. Also check for DLL_EXPORT
419         in case compiling a static library on Win32 or Cygwin.
420
421         * gwin32.c: No <direct.h> on Cygwin. No need for ftruncate() or
422         dirent emulation on Cygwin.
423         (get_package_directory_from_module) Convert return value from
424         GetModuleFileName() to POSIX path on Cygwin.
425
426         * tests/Makefile.am (progs_LDADD): Link with libglib, libgthread
427         and libgmodule as appropriate. Use -no-undefined.
428
429         * gbacktrace.c: Move #ifdefs around a bit on Win32.
430
431 2001-02-21  Tor Lillqvist  <tml@iki.fi>
432
433         * gshell.c (unquote_string_inplace): Make static.
434
435         * gthread.h: Include gtypes.h to be sure to get GLIB_VAR
436         definition, remove definition from here.
437
438         * gunicode.h: Remove duplicate GLIB_VAR definition from here, too.
439
440         * gutils.c: (Win32) Use USERPROFILE as home dir if present. On
441         Win2k, HOMEDRIVE and HOMEPATH aren't reliable.
442         
443         * Makefile.am (INCLUDES): Add -DGLIB_COMPILATION.
444
445         * makefile.mingw.in: Remove install target, Windows isn't Unix.
446         (DEFINES): Add -DDLL_EXPORT.
447
448         * testgdate.c
449         * testgdateparser.c
450         * testglib.c: Undefine GLIB_COMPILATION.
451
452         * testglib.c: Make some vars static. Add Cygwin path tests.
453
454         * glib.def: Updates.
455
456         * .cvsignore
457         * */.cvsignore: Ignore also .obj, .dll, .lib and .exe files.
458
459 2001-02-19  Hans Breuer <hans@breuer.org>
460
461         * glib/glib.def, gobject/gobject.def : added nissing symbols
462
463         * gobject/makefile.msc : updated
464
465         * glib/gmessages.c : call the "debug interrupt" before exiting the
466         program, if build with msvc as debug version. Which gives the opportunity
467         to see the callstack, etc.
468
469         * glib/gthread.c : thread->pid is only defined #ifdef
470         G_THREAD_USE_PID_SURROGATE
471
472 Mon Feb 19 07:32:38 2001  Tim Janik  <timj@gtk.org>
473
474         * glib-config-2.0.in (lib_glib): my name is glib-config-2.0!
475         don't exit with errorcode!=0 for --help or -h.
476         
477         * Makefile.am:
478         * configure.in: build glib-config-2.0.
479
480 2001-02-17  Havoc Pennington  <hp@pobox.com>
481
482         * gthread.c: include string.h
483
484         Applied patch from Soeren Sandmann:
485         
486         * testglib.c: const fixes
487
488         * gwin32.h: format cleanups
489
490         * gutils.c (g_atexit): constify a variable
491         (g_find_program_in_path): constification
492         (g_basename): G_CONST_RETURN
493         (g_path_skip_root): G_CONST_RETURN
494         (g_getenv): G_CONST_RETURN
495         (g_get_user_name): G_CONST_RETURN
496         (g_get_real_name): G_CONST_RETURN
497         (g_get_home_dir): G_CONST_RETURN
498         (g_get_tmp_dir): G_CONST_RETURN
499         (g_get_prgname): G_CONST_RETURN
500         (_glib_gettext): G_CONST_RETURN
501
502         * gunicode.h: formatting cleanups
503
504         * gstrfuncs.c (g_strerror): G_CONST_RETURN
505         (g_strsignal): G_CONST_RETURN
506
507         * gspawn.c (g_execute): const on variables
508
509         * gmessages.c (printf_string_upper_bound): fix const on a variable
510
511         * gmem.c (g_mem_chunk_new): make the "name" arg const
512         (struct _GRealMemChunk): make the "name" field const
513
514         * gfileutils.c (g_file_open_tmp): store const return in a const
515         gchar* variable
516
517         * gdataset.c (g_quark_to_string): G_CONST_RETURN
518
519 Sat Feb 17 07:26:33 2001  Tim Janik  <timj@gtk.org>
520
521         * configure.in (G_MODULE_HAVE_DLERROR): add check for broken RTLD_GLOBAL
522         (on OSF1 V5.0).
523
524 2001-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
525
526         * acconfig.h, configure.in: Reverted the changes necessary to
527         enlarge the system thread for G_THREAD_USE_PID_SURROGATE.
528
529         * gthread.c: Now implement G_THREAD_USE_PID_SURROGATE in gthread.c
530         instead of gthread/gthread-posix.c. While the latter has the
531         advantage, that it is conceptually cleaner, it makes
532         g_thread_self_posix_impl _very_ slow and that hurts
533         GStaticRecMutex and other things. So the new version is less
534         clean, but faster.
535
536 2001-02-09  Havoc Pennington  <hp@redhat.com>
537
538         * gconvert.c (g_convert): don't overwrite errors
539
540         * gerror.c (g_set_error): improve warning message if an error is
541         overwritten     
542         (g_propagate_error): ditto
543
544 2001-02-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
545
546         * gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
547         g_static_rec_mutex_free, g_static_private_init,
548         g_static_private_free, g_static_rw_lock_init to allow the usage of
549         all those types dynamically. (g_static_rw_lock_free already
550         existed). Aditionally freed static_private indeces are reused
551         now. Untill now the array would just grow if you would use more
552         and more static_private. That required adding a slist of all
553         running threads, which could potentially be of good use later. It
554         is not exported however. Renamed a LOCK and small indentation
555         fixes.
556
557         * tests/thread-test.c: Test the new static_private index freing
558         and reusing feature.
559         
560 Mon Feb 12 15:01:09 2001  Owen Taylor  <otaylor@redhat.com>
561
562         * configure.in (gtk_doc_min_version): Add check for gtk-doc version.
563
564 2001-02-10  Tor Lillqvist  <tml@iki.fi>
565
566         * gtypes.h
567         * gutils.h: Move GLIB_VAR definition from gutils.h to gtypes.h
568
569         * glib.def
570         * gmem.h: Mark glib_mem_profiler_table for export.
571
572         * gwin32.c (get_package_directory_from_module): Don't store
573         address of local variable in hashtable.
574
575 2001-02-08  Fatih Demir <kabalak@kabalak.net>
576
577         * configure.in: Added "tr" to ALL_LINGUAS.
578
579 2001-02-04  Tor Lillqvist  <tml@iki.fi>
580
581         * gwin32.c (g_win32_getlocale): Use "nn" for Nynorsk, as nn.po
582         files are appearing now. If the sublanguage starts with '@', don't
583         use a '_' separator. South Africa is 'ZA', not 'SA'.
584
585 Sun Feb  4 07:38:32 2001  Tim Janik  <timj@gtk.org>
586
587         * docs/debugging.txt: s/glib_trap_/g_trap_/. add comments on
588         g_trap_instance_signals, g_trace_instance_signals and
589         GRUNTIME_DEBUG.
590
591         * gmem.c: s/glib_trap_/g_trap_/.
592         
593 2001-02-04  Tor Lillqvist  <tml@iki.fi>
594
595         * tests/Makefile.am (thread_LDADD): Change order of libs,
596         put progs_LDADD last. Needed for cygwin, says jbdoll@kepri.re.kr.
597
598 2001-02-02  Tor Lillqvist  <tml@iki.fi>
599
600         * giochannel.h
601         * giowin32.c
602         * gmain.c: Stylistic cleanups. Use G_STRLOC in g_warning() calls.
603
604         * glib.def: Add missing functions.
605
606 2001-02-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
607
608         * gthread.c, gthread.h: Added g_static_mutex_init to allow
609         initialization of a GStaticMutex, that can not be initialized with
610         G_STATIC_MUTEX_INIT, for example in allocated structures.
611
612 Wed Jan 31 13:46:58 2001  Owen Taylor  <otaylor@redhat.com>
613
614         * acinclude.m4 glib-gettext.m4: Fix problem with --disable-nls.
615
616 2001-01-31  Tor Lillqvist  <tml@iki.fi>
617
618         * glibconfig.h.win32.in: Corresponding change as below to
619         GStaticMutex.
620
621 2001-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
622
623         * gthread.c, gthread.h: Added g_static_mutex_free to allow using
624         GStaticMutexes with limited lifetime without leaking.
625         
626         * configure.in: GStaticMutex doesn't have to provide extra space
627         for debugging information for G_ERRORCHECK_MUTEXES, as then the
628         non-default implementation (runtime_mutex) is used anyway.
629
630         * gthread.h (g_cond_wait): Added debug information for
631         g_mutex_free calls, if G_ERRORCHECK_MUTEXES is defined.
632
633 2001-01-29  Tor Lillqvist  <tml@iki.fi>
634
635         * glibconfig.h.win32.in: Use the same GMutex structure as the
636         configure-generated glibconfig.h does.
637
638         * gstrfuncs.c (g_strsignal): Declare strsignal() on Cygwin, too,
639         says jbdoll@kepri.re.kr.
640
641 2001-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
642
643         * gthread.c: Broadcast the condition, if there are waiting
644         readers, as all might read at the same time. Only signal the
645         writer thread, if there are no more readers.
646
647 2001-01-25  Tor Lillqvist  <tml@iki.fi>
648
649         * makefile.mingw.in
650         * */makefile.mingw.in: Protect the rule to rebuild makefile.mingw
651         if makefile.mingw.in has changed with a check if said .in file
652         exists. (This rule is mainly a convenience for yours truly.)
653
654         * giowin32.c: Socket support rewritten. It was utterly broken, and
655         untested in fact. We still do use a thread for each socket being
656         watched, but instead of blocking in recv() (which of course was
657         plain stupid for sockets being listen()ed on in a server-type
658         application), we block in select(). The read method for sockets
659         calls recv(). It is now possible for the application to call
660         accept(), recv() or send() in the callback, just like on
661         Unix. Tested with code kindly provided by Andrew Lanoix.
662
663         Rename g_io_channel_win32_new_stream_socket() to
664         g_io_channel_win32_new_socket() as it isn't restricted to stream
665         sockets.
666         
667         * gmain.c (g_poll): Related changes in the Win32 version of
668         g_poll(). When polling for messages, always do a PeekMessage()
669         first. We used to miss messages if several were posted between
670         calls to g_poll().
671
672         * giochannel.h: Improve Win32-related comments.
673
674         * gutf8.c: (Win32) Include <stdio.h> for sprintf.
675
676         * tests/gio-test.c: (Win32) Add tests for polling for Windows
677         messages.
678
679         * tests/makefile.mingw.in: Remove superfluous compilation command
680         line.
681
682 2001-01-23  Alex Larsson  <alexl@redhat.com>
683
684         * gmain.c (g_source_callback_unref): Free the callback
685         (g_source_set_callback): Initialize the callback refcount
686
687 2001-01-20  Tor Lillqvist  <tml@iki.fi>
688
689         * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is
690         currently commented out from gutils.h, fix it to return the same
691         CP%d value as g_get_charset().
692
693 2001-01-19  Kjartan Maraas  <kmaraas@gnome.org>
694
695         * gconvert.c: Fix typo.
696         * gfileutils.c: Same here.
697         * configure.in: Added no to ALL_LINGUAS
698         
699 2001-01-17  Tor Lillqvist  <tml@iki.fi>
700
701         * gwin32.c (g_win32_getlocale, g_win32_error_message): Add doc
702         comments.
703         (g_win32_get_package_installation_directory): Add one parameter,
704         the name of a DLL in the package. Add possibility to use that to
705         deduce the installation directory if not entered into the
706         Registry. Make the return value dynamically allocated.
707         (g_win32_get_package_installation_subdirectory): New convenience
708         function.
709
710         * gutils.c (GLIB_LOCALE_DIR)
711         * gwin32.h: Adapt accordingly.
712
713         * testglib.c (main): Adapt tests accordingly.
714
715 Tue Jan 16 23:20:38 2001  Owen Taylor  <otaylor@redhat.com>
716
717         * gutils.c glibintl.h: Optimize for size rather than speed by
718         making _() always call _glib_gettext() instead of conditionally
719         calling gettext() or _glib_gettext_init. glib only uses translated
720         strings in slow error handling code anyways.
721
722         * glibintl.h: g'ify types.
723
724         * Makefile.am: include glibintl.h in _SOURCES
725
726 2001-01-17  Tor Lillqvist  <tml@iki.fi>
727
728         * config.h.win32.in: Define ENABLE_NLS and GETTEXT_PACKAGE.
729
730         * makefile.mingw.in
731         * makefile.msc.in: Use the GNU intl library.
732
733         * gwin32.c (g_win32_get_package_installation_directory): New
734         function. To be used by various GLib-using packages to get their
735         installation directory, which should be stored in the Registry by
736         some installer.
737
738         * gwin32.h: Declare it.
739
740         * testglib.c (main): Test it.
741
742         * gutils.c: On Win32, define GLIB_LOCALE_DIR using
743         g_win32_get_package_installation_directory().
744
745         * glib.def: Update.
746
747 Mon Jan 15 21:39:06 2001  Owen Taylor  <otaylor@redhat.com>
748
749         * glib-2.0.pc.in (Libs) glib-config-2.0.in: Add @INTLLIBS@.
750
751 Mon Jan 15 21:12:49 2001  Owen Taylor  <otaylor@redhat.com>
752
753         * configure.in acconfig.h glibintl.h gutils.c
754         po/{Makefile.in.in,POTFILES.in,po2tbl.in}: Add gettext
755         support.
756
757         * glib-gettext.m4 acinclude.m4: Clean up the GTK+ gettext macros
758         some more and put them in this file, though they also need
759         to be included in acinclude.m4 due to the brokeness of
760         aclocal.
761
762         * gspawn.c gspawn-win32.c gutf8.c gconvert.c gfileutils.c
763         gshell.c: Remove dummy _() #defines, include glibintl.m4.
764
765 2001-01-09  Tor Lillqvist  <tml@iki.fi>
766
767         * giowin32.c: Rework the changes needed to pass mainloop-test. Now
768         we don't need to call TerminateThread() after all, which is a
769         relief, as the docs have a BIG RED WARNING SIGN about using that
770         API. Instead, when closing a fd channel that has a reader thread
771         running, just mark it as non-running and additionally mark the fd
772         as ripe for closing. When the reader thread hopefully eventually
773         gets something (and EOF or some actual data), it will note that it
774         shouldn't be running, break out of the loop, and close the fd.
775
776         The socket channel closing code should probably be changed
777         similarily, but that will have to wait until I have a test case.
778         
779         (g_pipe_readable_msg, g_io_channel_win32_new_pipe,
780         g_io_channel_win32_new_pipe_with_wakeups,
781         g_io_channel_win32_pipe_request_wakeups,
782         g_io_channel_win32_pipe_readable): Remove these, have been
783         obsolete for some time.
784         
785         * gutils.c (g_basename, g_dirname): Don't warn about deprecation
786         on Win32. Code written for GLib 1.2 doesn't have much choice but
787         to use GLib >= 1.3 on Win32.
788
789         * glib.def: Update.
790
791 2001-01-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
792
793         * gmem.c: Made g_profile_mutex a GMutex* instead of
794         G_LOCK_DEFINE_STATIC to avoid deadlock for thread implementations
795         without native static mutexes. Contruct g_profile_mutex in
796         g_mem_init().
797
798 2001-01-06  Tor Lillqvist  <tml@iki.fi>
799
800         * gconvert.c (g_locale_to_utf8, g_locale_from_utf8): Get len using
801         strlen() if arg is negative in the Win32 code, too.
802
803         * giowin32.c: Changes necessary to be able to run
804         mainloop-test. We can't close the fd that our (internal) reader
805         thread is sitting doing a blocking read() from. We must terminate
806         the thread first. Keep track of thread handle, and close it when
807         thread is dying. Start reader thread with the lower-level
808         CreateThread() instead of _beginthreadex() from the C runtime, in
809         order to be able to use TerminateThread(). Hopefuly this isn't
810         harmful.
811
812         * glib.def: Update.
813
814         * tests/makefile.{mingw,msc}.in (TESTS): Add mainloop-test and
815         unicode-encoding.
816
817         * tests/mainloop-test.c: Portability: <unistd.h>, need <fcntl.h>
818         on Win32.
819
820         * tests/unicode-encoding.c (process): Add missing "line" argument
821         to fail(). On Win32, convert UTF-16LE, as libiconv'c ivonf always
822         converts to UTF-16BE if we ask for unspecific UTF-16.
823         (main) Handle also '\r'.
824
825 Fri Jan  5 11:25:42 2001  Owen Taylor  <otaylor@redhat.com>
826
827         * configure.in (PACKAGE): move $enable_debug down below
828         checks for GCC to avoid setting CFLAGS prematurely,
829         change checks to avoid adding -g twice.
830
831         * gutf8.c (g_ucs4_to_utf8): Support len < 0 to mean
832         0 termination.
833
834         * gutf8.c (g_utf8_to_ucs4): Terminate result with 0.
835
836         * tests/mainloop-test.c (main): Fix uses of 
837         g_main_loop_destroy().
838
839         * tests/unicode-encoding.c tests/Makefile.am tests/utf8.txt:
840         Tests for unicode-conversion code.
841
842         * gconvert.c (g_convert, g_convert_with_fallback): work around
843         a couple of GNU libc bugs.
844
845         * gconvert.[ch] (g_{locale,filename}_{to,from}_utf8): Standardize
846         arguments to match g_convert(). Document.
847
848         * gunicode.[ch]: 
849           - Implement conversion functions to and from UTF-16
850           - Standardize unicode conversion functions on prototype like
851             g_convert.
852           - Add a lot of error checking to unicode conversion functions.
853
854         * gunicode.[ch] (g_utf8_to_ucs4_fast): Add fast, non-checking
855         variant of g_utf8_to_ucs4.
856
857         * gutf8.c (g_utf8_validate): 
858          - add g_return_if_fail (str != NULL).
859          - add checks for overlong strings, non-valid Unicode characters (>= 110000)
860            and single surrogates.
861
862 2001-01-05  Tor Lillqvist  <tml@iki.fi>
863
864         * testglib.c (main): Add test for g_path_skip_root().
865
866         * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
867         forward slashes in the template.
868
869         * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
870         part of UNC paths. On all platforms, skip several initial
871         slashes. Add a few comments.
872         (g_get_any_init): On Win32, in case HOME is Unix-style with
873         (forward) slashes (some other applications apparently set it up
874         this way, convert to backslashed form.
875
876         * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
877         although using configure for mingw surely doesn't work yet.
878
879         * glib.def: Update.
880
881 2001-01-02  Havoc Pennington  <hp@redhat.com>
882
883         * configure.in: remove glib-config-2.0
884
885         * Makefile.am: remove glib-config-2.0
886
887 2001-01-03  Havoc Pennington  <hp@pobox.com>
888
889         * tests/Makefile.am (INCLUDES): -I$(top_srcdir)/gmodule, 
890         fix from Michael Meeks
891
892         * Makefile.am (INCLUDES): DISABLE was spelled wrong
893
894 Wed Jan  3 14:10:49 2001  Owen Taylor  <otaylor@redhat.com>
895
896         * gmain.[ch]: Switch GMainLoop to be ref/unref, use to
897         make dropping reference to running loop safe.
898
899 Wed Dec 13 20:41:49 2000  Owen Taylor  <otaylor@redhat.com>
900
901         * gmain.c (g_source_unref_internal): Unref callback->cb_data
902         if it was still set when the source is freed. (Usually, this
903         will be done by g_source_destroy.)
904
905 2001-01-02  Dan Winship  <danw@helixcode.com>
906
907         * garray.h (g_array_append_val, g_array_prepend_val,
908         g_array_insert_val): Use parentheses around an argument to make
909         these cause an error if you pass a non-lvalue for the value,
910         rather than silently doing the wrong thing.
911
912 2000-12-29  Tor Lillqvist  <tml@iki.fi>
913
914         * glibconfig.h.win32.in: Add GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG.
915
916         * glib.def: Update.
917
918         * {.,*}/makefile.{mingw,msc}.in: Add -DG_ENABLE_DEBUG.
919         
920 Fri Dec 29 14:53:18 2000  Tim Janik  <timj@gtk.org>
921
922         * configure.in: we can't grow _cv_ variables by using a backticked
923         expr that refers back to the variable (glib_cv_sizeof_system_thread for
924         G_THREAD_USE_PID_SURROGATE), that'd keep the variable growing every time
925         it's evaluated. quantum states, anyone?)
926
927 Thu Dec 28 10:21:46 2000  Tim Janik  <timj@gtk.org>
928
929         * gmem.[hc]: got rid of outdated dmalloc support. provide g_try_malloc()
930         and g_try_realloc() which _may_ fail and return NULL.
931         nuked g_mem_check(), provided GMemVTable for memory function
932         virtualization, alterable at program startup with g_mem_set_vtable().
933         provided glib_mem_profiler_table and g_mem_profile() to support limited
934         profiling information out of the box (uses mprotect() for free()ed areas
935         on linux).
936         provide globally visible G_MEM_ALIGN.
937         buncha cleanups.
938
939         * docs/macros.txt: file to get a clue about the various configuration
940         macros.
941
942         * docs/debugging.txt: explain debugging traps.
943
944         * configure.in: got rid of --enable-mem-check and --enable-mem-profile,
945         define GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG. check malloc prototypes
946         and define SANE_MALLOC_PROTOS is we can use them.
947         <boy, is this file a mess>
948
949         * gutils.c, gscanner.c: fix up compatibility warnings, use g_message().
950
951 2000-12-27  Tor Lillqvist  <tml@iki.fi>
952
953         * README.win32: Update.
954
955 2000-12-25  Tor Lillqvist  <tml@iki.fi>
956
957         * gmessages.c: (Win32) Use a MessageBox for fatal
958         messages. Collect eror message into a buffer, and display that.
959
960         * glib.def: Update.
961
962         * glibconfig.h.win32.in: Update. Remove unused wchar and wctype
963         macros, add G_MODULE_SUFFIX.
964
965 2000-12-24  Ali Abdin  <aliabdin@aucegypt.edu>
966
967         * Makefile.am, gcompat.h, glib.h: New gcompat.h header file
968           as recommended by Havoc.
969
970         * gdate.c, gdate.h, testgdate.c,
971           docs/reference/glib/glib-sections.txt,
972           docs/reference/glib/tmpl/date.sgml, tests/date-test.c: Rename some
973           of the gdate functions to use the '_get' in their name. Patch
974           reviewed by Havoc.
975                 
976 2000-12-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
977
978         * configure.in: Determine the suffix of the shared librarries for
979         this system. This is done analogous to
980         ltconfig.sh. G_MODULE_SUFFIX in glibconfig.h is set to either
981         "sl", "dll", or (most often) "so".
982
983         * tests/Makefile.am, tests/module-test.c,
984         tests/libmoduletestplugin_a.c, tests/libmoduletestplugin_b.c:
985         Added new testcase for gmodule. This is mostly copied from
986         gmodule/testgmodule.c, but unlike that is is quiet. (Why BTW are
987         some tests that verbose, not to say loquacious...)
988
989 2000-12-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
990
991         * grand.c: Updated G_RAND_DOUBLE_TRANSFORM to be more
992         accurate. Redid g_rand_double() such that it returns 52 bits after
993         the point instead of 32 as before. That OTOH requires calling
994         g_rand_int() twice. Overhauled g_rand_int_range(), which is easier
995         now thanks to the new precision of g_rand_double(). Thanks to
996         Sverre Johansen <sj@ifi.uio.no> for the hint.
997
998         * grand.h: Added g_rand_boolean() and g_random_boolean()
999         macros. While they could be omitted due to extreme simplicity,
1000         they make intention clearer in code and are therefore good to have.
1001
1002         * grand.c, grand.h: Renamed all 'min' and 'max' parameters to'
1003         begin' and 'end' resp. to avoid making people think, that 'max' is
1004         included in the interval. 'end' now isn't, whereas 'begin'
1005         is. That's similar to the use in the STL.
1006
1007         * gslist.c, glist.c: Ok, I'm a moron. When I originally
1008         implemented ENABLE_GC_FRIENDLY, I forgot to include config.h into
1009         the affected files. Now that Alex did that for those two,
1010         inevitable typos surfaced, which are now fixed.
1011         
1012         * garray.c, ghash.c, gqueue.c, gtree.c: Include config.h as well,
1013         as ENABLE_GC_FRIENDLY should be known.
1014
1015 2000-12-19  Alexander Larsson  <alexl@redhat.com>
1016
1017         * configure.in:
1018         Added --disable-mem-pools option.
1019
1020         * glist.c:
1021         * gslist.c:
1022         * gnode.c:
1023         * gmem.c:
1024         Disable free list and memory chunks if DISABLE_MEM_POOLS is defined.
1025
1026 2000-12-17  Tor Lillqvist  <tml@iki.fi>
1027
1028         * gutf8.c (g_utf8_get_charset_internal): (Win32) Use GetACP to get
1029         the current ANSI codepage.
1030
1031         * gunicode.h: Add comment that the static string g_get_charset
1032         sets the parameter to point to should be copied in case the
1033         charset might be changed later in the program.
1034
1035 2000-12-14  Tor Lillqvist  <tml@iki.fi>
1036
1037         * makefile.{mingw,msc}.in: No need to -DGSPAWN_HELPER when
1038         compiling gspawn-win32-helper any longer.
1039
1040         * giowin32.c (g_io_win32_dispatch): Warn if no callback. Call
1041         callback correctly.
1042         (g_io_win32_create_watch): Fix typo.
1043         (g_io_win32_fd_create_watch): Ditto.
1044         (g_io_channel_unix_new): If it is a file descriptor (i.e., a Unix
1045         fd lookalike provided by the C library), call
1046         g_io_channel_win32_new_fd(). If it is a socket (from WinSock),
1047         call g_io_cahnnel_win32_new_stream_socket(). Hopefully sockets and
1048         fds don't overlap. TODO: Implement also datagram sockets.
1049         (g_io_channel_win32_poll): Call g_main_context_get_poll_func().
1050
1051         * gcompletion.h: Include <unistd.h> only on Unix. Is this
1052         inclusion really needed here? OTOH, do include <stddef.h>, for
1053         size_t.
1054
1055         * gmessages.c: (Win32) Don't define a function called "write" that
1056         might clash with the prototype from <io.h>, use a #define.
1057
1058         * glib.def: Update.
1059
1060         * gmain.c (g_source_add_poll): Don't return a value from void
1061         function.
1062         (g_main_context_get_poll_func): Compile also for non-Win32, as
1063         presumably was intended. The result var is a GPollFunc, not a
1064         GPollFunc*. Return the result!
1065
1066 2000-12-13  Havoc Pennington  <hp@redhat.com>
1067
1068         * gconvert.c (open_converter): make static
1069
1070         * gutf8.c (g_utf8_validate): Simplify logic a bit, maybe 
1071         speeding it up - now we just return FALSE if we had to bail out
1072         for any reason before getting to the end of the string, as defined 
1073         by a nul byte if len was -1, defined by the len otherwise. This 
1074         also fixes a bug where nul bytes were not treated as invalid 
1075         when the length was specified.
1076
1077 2000-12-12  Havoc Pennington  <hp@pobox.com>
1078
1079         * gmain.c (g_main_context_destroy): don't try to use thread stuff
1080         unless G_THREADS_ENABLED
1081         (g_main_context_query): ditto
1082         (g_main_context_check): ditto
1083         (g_main_loop_quit): ditto
1084
1085 Tue Dec 12 18:58:22 2000  Tim Janik  <timj@gtk.org>
1086
1087         * ghash.c (g_hash_table_remove): return whether a value
1088         got removed.
1089
1090 Tue Dec 12 15:18:10 2000  Owen Taylor  <otaylor@redhat.com>
1091
1092         * gmain.[ch]: Revert unauthorized changes.
1093
1094 2000-12-12  Elliot Lee  <sopwith@redhat.com>
1095
1096         * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy):
1097         GMainContext useful in implementing some additional styles of
1098         main loop usage.  To do this, however, Joe Hacker needs to be able
1099         to create/destroy GMainContext's at will. This is just an export
1100         of existing functionality, rather than any new functionality.
1101
1102         They are listed in the "Low level functions for implementing custom
1103         main loops" section of the header file, to avoid confusing people.
1104
1105 Sun Dec 10 10:47:11 2000  Owen Taylor  <otaylor@redhat.com>
1106
1107         * gmain.c (g_source_destroy_internal): Remove pollfds
1108         from the context here, not when actually freeing the
1109         source.
1110
1111         * gmain.c (g_source_unref_internal): Free source list
1112         and source, call source->source_funcs->destroy().
1113
1114         * giochannel.c: Unreference io_channel properly.
1115
1116 Thu Dec  7 15:22:30 2000  Owen Taylor  <otaylor@redhat.com>
1117
1118         * tests/mainloop-test.c (recurser_start): Add a bunch
1119         of unrefs.
1120
1121         * gmain.c (g_source_attach): Reference the source
1122         when adding (pointed out by Elliot)
1123
1124 2000-12-08  Raja R Harinath  <harinath@cs.umn.edu>
1125
1126         * acglib.m4 (GLIB_AC_DIVERT_BEFORE_HELP): 
1127         Rename from GLIB_DIVERT_BEFORE_HELP.  
1128         Update to track autoconf 2.49b.
1129         * configure.in: Reflect above change.
1130         (AC_EGREP_HEADER): Rename from really obselete AC_HEADER_EGREP.
1131         (debug_default): Replace "if test `expr ...`" with "case". 
1132
1133         * tests/Makefile.am (TESTS): Rearrange into other variables, and
1134         include run-markup-tests.sh.
1135         (TESTS_ENVIRONMENT): New.  Pass $srcdir to tests.
1136         (noinst_PROGRAMS): Rename to ...
1137         (check_PROGRAMS): ... this.  'automake' ensures that these are
1138         built before running the tests.
1139         * tests/run-markup-tests.sh: Support $srcdir != $builddir.
1140
1141 2000-12-08  Havoc Pennington  <hp@pobox.com>
1142
1143         * tests/Makefile.am (TESTS): move markup-test to noinst_PROGRAMS;
1144         it isn't a proper test, the proper test would be 
1145         run-markup-tests.sh, but that can't go in tests, so we need 
1146         a manual make check rule. Didn't do that yet.
1147
1148 2000-12-07  Raja R Harinath  <harinath@cs.umn.edu>
1149
1150         * gmain.h: Don't put anything after an #endif.
1151         * gmain.c: Likewise.
1152
1153 2000-12-06  Havoc Pennington  <hp@pobox.com>
1154
1155         * tests/strfunc-test.c (main): add g_strdupv test
1156
1157         * gstrfuncs.c (g_strdupv): Add a function to copy 
1158         an array of strings
1159
1160 Tue Dec  5 12:23:04 2000  Owen Taylor  <otaylor@redhat.com>
1161
1162         * gmain.[hc]: Major change in API for creating sources
1163         to handle multiple main loops (GMainContext *). 
1164
1165         GSources are now exposed as GSource * and implemented
1166         with structure derivation.
1167
1168         * giochannel.[ch]: Changed vtable for GIOChannel to correspond
1169         to the new mainloop API, add g_io_channel_create_watch().
1170          
1171         * gtypes.h: Move GTimeVal here.
1172
1173         * gthread.h: Remove gmain.h include to avoid circularity.
1174         
1175         * giounix.c: Update for new GMain API.
1176          
1177         * giowin32.c: Update for new GMain API. (No check for
1178         proper compilation or working.)
1179
1180         * timeloop.c timeloop-basic.c: A benchmarking program for
1181         the main loop comparing the main loop against a 
1182         hand-written (timeloop-basic.c) variant. 
1183
1184         * tests/mainloop-test.c: New torture test of mainloop.
1185         
1186         * docs/Changes-2.0.txt: Started. Added text about
1187         changes to GMain.
1188
1189         * gmain.c (g_main_add_poll_unlocked): Initial fd->revents
1190         to zero. (#8482, Benjamin Kahn)
1191
1192 2000-12-01  Tor Lillqvist  <tml@iki.fi>
1193
1194         * {.,*}/makefile.msc.in: Include make.msc from GLib's build subdir.
1195
1196         * makefile.{mingw,msc}.in (glib_OBJECTS): Add gunibreak.
1197
1198         * glib.def: Update correspondingly.
1199
1200 2000-11-21  Havoc Pennington  <hp@pobox.com>
1201
1202         * gmacros.h: Provide G_CONST_RETURN which is 'const' by default,
1203         and nothing when G_DISABLE_CONST_RETURNS is defined.
1204
1205 2000-11-29  Havoc Pennington  <hp@redhat.com>
1206
1207         * gunidecomp.c (COMBINING_CLASS): 
1208         s/UNICODE_LAST_CHAR/G_UNICODE_LAST_CHAR/
1209
1210         * gunichartables.h: Update for data in Unicode 3.0.1
1211
1212         * gunidecomp.h: Ditto
1213         
1214         * gunicode.h (GUnicodeBreakType): Enum for line break properties
1215         (g_unichar_break_type): Get the break property for a char
1216         
1217         * gunibreak.h: Autogenerated line break property tables
1218
1219         * gunibreak.c (g_unichar_break_type): added 
1220         
1221         * Makefile.am (EXTRA_DIST): dist gen-unicode-tables.pl
1222
1223         * Makefile.am (libglib_1_3_la_SOURCES): Add gunibreak.h, gunibreak.c
1224         
1225         * gen-unicode-tables.pl: Include the script to update the unicode
1226         char tables
1227
1228 2000-11-28  Elliot Lee  <sopwith@redhat.com>
1229
1230         * gmarkup.c: Fix warnings.
1231
1232         * guniprop.c, gunidecomp.c: Make warnings go away by using
1233         GPOINTER_TO_INT() instead of (int).
1234
1235         * gcompletion.[ch]: Add g_completion_set_compare(),
1236         to allow (for example) using case-insensitive completion.
1237
1238 2000-11-28  Tor Lillqvist  <tml@iki.fi>
1239
1240         Patches by Hans Breuer:
1241         
1242         * gspawn-win32.c: Move the code for gspawn-win32-helper to its own
1243         file.
1244
1245         * makefile.{mingw,msc}.in: Change accordingly.
1246
1247         * gspawn-win32-helper.c: New file.
1248
1249         * Makefile.am (EXTRA_DIST): Add it.
1250
1251         * gmarkup.c (find_current_text_end): Fix assertion not to check an
1252         uninitialised variable.
1253
1254 2000-11-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1255
1256         * gthread.c: Set the thread data before locking the mutex, because
1257         the locking call might use g_thread_self ().
1258
1259         * gthread.h: Do only show the location of the locking/unlocking
1260         for -DG_ERRORCHECK_MUTEXES and not the name of the mutex. Add the
1261         errorcheck capability for g_cond_wait and g_cond_timed_wait as
1262         well.   
1263
1264 2000-11-27  Havoc Pennington  <hp@redhat.com>
1265
1266         * gthread.h: Add void in empty function arg list
1267
1268 2000-11-22  Tor Lillqvist  <tml@iki.fi>
1269
1270         * makefile.{mingw,msc}.in: Add gqsort.
1271
1272         * glib.def: Update.
1273
1274 2000-11-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1275
1276         * configure.in: Add a surrogate for thread priorities using PID
1277         niceness for systems with no thread priorities and different PIDs
1278         for threads of the same process (most notably: Linux). Define
1279         G_THREAD_USE_PID_SURROGATE in that case, as used by
1280         gthread-posix.c. Also make the system thread bigger by
1281         sizeof (long) to contain the thread's PID.
1282
1283         * gfileutils.c: Include stdlib.h for mkstemp prototype.
1284
1285         * gthread.c: Add priority range checks to the affected functions.
1286
1287         * gthreadpool.c: Remove unused variable.
1288
1289 Mon Nov 20 18:55:17 2000  Jonathan Blandford  <jrb@redhat.com>
1290
1291         * gtree.[hc]: Patch from David Benson <daveb@idealab.com> to add
1292         user_data support to gtree functions.
1293
1294 Mon Nov 13 18:35:52 2000  Jonathan Blandford  <jrb@redhat.com>
1295
1296         * gtypes.h (GCompareFuncData): new func type to let you use user
1297         data when comparing nodes.
1298
1299         * gslist.c (g_list_sort_with_data): new function to sort with
1300         user_data. 
1301
1302         * glist.c (g_list_sort_with_data): new function to sort with
1303         user_data. 
1304
1305         * garray.[ch]: Added convenience functions to sort arrays.
1306
1307 2000-11-16  Havoc Pennington  <hp@redhat.com>
1308
1309         * guniprop.c (g_unichar_isspace): Use a switch here, maybe helps 
1310         the compiler optimize things. Also, ' ' is a SPACE_SEPARATOR,
1311         so don't special case it.
1312
1313 2000-11-17  Tor Lillqvist  <tml@iki.fi>
1314
1315         * glib.def: Add g_trash_stack entry points.
1316
1317 Fri Nov 17 15:43:00 2000  Owen Taylor  <otaylor@redhat.com>
1318
1319         * Released 1.3.2
1320         
1321         * NEWS: Update.
1322
1323         * tests/Makefile.am (dist-hook): Add code to distribute
1324         markup test files.
1325
1326 2000-11-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1327
1328         * configure.in: Check for the sched.h header and include it on
1329         gthread/gthread-posix.c if available.
1330
1331         * configure.in: Add -D_POSIX4_DRAFT_SOURCE to
1332         GTHREAD_COMPILE_IMPL_DEFINES. Also add -D_POSIX4A_DRAFT10_SOURCE
1333         to G_THREAD_CFLAGS. Really deploy GTHREAD_COMPILE_IMPL_DEFINES,
1334         when searching for thread libs. Look for sched_* functions in
1335         -lrte as well. All of that is necessary on DG/UX.
1336
1337         * configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADERS in
1338         various places to make it work more reliable, to make it accept
1339         macros instead of functions etc.
1340
1341         * configure.in: Replace some NULL's for checks with 0 to make it
1342         work without stdio.h everywhere.
1343
1344         * configure.in, gutils.c: changed the test for getpwuid_r to first
1345         test for a posix version and then for a non-posix version. No code
1346         change in gutils.c. Again this change deals better with getpwuid_r
1347         being a macro and not a function. Most of the above with kind help
1348         from Tethys <tet@isengard.europe.dg.com>. This fixes Bug #13403.
1349         
1350 2000-11-14  Tor Lillqvist  <tml@iki.fi>
1351
1352         * gwin32.h: Make #endif comment match #ifdef.
1353
1354 Mon Nov 13 14:00:20 2000  Owen Taylor  <otaylor@redhat.com>
1355
1356         * configure.in: Up version to 1.3.2
1357
1358         * gconvert.h (enum GConvertError): Remove trailing ,
1359
1360         * gfileutils.c (g_file_open_tmp): Fix comment to 
1361         properly describe return value.
1362
1363 2000-11-13  Tor Lillqvist  <tml@iki.fi>
1364
1365         * config.h.win32.in: Add USE_LIBICONV.
1366
1367         * gconvert.c: Check G_OS_WIN32 only after including glib.h. 
1368
1369         * glib.def: Update.
1370
1371 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1372
1373         * gthread.c (g_static_rec_mutex_*): Made recursive mutexes also
1374         work when the thread system is not (yet) initialized.
1375
1376 Sun Nov 12 18:34:32 2000  Owen Taylor  <otaylor@redhat.com>
1377
1378         * gconvert.[ch]: Create wrapper functions for iconv()
1379         so that we can transparently use the native iconv, 
1380         libiconv, or (in the future) a mini-iconv included
1381         with glib.
1382
1383         * glib-config-2.0.in glib-2.0.pc.in: Include @ICONV_LIBS@
1384
1385         * INSTALL: Added note about libiconv.
1386
1387         * configure.in: Add checks for libiconv from pango. If
1388         EILSEQ is not defined in errno.h add define for it into
1389         glibconfig.h so g_iconv can use it. (Note, recompiling
1390         from a system without EILSEQ to a system with EILSEQ
1391         will break binary compatibility)
1392
1393 2000-11-12  Robert Brady  <robert@suse.co.uk>
1394
1395         * gstrfuncs.c, gstrfuncs.h: Remove g_filename_{to,from}_utf8
1396
1397         * gconvert.c, gconvert.h: Add g_filename_{to,from}_utf8 and
1398         g_locale_{to.from}_utf8.  The locale_ variant honours 
1399         nl_langinfo(CODESET), the filename_ variant uses UTF-8 unless
1400         asked otherwise.
1401
1402         (g_convert): Add G_CONVERT_ERROR_PARTIAL_INPUT error, if bytesread
1403         != length and no bytesread pointer passed.
1404
1405 Sun Nov 12 15:29:53 2000  Owen Taylor  <otaylor@redhat.com>
1406
1407         * gfileutils.[ch]: template is a reserved word in
1408         C++ s/template/tmpl/. 
1409
1410 2000-11-11  Havoc Pennington  <hp@pobox.com>
1411
1412         * gmarkup.c (g_markup_parse_context_parse): Handle a long stream
1413         of bytes containing no UTF-8 character starts
1414
1415 2000-11-11  Tor Lillqvist  <tml@iki.fi>
1416
1417         * glib.def: Add missing entry points.
1418
1419         * gfileutils.c (g_mkstemp): Improve chance to generate unique
1420         names with less effort a bit.
1421
1422         * gfileutils.h: Add g_file_open_tmp() declaration.
1423
1424         * testglib.c: Include <io.h> on Win32.
1425
1426         * makefile.mingw.in: Correct the way to invoke sub-makes.
1427
1428 Sun Nov  5 13:20:54 2000  Owen Taylor  <otaylor@redhat.com>
1429
1430         * glib-object.h: Add gtypemodule.h
1431
1432 2000-11-11  Tor Lillqvist  <tml@iki.fi>
1433
1434         * gfileutils.c (g_file_open_tmp): New function, suggested by Havoc
1435         earlier this month.
1436         (g_mkstemp): Use only one case for letters in temp file name, as
1437         this will be used on systems with case-insensitive file systems.
1438
1439         * testglib.c (main): Test g_mkstemp() and g_file_open_tmp().
1440
1441 2000-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1442
1443         * gthreadpool.c: Don't take other threads with other priorities
1444         into account as changing the priority is highly
1445         unportable. (Actually using it at all already is unportable, but
1446         even sometimes where that works, changing priority is not
1447         possible).
1448
1449 2000-11-05  Havoc Pennington  <hp@pobox.com>
1450
1451         * gmarkup.h: rename G_MARKUP_FOO to
1452         G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG
1453
1454         * gmarkup.c: don't start doc comments with "Returns"
1455         
1456 2000-11-05  Havoc Pennington  <hp@pobox.com>
1457
1458         * gmarkup.c: inline docs
1459         (unescape_text): properly check strtoul for failure.
1460         
1461         * gerror.c (g_propagate_error): Free the src error if the dest
1462         location is NULL - I'm pretty sure that's what this function was 
1463         supposed to do.
1464
1465 2000-11-05  Havoc Pennington  <hp@pobox.com>
1466
1467         * gutils.c (g_find_program_in_path): cleanup docs, sync param 
1468         names to those in the header
1469
1470         * gfileutils.c (g_mkstemp): clean up docs
1471
1472         * gshell.h: sync param names with param names in .c file
1473
1474         * gfileutils.h (enum GFileTest): remove trailing comma from last
1475         member, confuses gtk-doc
1476
1477         * gmarkup.h: s/GMarkupErrorType/GMarkupError/g; to follow
1478         convention
1479
1480 2000-11-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1481
1482         * gasyncqueue.c: Added documentation for asyncronous queues.
1483
1484         * gspawn.c: Include sys/select.h (some platforms need it for
1485         select). 
1486
1487         * gspawn.c: Changed unportable __FUNCTION__ to the verbatim
1488         function name.
1489
1490 2000-10-31  Tor Lillqvist  <tml@iki.fi>
1491
1492         * gutils.c
1493         * gutils.h
1494         * gfileutils.c
1495         * gfileutils.h: Actually, g_mkstemp() is better suited in gfileutils.
1496
1497 2000-10-30  Tor Lillqvist  <tml@iki.fi>
1498
1499         * configure.in: Check for mkstemp.
1500
1501         * gutils.c (g_mkstemp): New function. If HAVE_MKSTEMP, just call
1502         it, otherwise use code lifted from glibc.
1503
1504         * gutils.h: Declare it.
1505
1506         * glib.def: Here, too. Plus two missing functions.
1507
1508 2000-10-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1509
1510         * gcache.h, gcache.c, ghash.h, ghash.c, grel.c, grel.h, gtypes.h:
1511         Introduced new function type GEqualFunc to return TRUE for equal
1512         params. This is now used instead of GCompareFunc (which should
1513         work akin to strcmp) here. This kind of fixes Bug #14412. Note
1514         that technically GCompareFunc and GEqualFunc are still the same
1515         types, as gint == gboolean.
1516
1517         * ghash.h, gutils.c: g_int_equal and g_direct_equal now return
1518         gboolean to be really become GEqualFunc.
1519
1520         * gscanner.c, testglib.c, tests/hash-test.c: Some tiny changes to
1521         follow the above change.
1522
1523 2000-10-27  Tor Lillqvist  <tml@iki.fi>
1524
1525         * makefile.{mingw,msc}.in (glib_OBJECTS): Add gmarkup.
1526
1527         * glib.def: Add missing functions.
1528
1529         * tests/makefile.{mingw,msc}.in (TESTS): Add markup-test.
1530
1531 2000-10-24  Havoc Pennington  <hp@pobox.com>
1532
1533         * gmarkup.h, gmarkup.c: New module to parse a simple
1534         markup language
1535         
1536         * Makefile.am: add gmarkup.h, gmarkup.c
1537
1538         * tests/Makefile.am: add markup-test
1539
1540         * gstring.h (g_string_new_len): new function to create a string
1541         with a length
1542         (g_string_new): avoid a gratuitous realloc
1543
1544 2000-10-26  Tor Lillqvist  <tml@iki.fi>
1545
1546         * makefile.{mingw,msc}.in: Cosmetics.
1547
1548 2000-10-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1549
1550         * gstrfuncs.c (g_strsplit): When the string is ended by a
1551         delimiter, return an extra empty string just like for a delimiter
1552         at the start of the string. This makes the function behave more
1553         consistent and also fixes Bug #15026.
1554
1555 Tue Oct 24 22:09:14 2000  Tim Janik  <timj@gtk.org>
1556
1557         * glib-object.h: added newly added gobject/ headers.
1558
1559         * gmesage.c: print g_message() output to stderr instead of stdout.
1560
1561 2000-10-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1562
1563         * configure.in: Use one = instead of two, which is plainly wrong.
1564
1565 2000-10-19  Tor Lillqvist  <tml@iki.fi>
1566
1567         * makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
1568         with user32.lib.
1569
1570         * gspawn-win32.c
1571         * gfileutils.c: Make them compile with picky MSVC.
1572
1573         * gwin32.h: New file. Move Win32-only stuff that isn't related to
1574         GIOChannels here from giochannel.h.
1575
1576         * Makefile.am: Add it here.
1577
1578         * giochannel.h: Move stuff to gwin32.h.
1579
1580         * glib.h: On Win32, include gwin32.h.
1581
1582 Mon Sep 11 10:03:24 2000  Owen Taylor  <otaylor@redhat.com>
1583
1584         * glib.h convert.c (g_convert_with_fallback): Change
1585         ERROR_OTHER to ERROR_FAILED, add some dummy marking with _().
1586
1587         * docs/reference/glib/glib-sections.txt
1588         docs/reference/glib/glib-docs.sgml Update for g_convert,
1589         g_unicode_validate.
1590
1591 2000-10-16  Tor Lillqvist  <tml@iki.fi>
1592
1593         * glibconfig.h.win32.in: Remove alloca stuff from here. galloca.h
1594         takes care of it, correctly.
1595
1596         * giowin32.c (reader_thread): Some more debugging output.
1597         (g_io_channel_win32_poll): Remove unused vars.
1598
1599         * gfileutils.c: Changes for Win32, with no unistd.h and no
1600         S_ISLNK().
1601
1602         * gspawn-win32.c: Implementation of the g_spwan_* functions for
1603         Win32. Due to the general non-Unixness of Win32, much of the
1604         functionality that is relatively clean to implement on Unix, is
1605         hard to do on Win32. We must use a separate helper program to
1606         change directory, close extra file descriptors, redirect the std
1607         ones, as needed, and only then start the child process. No child
1608         process pid can be returned, unfortunately. Or if we used
1609         CreateProcess directly, it probably could. (Now we use the spawnv*
1610         functions from msvcrt.)
1611
1612         * Makefile.am (EXTRA_DIST): Add gspawn-win32.c
1613
1614         * glib.def: Add new entry points.
1615
1616         * glib.def
1617         * giowin32.c: Remove g_io_channel_win32_wait_for_condition(),
1618         g_io_channel_win32_poll() subsumes it.
1619
1620         * gbacktrace.h: G_BREAKPOINT for MSVC (on the ix86).
1621
1622         * gwin32.c (g_win32_getlocale): Use "sp" for
1623         LANG_CROATIAN+SUBLANG_SERBIAN_LATIN.
1624
1625         * makefile.{mingw,msc}.in (glib_OBJECTS): Add new files.
1626         Add gspawn-win32-helper.exe rule.
1627
1628         * tests/makefile.{mingw,msc}.in (TESTS): Add shell-test and
1629         spawn-test.
1630
1631         * tests/spawn-test.c: (run_tests): On Win32, don't try to run
1632         /bin/sh, but ipconfig (no special significance in choosing that,
1633         just a program that outputs something to stdout).
1634
1635 2000-10-15  Raja R Harinath  <harinath@cs.umn.edu>
1636
1637         Remove need for acconfig.h, and misc. cleanups.
1638         * acglib.m4 (GLIB_SIZEOF): Add 'autoheader' comment to
1639         AC_DEFINE_UNQUOTED.
1640         (GLIB_BYTE_CONTENTS): Likewise.
1641
1642         * configure.in: Add 'autoheader' comments to all AC_DEFINE(...)
1643         and AC_DEFINE_UNQUOTED(...) lines.
1644         Replace AC_MSG_CHECKING/AC_CACHE_VAL with AC_CACHE_CHECK.
1645         (AM_PROG_LIBTOOL): Move after AC_PROG_CC.
1646         
1647         * acconfig.h: Empty out.
1648
1649         * Makefile.am (BUILT_EXTRA_DIST): New variable.  List 'dist'able
1650         files that are created in the builddir.
1651         (dist-hook): Handle those files.
1652         (libglib_1_3_la_SOURCES): Remove @ALLOCA@.  @ALLOCA@ should only
1653         be used in an _LDADD or _LIBADD, since it expands (if necessary)
1654         to 'alloca.o'.
1655
1656         * tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
1657         (dist-hook): Handle $(BUILT_EXTRA_DIST).
1658         
1659 2000-10-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1660
1661         * grand.c: Added inline documentation. 
1662
1663         * gtypes.h, gnode.h, gutils.h: Readded GFreeFunc,
1664         g_node_insert_after and g_find_program_in_path resp., which
1665         mysteriously disappeared during the glib.h dissection.
1666
1667 2000-10-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1668
1669         * glibconfig.h.win32.in: Adapted accordingly to header separation
1670         and GLIB_HAVE_ALLOCA_H renaming.
1671
1672         * Makefile.am: Added the new headers to glibinclude_HEADERS.
1673
1674         * glib.h: Forgot to include gerror.h.
1675
1676         * glib.h, galloca.h, garray.h, gasyncqueue.h, gbacktrace.h,
1677         gcache.h, gcompletion.h, gconvert.h, gdataset.h, gdate.h, ghash.h,
1678         ghook.h, giochannel.h, glist.h , gmacros.h, gmain.h, gmem.h,
1679         gmessages.h, gnode.h, gprimes.h, gquark.h, gqueue.h, grand.h,
1680         grel.h, gscanner.h, gslist.h, gstrfuncs.h, gstring.h, gthread.h,
1681         gthreadpool.h, gtimer.h, gtree.h, gtypes.h, gutils.h: Split glib.h
1682         into many header files mostly according to the resp. *.c-files.
1683         
1684         * gmacros.h: Added G_BEGIN_DECLS and G_END_DECLS to mean: 'in case
1685         of C++: extern "C" { ... }' analogous to glibc __BEGIN_DECLS and
1686         __END_DECLS.
1687
1688         * configure.in, gerror.h, gfileutils.h, gshell.h, gspawn.h,
1689         gunicode.h, : Changed guard-macro names to something more
1690         consistent.
1691
1692         * configure.in, *.h: Use G_BEGIN_DECLS and G_END_DECLS.
1693
1694         * configure.in: Defined GLIB_HAVE_ALLOCA_H instead of including
1695         alloca.h in glibconfig.h, GLIB_HAVE_ALLOCA_H is used in glib.h.
1696
1697         * configure.in: Removed cruft from old threading code.
1698
1699 2000-10-09  Raja R Harinath  <harinath@cs.umn.edu>
1700
1701         Work with beta autoconf 2.50.
1702         * configure.in (GLIB_MAJOR_VERSION): Use GLIB_DIVERT_BEFORE_HELP
1703         instead of AC_DIVERT_PUSH(),AC_DIVERT_POP.
1704         (AC_CHECK_HEADERS): Remove redundant AC_DEFINE(HAVE_...).
1705         (REALLOC_0_WORKS): Move AC_DEFINE outside AC_CACHE_VAL.
1706         (dlopen): Quote nested AC_CHECK_... calls.
1707
1708         * acglib.m4 (GLIB_TR_SH, GLIB_TR_CPP): Utility macros copied from
1709         beta autoconf 2.50.
1710         (GLIB_DIVERT_BEFORE_HELP): New macro that works both with autoconf
1711         2.13 and beta autoconf 2.50.
1712         (GLIB_SIZEOF, GLIB_BYTECONTENTS): Use GLIB_TR_*.
1713
1714         * Makefile.am (CONFIGURE_DEPENDENCIES): Use this to specify
1715         that 'configure' depends on acglib.m4.
1716
1717 2000-10-09  Havoc Pennington  <hp@redhat.com>
1718
1719         * Makefile.am, tests/Makefile.am: Add new files.
1720
1721         * tests/spawn-test.c, tests/shell-test.c: new tests for
1722         the shell/spawn stuff
1723
1724         * gutils.c (g_find_program_in_path): convert a relative
1725         program name into an absolute pathname to an existing 
1726         executable
1727
1728         * gspawn.h, gspawn.c: New fork/exec API
1729
1730         * gshell.h, gshell.c: Shell-related utilities, at the moment
1731         simply routines to parse argv and quote/unquote strings
1732
1733         * guniprop.c (g_unichar_isspace): Return TRUE for the 
1734         ASCII space characters isspace() returns TRUE for.
1735
1736         * gfileutils.c (g_file_get_contents): Convenience function 
1737         to slurp entire file into a string and return it. Partially
1738         written by Joel Becker.
1739         (g_file_test): file test function
1740
1741 2000-10-06  Tor Lillqvist  <tml@iki.fi>
1742
1743         * makefile.msc.in: Revamp to be like makefile.mingw.in, make
1744         the MSVC build actually work again.
1745
1746         * gmodule/makefile.msc.in
1747         * gobject/makefile.msc.in
1748         * gthread/makefile.msc.in: New files, like their mingw counterparts.
1749
1750         * gmodule/Makefile.am
1751         * gobject/Makefile.am
1752         * gthread/Makefile.am: Make and distribute them.
1753
1754         * */makefile.mingw.in: Allow override of GLib version number from
1755         the build/win32/module.defs file.
1756
1757         * glib.def: Add new entry point.
1758
1759         * tests/gio-test.c (main): Fix the Win32-only code to use current
1760         API, g_io_channel_win32_make_pollfd() and g_io_channel_win32_poll().
1761
1762         Fixes from Hans Breuer:
1763
1764         * glib.h (struct DIR): Keep the last readdir result cached inside
1765         the DIR struct, to enable several DIRs being open simultaneously.
1766
1767         * gwin32.c (g_win32_readdir): Use the above instead of static.
1768
1769         * giowin32.c (g_io_channel_win32_make_pollfd): Insert cast to keep
1770         MSVC happy.
1771
1772 2000-10-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1773
1774         * glib.h: Changed alloca stuff a bit: when we have a working
1775         alloca.h, we're not messing with alloca any further. Should fix a
1776         bug reported by Bernd Demian <wega@csc-dd.de>.
1777
1778 2000-09-29  Jonathan Blandford  <jrb@redhat.com>
1779
1780         * gnode.c (g_node_insert_after): Added function to keep symmetry
1781         with g_node_insert_before. 
1782
1783 2000-09-29  Martin Baulig  <baulig@suse.de>
1784
1785         Several minor ANSI C fixes.
1786
1787         Added missing casts:
1788         * gdate.c (g_date_fill_parse_tokens): `s = (guchar *) str'.
1789         * gmain.c (g_idle_dispatch): `func = (GSourceFunc) source_data'.
1790         (g_idle_add_full): `(gpointer) function' in call to g_source_add().
1791         * gstrfuncs.c (g_strdown): `s = (guchar *) string' and
1792         `return (gchar *) string'.
1793         (g_strup): Likewise.
1794         (g_strchug): `start = (guchar*) string' in 1st for() argument;
1795         `strlen ((gchar *) start)' in call to g_memmove().
1796         * gstring.c (g_string_down): `s = (guchar *) string->str'.
1797         (g_string_up): Likewise.
1798         * gthreadpool.c (stop_this_thread_marker):
1799         `(gpointer) &g_thread_pool_new'.
1800         * gunidecomp.h (decomp_table[]): Cast all the strings to
1801         `unsigned char *'.
1802
1803         Put text following #endif into comments:
1804         * gmain.c: here.
1805
1806 2000-09-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1807
1808         * configure.in, glib.h: Added errorcheck mutexes. These are
1809         activated through the preprocessor symbol
1810         G_ERRORCHECK_MUTEXES. Need to add an extra word to StaticMutex in
1811         order to achieve this. g_(static_)mutex_* functions instrument the
1812         mutex operations with mutex name and location, when compiled with
1813         -DG_ERRORCHECK_MUTEXES. g_thread_init activates the errorcheck
1814         mutexes, when compiled with -DG_ERRORCHECK_MUTEXES.
1815
1816 2000-09-28  Havoc Pennington  <hp@pobox.com>
1817
1818         * glib.h (GThreadPriority): fix indentation
1819         (GConvertError): generic error is conventionally called
1820         _FAILED rather than _OTHER, at least at the moment, 
1821         according to GError docs in docs/reference.
1822
1823         * gconvert.c: s/_OTHER/_FAILED/
1824
1825 2000-09-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1826
1827         * configure.in: Adjusted the test for an unimplemented
1828          getpwuid_r. Info from Michael Pruett. This is just a forward
1829          merge from glib-1-2.
1830
1831         * configure.in: Moved determination of G_THREAD_FLAGS before
1832         G_THREAD_LIBS. Check for UnixWare systems and set the right cflags
1833         and libs there (it needs -Kthread for the native compiler and
1834         -pthread for gcc). Thanks to Boyd Lynn Gerber <gerberb@zenez.com>
1835         for the info.
1836
1837         * configure.in: Fail immediately, when no thread library is found,
1838         instead of continuing searching for rt libs etc. Changed almost
1839         all occurances of $enable_threads to $have_threads, as that's,
1840         what we want.
1841
1842         * tests/threadpool-test.c: Define vars inside the guard to avoid
1843         warnings.
1844
1845         * configure.in, tests/type-test.c: Some platforms support 64 bit
1846         'long long', but you can not printf or scanf them. In that case,
1847         don't define G_G{UINT|INT}64_FORMAT. Changed the type-test program
1848         to reflect that.
1849
1850         * gutils.c (g_get_current_dir): max_len can't be initialized
1851         statically as it might call a function. So do it at first call.
1852
1853 Tue Sep 26 2000 Elliot Lee <sopwith@redhat.com>
1854
1855         * glib.h: Add G_GNUC_PURE macro (but don't use it anywhere).
1856
1857 Mon Sep 25 2000 Elliot Lee <sopwith@redhat.com>
1858
1859         * garray.c, glib.h, gmem.c: Add a few missing G_GNUC_CONST's.
1860
1861 2000-09-21  Tor Lillqvist  <tml@iki.fi>
1862
1863         * makefile.mingw.in: Add gconvert.o. Use libiconv.
1864
1865         * config.h.win32.in: Define HAVE_GETCWD.
1866
1867         * glib.def: Add new entry points.
1868
1869 2000-09-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1870
1871         * configure.in: The last released automake (1.4) still requires
1872         AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL, so use that for the
1873         time being.
1874
1875 2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1876
1877         * acconfig.h, configure.in, gutils.c: Test for the existence of
1878         getcwd, and use it only when found.
1879
1880         * glib.h: Only use the gcc-variable-macro-argument-extension for
1881         gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
1882
1883 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
1884
1885         * gutf8.c: Implement g_ucs4_to_utf8 which was in
1886         the header file but not implemented.
1887
1888 Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com>
1889
1890         * glib.h configure.in: Define g_alloca() as an
1891         alloca-that-works-anywhere.
1892
1893         * gconvert.c: Fix warnings which could have caused problems on
1894         64-bit platforms.
1895
1896 Sun Sep 10 12:37:40 2000  Owen Taylor  <otaylor@redhat.com>
1897
1898         * glib.h gconvert.c (g_convert): Havoc Pennington's implementation 
1899         of convenient character set conversion using iconv, with
1900         the addition of GError. We probably need a fallback that
1901         just does conversions between, say UTF-8,16,32 and ISO-8859-1
1902         for targets without iconv at all.
1903
1904         Also add g_convert_with_fallback() to take care of conversions 
1905         where we accept some loss going to the target encoding.
1906
1907 2000-09-10  Havoc Pennington  <hp@redhat.com>
1908
1909         * gutf8.c (g_utf8_validate): Add this function.
1910
1911 Sat Sep  9 18:50:42 2000  Owen Taylor  <otaylor@redhat.com>
1912
1913         * gstrfuncs.c (g_strescape): Add a missing g_return_if_fail().
1914
1915 Mon Aug 21 03:57:46 2000  Tim Janik  <timj@gtk.org>
1916
1917         * glib.h (G_BREAKPOINT): for non-i386 and non-alpha, or non gcc,
1918         implement BREAKPOINT() as raise (5 /* SIGTRAP */);
1919
1920         * glib.h: provide user-definable switch G_IMPLEMENT_INLINES,
1921         to turn on compilation of inline function implementations provided
1922         in header files with extern linkage.
1923         wrap inline function implementations into ifdef __G_UTILS_C__, so we
1924         really only compile them for gutils.c and not also into arbitrary user
1925         code that wants to make use of G_IMPLEMENT_INLINES.
1926         adjusted comment apropriately.
1927
1928         * gutils.c: to turn on compilation of inline functions, provide
1929         #define G_IMPLEMENT_INLINES 1 and #define __G_UTILS_C__.
1930
1931 2000-09-06  Havoc Pennington  <hp@redhat.com>
1932
1933         * gerror.c: docs
1934
1935         * docs/reference/glib/tmpl/error_reporting.sgml: docs
1936
1937 Wed Sep  6 10:28:34 2000  Owen Taylor  <otaylor@redhat.com>
1938
1939         * guniprop.c gunicode.h gutf8.c: Some inline docs fixes.
1940
1941 2000-09-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1942
1943         * glib.h, gtimer.c, tests/thread-test.c:
1944         s/G_MICROSEC/G_USEC_PER_SEC/
1945
1946         * glib.h: Removed G_G{U}{SHORT|INT|LONG}_FORMAT from glib.h, as
1947         they are really superfluous.
1948
1949 Tue Sep  5 20:16:27 2000  Owen Taylor  <otaylor@redhat.com>
1950
1951         * configure.in docs/Makefile.am: Add gtk-doc checks
1952         for newly added docs/reference/ subdir.
1953
1954 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1955
1956         * gthread.c (g_thread_error_quark): Don't use a G_LOCK, as it
1957         isn't necessary.
1958
1959 2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1960
1961         * gstring.c (g_string_free): Use g_return_val_if_fail instead of
1962         g_return_if_fail, as the function now is supposed to return
1963         something.
1964
1965         * gerror.c, gerror.h (g_propagte_error): Added function
1966         g_propagte_error to hand over local errors to the calling
1967         function.
1968
1969         * glib.h: Include gerror.h before it is used for some g_thread_*
1970         functions.
1971
1972         * gthread.c, gthreadpool.c, glib.h: Enable error reporting for
1973         thread creation, namely for g_thread_create, g_thread_pool_new,
1974         g_thread_pool_push and g_thread_pool_set_max_threads.
1975
1976         * tests/thread-test.c, tests/threadpool-test.c: Adapted
1977         accordingly.
1978
1979 2000-08-31  Tor Lillqvist  <tml@iki.fi>
1980
1981         * glib.h
1982         * glib.def
1983         * giowin32.c (g_io_channel_win32_make_pollfd): New function, to
1984         make a GPollFD from a GIOChannel. Creates the events and starts
1985         the reader thread if necessary.
1986
1987         * glib.h
1988         * giowin32.c (g_io_channel_win32_poll): No use for separate
1989         condition parameter.
1990
1991         * gmain.c (g_get_current_time): (Win32): Simplify, use
1992         GetSystemTimeAsFileTime().
1993
1994 2000-08-27  Tor Lillqvist  <tml@iki.fi>
1995
1996         * giowin32.c (g_io_channel_win32_poll): New function, otherwise
1997         like g_io_channel_win32_wait_for_condition(), but accept several
1998         GPollFDs.
1999         (g_io_channel_win32_wait_for_condition): Call
2000         g_io_channel_win32_poll().
2001
2002         * glib.h: Declare g_io_channel_win32_poll().
2003
2004         * gwin32.c (g_win32_error_message): Don't believe return value
2005         from FormatMessage.
2006
2007 2000-08-25 Elliot Lee <sopwith@redhat.com>
2008
2009         * glib.h, gunicode.h, gmodule/gmodule.h:
2010         Mark the following functions G_GNUC_CONST (to allow optimization)
2011         because their results are a function of only their parameters: 
2012         g_int_hash, g_int_equal, g_direct_hash, g_direct_equal,
2013         g_quark_to_string, g_date_is_leap_year, g_date_days_in_month,
2014         g_date_monday_weeks_in_year, g_date_sunday_weeks_in_year,
2015         g_spaced_primes_closest, g_unichar_is*, g_unichar_to*,
2016         g_unichar_*digit_value, g_unichar_type
2017
2018 2000-08-21 Elliot Lee <sopwith@redhat.com>
2019
2020         * gobject/Makefile.am, gobject/gobject-query.c,
2021         gobject/gparamspecs.c: Fix inclusion of config.h
2022
2023 Mon Aug 21 14:46:23 2000  Owen Taylor  <otaylor@redhat.com>
2024
2025         * tests/gio-test.c: Fix a couple of trivial bugs that
2026         were causing warnings.
2027
2028 Mon Aug 21 14:39:36 2000  Owen Taylor  <otaylor@redhat.com>
2029
2030         * glib.h: Use C99 varargs macros where possible 
2031         (check __STDC_VERSION__), otherwise, on gcc, use an alternate 
2032         form of gcc varargs which is more likely
2033         to be supported going forward. (Based on some code
2034         from Raja Harinath)
2035
2036 2000-08-17  Darin Adler  <darin@eazel.com>
2037
2038         * glib.h:
2039         * garray.c: (g_array_free), (g_ptr_array_free),
2040         (g_byte_array_free): Return the data left behind.
2041         * gstring.c: (g_string_free): Return the data left behind.
2042
2043         Changed the free calls that leave data behind so they
2044         return a pointer to the left-behind data, NULL if told not
2045         to leave anything behind. This makes these calls easier
2046         to use correctly, without any incompatible API change for
2047         callers that don't know about the return value. Of course,
2048         it would be even clearer if the free calls weren't dual-purpose
2049         in the first place.
2050
2051 2000-08-12  Tor Lillqvist  <tml@iki.fi>
2052
2053         * giowin32.c: Some indentation and spacing fixes. Add some more
2054         logging.
2055         (g_io_win32_add_watch): New function, with common code from
2056         g_io_win32_fd_add_watch and g_io_win32_sock_add_watch. Don't start
2057         more than one reader thread for a GIOChannel. We should obviously
2058         have just one reader thread reading a file descriptor or socket.
2059
2060 2000-08-10  Havoc Pennington  <hp@redhat.com>
2061
2062         * gthread-2.0.pc.in (Cflags): don't duplicate glib Cflags
2063
2064         * gmodule-2.0.pc.in (Cflags): don't duplicate glib Cflags
2065
2066         * gobject-2.0.pc.in (Cflags): don't duplicate Cflags from glib
2067         itself
2068
2069 2000-08-10  Havoc Pennington  <hp@redhat.com>
2070
2071         * glib-2.0.pc.in (Cflags): Look in glib-2.0/include for
2072         glibconfig.h
2073
2074 2000-08-07  Tor Lillqvist  <tml@iki.fi>
2075
2076         * tests/gio-test.c (shutdown_source): New function, that calls
2077         g_source_remove(). Check return value of g_source_remove(), and
2078         decrement running subprocess counter only if g_source_remove()
2079         actually did remove the source.
2080
2081         (recv_message): Call shutdown_source() on EOF condition. Return
2082         FALSE on G_IO_HUP and G_IO_ERR condition. Fix printf format typo.
2083
2084 Sun Aug  6 20:06:02 2000  Tim Janik  <timj@gtk.org>
2085
2086         * gmessages.c (g_log_domain_check_free): keep *last updated while
2087         running through the domain list, so we don't screw up the removal,
2088         patch provided by Gady Kozma <gadykozma@hotmail.com>.
2089
2090 Sun Aug  6 20:03:41 2000  Tim Janik  <timj@gtk.org>
2091
2092         * gmessages.c (g_log_remove_handler): keep *last updated while running
2093         through the handler list, so we don't screw up the removal.
2094
2095 Sun Jul 30 16:54:13 2000  Owen Taylor  <otaylor@redhat.com>
2096
2097         * gunicode.h: Fix stray character
2098
2099         * gutf8.c (g_unichar_to_utf8): Allow outbuf to be NULL, in
2100         which case we just compute the length.
2101
2102 2000-07-31  Havoc Pennington  <hp@redhat.com>
2103
2104         * Makefile.am (EXTRA_DIST): forgot to add .pc.in to EXTRA_DIST
2105
2106 2000-07-31  Havoc Pennington  <hp@redhat.com>
2107
2108         * glib-2.0.pc.in, gobject-2.0.pc.in, gmodule-2.0.pc.in,
2109         gobject-2.0.pc.in: pkg-config data files         
2110
2111         * Makefile.am: Install/dist the .pc files
2112
2113         * configure.in: Output the .pc files
2114
2115 2000-07-31  Tor Lillqvist  <tml@iki.fi>
2116
2117         * giowin32.c (buffer_read): The code didn't compile (must
2118         have been sleepy when committing). "return" instead of "break"
2119
2120         (g_io_win32_fd_add_watch): Cannot check if the file descriptor is
2121         readable by calling ReadFile to read zero bytes. ReadFile blocks
2122         on NT even if trying to read nothing at all. So, don't check if
2123         file descriptor is readable; assume this function isn't called
2124         otherwise.
2125
2126 Sun Jul 30 10:44:16 2000  Tim Janik  <timj@gtk.org>
2127
2128         * gmain.c (g_get_current_time): fix tor's recent changes which
2129         got rid of a required variable in the non-windows path.
2130
2131 2000-07-30  Tor Lillqvist  <tml@iki.fi>
2132
2133         Finally, a new and improved IO Channel and condition watch
2134         implementation for Win32. Based on code provided by Craig Setera.
2135
2136         When watching file descriptors, for which there is no select()
2137         like functionality on Win32 that would work on all Win32 platforms
2138         for all types of file descriptors (including anonymous pipes), we
2139         start a new thread that blocks while trying to read from the file
2140         descriptor. When the read returns, a Win32 Event is signalled that
2141         the polling routine eventually notices. Meanwhile, the data being
2142         read is stored in a circular buffer, from where the IO channel's
2143         read() method picks it up.
2144
2145         If the buffer fills up the reading thread has to wait for space
2146         becoming available. For this another Win32 Event is used. The IO
2147         Channel's read() method signals this when it has read some data
2148         out of the buffer.
2149
2150         The separate reader thread(s), and the circular buffer(s) with
2151         associated events mean lots of possibilities for fun parallelism
2152         errors. But it seems to work OK, i.e. GIMP runs.
2153
2154         * gmain.c: Small changes to the Win32 polling function.
2155         (g_main_win32_get_poll_func): New function. Perhaps it would be a
2156         good idea to provide this on all platforms.
2157
2158         * giowin32.c: The bulk of the new implementation.
2159         (g_io_channel_win32_wait_for_condition): New function. To be used
2160         where on Unix one does a select() on the channel's fd, like
2161         libgimp's gimp_extension_process(). Could be provided on all
2162         platforms.
2163
2164         * glib.h: Update documentation for IO Channels on Win32. Remove
2165         the declarations for the as of now obsolete old functions related
2166         to IO Channels for pipes with "wakeup" messages.
2167
2168         * glib.def: Some new functions.
2169
2170         * tests/gio-test.c: New file, to test GIOChannel and main loop.
2171
2172         * tests/Makefile.am
2173         * tests/makefile.mingw.in: Add it.
2174
2175         (Later the same night:)
2176
2177         * giowin32.c: Compile in the debugging code all the time, but only
2178         output debug messages if told so. Add (unadvertised) function to
2179         turn on/off debug messages for a channel.
2180
2181         (buffer_read): Don't loop. It is expected behaviour to return a
2182         short read occasionally, for instance when reading from
2183         pipes. It's the calling code that should loop if it *knows* how
2184         much the writer has written.
2185
2186         * tests/gio-test.c: Correct the program's name in the output.
2187         (recv_message): Loop calling g_io_channel_read() (in a new
2188         function read_all()) until we have all the bytes we want (that we
2189         know the writer has written/will write).
2190
2191 Thu Jul 27 05:15:11 2000  Tim Janik  <timj@gtk.org>
2192
2193         * gstrfuncs.c (g_strlcpy, g_strlcat): completed tor's fix
2194         to cover both #ifdef branches.
2195
2196 2000-07-26  Tor Lillqvist  <tml@iki.fi>
2197
2198         * gstrfuncs.c (g_strlcpy, g_strlcat): Return 0 on error, not NULL.
2199
2200         * glib.def: Add g_strlcpy, g_strlcat.
2201
2202         * glibconfig.h.win32.in: Add gsize and gssize.
2203
2204 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
2205
2206         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
2207         updates the license headers to the GNU Lesser General Public License,
2208         as well as updating the copyright year to 2000.
2209
2210 Wed Jul 26 05:47:48 2000  Tim Janik  <timj@gtk.org>
2211
2212         * configure.in:
2213         * testglib.c:
2214         * gstrfuncs.c:
2215         * glib.h: added g_strlcat() and g_strlcpy() wrappers, supplied by
2216         David Wheeler <dwheeler@ida.org>:
2217
2218         * glib.h, gstrfuncs.c: added g_strlcpy and g_strlcat to support
2219           safe manipulation of fixed-length string buffers.
2220           These functions were originally developed by Todd Miller to simplify
2221           development of security-related programs, and
2222           are available on many (but not all) Unix-like systems,
2223           including OpenBSD, FreeBSD, and Solaris.  See
2224           ftp://ftp.openbsd.org/pub/OpenBSD/src/lib/libc/string/strlcpy.3
2225           and http://www.openbsd.org/security.html.
2226           If there's a strlcpy/strlcat on the system, it's called, otherwise
2227           an implementation is provided.
2228
2229         * testglib.c: Added tests for g_strlcpy, g_strlcat.
2230
2231 Wed Jul 26 05:03:24 2000  Tim Janik  <timj@gtk.org>
2232
2233         * acglib.m4 (GLIB_SIZEOF): include <stdlib.h> and <stddef.h> if
2234         STDC_HEADERS is defined.
2235
2236         * glib.h:
2237         * glibconfig.h: define gsize and gssize in terms of GLIB_SIZEOF_SIZE_T
2238
2239         * glib.h (g_return_if_reached): applied darin's fix for copy'n
2240         paste error in the macro implementation.
2241
2242 Wed Jul 26 00:46:03 2000  Tim Janik  <timj@gtk.org>
2243
2244         * glib.h: applied patch from Darin Adler <darin@eazel.com> which
2245         supplies g_return_if_reached(), g_return_val_if_reached() and
2246         g_critical().
2247
2248 2000-07-22  Tor Lillqvist  <tml@iki.fi>
2249
2250         * build-dll: Fix resource handling, the resource file got left out
2251         from the DLL after all... Remove the WIN32APIHEADERS, not needed
2252         with current windres.
2253
2254         * glib.def: Add new functions.
2255
2256 2000-07-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2257
2258         * gutils.c, glib.h: Mark the functions g_basename and g_dirname
2259         deprecated. They will issue an warning once, when compiled with
2260         G_ENABLE_DEBUG, but continue to work as before. Instead the
2261         functions g_path_get_basename and g_path_get_dirname should be
2262         used, which BOTH return newly allocated memory, that has to freed
2263         by g_free. The new g_path_get_basename now strips trailing slashes
2264         from the path. This fixes #5097. For discussion see
2265         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
2266
2267         * gwin32.c, testglib.c, tests/dirname-test.c: Use the new
2268         functions instead of the old ones.
2269
2270         * ghash.c, gscanner.c, glib.h: Mark the functions
2271         g_hash_table_freeze, g_hash_table_thaw and thus
2272         g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table
2273         deprecated. They will issue an warning once, when compiled with
2274         G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see
2275         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
2276
2277 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2278
2279         * configure.in, glib.h: glibconfig.h and glib.h now include files
2280         outside of the extern "C" block. Makes some C++ compiler
2281         happy. Reported by Denis Vakatov <vakatov@peony.nlm.nih.gov>.
2282
2283 Sat Jul 15 23:49:03 2000  Owen Taylor  <otaylor@redhat.com>
2284
2285         * glib/glib.texi: Remove incomplete start of info file -
2286         real docs are in RDP.   
2287
2288 Sat Jul 15 22:44:22 2000  Owen Taylor  <otaylor@redhat.com>
2289
2290         * configure.in: Add build/Makefile and 
2291         build/win32/Makefile to AC_OUTPUT() so things build
2292         again.
2293
2294 Sat Jul 15 09:11:46 2000  Tim Janik  <timj@gtk.org>
2295
2296         * gstrfuncs.c (g_strncasecmp): fixed an off by 0 error (yeah,
2297         the function went off when the while (n--) loop failed due to
2298         n==0 ;), reported by Jean-Louis HAMEL <jlhamel@club-internet.fr>.
2299
2300 2000-07-15  Tor Lillqvist  <tml@iki.fi>
2301
2302         * Makefile.am (SUBDIRS): Include the "build" module in GLib, too,
2303         to make it more self-contained. If your CVS client doesn't
2304         automatically get it, do a cvs get build in glib.
2305
2306         * */makefile.mingw.in: Include make.mingw from build in the glib
2307         source directory.
2308
2309 Fri Jul 14 16:26:35 2000  Owen Taylor  <otaylor@redhat.com>
2310
2311         * Release 1.3.1
2312
2313 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
2314
2315         * configure.in Makefile.am glib-config.m4 glib.m4: Move
2316         glib-config to glib-config-2.0 move glib.m4 to
2317         glib-2.0.m4
2318
2319         * Makefile.am gobject/Makefile.am gmodule/Makefile.am
2320         gthread/Makefile.am tests/Makefile.am: Change 
2321         library names to libglib-1.3.la, etc, so that we
2322         can distinguish glib-1.2 and glib-2.0 on the linkline.
2323
2324         * Makefile.am gobject/Makefile.am gmodule/Makefile.am:
2325         Move include files into /usr/include/glib-2.0.
2326
2327 Thu Jul  6 18:54:49 2000  Owen Taylor  <otaylor@redhat.com>
2328
2329         * docs/Makefile.am (EXTRA_DIST): Remove info files
2330         from the build.
2331
2332 2000-07-14  Tor Lillqvist  <tml@iki.fi>
2333
2334         * glib.def: Add g_error functions.
2335
2336         * makefile.mingw.in: Add gbacktrace.o.
2337
2338         * gbacktrace.c: No need to include <process.h>.
2339
2340 2000-07-12  Havoc Pennington  <hp@redhat.com>
2341
2342         * glib.h: #include <gerror.h>
2343
2344         * Makefile.am (include_HEADERS): Add gerror.h
2345         (libglib_la_SOURCES): Add gbacktrace.c
2346
2347         * gbacktrace.c: Move g_on_error_query() in here (moved on the 
2348         server, so history is preserved)
2349
2350         * gerror.h: GError interface
2351
2352         * gerror.c: GError implementation replaces stuff that's now in 
2353         gbacktrace.c
2354
2355 Sun Jul  9 21:20:45 2000  Owen Taylor  <otaylor@redhat.com>
2356
2357         * gunicode.h: Include stddef.h instead of stdlib.h
2358
2359 2000-07-08  Tor Lillqvist  <tml@iki.fi>
2360
2361         * glib.h (GLIB_VAR): Rename the GUTILS_C_VAR macro to GLIB_VAR.
2362
2363         * gunicode.h: Mark the g_utf8_skip array with GLIB_VAR.
2364
2365         * glib.def: Add two missing entry points.
2366
2367 Thu Jul  6 15:35:28 2000  Owen Taylor  <otaylor@redhat.com>
2368
2369         * Release 1.3.1
2370
2371         * Makefile.am (EXTRA_DIST): Dist fixes.
2372
2373         * configure.in: Moderate the warnings just a little bit.
2374
2375 2000-07-05  Tor Lillqvist  <tml@iki.fi>
2376
2377         * README.win32: Update.
2378
2379 Mon Jul  3 17:58:02 2000  Owen Taylor  <otaylor@redhat.com>
2380
2381         * gutf8.c (g_utf8_get_charset_internal): Fix up
2382         to correspond to configure.in checks.
2383
2384 Mon Jul  3 17:18:19 2000  Owen Taylor  <otaylor@redhat.com>
2385
2386         * glib.h: Comment g_get_codeset() out of the header file
2387         temporarily. (Very similar to g_get_charset(), need
2388         to resolve the two.)
2389
2390 2000-07-01  Tor Lillqvist  <tml@iki.fi>
2391
2392         * glib.def: Add new entry points.
2393
2394         * makefile.{mingw,msc}.in: Add the new Unicode object files.
2395
2396 Thu Jun 29 15:57:28 2000  Owen Taylor  <otaylor@redhat.com>
2397
2398         * NEWS: updated
2399
2400         * Makefile.am: added snapcheck target to go along with snapshot
2401
2402         * gstring.c glib.h (g_string_hash): Add g_string_hash to 
2403         go along with g_string_equal.
2404
2405 Tue Jun 27 12:40:23 EDT 2000  David A. Wheeler <dwheeler@dwheeler.com>
2406
2407         * glib.h: Added g_string_equal for comparing GStrings;
2408         changed g_str_equal so it returns gboolean (instead of gint).
2409
2410         * gstring.c: Modified GString implementation to support embedded
2411         ASCII NUL ('\0') characters, and implemented g_string_equal.
2412
2413         * testglib.c tests/string-test.c: Added tests for g_string_equal
2414         and tests for proper handling of embedded ASCII NUL characters.
2415
2416 Wed Jun 28 22:52:00 2000  Owen Taylor  <otaylor@redhat.com>
2417
2418         * Makefile.am (libglib_la_SOURCES): Fix
2419         gunichartable.h => gunichartables.h. (From Eric Limings)
2420
2421 Fri Jun 23 17:20:26 2000  Tim Janik  <timj@gtk.org>
2422
2423         * glib.h: define gstring in terms of gchar*. this typedef reflects
2424         the type name of the primitive G_TYPE_STRING in the gobject module.
2425
2426 Wed Jun 21 12:09:03 2000  Owen Taylor  <otaylor@redhat.com>
2427
2428         * gunicode.h gutf8.c guniprop.c gunidecomp.[ch] gunichartables.h
2429         Makefile.am glib.h: Initial pass at adding unicode support
2430         functions. A few things still need to be implemented, a bit
2431         of cleanup needs to be done, tests need to be added, and 
2432         the docs need to be finished, but this should allow replacing
2433         most or all use of libunicode.
2434
2435 2000-06-06  Tor Lillqvist  <tml@iki.fi>
2436
2437         * giowin32.c (g_io_channel_win32_pipe_readable): If we are
2438         watching the same pipe for different conditions (with different
2439         callbacks), check them all. Only call the callback for G_IO_IN
2440         from here. (This bug popped up when a watch for G_IO_ERR|G_IO_HUP
2441         was added to gimplib.)
2442
2443 2000-05-30  Tor Lillqvist  <tml@iki.fi>
2444
2445         * gutils.c (g_locale_get_codeset): Implement on Win32.
2446
2447         * glib.def: Add g_get_codeset.
2448
2449         * tests/Makefile.am (EXTRA_DIST): makefile.cygwin* has been
2450         renamed to makefile.mingw*.
2451
2452 Tue May 30 16:01:32 2000  Owen Taylor  <otaylor@redhat.com>
2453
2454         * glib.h gutils.c: Move the g_locale_get_codeset() up in the 
2455         header file to correspond to to comments about memory
2456         management. Rename to g_get_codeset() to avoid 
2457         polluting the g_locale_* namespace, which probably
2458         would have g_locale_get_codeset (GLocale *locale).
2459         Add a doc comment.
2460
2461 Mon May 29 14:10:35 2000  Owen Taylor  <otaylor@redhat.com>
2462
2463         * gutils.c (g_locale_get_codeset): Add function to get the 
2464         codeset name for the current locale.
2465
2466         * configure.in acconfig.h: Add check for nl_langinfo(CODESET);
2467
2468 Fri May 19 11:39:29 2000  Tim Janik  <timj@gtk.org>
2469
2470         * gutils.c (g_snprintf):
2471         (g_vsnprintf): added argument assertments.
2472
2473         * gstring.c (g_string_assign): added argument assertments.
2474         (g_string_truncate): make len a guint.
2475
2476 Fri May 19 09:00:44 2000  Tim Janik  <timj@gtk.org>
2477
2478         * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with
2479         ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>.
2480
2481         * gslist.c (g_slist_reverse): shut up compiler.
2482
2483         * gscanner.c (g_scanner_get_token_ll): removed inline assignment.
2484
2485         * garray.c: remove index>=0 checks for unsigned indices.
2486
2487         * gmain.c (g_idle_prepare): timeout assignment fix.
2488
2489         * gtree.c (g_tree_node_rotate_right): shut up compiler.
2490
2491 2000-05-13  Tor Lillqvist  <tml@iki.fi>
2492
2493         * makefile.mingw.in
2494         * tests/makefile.mingw.in
2495         * build-dll: Rename makefile.cygwin(.in) to
2496         makefile.mingw(.in), which better describes what it is. Move the
2497         build of gmodule, gthread and gobject DLLs to makefiles in those
2498         directories. Move resource file handling and build number bump to
2499         build-dll, where it sits much cleaner.
2500
2501         * README.win32
2502         * Makefile.am (EXTRA_DIST): Update accordingly.
2503
2504         * glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
2505         G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
2506         implementations.
2507
2508         * glib.def: Add g_strcanon.
2509
2510         * gtree.c (g_tree_node_rotate_left): Remove unused variables.
2511
2512         * gwin32.c (g_win32_opendir): Remove unneeded statement.
2513
2514 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
2515
2516         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
2517         broken and require an empty arg, give it to them.
2518
2519 Fri Apr 28 23:54:35 2000  Tim Janik  <timj@gtk.org>
2520
2521         * setup things for a new sub-library libgobject:
2522
2523         * Makefile.am (SUBDIRS): added gobject
2524
2525         * glib-config.in: feature -lgobject.
2526
2527         * configure.in (AC_OUTPUT): generate gobject/Makefile.
2528
2529         * glib.m4 (AM_PATH_GLIB): feature gobject module.
2530
2531         * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.*
2532
2533 Fri Apr 28 21:41:49 2000  Tim Janik  <timj@gtk.org>
2534
2535         * glib.h: added G_STRLOC macro.
2536         G_STRUCT_OFFSET(): signedness corrections.
2537         (G_CSET_DIGITS): list 0-9.
2538         * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS.
2539
2540         * glib.h: 
2541         * gstrfuncs.c:
2542         (g_strdown):
2543         (g_strup):
2544         (g_strreverse): return the modified string instead of void, so
2545         calls to these functions can be nested.
2546         (g_strcanon): new function, canonicalizes string according to
2547         a given character set.
2548
2549 Fri Apr 28 19:45:16 2000  Tim Janik  <timj@gtk.org>
2550
2551         * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
2552
2553 Wed May 10 19:52:44 2000  Owen Taylor  <otaylor@redhat.com>
2554
2555         * glib.m4: Print found version when test succeeds.
2556
2557 2000-05-04  Tor Lillqvist  <tml@iki.fi>
2558
2559         * makefile.cygwin.in
2560         * tests/makefile.cygwin.in: Include the common makefile snippet
2561         from ../build/win32.
2562
2563         Maybe CVSROOT/modules should be changed so that the 'build' module
2564         is included within the glib module (and gtk+, and gimp, and maybe
2565         others later), in the same way as the 'macros' module is included
2566         in lots of GNOME CVS modules?
2567
2568 2000-05-02  Tor Lillqvist  <tml@iki.fi>
2569
2570         * glib.def: Add new functions.
2571
2572         * makefile.{cygwin,msc}.in (glib_OBJECTS): Add new object files.
2573
2574         * tests/makefile.{cygwin,msc}.in: Add threadpool-test.
2575
2576 2000-04-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2577
2578         * gasyncqueue.c: New File implementing an asynchronous queue to be
2579         used for asynchronous inter-thread communication.
2580
2581         * gthreadpool.c: New File implementing a thread pool to be used
2582         for distributing work among several threads. 
2583
2584         * glib.h: Added the type and function declarations for these two
2585         types.
2586
2587         * tests/threadpool-test.c: New File implementing a test for the
2588         thread pool. This also checks the asynchronous queue underlying
2589         the thread pool.
2590
2591         * tests/Makefile.am: Changed accordingly.
2592
2593 2000-04-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2594
2595         * configure.in: Look for both pthread_create and pthread_join in
2596         the thread library. Some systems define one of them, but not both
2597         in libc. Arghh. Now we really start a thread and join it later and
2598         check, whether the thread to actually ran.
2599
2600         * glib.h, gcache.c, gtree.c: Changed the 'value' parameter of
2601         g_cache_remove from gpointer to gconstpointer. Dito for the 'key'
2602         parameter of g_tree_lookup and g_tree_remove and the 'data'
2603         parameter of g_tree_search. This function now takes a function of
2604         type GCompareFunc instead of GSearchFunc. This fixes Bug
2605         #8267. Thanks to Juan Toledo <toledo@users.sourceforge.net> for
2606         pointing that out.
2607
2608         * glib.h: Removed declaration of GSearchFunc.
2609
2610         * gmem.c: s/GSearchFunc/GCompareFunc/.
2611
2612 2000-04-19  Tor Lillqvist  <tml@iki.fi>
2613
2614         * glib.def: Update entry point list.
2615
2616 2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2617
2618         * glib.h (G_TRYLOCK): Made the debugging G_TRYLOCK call also work
2619         for compilers with funny G_STMT_(START|END) macros.
2620
2621         * tests/thread-test.c: Implemented a check for that.
2622
2623         * gutils.c (g_getenv): Changed the win32 part of this function to
2624         be thread safe and to make the returned environment string
2625         persistent to match the UN*X behavior. This is again a response to
2626         Bug #8983.
2627
2628         * glib.h (G_LOCK_NAME): Removed parentheses around the lock name,
2629         as that seems to cause problems for some compilers and really
2630         isn't necessary.
2631
2632 Wed Apr 19 08:32:32 2000  Tim Janik  <timj@gtk.org>
2633
2634         * gscanner.c (g_scanner_new): make sure that
2635         scanner->config->cset_skip_characters is "" instead of NULL, so we
2636         don't segfault further on.
2637
2638 2000-04-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2639
2640         * glib.h, glist.h, gslist.h: Changed the 'data' parameters from
2641         gpointer to gconstpointer for the functions
2642         g_(list|slist)_(remove|find|find_custom|index), as they do not
2643         change this parameter. This fixes bug #4836.
2644
2645         * glib.h: Changed comment for g_getenv to reflect, that the
2646         returned memory must not be freed. Fixes bug #8983.
2647
2648 2000-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2649
2650         * configure.in, acconfig.h: Add configure test for garbage
2651         collector friendliness for GLib. If enabled, ENABLE_GC_FRIENDLY
2652         will be defined.
2653
2654         * garray.c, ghash.c, glist.c, gmain.c, gmem.c, gnode.c, gqueue.c,
2655         gslist.c, gtree.c: If ENABLE_GC_FRIENDLY is defined, NULLify all
2656         memory released by the user, but cached by GLib. This lets a
2657         garbage collector have a more correct view of the actually used
2658         memory.
2659
2660         * garray.c, glib.h: Added g_(array|ptr_array|byte_array)_sized_new
2661         functions, that reserve a certain amount of memeory for the array
2662         at creation time to avoid reallocation. Fixes bug #6707 from
2663         Charles Kerr <ckerr@osserver1.nssl.noaa.gov>.
2664
2665         * glib.h, gqueue.c, tests/queue-test.c (main): Renamed
2666         g_queue_create to g_queue_new in conformance to all other GLib
2667         data types.
2668
2669 2000-04-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2670
2671         * grand.c (g_rand_new): Fixed bug. Thanks to Marko Kreen
2672         <marko@l-t.ee> for reporting that.
2673
2674 2000-03-26  Tor Lillqvist  <tml@iki.fi>
2675
2676         * README.win32: Tell about using the mingw-based gcc, which is
2677         much easier than modifying the cygwin gcc to product mingw code
2678         for the msvcrt runtime.
2679
2680         * makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
2681         with a "pure" mingw gcc, too.
2682
2683 2000-03-24  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2684
2685         * garray.c: Made GArray behave correctly. Now zero_terminated
2686         really means, that the element array->data[array->len] exists and
2687         is zeroed, and clear means that any unassigned elements obtained
2688         through g_array_set_size (the only way to get unassigned elements
2689         AFAICT) are zeroed. Added some macros to make the code more
2690         obvoius. Also made GPtrArray zero elements after
2691         g_ptr_array_set_size. This is done in a portbale way (assignment
2692         of NULL instead of just memsetting it to zero), though that might
2693         be more portability than we actually want.
2694
2695         * Makefile.am, gthread/Makefile.am, gmodule/Makefile.am,
2696         tests/Makefile.am: Added various win32 related *.in files to
2697         EXTRA_DIST to let 'make distcheck' procude all the corresponding
2698         files, which it silently fails to do currently.
2699
2700 2000-03-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2701
2702         * configure.in: After finding the right thread library (containing
2703         e.g. pthread_create) we now search for the right realtime library
2704         (containing e.g. sched_get_priority_max). Makes the output of the
2705         thread related libraries correct. 
2706
2707         * gtimer.c (g_usleep): The current implementation of g_usleep
2708         (simply calling select) doesn't work reliable for multi-threaded
2709         programs on some platforms (bad omen for the main loop....), so I
2710         changed the implementation for thread-using programs to wait for a
2711         GCond for the specified amount of time (NB: sleep and usleep are
2712         not MT-safe in general, because they often use signals).
2713
2714 Wed Mar 22 16:49:57 2000  Owen Taylor  <otaylor@redhat.com>
2715
2716         * gmem.c (g_mem_chunk_area_compare): Fix indentation.
2717
2718 2000-03-22 Elliot Lee <sopwith@redhat.com>
2719
2720         * gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in
2721         comparing two pointers more than 4G apart.
2722
2723 2000-03-22  Tor Lillqvist  <tml@iki.fi>
2724
2725         * gutils.c: Move Win32-only includes after inclusion of glib.h, so
2726         that G_OS_WIN32 is defined.
2727
2728         * glibconfig.h.win32.in: Add GSystemThread.
2729
2730 2000-03-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2731
2732         * gutils.c (g_get_current_dir): Ok, Marcus Brinkmann
2733         <Marcus.Brinkmann@ruhr-uni-bochum.de> convinced me, that 128 KB
2734         path length might not be enough for the HURD. So I changed the
2735         loop to at least avoid an integer overflow, which could happen at
2736         beyond 2GB size ;-)
2737
2738         * configure.in: Test for sched_yield as the native yield function
2739         first. Corrected typo g_thread_sleep -> g_usleep. Corrected
2740         message for the pthread_create test. Negative Priorities are
2741         allowed (and used on Solaris), so consider
2742         sched_get_priority_min failed only if it returns -1, not <0. Check
2743         for sched_get_priority_min also in -lrt, if not found in -lpthread
2744         alone and add -lrt to G_THREAD_LIBS then. Remove special case
2745         handling of priorities for older solaris versions and posix
2746         threads. Thanks to Wan-Teh Chang <wtc@netscape.com> for suggesting
2747         some of those changes.
2748
2749         * config.guess, config.sub, ltconfig, ltmain.sh:
2750         Upgrade to libtool 1.3.4.
2751
2752 2000-03-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2753
2754         * glib.h, configure.in, gutils.h: always define G_GNUC_EXTENSION,
2755         even when not needed by GLib. That's actually also the way, the
2756         GLib reference manual describes that macro. Therefore I had to
2757         remove the lonesome #include <glibconfig.h> in gutils.c, which
2758         doesn't seem to be needed there however. This change should make
2759         Ben Gertzfield <che@debian.org> happy.
2760
2761         * gutils.c: Furthermore two warnings in gutils.c were voided,
2762         which crept in due to my last change.
2763
2764         * gutils.c (g_get_current_dir): Allocate only up to 128KB for a
2765         pathname. While this is an arbitrary value just like 2048, it
2766         seems to be enough (after all, even 4GB is an arbitrary value).
2767
2768 2000-03-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2769
2770         * gmain.c (g_main_poll): Warn in case of an error during the call
2771         to poll(2). Closes Bug#7564 as reported by David Helder
2772         <dhelder@umich.edu>.
2773
2774         * gutils.c (g_get_current_dir): Make g_get_current_dir work on
2775         systems with unlimited pathname length like the HURD (It worked
2776         there before, but only for pathes shorter than 2048). Closes
2777         Bug#4525 as reported by Marcus Brinkmann
2778         <Marcus.Brinkmann@ruhr-uni-bochum.de>.
2779
2780 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2781
2782         * giounix.c (g_io_unix_write, g_io_unix_read): Interpret EINTR as
2783         G_IO_ERROR_AGAIN.
2784
2785 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2786
2787         * configure.in: Added the missing POSIX_NO_YIELD and
2788         POSIX_NO_PRIORITIES warning messages.
2789
2790         * configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK, to test for
2791         real thread support. On solaris pthread_create can be linked to
2792         even in -lc, but it doesn't work then.
2793
2794         * configure.in: Don't use priorities for threads, when the
2795         minimal/maximal priorities couldn't be determined at configure
2796         time.
2797
2798         * configure.in, gthread.c: Always define GSystemThread in
2799         glibconfig.h to represent a system thread.
2800
2801         * configure.in: Do not use native recursive threads, when
2802         possibe. We use some features, that they do not expose (namely the
2803         depth counter).
2804
2805         * glib.h, gthread.c: Redefined GStaticRecMutex. The functions are
2806         now implemented in a different way, which should be way
2807         faster. Alsothere are now functions g_static_rec_mutex_unlock_full
2808         and g_static_rec_mutex_lock_full to leave/enter a recursive mutex
2809         completly.
2810
2811         * gthread.c (g_thread_self): Do not test the system_thread to be
2812         non-zero to speed things up.
2813
2814         * gthread.c (g_mutex_init): Therefore set the system_thread of the
2815         main thread here.
2816
2817         * tests/thread-test.c: Rerun all tests once again, but this time
2818         we fool the system into thinking, that the available thread system
2819         is not native, but userprovided.
2820
2821 2000-03-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2822
2823         * gqueue.c (g_queue_push_tail_link, g_queue_push_head_link): We
2824         want the next and prev pointer of the inserted link to be NULL.
2825
2826 2000-03-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2827
2828         * configure.in: Another small change to the pthread_.. search
2829         pattern. Should work *now* for AIX.
2830
2831 2000-03-04  Tor Lillqvist  <tml@iki.fi>
2832
2833         * gwin32.c (g_win32_error_message): New function that returns the
2834         message string for a Win32 error code.
2835
2836         * glib.h: Declare it.
2837
2838         * glib.def: Export it, plus g_node_copy.
2839
2840 2000-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2841
2842         * configure.in: Make the search for pthread_attr_... prototypes
2843         find names at the start of a line also, like it is on AIX. Thanks
2844         to Valdis Kletnieks <Valdis.Kletnieks@vt.edu> for the info.
2845
2846 Wed Mar  1 10:39:39 2000  Tim Janik  <timj@gtk.org>
2847
2848         * gslist.c (g_slist_reverse): minor optimization.
2849
2850         * testglib.c (g_node_test): added a couple of tests for
2851         g_node_copy().
2852
2853         * glib.h:
2854         * gnode.c (g_node_copy): new function to copy subtrees,
2855         supplied by dbsears@ix.netcom.com.
2856         changed iterator to walk the children list backwards, so
2857         we get down from O(n^2) to O(n).
2858
2859         * gnode.c (g_node_first_sibling): applied patch from
2860         dbsears@ix.netcom.com to optimize access if node->parent
2861         is present.
2862
2863         * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
2864         assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
2865         thus breaks the original code.
2866
2867         * merged changes from 1.2.7.
2868
2869 Fri Jan 28 11:37:41 2000  Owen Taylor  <otaylor@redhat.com>
2870
2871         Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
2872
2873         * gtimer.c (g_timer_elapsed): Never report negative times -
2874         clip times to 0.
2875
2876         * gmain.c (g_timeout_prepare): Guard against unexpected
2877         clock shifts by never setting a timeout of more than
2878         data->interval msecs.
2879
2880 2000-02-27  Tor Lillqvist  <tml@iki.fi>
2881
2882         * glib.def: Add new functions.
2883
2884 2000-02-23  Tor Lillqvist  <tml@iki.fi>
2885
2886         * README.win32: Add a missing step to the setup instructions for
2887         gcc-2.95.2. Thanks to Arnaud Charlet.
2888
2889         * glib.def: Add missing entry point.
2890
2891 2000-02-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2892
2893         * configure.in: Changed GCC version test to also accept major
2894         versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
2895         pointing this out.
2896
2897 Thu Feb 17 12:53:44 2000  Tim Janik  <timj@gtk.org>
2898
2899         * gstring.c: changed g_str_hash() to a 31 bit version based on
2900         a submission by Karl Nelson and hand optimized ad absurdum by
2901         various people ;)
2902
2903         * gstring.c: applied patch from havoc for new gstring functions,
2904         added some more sanity checks, coding style fixups.
2905
2906 2000-02-13  Havoc Pennington  <hp@pobox.com>
2907
2908         * tests/string-test.c (main): Add tests for the new GString 
2909         features
2910
2911         * testglib.c (main): Add tests for the new GString features
2912
2913         * gstring.c (g_string_insert_len): New function; insert 
2914         a given length of string at a given position. 
2915         (g_string_append): reimplement in terms of g_string_insert_len
2916         (g_string_append_len): new function
2917         (g_string_insert_c): accept -1 for "pos" arg to mean "append"
2918         (g_string_append_c): reimplement in terms of g_string_insert_c
2919         (g_string_prepend): reimplement in terms of g_string_insert_len
2920         (g_string_prepend_len): new function
2921         (g_string_prepend_c): reimplement in terms of g_string_insert_c
2922         (g_string_insert): reimplement in terms of g_string_insert_len
2923
2924         * glib.h: Declare g_string_insert_len, g_string_append_len,
2925         g_string_prepend_len
2926
2927 Sun Feb 13 08:16:47 2000  Tim Janik  <timj@gtk.org>
2928
2929         * configure.in: wtf??? someone destroyed the configure.in, reverting to
2930         an older version from Feb 4 which apears to still work.
2931
2932 2000-02-07  Tor Lillqvist  <tml@iki.fi>
2933
2934         * gmodule.rc.in gthread.rc.in: Move to corresponding subdirectories.
2935
2936         * Makefile.am
2937         * gmodule/Makefile.am
2938         * gthread/Makefile.am: Change accordingly.
2939
2940         * makefile.cygwin: Corresponding changes, some cleanup.
2941
2942 2000-02-05  Tor Lillqvist  <tml@iki.fi>
2943
2944         * glib.rc.in gmodule.rc.in gthread.rc.in: New files, for putting
2945         version info in the DLLs on Win32.
2946
2947         * Makefile.am: Generate corresponding *.rc files and distribute
2948         them.
2949
2950         * makefile.cygwin.in: Add rules to automatically bump a "build
2951         number" in the version info in the rc files each time the DLL is
2952         built. But do this only for the person who releases binaries. If
2953         others build the DLLs, the build number is set to zero.
2954
2955 Fri Feb  4 19:36:05 2000  Tim Janik  <timj@gtk.org>
2956
2957         * glib.h: 
2958         * gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
2959         and g_dataset_id_remove_no_notify() to avoid second lookup for common
2960         use.
2961
2962 2000-02-01  Tor Lillqvist  <tml@iki.fi>
2963
2964         * glib.h
2965         * gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
2966         functions for conversion between UTF-8 and the encoding expected
2967         by C runtime functions like open() and stat(), and returned by
2968         readdir().
2969
2970         Implement them on Win32 where we use the system "ANSI" codepage,
2971         which might be single-byte or double-byte. On Unix, just skip the
2972         issue for now and provide dummy implementations that return a copy
2973         of the argument.
2974
2975         * README.win32
2976         * build-dll
2977         * glib.def: Minor updates.
2978
2979 Wed Jan 26 05:24:38 2000  Tim Janik  <timj@gtk.org>
2980
2981         * glib.h:
2982         * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
2983         refetch the current time after invocation of poll() to cover up for
2984         the time spent in that function call.
2985
2986 Fri Jan 21 10:18:24 2000  Owen Taylor  <otaylor@redhat.com>
2987
2988         * glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
2989         the number of elements in an array.
2990
2991 Sun Jan  9 13:28:36 2000  Tim Janik  <timj@gtk.org>
2992
2993         * gstrfuncs.c (g_strtod): correctly fetch the current locale,
2994         fix from owen.
2995
2996 1999-12-16  Tor Lillqvist  <tml@iki.fi>
2997
2998         * gmodule/gmodule-win32.c: Use FormatMessage to translate system
2999         error codes into textual messages.
3000
3001 1999-11-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3002
3003         * glib.h (G_TRYLOCK): This of course should return TRUE in a
3004         program with a thread-disabled GLib.
3005
3006 1999-11-18  Tor Lillqvist  <tml@iki.fi>
3007
3008         * glib.def: g_strjoin was missing.
3009
3010 1999-11-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3011
3012         * acconfig.h, config.h.win32.in, configure.in: Renamed
3013         GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
3014         changed meaning.
3015
3016         * configure.in: Cope with systems, that have a pthread_t type,
3017         that is not a pointer. Hint from Karl Nelson
3018         <kenelson@ece.ucdavis.edu>. Define GLIB_SIZEOF_SYSTEM_THREAD to 4
3019         for Solaris. Cope with systems, that have no default mutex
3020         initialize, like obviously most DCE systems.
3021
3022         * glib.h, gthread.c: Changed the prototype of thread_create and
3023         thread_self to return the system thread into provided memory
3024         instead of a return value. This is necessary, as HPUX has a
3025         pthread_t, that is bigger than the biggest integral type there.
3026
3027         * gthread.c: system_thread is no longer a pointer, but an memory
3028         area of size GLIB_SIZEOF_SYSTEM_THREAD. Changed the
3029         zeroinitialization and the tests for zeroness accordingly.
3030
3031 1999-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3032
3033         * configure.in: Create docs/glib-config.1 from
3034         docs/glib-config.1.in. Makes 'make distcheck' happy (and me too).
3035
3036         * glib-config.1: Removed from CVS, as it is a generated file.
3037
3038 1999-11-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3039
3040         * configure.in: Make the test for getpwuid_r work on newer AIX
3041         versions, too. Still works on Solaris and Linux. Patch from Craig
3042         Rodrigues <rodrigc@mediaone.net>.
3043
3044 1999-11-08  Tor Lillqvist  <tml@iki.fi>
3045
3046         * gwin32.c (g_win32_getlocale): Look at env vars LC_ALL, LC_CTYPE
3047         and LANG first. Some refinements to the sublanguage logic.
3048
3049 1999-11-04  Tor Lillqvist  <tml@iki.fi>
3050
3051         * makefile.{cygwin,msc}.in: Add gwin32 object. Add rule to make .i
3052         (preprocessed source) files.
3053
3054 1999-11-01  Tor Lillqvist  <tml@iki.fi>
3055
3056         * glib.h
3057         * glib.def: Rename Win32-only functions from gwin_* to g_win32_*
3058         to match the GLib naming conventions.
3059
3060         * gutils.c
3061         * gwin32.c
3062         * testglib.c
3063         * Makefile.am: Move the Win32-only functions to the new
3064         file gwin32.c
3065
3066 1999-10-31  Tor Lillqvist  <tml@iki.fi>
3067
3068         * gutils.c (gwin_getlocale): New Win32-specific function, returns
3069         a Unixish current locale string (en, zh_TW etc).
3070
3071         * glib.h: Declare it.
3072
3073         * glib.def: Export it.
3074
3075         * testglib.c: Test it.
3076
3077         * gmessages.c (Win32: ensure_stdout_valid): Some improvements,
3078         make sure we don't call AllocConsole several times, which I think
3079         has happened.
3080
3081 Sun Oct 31 18:55:01 1999  ape@spacetec.no  (Asbjorn Pettersen)
3082
3083         * gcache.c (g_cache_remove): Test if node is NULL.
3084         If not tested, GIMP's script-fu will crash. 
3085
3086 Sun Oct 17 18:11:40 1999  Tim Janik  <timj@gtk.org>
3087
3088         * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
3089         destroy() notification here as well.
3090
3091 1999-10-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3092
3093         * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
3094         is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
3095
3096 Tue Oct 12 14:17:12 1999  Tim Janik  <timj@gtk.org>
3097
3098         * glib.h: removed useless g_string(x) macro that cluttered the namespace
3099         and was just a poor wrapper around the cpp '#' symbol, use #x if you
3100         need to work around this.
3101         added new macro G_STRINGIFY(arg) that will convert arg to a string,
3102         no matter whether it contains macros or not.
3103
3104 1999-10-12  Tor Lillqvist  <tml@iki.fi>
3105
3106         * config.h.win32.in: Define the new GLIB_SIZEOF_* constants here,
3107         too.
3108
3109         * glib.h: Small Win32 comments improvement.
3110
3111 Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>
3112
3113         * gmessages.c (g_printf_string_upper_bound): completly new
3114         implementation for printf string upper bounds calculation.
3115         we handle all glibc 2.1 format specifiers now, except for positional
3116         parameters (%nn$...) and wide char strings, plus some obscure upper
3117         case variants of the standard conversions. this fixes a lot of
3118         bugs in the old code, i.e.
3119         - NULL format strings
3120         - floats with exponents >+24
3121         - %G
3122         - precision specifications in general
3123         - negative field widths
3124         - %p for SIZEOF_VOID_P > 4 platforms
3125         we now issue warnigns in places where the old code would have
3126         caused buffer overruns anyways. warnings are suppressed when invoked
3127         from glogv(), to avoid infinite recursions if someone passes a log
3128         message that comes with really obscure format specifications.
3129
3130 Tue Oct 12 11:49:00 1999  Tim Janik  <timj@gtk.org>
3131
3132         * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.
3133
3134 Tue Oct 12 03:34:40 1999  Tim Janik  <timj@gtk.org>
3135
3136         * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
3137         mantissa and exponent of IEEE floats and doubles (required by the new
3138         version of g_printf_string_upper_bound). the unions are endian specific,
3139         we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
3140         and doubles are supported (used for storage) by at least intel, ppc and
3141         sparc, reference:
3142         http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html
3143
3144 Mon Oct 11 18:01:49 1999  Tim Janik  <timj@gtk.org>
3145
3146         * configure.in: added additional checks to figure sizes of size_t,
3147         ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
3148
3149 Wed Oct  6 12:44:23 PDT 1999 Manish Singh <yosh@gimp.org>
3150
3151         * configure.in: blah. use G_WITH_CYGWIN instead of G_HAVE_CYGWIN
3152
3153 1999-10-05  Tor Lillqvist  <tml@iki.fi>
3154
3155         * glib.h: (Win32) Drop the mapping of POSIX function names to the
3156         underscored versions, it's unnecessary after all. With MSVC we get
3157         them from oldnames.lib, with gcc-2.95 and mingw32 from
3158         -lmoldname-msvc. Add comment about what headers to include for
3159         prototypes.
3160
3161         * glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.
3162
3163         * gerror.c (g_on_error_query): (Win32) Slightly increased verbosity.
3164
3165         * build-dll: Don't strip.
3166
3167         * tests/string-test.c tests/dirname-test.c: Use G_OS_WIN32.
3168
3169         * glib.def: Add g_thread_use_default_impl.
3170
3171 Sun Oct  3 19:46:55 PDT 1999 Manish Singh <yosh@gimp.org>
3172
3173         * configure.in: use G_HAVE_CYGWIN instead of G_OS_FEATURE_CYGWIN
3174
3175 Sun Oct  3 19:25:42 PDT 1999 Manish Singh <yosh@gimp.org>
3176
3177         * acconfig.h
3178         * configure.in
3179         * glibconfig.h.win32: G_OS_FOO #defines. I *think* I got the cygwin
3180         and beos stuff right, but I haven't tested it. The respective
3181         porters should fix any screwups
3182
3183         * glib.h
3184         * gerror.c
3185         * gmain.c
3186         * gmessages.c
3187         * gscanner.c
3188         * gthread.c
3189         * gtimer.c
3190         * gutils.c
3191         * testglib.c: use G_OS stuff
3192
3193 Wed Sep 22 01:53:18 1999  Tim Janik  <timj@gtk.org>
3194
3195         * glib.h (NULL): define NULL as (0L) if __cplusplus is defined, to
3196         avoid "ANSI C++ forbids implicit conversion from `void *' in argument
3197         passing" errors upon NULL usage in C++ programs (gcc-2.95 is on crack
3198         for erroring out on this, instead of just issueing a warning).
3199
3200         * glib.h (g_trash_stack_pop): use uncasted NULL again.
3201
3202 Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>
3203
3204         * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied
3205         patch from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem
3206         chunk's area sizes to be a multitiple of atom_size, and to
3207         eliminate the MAX_MEM_AREA restriction of 65536 bytes. we also
3208         catch cases where users pass an area size < atom size with a
3209         return_if_fail statement now (which is ok, because previously this
3210         lead to memory corruption anyways).
3211
3212 Thu Sep 16 13:19:54 1999  Tim Janik  <timj@gtk.org>
3213
3214         * glib.h (g_trash_stack_pop): add explicit (GTrashStack*) cast for NULL
3215         pointer to cure ANSI C++ error.
3216
3217 Mon Sep 13 23:25:59 1999  Tim Janik  <timj@gtk.org>
3218
3219         * gmessages.c (g_logv): in case we have to abort the program,
3220         debugging is enabled and we are not called recursively, try
3221         to abort with raise (SIGTRAP) first, so developers may ignore
3222         certain failure conditions during debugging stage.
3223
3224 Thu Aug 26 15:09:36 1999  Tim Janik  <timj@gtk.org>
3225
3226         * Makefile.am:
3227         * gmodule/Makefile.am:
3228         * gthread/Makefile.am: added --export-dynamic so we can load dynmic
3229         modules, (required, according to the libtool 1.3.3 docu).
3230
3231 1999-07-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3232
3233         * grand.c (g_rand_new): Use /dev/urandom, as it doesn't block,
3234         which /dev/random might do. Do not XOR the time, when getting the
3235         seed form /dev/urandom, as this is good itself. Prevent the
3236         initial seed from being zero, which causes the PRNG to produce
3237         only zeros. Hints from Colin Plumb <colin@pgp.com>.
3238
3239 1999-08-17  Tor Lillqvist  <tml@iki.fi>
3240
3241         * glib.h (g_trash_stack_push): Add a cast.
3242
3243         * gslist.c
3244         * glist.c: Make the inline functions static inline, and add
3245         separate extern wrappers. Not all compilers produce callable entry
3246         points for inline functions, even if gcc does.
3247
3248 Sun Aug 15 02:47:14 1999  Tim Janik  <timj@gtk.org>
3249
3250         * glib.h (g_trash_stack_pop): eliminate memset() call, since string.h
3251         has not neccessarily been included prior to glib.h.
3252
3253 Mon Aug  2 21:03:10 1999  Tim Janik  <timj@gtk.org>
3254
3255         * configure.in: added --enable-msg-prefix option.
3256
3257         * gmessages.c (g_log_default_handler): feature "prg_name (pid:%u): "
3258         if --enable-msg-prefix was selected (use "(process:%u): " if
3259         g_get_prgname () returns NULL, along the lines of g_on_error_query).
3260
3261 1999-08-03  Tor Lillqvist  <tml@iki.fi>
3262
3263         * glib.h
3264         * gstrfuncs.c
3265         * tests/strfunc-test.c: Rename g_strccpy to g_strcompress and
3266         g_strecpy to g_strescape per Tim Janik's suggestion. Dropped the
3267         destination parameter, always g_malloc a new string.  Fix bug in
3268         g_strcompress, octal digits were gobbled up without limit, should
3269         use max three.
3270
3271         Sources that use g_strescape must have ifdefs to be compilable
3272         both with GLib 1.2 and 1.3.
3273
3274 Sat Jul 31 17:52:03 PDT 1999 Manish Singh <yosh@gimp.org>
3275
3276         * glib.h
3277         * gstrfuncs.c: the #define for g_strescape interfered with the
3278         compilation of the function, so just remove the function and
3279         note that it's deprecated in the header
3280
3281 1999-08-01  Tor Lillqvist  <tml@iki.fi>
3282
3283         * gstrfuncs.c (g_strccpy, g_strecpy): New functions.
3284
3285         * glib.h: Declare and document them. Define the deprecated
3286         g_strescape as a macro that calls g_strecpy.
3287
3288         * tests/strfunc-test.c (main): Test them.
3289
3290         * makefile.{cygwin,msc}.in
3291         * tests/makefile.{cygwin,msc}.in: Remove gstack and its test
3292         program.
3293
3294         * glib.def: Additions and removals.
3295
3296         * README.win32: Improve gcc build instructions.
3297
3298         * build-dll: Also build import library for MSVC.
3299
3300 Sat Jul 24 20:11:35 1999  Tim Janik  <timj@gtk.org>
3301
3302         * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
3303         * incorporated proposed cleanups from gtk-devel-list.
3304
3305         * bumped version number to GLib-1.3.1
3306
3307         * glib.h:
3308         * gqueue.c:
3309         * gstring.c:
3310         * glist.c:
3311         removed string tokenisation (we got g_strsplit() and g_strjoin()
3312         already) and readline functions.
3313         s/g_list_delete/g_list_delete_link.
3314         implemented g_slist_delete_link.
3315         removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
3316         macro, g_atexit() is provided for public consumption.
3317         added GTrashStack inline utility functions.
3318         reimplement double eneded queues.
3319         removed GStack implementation, people can use a queue or a (singly)
3320         linked list for this task.
3321         deprecated g_strescape(), we need the SunOS variants here.
3322
3323         * gdate.c: added DEBUG_MSG() macro to wrap old messages.
3324
3325         * *.*: CVS merges.
3326
3327         * upgrade to libtool 1.3.3.
3328
3329 1999-07-21  Tor Lillqvist  <tml@iki.fi>
3330
3331         Win32: With the latest gcc (2.95, pre-release), we can have binary
3332         compatibility with MSVC by using the switch -fnative-struct. No
3333         longer build DLLs with .gcc in the name when using gcc.
3334
3335         * README.win32: Renew gcc build instructions.
3336
3337         * build-dll: Comments change, handle also .a files.
3338
3339         * makefile.cygwin.in
3340         * tests/makefile.cygwin.in: Remove .gcc from DLL name.
3341
3342 1999-07-13  Tor Lillqvist  <tml@iki.fi>
3343
3344         * README.win32: Correct URL for mingw runtime sources.
3345
3346         * build-dll: Combine commands with &&.
3347
3348         * glib.h: Map also rmdir() and hypot() for MSVCRT library.
3349
3350         * makefile.cygwin.in
3351         * tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
3352         now called *.gcc.dll, to avoid binary incompatibilities with
3353         MSVC-compiled versions.
3354
3355         * makefile.msc.in: Cosmetics.
3356
3357 1999-07-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3358
3359         * configure.in: Test for pthread_join rather than for
3360         pthread_create to determine the right thread-lib. Makes it work on
3361         mips-sgi-irix6.5. Hitn from to Jari Vuoksenranta
3362         <javu@piano.ux.phys.jyu.fi>.
3363
3364 1999-07-02  Tor Lillqvist  <tml@iki.fi>
3365
3366         * README.win32: Note about need to fix another bug in the mingw32
3367         headers.
3368
3369         * makefile.msc.in: Debugging turned on via an nmake variable,
3370         no need to edit the makefile.
3371
3372 1999-07-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3373
3374         * configure.in, acconfig.h, gutils.c: Added a g_memmove
3375         replacement for platforms without memmove, where bcopy can't
3376         handle overlapping copies and the corresponding checks, which is
3377         taken form the PERL Configure routine.
3378
3379         * glib.h: Updated the commentary about g_memmove to be right and
3380         more GLib-like.
3381
3382         * configure.in: Removed test for rand_r, as it isn't used anymore.
3383
3384 1999-06-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3385
3386         * glib.h, grand.c: Finally removed the g_random_normal and
3387         g_rand_normal functions.
3388
3389 1999-06-28  Tor Lillqvist  <tml@iki.fi>
3390
3391         * glib.def: Add missing export of g_strncasecmp.
3392
3393 1999-06-21  Jose Mercado  <jmercado@mit.edu>
3394
3395         * glib.spec.in: Changed version number (1.1->1.3) in files section
3396         to allow rpm to build packages again.
3397
3398 1999-06-21  Tor Lillqvist  <tml@iki.fi>
3399
3400         * README.win32: Update the pthreads snapshot version we want.
3401         Advice how to hand-expand the makefile.*.in files.
3402
3403         * config.h.win32.in: Define values needed by Sebastian Wilhelmi's
3404         new thread stuff.
3405
3406         * glib.def: Add new functions.
3407
3408         * glibconfig.h.win32.in: Update the pthreads snapshot version.
3409         Fix typo.
3410
3411         * gthread.c: Include config.h, guard inclusion of unistd.h.  When
3412         using gcc on Win32, g_thread_functions_for_glib_use must be marked
3413         for export here, too.
3414
3415         * gtimer.c: Implement g_usleep on native Win32 using Sleep (which
3416         only has millisecond granularity, though).
3417
3418         * makefile.cygwin.in
3419         * makefile.msc.in: Update pthreads snapshot version. File
3420         name changes. Remove testgthread.
3421
3422         * tests/makefile.cygwin.in
3423         * tests/makefile.msc.in: Add thread-test. Link with gthread lib.
3424
3425 1999-06-18  Jeff Garzik  <jgarzik@pobox.com>
3426
3427         * tests/Makefile.am:  Re-order tests in alpha order.
3428
3429 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3430
3431         * configure.in: Changed test for pthread_attr_setstacksize from
3432         AC_TRY_COMPILE to AC_TRY_LINK.
3433
3434 1999-06-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3435
3436         * configure.in, acglib.m4, acconfig.h, glib.h, gthread.c:
3437         Completed the thread support in GLib. Thread creation,
3438         prioritizing threads, yielding, joining threads as well as
3439         reader/writer locks and recursive mutexes are now in place. Please
3440         test heavily on your platform. It is so far tested on
3441         Linux/i386/pthreads, Solaris/Sparc/pthreads and
3442         Solaris/Sparc/solaristhreads.
3443
3444         * gtimer.c, glib.h: Implement g_usleep (gulong microseconds) for
3445         thread safe sleeping. (sleep() is not MT-safe at all!)
3446
3447         * gutils.c: Avoid compiler warning.
3448
3449         * tests/Makefile.am, tests/thread-test.c: New program to test some
3450         aspects of the thread implementation.
3451
3452         * gthread.c, Makefile.am: Renamed from gmutex.c to reflect the
3453         change of content.
3454
3455         * configure.in: Purged all appearances of nspr. 
3456
3457 Wed Jun  2 11:42:46 PDT 1999 Manish Singh <yosh@gimp.org>
3458
3459         * acinclude.m4
3460         * config.guess
3461         * config.status
3462         * ltconfig
3463         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
3464
3465 1999-05-29  Tor Lillqvist  <tml@iki.fi>
3466
3467         * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
3468
3469         * glib.h: Document g_strescape.
3470
3471 1999-05-12  Tor Lillqvist  <tml@iki.fi>
3472
3473         * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
3474         _fstat.
3475
3476         * README.win32: Advice also to remove -lmoldname in the
3477         patch to the egcs-1.1.2 spec file.
3478
3479 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3480
3481         * gmodule/Makefile.am: Another small fix.
3482
3483 1999-05-08  Tor Lillqvist  <tml@iki.fi>
3484
3485         * Makefile.am tests/Makefile.am: Correct rules for making the
3486         win32-related files that are made from corresponding .in files.
3487         Is there a cleaner way than explicitly writing rules that invoke
3488         config.status?
3489
3490 Fri Jul 16 22:18:36 PDT 1999 Manish Singh <yosh@gimp.org>
3491
3492         * ltconfig
3493         * ltmain.sh: upgrade to libtool 1.3.3
3494
3495 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3496
3497         * gdate.c, gstrfuncs.c, gstring.c: Fixed the use of the
3498         is..... and to..... macros, which take unsigned chars, not chars!
3499         Thanks to Morten Welinder <terra@diku.dk> for pointing this out.
3500
3501 Thu Jun  3 16:30:31 PDT 1999 Manish Singh <yosh@gimp.org>
3502
3503         * gerror.c (g_on_error_query): check isatty() before querying so
3504         we don't loop endlessly
3505
3506 Sat May 29 11:16:29 PDT 1999 Manish Singh <yosh@gimp.org>
3507
3508         * acinclude.m4
3509         * config.guess
3510         * config.status
3511         * ltconfig
3512         * ltmain.sh: upgrade to libtool 1.3.2
3513
3514 1999-05-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3515
3516         * gmain.c: provide a poll prototype for SunOS, as they do not do
3517         it self. Hint from Christian Parg <cparg@fs-design.de>.
3518
3519 Tue May 25 12:23:07 1999  Owen Taylor  <otaylor@redhat.com>
3520
3521         * gstrfuncs.c (g_strchug): Use g_memmove() not memmove().
3522         (Reported by Charles Levert <charles@comm.polymtl.ca>)
3523
3524 Mon May 10 22:03:52 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3525
3526         * Released GLib 1.2.3
3527
3528 1999-05-08  Tor Lillqvist  <tml@iki.fi>
3529
3530         * Makefile.am tests/Makefile.am: Correct rules for making the
3531         win32-related files that are made from corresponding .in files.
3532         Is there a cleaner way than explicitly writing rules that invoke
3533         config.status?
3534
3535 Sat May  1 10:18:01 PDT 1999 Manish Singh <yosh@gimp.org>
3536
3537         * acinclude.m4
3538         * config.guess
3539         * config.status
3540         * ltconfig
3541         * ltmain.sh: upgrade to libtool 1.3
3542
3543 1999-04-30  Tor Lillqvist  <tml@iki.fi>
3544
3545         * Makefile.am: Don't distribute glibconfig.h.win32.in, but
3546         glibconfig.h.win32. Generate it when making a dist. Also generate
3547         makefile.msc and config.h.win32 from corresponding .in files when
3548         making dist.
3549
3550         * configure.in: Also substitute @GLIB_INTERFACE_AGE@ and
3551         @GLIB_BINARY_AGE@ (needed in config.h.win32).
3552
3553         * glibconfig.h.win32.in: Use static mutex structure and initial
3554         value corresponding to the 1999-04-07 snapshot of pthreads-win32.
3555
3556         * tests/Makefile.am: Distribute makefile.msc. Generate it when
3557         making dist.
3558
3559         * tests/makefile.msc.in: New file.
3560
3561         * tests/node-test.c: Include <stdlib.h> for exit().
3562
3563 Thu Apr 29 02:16:36 1999  Tim Janik  <timj@gtk.org>
3564
3565         * gstrfuncs.c: minor code cleanups.
3566
3567 Tue Apr 27 13:11:29 1999  Owen Taylor  <otaylor@redhat.com>
3568
3569         * gmain.c (g_main_poll): Mask out ERR HUP and NVAL from
3570         the events field so we don't give IRIX fits.
3571
3572 Tue Apr 20 08:42:22 1999  Tim Janik  <timj@gtk.org>
3573
3574         * gscanner.c (g_scanner_unexp_token): behave conservative with
3575         G_TOKEN_IDENTIFIER_NULL and always assume scanner->value.v_string
3576         to be "null" in that case.
3577
3578 1999-04-20  Havoc Pennington  <hp@pobox.com>
3579
3580         * gutils.c (g_vsnprintf):  When using the vsnprintf()
3581         implementation, '\0'-terminate the resulting string
3582         and return its length rather than -1.
3583
3584 Mon Apr 19 13:42:21 1999  Owen Taylor  <otaylor@redhat.com>
3585
3586         * gmain.c (g_main_iterate): Added missing
3587         #ifdef G_THREADS_ENABLED. (I never liked G_THREADS_ENABLED in
3588         the first place!)
3589
3590 1999-04-18  Havoc Pennington  <hp@pobox.com>
3591
3592         * gutils.c (g_snprintf): When using the vsnprintf()
3593         implementation, '\0'-terminate the resulting string
3594         and return its length rather than -1.
3595
3596 Fri Apr 16 06:52:07 1999  Tim Janik  <timj@gtk.org>
3597
3598         * gscanner.c (g_scanner_unexp_token): feature G_TOKEN_EOF as a valid
3599         expected token as well, so we get "- expected end of file" instead of
3600         "- expected (unknown) token <0>".
3601
3602 Tue Apr 13 16:16:14 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3603
3604         * Released GLib 1.2.2
3605
3606 1999-04-12  Elliot Lee  <sopwith@mh69.mh.cuc.edu>
3607
3608         * g_strchug(): s/strcpy/memmove/
3609
3610 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3611
3612         * configure.in: Adjusted the test for an unimplemented
3613         getpwuid_r. Info from Michael Pruett <mikep@ugcs.caltech.edu>.
3614
3615 Sun Apr 11 15:07:34 1999  Tim Janik  <timj@gtk.org>
3616
3617         * configure.in: bumped versin number to GLib 1.2.2, interface 2,
3618         binary 2.
3619
3620         * NEWS: updates.
3621
3622 Sun Apr 11 14:37:06 1999  Tim Janik  <timj@gtk.org>
3623
3624         * gstrfuncs.c (g_strcasecmp): always check for s1, s2 != NULL.
3625
3626 Sat Apr 10 19:30:50 1999  Tim Janik  <timj@gtk.org>
3627
3628         * glib.h: removed braces around inline strings for the G_GNUC_FUNCTION
3629         and G_GNUC_PRETTY_FUNCTION macros, so the macros can be used for
3630         compile time string concatenation.
3631
3632 Thu Apr  8 19:53:19 1999  Owen Taylor  <otaylor@redhat.com>
3633
3634         * gmain.c (g_main_iterate): Check for two threads
3635         calling g_main_iterate at once.
3636
3637         * gmain.c: If the set of poll file descriptors changes
3638         during a call to poll(), abort that call, and start
3639         a new poll. My test program still segfaults
3640         obscurely on glibc 2.0 (in read()!!!), but now it works on
3641         glibc 2.1, so I'll blame something else for the other segfault.
3642
3643 1999-03-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3644
3645         * configure.in: Fixed slight bug, that made configure hang on some
3646         systems. Please do not merge this into 1.3 branch. It's taken care
3647         of differently there. Info from J. Rhett Aultman
3648         <cuplan@alley.gator.net>
3649
3650 Wed Mar 24 21:23:47 CST 1999 Shawn T. Amundson <amundson@gtk.org>
3651
3652         * Released GLib 1.2.1
3653
3654         * README:
3655           INSTALL: 
3656           NEWS: 
3657           sanity_check: updated
3658
3659         * glibconfig.h.win32.in:
3660           Makefile.am:
3661           docs/glib-config.1.in:
3662           docs/Makefile.am: Added files used to generate new files.
3663
3664         * glibconfig.h.win32:
3665           docs/glib-config.1: Removed, now generated.
3666
3667         * configure.in: Added to output now-generated files.
3668
3669 Tue Mar 23 13:43:39 PST 1999 Manish Singh <yosh@gimp.org>
3670
3671         * giounix.c: add user_data param to check and prepare functions
3672
3673 Mon Mar 22 03:54:43 1999  Tim Janik  <timj@gtk.org>
3674
3675         * glib.h:
3676         * gmain.c: add user_data to the GSource ->check and ->prepare
3677         functions, so it can be used to e.g. pass a GPollFd.
3678         (g_main_poll): only add poll records with an events mask != 0 to the
3679         fd_array. don't even bother calling poll_func() if fds=timeout=0.
3680         added debugging printouts around poll_func() invokation that can be
3681         enabled with #define G_MAIN_POLL_DEBUG.
3682
3683 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
3684
3685         * acinclude.m4
3686         * config.guess
3687         * config.sub
3688         * ltconfig
3689         * ltmain.sh: upgrade to libtool 1.2f
3690
3691         * autogen.sh: libtool is not required to autogen glib
3692
3693         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
3694         needed)
3695
3696 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3697
3698         * gmem.c: Fixed another stupid fault of mine: Did
3699         s/g_static_/g_private_/g
3700
3701 Wed Mar 17 03:17:42 1999  Tim Janik  <timj@gtk.org>
3702
3703         * configure.in bumped versin number to GLib 1.2.1, interface 1,
3704         binary 1.
3705
3706         * NEWS: updates.
3707
3708         * glib.h: added GLIB_CHECK_VERSION() macro similar to
3709         GTK_CHECK_VERSION().
3710
3711 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
3712
3713         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
3714         to g_return_if_fail().
3715         (g_mem_profile): 
3716         (g_mem_chunk_print): 
3717         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
3718         messages.
3719
3720         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
3721         to g_return_if_fail().
3722         * grel.c (g_*): changed a bunch of g_assert() statements to
3723         g_return_if_fail() and added some extra ones to check relation != NULL.
3724
3725 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3726
3727         * configure.in: Also accept _Pctime_r instead of ctime_r, while
3728         seraching for the right `_REENTRANT' flag. This is for Digital
3729         UNIX 4.0d. Thanks to Sascha Brawer <sb@adasys.ch>.
3730
3731 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
3732
3733         * configure.in: check for working realloc (NULL,).
3734         * gmem.c (g_realloc): use malloc() for initial allocation on systems
3735         where realloc(NULL,) will not work (this is the case on SunOS, reported
3736         by Tom Geiger).
3737
3738 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
3739
3740         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
3741         flag around the call to g_hook_free() to avoid spurious
3742         warnings (happens during destruction phase).
3743
3744 1999-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3745
3746         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
3747         from config.h.win32 to glibconfig.h.win32
3748
3749         * acconfig.h, configure.in, config.h.win32: Added test for DCE
3750         versions of mutex_trylock and cond_timedwait. The win32 versions
3751         are posix, aren't they?
3752
3753 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3754
3755         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
3756         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
3757
3758 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3759
3760         * gutils.c (g_get_any_init): Fixed yet another bloody
3761         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
3762         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
3763         test better than that, but have no idea, how to do that easily.
3764
3765 Sun Feb 21 22:11:51 CST 1999  Shawn T. Amundson <amundson@gtk.org>
3766
3767         * Released GLib 1.2.0
3768
3769         * AUTHORS: updated
3770
3771 Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>
3772
3773         * *.[ch]: inserted additional note to look for ChangeLog and
3774           AUTHORS file for a log of modifications.
3775
3776 Sun Feb 21 14:01:00 1999  Dr Mike <drmike@redhat.com>
3777
3778         * Made specfile generated, tweaked slightly
3779
3780 Sat May  8 06:00:17 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3781
3782         * configure.in
3783           gmodule/Makefile.am
3784           gthread/Makefile.am: Better testing reveals better
3785           methods.  Fixes for BeOS.
3786
3787 Sat May  8 01:52:29 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3788
3789         * configure.in
3790           gerror.c
3791           gmain.c
3792           gstrfuncs.c
3793           gutils.c
3794           ltconfig
3795           ltmain.sh
3796           gmodule/Makefile.am
3797           gmodule/gmodule.c
3798           gmodule/gmoduleconf.h.in
3799           gmodule/gmodule-beos.c
3800           gthread/Makefile.am: Port to BeOS by myself and Richard Offer.
3801
3802 1999-05-06  Tor Lillqvist  <tml@iki.fi>
3803
3804         * makefile.msc.in makefile.cygwin.in glibconfig.h.win32.in
3805         config.h.win32.in tests/makefile.msc.in tests/makefile.cygwin.in:
3806         New files, used to generate corresponding non-.in files when
3807         making a dist. This is just so the version numbers will be kept in
3808         synch automatically.
3809
3810         * configure.in: Also substitute @GLIB_MAJOR_VERSION@,
3811         @GLIB_MINOR_VERSION@, and @GLIB_INTERFACE_AGE@.
3812
3813         * Makefile.am tests/Makefile.am: Also distribute makefile.cygwin.
3814
3815         * gerror.c (g_on_error_query): On Win32, put up a MessageBox and
3816         then exit.
3817
3818         * glib.def: Add a couple of functions.
3819
3820 Sat May  1 10:26:20 PDT 1999 Manish Singh <yosh@gimp.org>
3821
3822         * acinclude.m4
3823         * config.guess
3824         * config.status
3825         * ltconfig
3826         * ltmain.sh: upgrade to libtool 1.3
3827
3828 1999-04-25  Tor Lillqvist  <tml@iki.fi>
3829
3830         * README.win32: More editing.
3831         * build-dll: Use gcc, not ld to link.
3832         * glib.h: On native Win32 use _unlink().
3833         * gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
3834         not _MSC_VER.
3835         * gstring.c: Include <io.h> on Win32 for _read prototype.
3836         * gutils.c: Remove old IO channel code (was in #if 0).
3837         * makefile.cygwin: Don't need to link with kernel32 and msvcrt
3838         explicitly, they are included anyway.
3839
3840 1999-04-24  Tor Lillqvist  <tml@iki.fi>
3841
3842         Support added for building using a GNU toolchain on Win32,
3843         i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
3844
3845         * README.win32: Updated.
3846         * build-dll makefile.cygwin tests/makefile.cygwin: New files.
3847         * glib.h glib.def glibconfig.h.win32: Slight updates. 
3848         * gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
3849         * gmain.c gutils.c testglib.c tests/string-test.c: Test for
3850         NATIVE_WIN32, not _MSC_VER.
3851         * gmutex.c: Must declare g_thread_functions_for_glib_use as
3852         exported (using the GUTILS_C_VAR macro).
3853         * gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
3854         * gmodule/gmoduleconf.h.win32: Need underscore with gcc.
3855         * gthread/gthread.c: With gcc on Win32, must use memcpy to assign
3856         value of g_thread_functions_for_glib_use (?).
3857         * makefile.msc tests/makefile.msc: Cosmetics.
3858
3859 Fri Apr 23 14:29:25 BST 1999  Tony Gale <gale@gtk.org>
3860
3861         * glib.h: Fix typo in g_string_ncasecmp macro (by me).
3862           Add b_string_strncasecmp macro.
3863
3864 1999-04-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3865
3866         * gutils.c (g_get_any_init): use sysconf (_SC_GETPW_R_SIZE_MAX) as
3867         the new initinal bufsize for getpwuid_r on systems, that support
3868         this. Hint from Holger Duerer <H.Duerer@zait.uni-bremen.de>.
3869
3870 Sat Apr 17 20:55:13 BST 1999  Tony Gale <gale@gtk.org>
3871
3872         * glib.h, gstring.c: Add new g_string functions for reading
3873           from file/socket descriptors, and tokenising strings.
3874
3875           Added various g_string macros.
3876
3877 Tue Apr 13 23:28:32 1999  Tor Lillqvist  <tml@iki.fi>
3878
3879         * README.win32: Mention the tests directory.
3880
3881         * glib.def: Add the functions from grand.c.
3882
3883         * glibconfig.h.win32: Add unsigned max values, and the format
3884         strings.
3885
3886         * makefile.msc: Add grand.
3887
3888         * tests/{date-test,node-test}.c: Include <stdlib.h> for exit().
3889
3890         * tests/makefile.msc: New file.
3891
3892 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3893
3894         * glib.h: Moved struct declaration up. Style fixes.
3895
3896         * grand.c: Style fixes. Only try to open /dev/random once.
3897
3898         * tests/rand-test.c (main): New tests; Slight bug fix. 
3899
3900 1999-04-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3901
3902         * grand.c, tests/rand-test.c: New files to implement the Mersenne
3903         Twister Pseudo Random Number Generator.
3904
3905         * glib.h, AUTHORS, Makefile.am, tests/Makefile.am: Changed
3906         accordingly.
3907
3908 Thu Apr  8 21:12:30 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3909
3910         * Released GLib 1.3.0
3911
3912 1999-03-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3913
3914         * configure.in: Added a check for the right format to printf and
3915         scanf long longs. It is %qi instead of %lli on FreeBSD for
3916         whatever reason.
3917
3918 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
3919
3920         * Makefile.am (glibconfig.h): Make sure `glibconfig.h' exists
3921         after the rule is fired.
3922         (install-exec-local): Install glibconfig.h only if the contents
3923         are different from the currently installed glibconfig.h.
3924
3925 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
3926
3927         * Makefile.am (configexecincludedir): Rename from 
3928         configincludedir so that glibconfig.h will be installed 
3929         as part of `make install-exec'. 
3930
3931 Thu Mar 25 22:45:47 1999  Tor Lillqvist  <tml@iki.fi>
3932
3933         * config.h.win32: Update version numbers.
3934
3935         * glibconfig.h.win32: Update version numbers and pthreads-win32-
3936         related magic values.
3937
3938         * README.win32: Some improvements.
3939
3940         * makefile.msc: Add gqueue and gstack. Correct version number.
3941
3942 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
3943
3944         * acinclude.m4
3945         * config.guess
3946         * config.sub
3947         * ltconfig
3948         * ltmain.sh: upgrade to libtool 1.2f
3949
3950         * autogen.sh: libtool is not required to autogen glib
3951
3952         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
3953         needed)
3954
3955 1999-03-18  Jeff Garzik  <jgarzik@pobox.com>
3956
3957         * glib.def: Add new g_list, g_stack, g_queue functions.
3958
3959 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3960
3961         * configure.in: added new AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
3962         to hold various defines to get the right thread implementation on
3963         different platforms. Also look in -ldce for pthread_create. Should
3964         make it work on HP-UX 10.x. Information from "D. Emilio Grimaldo
3965         Tunon" <emilio_tunon@nl.compuware.com>.
3966
3967 1999-03-17  Jeff Garzik  <jgarzik@pobox.com>
3968
3969         * gstack.c, gqueue.c:
3970         Add copyright, clean up code a bit.
3971
3972 1999-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3973
3974         * configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
3975         platforms with only /usr/include/values.h.
3976
3977         * acconfig.h: Removed unnecessary macros.
3978
3979         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
3980         from config.h.win32 to glibconfig.h.win32. Taken from glib 1.2
3981         branch.
3982
3983         * configure.in: Also accept _Pctime_r instead of ctime_r, while
3984         seraching for the right `_REENTRANT' flag. This is for Digital
3985         UNIX 4.0d. Taken from glib 1.2 branch.
3986
3987 Wed Mar 17 03:14:56 1999  Tim Janik  <timj@gtk.org>
3988
3989         * glib.h: added GLIB_CHECK_VERSION() macro similar to
3990         GTK_CHECK_VERSION().
3991
3992 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
3993
3994         * merges from glib-1-2:
3995
3996 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
3997
3998         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
3999         to g_return_if_fail().
4000         (g_mem_profile):
4001         (g_mem_chunk_print):
4002         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
4003         messages.
4004
4005         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
4006         to g_return_if_fail().
4007         * grel.c (g_*): changed a bunch of g_assert() statements to
4008         g_return_if_fail() and added some extra ones to check relation != NULL.
4009
4010 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
4011
4012         * configure.in: check for working realloc (NULL,).
4013         * gmem.c (g_realloc): use malloc() for initial allocation on systems
4014         where realloc(NULL,) will not work (this is the case on SunOS, reported
4015         by Tom Geiger).
4016
4017 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
4018
4019         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
4020         flag around the call to g_hook_free() to avoid spurious
4021         warnings (happens during destruction phase).
4022
4023 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4024
4025         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
4026         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
4027
4028 1999-03-16  Timur Bakeyev  <mc@bat.ru>
4029
4030         * configure.in: Fix problem with pthread_create in libc, as running
4031         "gcc test.c -l " is not legal.
4032
4033 1999-03-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4034
4035         * tests/type-test.c: Added a test for the
4036         G_(U)?INT(16|32|64)_FORMAT and G_(MIN|MAX|MAXU)(SHORT|INT|LONG)
4037         macros.
4038
4039         * configure.in: Removed G_(U)?INT8_FORMAT again, as it can't be
4040         used for scanf.
4041
4042         * configure.in: Added the macros G_MAXU(SHORT|INT|LONG). I do not
4043         know how to handle these on platforms with /usr/include/values.h,
4044         but without /usr/include/limits.h. Please someone add this.
4045
4046
4047 1999-03-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4048
4049         * configure.in: Added the macros G_(U)?INT(8|16|32|64)_FORMAT to
4050         use for printf and (much more important) scanf format strings for
4051         the corresponding GLib types. 
4052
4053         * glib.h Added G_(U)?(SHORT|INT|LONG)_FORMAT for consistency. It
4054         however makes no sense to also provide G_(FLOAT|DOUBLE)_FORMAT, as
4055         they are different for printf (f for both) and scanf (f for float,
4056         lf for double). Defining G_INT_FORMAT makes sense however, as we
4057         might want to define gint to something different than int someday
4058         in the future. Idea from Sascha Brawer <sb@adasys.ch>.
4059
4060 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
4061
4062         * gdate.c:
4063         Commented out debugging output.
4064
4065         * tests/Makefile.am, tests/date-test.c:
4066         Added test of the GDate module, based closely on testgdate.c.
4067
4068         * tests/Makefile.am:
4069         Bugfix - compile tests with @GLIB_DEBUG_FLAGS@.
4070
4071 1999-03-14  Raja R Harinath  <harinath@cs.umn.edu>
4072
4073         * configure.in (glibconfig.h): Remove widechar tests and defines.
4074         (fd_set): Change the grep for `fd_mask' to search for `fd_set'.
4075         * gerror.c (fd_mask): Remove conditional typedef.  It is not used
4076         elsewhere in the file.
4077         * gmain.c (fd_mask): Likewise.
4078
4079 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4080
4081         * configure.in: Test for posix threads first, then for dce threads.
4082
4083 1999-03-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4084
4085         * configure.in: Revamped the thread configure stuff. Now dce
4086         threads (old posix draft) are recogniced. This is necessary,
4087         because dce threads are in fact working quite differently from
4088         posix threads. Also changed the conditions for checking for MT
4089         safe functions a bit, because G_THREADS_IMPL_NONE still have to
4090         compile thread safe. NOTE: Please do not commit my change to
4091         glib-1-2/{acconfig.h,configure.in,config.h.win32} from 1999-03-03,
4092         as the current change will take care of that too.
4093
4094 Tue Mar  9 14:37:32 1999  Jeff Garzik  <jgarzik@pobox.com>
4095
4096         * Makefile.am, glib.h, gstack.c, gqueue.c,
4097           tests/Makefile.am, tests/queue-test.c, tests/stack-test.c:
4098         Added stack, queue ADTs and related tests.
4099
4100         * glib.h, glist.c:
4101         New g_list_delete() function.
4102
4103 Sat Mar  6 11:03:08 1999  Asbjorn Pettersen  <ape@lrdpf.spacetec.no>
4104
4105         * gutils.c (g_get_any_init): add OS/2 changes.
4106         change '\\' in HOME to '/'.
4107
4108 1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
4109
4110         * glib.def: g_spaced_primes_closest was omitted here, so I
4111         couldn't build Xdelta on Windows.
4112
4113 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4114
4115         * gutils.c (g_get_any_init): Fixed yet another bloody
4116         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
4117         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
4118         test better than that, but have no idea, how to do that easily.
4119
4120 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
4121
4122         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
4123         new one.
4124
4125         * configure.in: set glib version to 1.3.0.