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