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