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