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