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