b8738da280c561101494f5496c204cd969a3933d
[platform/upstream/glib.git] / ChangeLog.pre-2-4
1 2000-10-09  Havoc Pennington  <hp@redhat.com>
2
3         * Makefile.am, tests/Makefile.am: Add new files.
4         
5         * tests/spawn-test.c, tests/shell-test.c: new tests for
6         the shell/spawn stuff
7
8         * gutils.c (g_find_program_in_path): convert a relative
9         program name into an absolute pathname to an existing 
10         executable
11
12         * gspawn.h, gspawn.c: New fork/exec API
13
14         * gshell.h, gshell.c: Shell-related utilities, at the moment
15         simply routines to parse argv and quote/unquote strings
16
17         * guniprop.c (g_unichar_isspace): Return TRUE for the 
18         ASCII space characters isspace() returns TRUE for.
19
20         * gfileutils.c (g_file_get_contents): Convenience function 
21         to slurp entire file into a string and return it. Partially
22         written by Joel Becker.
23         (g_file_test): file test function
24
25 2000-10-06  Tor Lillqvist  <tml@iki.fi>
26
27         * makefile.msc.in: Revamp to be like makefile.mingw.in, make
28         the MSVC build actually work again.
29         
30         * gmodule/makefile.msc.in
31         * gobject/makefile.msc.in
32         * gthread/makefile.msc.in: New files, like their mingw counterparts.
33
34         * gmodule/Makefile.am
35         * gobject/Makefile.am
36         * gthread/Makefile.am: Make and distribute them.
37         
38         * */makefile.mingw.in: Allow override of GLib version number from
39         the build/win32/module.defs file.
40         
41         * glib.def: Add new entry point.
42
43         * tests/gio-test.c (main): Fix the Win32-only code to use current
44         API, g_io_channel_win32_make_pollfd() and g_io_channel_win32_poll().
45
46         Fixes from Hans Breuer:
47         
48         * glib.h (struct DIR): Keep the last readdir result cached inside
49         the DIR struct, to enable several DIRs being open simultaneously.
50
51         * gwin32.c (g_win32_readdir): Use the above instead of static.
52
53         * giowin32.c (g_io_channel_win32_make_pollfd): Insert cast to keep
54         MSVC happy.
55
56 2000-10-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
57
58         * glib.h: Changed alloca stuff a bit: when we have a working
59         alloca.h, we're not messing with alloca any further. Should fix a
60         bug reported by Bernd Demian <wega@csc-dd.de>.
61
62 2000-09-29  Jonathan Blandford  <jrb@redhat.com>
63
64         * gnode.c (g_node_insert_after): Added function to keep symetry
65         with g_node_insert_before. 
66
67 2000-09-29  Martin Baulig  <baulig@suse.de>
68
69         Several minor ANSI C fixes.
70
71         Added missing casts:
72         * gdate.c (g_date_fill_parse_tokens): `s = (guchar *) str'.
73         * gmain.c (g_idle_dispatch): `func = (GSourceFunc) source_data'.
74         (g_idle_add_full): `(gpointer) function' in call to g_source_add().
75         * gstrfuncs.c (g_strdown): `s = (guchar *) string' and
76         `return (gchar *) string'.
77         (g_strup): Likewise.
78         (g_strchug): `start = (guchar*) string' in 1st for() argument;
79         `strlen ((gchar *) start)' in call to g_memmove().
80         * gstring.c (g_string_down): `s = (guchar *) string->str'.
81         (g_string_up): Likewise.
82         * gthreadpool.c (stop_this_thread_marker):
83         `(gpointer) &g_thread_pool_new'.
84         * gunidecomp.h (decomp_table[]): Cast all the strings to
85         `unsigned char *'.
86
87         Put text following #endif into comments:
88         * gmain.c: here.
89
90 2000-09-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
91
92         * configure.in, glib.h: Added errorcheck mutexes. These are
93         activated through the preprocessor symbol
94         G_ERRORCHECK_MUTEXES. Need to add an extra word to StaticMutex in
95         order to achieve this. g_(static_)mutex_* functions instrument the
96         mutex operations with mutex name and location, when compiled with
97         -DG_ERRORCHECK_MUTEXES. g_thread_init activates the errorcheck
98         mutexes, when compiled with -DG_ERRORCHECK_MUTEXES.
99
100 2000-09-28  Havoc Pennington  <hp@pobox.com>
101
102         * glib.h (GThreadPriority): fix indentation
103         (GConvertError): generic error is conventionally called
104         _FAILED rather than _OTHER, at least at the moment, 
105         according to GError docs in docs/reference.
106         
107         * gconvert.c: s/_OTHER/_FAILED/
108         
109 2000-09-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
110
111         * configure.in: Adjusted the test for an unimplemented
112          getpwuid_r. Info from Michael Pruett. This is just a forward
113          merge from glib-1-2.
114
115         * configure.in: Moved determination of G_THREAD_FLAGS before
116         G_THREAD_LIBS. Check for UnixWare systems and set the right cflags
117         and libs there (it needs -Kthread for the native compiler and
118         -pthread for gcc). Thanks to Boyd Lynn Gerber <gerberb@zenez.com>
119         for the info.
120
121         * configure.in: Fail immediately, when no thread library is found,
122         instead of continuing searching for rt libs etc. Changed almost
123         all occurances of $enable_threads to $have_threads, as that's,
124         what we want.
125
126         * tests/threadpool-test.c: Define vars inside the guard to avoid
127         warnings.
128
129         * configure.in, tests/type-test.c: Some platforms support 64 bit
130         'long long', but you can not printf or scanf them. In that case,
131         don't define G_G{UINT|INT}64_FORMAT. Changed the type-test program
132         to reflect that.
133
134         * gutils.c (g_get_current_dir): max_len can't be initialized
135         statically as it might call a function. So do it at first call.
136
137 Tue Sep 26 2000 Elliot Lee <sopwith@redhat.com>
138         * glib.h: Add G_GNUC_PURE macro (but don't use it anywhere).
139
140 Mon Sep 25 2000 Elliot Lee <sopwith@redhat.com>
141         * garray.c, glib.h, gmem.c: Add a few missing G_GNUC_CONST's.
142
143 2000-09-21  Tor Lillqvist  <tml@iki.fi>
144
145         * makefile.mingw.in: Add gconvert.o. Use libiconv.
146
147         * config.h.win32.in: Define HAVE_GETCWD.
148
149         * glib.def: Add new entry points.
150
151 2000-09-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
152
153         * configure.in: The last released automake (1.4) still requires
154         AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL, so use that for the
155         time being.
156
157 2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
158
159         * acconfig.h, configure.in, gutils.c: Test for the existence of
160         getcwd, and use it only when found.
161
162         * glib.h: Only use the gcc-variable-macro-argument-extension for
163         gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
164                                                    
165 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
166
167         * gutf8.c: Implement g_ucs4_to_utf8 which was in
168         the header file but not implemented.
169
170 Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com>
171
172         * glib.h configure.in: Define g_alloca() as an
173         alloca-that-works-anywhere.
174         
175         * gconvert.c: Fix warnings which could have caused problems on
176         64-bit platforms.
177
178 Sun Sep 10 12:37:40 2000  Owen Taylor  <otaylor@redhat.com>
179
180         * glib.h gconvert.c (g_convert): Havoc Pennington's implementation 
181         of convenient character set conversion using iconv, with
182         the addition of GError. We probably need a fallback that
183         just does conversions between, say UTF-8,16,32 and ISO-8859-1
184         for targets without iconv at all.
185
186         Also add g_convert_with_fallback() to take care of conversions 
187         where we accept some loss going to the target encoding.
188         
189 2000-09-10  Havoc Pennington  <hp@redhat.com>
190
191         * gutf8.c (g_utf8_validate): Add this function.
192
193 Sat Sep  9 18:50:42 2000  Owen Taylor  <otaylor@redhat.com>
194
195         * gstrfuncs.c (g_strescape): Add a missing g_return_if_fail().
196
197 Mon Aug 21 03:57:46 2000  Tim Janik  <timj@gtk.org>
198
199         * glib.h (G_BREAKPOINT): for non-i386 and non-alpha, or non gcc,
200         implement BREAKPOINT() as raise (5 /* SIGTRAP */);
201
202         * glib.h: provide user-definable switch G_IMPLEMENT_INLINES,
203         to turn on compilation of inline function implementations provided
204         in header files with extern linkage.
205         wrap inline function implementations into ifdef __G_UTILS_C__, so we
206         really only compile them for gutils.c and not also into arbitrary user
207         code that wants to make use of G_IMPLEMENT_INLINES.
208         adjusted comment apropriately.
209
210         * gutils.c: to turn on compilation of inline functions, provide
211         #define G_IMPLEMENT_INLINES 1 and #define __G_UTILS_C__.
212
213 2000-09-06  Havoc Pennington  <hp@redhat.com>
214
215         * gerror.c: docs
216
217         * docs/reference/glib/tmpl/error_reporting.sgml: docs
218
219 Wed Sep  6 10:28:34 2000  Owen Taylor  <otaylor@redhat.com>
220
221         * guniprop.c gunicode.h gutf8.c: Some inline docs fixes.
222
223 2000-09-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
224
225         * glib.h, gtimer.c, tests/thread-test.c:
226         s/G_MICROSEC/G_USEC_PER_SEC/
227
228         * glib.h: Removed G_G{U}{SHORT|INT|LONG}_FORMAT from glib.h, as
229         they are really superfluous.
230
231 Tue Sep  5 20:16:27 2000  Owen Taylor  <otaylor@redhat.com>
232
233         * configure.in docs/Makefile.am: Add gtk-doc checks
234         for newly added docs/reference/ subdir.
235
236 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
237
238         * gthread.c (g_thread_error_quark): Don't use a G_LOCK, as it
239         isn't necessary.
240
241 2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
242
243         * gstring.c (g_string_free): Use g_return_val_if_fail instead of
244         g_return_if_fail, as the function now is supposed to return
245         something.
246         
247         * gerror.c, gerror.h (g_propagte_error): Added function
248         g_propagte_error to hand over local errors to the calling
249         function.
250
251         * glib.h: Include gerror.h before it is used for some g_thread_*
252         functions.
253
254         * gthread.c, gthreadpool.c, glib.h: Enable error reporting for
255         thread creation, namly for g_thread_create, g_thread_pool_new,
256         g_thread_pool_push and g_thread_pool_set_max_threads.
257
258         * tests/thread-test.c, tests/threadpool-test.c: Adapted
259         accordingly.
260         
261 2000-08-31  Tor Lillqvist  <tml@iki.fi>
262
263         * glib.h
264         * glib.def
265         * giowin32.c (g_io_channel_win32_make_pollfd): New function, to
266         make a GPollFD from a GIOChannel. Creates the events and starts
267         the reader thread if necessary.
268
269         * glib.h
270         * giowin32.c (g_io_channel_win32_poll): No use for separate
271         condition parameter.
272
273         * gmain.c (g_get_current_time): (Win32): Simplify, use
274         GetSystemTimeAsFileTime().
275
276 2000-08-27  Tor Lillqvist  <tml@iki.fi>
277
278         * giowin32.c (g_io_channel_win32_poll): New function, otherwise
279         like g_io_channel_win32_wait_for_condition(), but accept several
280         GPollFDs.
281         (g_io_channel_win32_wait_for_condition): Call
282         g_io_channel_win32_poll().
283
284         * glib.h: Declare g_io_channel_win32_poll().
285
286         * gwin32.c (g_win32_error_message): Don't believe return value
287         from FormatMessage.
288
289 2000-08-25 Elliot Lee <sopwith@redhat.com>
290
291         * glib.h, gunicode.h, gmodule/gmodule.h:
292         : Mark the following functions G_GNUC_CONST (to allow
293         optimization) because their results are a function of only their parameters:
294         g_int_hash, g_int_equal, g_direct_hash, g_direct_equal, g_quark_to_string,
295         g_date_is_leap_year, g_date_days_in_month, g_date_monday_weeks_in_year,
296         g_date_sunday_weeks_in_year, g_spaced_primes_closest, g_unichar_is*,
297         g_unichar_to*, g_unichar_*digit_value, g_unichar_type
298
299 2000-08-21 Elliot Lee <sopwith@redhat.com>
300
301         * gobject/Makefile.am, gobject/gobject-query.c, gobject/gparamspecs.c: Fix inclusion of
302         config.h
303
304 Mon Aug 21 14:46:23 2000  Owen Taylor  <otaylor@redhat.com>
305
306         * tests/gio-test.c: Fix a couple of trivial bugs that
307         were causing warnings.
308
309 Mon Aug 21 14:39:36 2000  Owen Taylor  <otaylor@redhat.com>
310
311         * glib.h: Use C99 varargs macros where possible 
312         (check __STDC_VERSION__), otherwise, on gcc, use an alternate 
313         form of gcc varargs which is more likely
314         to be supported going forward. (Based on some code
315         from Raja Harinath)
316
317 2000-08-17  Darin Adler  <darin@eazel.com>
318
319         * glib.h:
320         * garray.c: (g_array_free), (g_ptr_array_free),
321         (g_byte_array_free): Return the data left behind.
322         * gstring.c: (g_string_free): Return the data left behind.
323
324         Changed the free calls that leave data behind so they
325         return a pointer to the left-behind data, NULL if told not
326         to leave anything behind. This makes these calls easier
327         to use correctly, without any incompatible API change for
328         callers that don't know about the return value. Of course,
329         it would be even clearer if the free calls weren't dual-purpose
330         in the first place.
331
332 2000-08-12  Tor Lillqvist  <tml@iki.fi>
333
334         * giowin32.c: Some indentation and spacing fixes. Add some more
335         logging.
336         (g_io_win32_add_watch): New function, with common code from
337         g_io_win32_fd_add_watch and g_io_win32_sock_add_watch. Don't start
338         more than one reader thread for a GIOChannel. We should obviously
339         have just one reader thread reading a file descriptor or socket.
340
341 2000-08-10  Havoc Pennington  <hp@redhat.com>
342
343         * gthread-2.0.pc.in (Cflags): don't duplicate glib Cflags
344
345         * gmodule-2.0.pc.in (Cflags): don't duplicate glib Cflags
346
347         * gobject-2.0.pc.in (Cflags): don't duplicate Cflags from glib
348         itself
349
350 2000-08-10  Havoc Pennington  <hp@redhat.com>
351
352         * glib-2.0.pc.in (Cflags): Look in glib-2.0/include for
353         glibconfig.h
354
355 2000-08-07  Tor Lillqvist  <tml@iki.fi>
356
357         * tests/gio-test.c (shutdown_source): New function, that calls
358         g_source_remove(). Check return value of g_source_remove(), and
359         decrement running subprocess counter only if g_source_remove()
360         actually did remove the source.
361
362         (recv_message): Call shutdown_source() on EOF condition. Return
363         FALSE on G_IO_HUP and G_IO_ERR condition. Fix printf format typo.
364
365 Sun Aug  6 20:06:02 2000  Tim Janik  <timj@gtk.org>
366
367         * gmessages.c (g_log_domain_check_free): keep *last updated while
368         running through the domain list, so we don't screw up the removal,
369         patch provided by Gady Kozma <gadykozma@hotmail.com>.
370
371 Sun Aug  6 20:03:41 2000  Tim Janik  <timj@gtk.org>
372
373         * gmessages.c (g_log_remove_handler): keep *last updated while running
374         through the handler list, so we don't screw up the removal.
375
376 Sun Jul 30 16:54:13 2000  Owen Taylor  <otaylor@redhat.com>
377
378         * gunicode.h: Fix stray character
379         
380         * gutf8.c (g_unichar_to_utf8): Allow outbuf to be NULL, in
381         which case we just compute the length.
382
383 2000-07-31  Havoc Pennington  <hp@redhat.com>
384
385         * Makefile.am (EXTRA_DIST): forgot to add .pc.in to EXTRA_DIST
386
387 2000-07-31  Havoc Pennington  <hp@redhat.com>
388
389         * glib-2.0.pc.in, gobject-2.0.pc.in, gmodule-2.0.pc.in,
390         gobject-2.0.pc.in: pkg-config data files         
391         
392         * Makefile.am: Install/dist the .pc files
393
394         * configure.in: Output the .pc files
395
396 2000-07-31  Tor Lillqvist  <tml@iki.fi>
397
398         * giowin32.c (buffer_read): The code didn't compile (must
399         have been sleepy when committing). "return" instead of "break"
400
401         (g_io_win32_fd_add_watch): Cannot check if the file descriptor is
402         readable by calling ReadFile to read zero bytes. ReadFile blocks
403         on NT even if trying to read nothing at all. So, don't check if
404         file descriptor is readable; assume this function isn't called
405         otherwise.
406
407 Sun Jul 30 10:44:16 2000  Tim Janik  <timj@gtk.org>
408
409         * gmain.c (g_get_current_time): fix tor's recent changes which
410         got rid of a required variable in the non-windows path.
411
412 2000-07-30  Tor Lillqvist  <tml@iki.fi>
413
414         Finally, a new and improved IO Channel and condition watch
415         implementation for Win32. Based on code provided by Craig Setera.
416
417         When watching file descriptors, for which there is no select()
418         like functionality on Win32 that would work on all Win32 platforms
419         for all types of file descriptors (including anonymous pipes), we
420         start a new thread that blocks while trying to read from the file
421         descriptor. When the read returns, a Win32 Event is signalled that
422         the polling routine eventually notices. Meanwhile, the data being
423         read is stored in a circular buffer, from where the IO channel's
424         read() method picks it up.
425  
426         If the buffer fills up the reading thread has to wait for space
427         becoming available. For this another Win32 Event is used. The IO
428         Channel's read() method signals this when it has read some data
429         out of the buffer.
430
431         The separate reader thread(s), and the circular buffer(s) with
432         associated events mean lots of possibilities for fun parallellism
433         errors. But it seems to work OK, i.e. GIMP runs.
434
435         * gmain.c: Small changes to the Win32 polling function.
436         (g_main_win32_get_poll_func): New function. Perhaps it would be a
437         good idea to provide this on all platforms.
438
439         * giowin32.c: The bulk of the new implementation.
440         (g_io_channel_win32_wait_for_condition): New function. To be used
441         where on Unix one does a select() on the channel's fd, like
442         libgimp's gimp_extension_process(). Could be provided on all
443         platforms.
444
445         * glib.h: Update documentation for IO Channels on Win32. Remove
446         the declarations for the as of now obsolete old functions related
447         to IO Channels for pipes with "wakeup" messages.
448         
449         * glib.def: Some new functions.
450         
451         * tests/gio-test.c: New file, to test GIOChannel and main loop.
452
453         * tests/Makefile.am
454         * tests/makefile.mingw.in: Add it.
455
456         (Later the same night:)
457
458         * giowin32.c: Compile in the debugging code all the time, but only
459         output debug messages if told so. Add (unadvertised) function to
460         turn on/off debug messages for a channel.
461         
462         (buffer_read): Don't loop. It is expected behaviour to return a
463         short read occasionally, for instance when reading from
464         pipes. It's the calling code that should loop if it *knows* how
465         much the writer has written.
466
467         * tests/gio-test.c: Correct the program's name in the output.
468         (recv_message): Loop calling g_io_channel_read() (in a new
469         function read_all()) until we have all the bytes we want (that we
470         know the writer has written/will write).
471         
472 Thu Jul 27 05:15:11 2000  Tim Janik  <timj@gtk.org>
473
474         * gstrfuncs.c (g_strlcpy, g_strlcat): completed tor's fix
475         to cover both #ifdef branches.
476
477 2000-07-26  Tor Lillqvist  <tml@iki.fi>
478
479         * gstrfuncs.c (g_strlcpy, g_strlcat): Return 0 on error, not NULL.
480
481         * glib.def: Add g_strlcpy, g_strlcat.
482
483         * glibconfig.h.win32.in: Add gsize and gssize.
484
485 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
486
487         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
488         updates the license headers to the GNU Lesser General Public License,
489         as well as updating the copyright year to 2000.
490
491 Wed Jul 26 05:47:48 2000  Tim Janik  <timj@gtk.org>
492
493         * configure.in:
494         * testglib.c:
495         * gstrfuncs.c:
496         * glib.h: added g_strlcat() and g_strlcpy() wrappers, supplied by
497         David Wheeler <dwheeler@ida.org>:
498
499         * glib.h, gstrfuncs.c: added g_strlcpy and g_strlcat to support
500           safe manipulation of fixed-length string buffers.
501           These functions were originally developed by Todd Miller to simplify
502           development of security-related programs, and
503           are available on many (but not all) Unix-like systems,
504           including OpenBSD, FreeBSD, and Solaris.  See
505           ftp://ftp.openbsd.org/pub/OpenBSD/src/lib/libc/string/strlcpy.3
506           and http://www.openbsd.org/security.html.
507           If there's a strlcpy/strlcat on the system, it's called, otherwise
508           an implementation is provided.
509
510         * testglib.c: Added tests for g_strlcpy, g_strlcat.
511
512 Wed Jul 26 05:03:24 2000  Tim Janik  <timj@gtk.org>
513
514         * acglib.m4 (GLIB_SIZEOF): include <stdlib.h> and <stddef.h> if
515         STDC_HEADERS is defined.
516
517         * glib.h:
518         * glibconfig.h: define gsize and gssize in terms of GLIB_SIZEOF_SIZE_T
519
520         * glib.h (g_return_if_reached): applied darin's fix for copy'n
521         paste error in the macro implementation.
522
523 Wed Jul 26 00:46:03 2000  Tim Janik  <timj@gtk.org>
524
525         * glib.h: applied patch from Darin Adler <darin@eazel.com> which
526         supplies g_return_if_reached(), g_return_val_if_reached() and
527         g_critical().
528
529 2000-07-22  Tor Lillqvist  <tml@iki.fi>
530
531         * build-dll: Fix resource handling, the resource file got left out
532         from the DLL after all... Remove the WIN32APIHEADERS, not needed
533         with current windres.
534
535         * glib.def: Add new functions.
536
537 2000-07-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
538
539         * gutils.c, glib.h: Mark the functions g_basename and g_dirname
540         deprecated. They will issue an warning once, when compiled with
541         G_ENABLE_DEBUG, but continue to work as before. Instead the
542         functions g_path_get_basename and g_path_get_dirname should be
543         used, which BOTH return newly allocated memory, that has to freed
544         by g_free. The new g_path_get_basename now strips trailing slashes
545         from the path. This fixes #5097. For discussion see
546         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
547
548         * gwin32.c, testglib.c, tests/dirname-test.c: Use the new
549         functions instead of the old ones.
550
551         * ghash.c, gscanner.c, glib.h: Mark the functions
552         g_hash_table_freeze, g_hash_table_thaw and thus
553         g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table
554         deprecated. They will issue an warning once, when compiled with
555         G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see
556         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
557         
558 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
559
560         * configure.in, glib.h: glibconfig.h and glib.h now include files
561         outside of the extern "C" block. Makes some C++ compiler
562         happy. Reported by Denis Vakatov <vakatov@peony.nlm.nih.gov>.
563
564 Sat Jul 15 23:49:03 2000  Owen Taylor  <otaylor@redhat.com>
565
566         * glib/glib.texi: Remove incomplete start of info file -
567         real docs are in RDP.   
568
569 Sat Jul 15 22:44:22 2000  Owen Taylor  <otaylor@redhat.com>
570
571         * configure.in: Add build/Makefile and 
572         build/win32/Makefile to AC_OUTPUT() so things build
573         again.
574
575 Sat Jul 15 09:11:46 2000  Tim Janik  <timj@gtk.org>
576
577         * gstrfuncs.c (g_strncasecmp): fixed an off by 0 error (yeah,
578         the function went off when the while (n--) loop failed due to
579         n==0 ;), reported by Jean-Louis HAMEL <jlhamel@club-internet.fr>.
580
581 2000-07-15  Tor Lillqvist  <tml@iki.fi>
582
583         * Makefile.am (SUBDIRS): Include the "build" module in GLib, too,
584         to make it more self-contained. If your CVS client doesn't
585         automatically get it, do a cvs get build in glib.
586
587         * */makefile.mingw.in: Include make.mingw from build in the glib
588         source directory.
589
590 Fri Jul 14 16:26:35 2000  Owen Taylor  <otaylor@redhat.com>
591
592         * Release 1.3.1
593
594 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
595
596         * configure.in Makefile.am glib-config.m4 glib.m4: Move
597         glib-config to glib-config-2.0 move glib.m4 to
598         glib-2.0.m4
599
600         * Makefile.am gobject/Makefile.am gmodule/Makefile.am
601         gthread/Makefile.am tests/Makefile.am: Change 
602         library names to libglib-1.3.la, etc, so that we
603         can distinguish glib-1.2 and glib-2.0 on the linkline.
604
605         * Makefile.am gobject/Makefile.am gmodule/Makefile.am:
606         Move include files into /usr/include/glib-2.0.
607         
608 Thu Jul  6 18:54:49 2000  Owen Taylor  <otaylor@redhat.com>
609
610         * docs/Makefile.am (EXTRA_DIST): Remove info files
611         from the build.
612
613 2000-07-14  Tor Lillqvist  <tml@iki.fi>
614
615         * glib.def: Add g_error functions.
616
617         * makefile.mingw.in: Add gbacktrace.o.
618
619         * gbacktrace.c: No need to include <process.h>.
620
621 2000-07-12  Havoc Pennington  <hp@redhat.com>
622
623         * glib.h: #include <gerror.h>
624
625         * Makefile.am (include_HEADERS): Add gerror.h
626         (libglib_la_SOURCES): Add gbacktrace.c
627
628         * gbacktrace.c: Move g_on_error_query() in here (moved on the 
629         server, so history is preserved)
630
631         * gerror.h: GError interface
632
633         * gerror.c: GError implementation replaces stuff that's now in 
634         gbacktrace.c
635
636 Sun Jul  9 21:20:45 2000  Owen Taylor  <otaylor@redhat.com>
637
638         * gunicode.h: Include stddef.h instead of stdlib.h
639
640 2000-07-08  Tor Lillqvist  <tml@iki.fi>
641
642         * glib.h (GLIB_VAR): Rename the GUTILS_C_VAR macro to GLIB_VAR.
643
644         * gunicode.h: Mark the g_utf8_skip array with GLIB_VAR.
645
646         * glib.def: Add two missing entry points.
647
648 Thu Jul  6 15:35:28 2000  Owen Taylor  <otaylor@redhat.com>
649
650         * Release 1.3.1
651
652         * Makefile.am (EXTRA_DIST): Dist fixes.
653
654         * configure.in: Moderate the warnings just a little bit.
655
656 2000-07-05  Tor Lillqvist  <tml@iki.fi>
657
658         * README.win32: Update.
659
660 Mon Jul  3 17:58:02 2000  Owen Taylor  <otaylor@redhat.com>
661
662         * gutf8.c (g_utf8_get_charset_internal): Fix up
663         to correspond to configure.in checks.
664
665 Mon Jul  3 17:18:19 2000  Owen Taylor  <otaylor@redhat.com>
666
667         * glib.h: Comment g_get_codeset() out of the header file
668         temporarily. (Very similar to g_get_charset(), need
669         to resolve the two.)
670
671 2000-07-01  Tor Lillqvist  <tml@iki.fi>
672
673         * glib.def: Add new entry points.
674
675         * makefile.{mingw,msc}.in: Add the new Unicode object files.
676
677 Thu Jun 29 15:57:28 2000  Owen Taylor  <otaylor@redhat.com>
678
679         * NEWS: updated
680
681         * Makefile.am: added snapcheck target to go along with snapshot
682         
683         * gstring.c glib.h (g_string_hash): Add g_string_hash to 
684         go along with g_string_equal.
685
686 Tue Jun 27 12:40:23 EDT 2000  David A. Wheeler <dwheeler@dwheeler.com>
687
688         * glib.h: Added g_string_equal for comparing GStrings;
689         changed g_str_equal so it returns gboolean (instead of gint).
690
691         * gstring.c: Modified GString implementation to support embedded
692         ASCII NUL ('\0') characters, and implemented g_string_equal.
693
694         * testglib.c tests/string-test.c: Added tests for g_string_equal
695         and tests for proper handling of embedded ASCII NUL characters.
696
697 Wed Jun 28 22:52:00 2000  Owen Taylor  <otaylor@redhat.com>
698
699         * Makefile.am (libglib_la_SOURCES): Fix
700         gunichartable.h => gunichartables.h. (From Eric Limings)
701
702 Fri Jun 23 17:20:26 2000  Tim Janik  <timj@gtk.org>
703
704         * glib.h: define gstring in terms of gchar*. this typedef reflects
705         the type name of the primitive G_TYPE_STRING in the gobject module.
706
707 Wed Jun 21 12:09:03 2000  Owen Taylor  <otaylor@redhat.com>
708
709         * gunicode.h gutf8.c guniprop.c gunidecomp.[ch] gunichartables.h
710         Makefile.am glib.h: Initial pass at adding unicode support
711         functions. A few things still need to be implemented, a bit
712         of cleanup needs to be done, tests need to be added, and 
713         the docs need to be finished, but this should allow replacing
714         most or all use of libunicode.
715
716 2000-06-06  Tor Lillqvist  <tml@iki.fi>
717
718         * giowin32.c (g_io_channel_win32_pipe_readable): If we are
719         watching the same pipe for different conditions (with different
720         callbacks), check them all. Only call the callback for G_IO_IN
721         from here. (This bug popped up when a watch for G_IO_ERR|G_IO_HUP
722         was added to gimplib.)
723
724 2000-05-30  Tor Lillqvist  <tml@iki.fi>
725
726         * gutils.c (g_locale_get_codeset): Implement on Win32.
727
728         * glib.def: Add g_get_codeset.
729
730         * tests/Makefile.am (EXTRA_DIST): makefile.cygwin* has been
731         renamed to makefile.mingw*.
732
733 Tue May 30 16:01:32 2000  Owen Taylor  <otaylor@redhat.com>
734
735         * glib.h gutils.c: Move the g_locale_get_codeset() up in the 
736         header file to correspond to to comments about memory
737         management. Rename to g_get_codeset() to avoid 
738         polluting the g_locale_* namespace, which probably
739         would have g_locale_get_codeset (GLocale *locale).
740         Add a doc comment.
741
742 Mon May 29 14:10:35 2000  Owen Taylor  <otaylor@redhat.com>
743
744         * gutils.c (g_locale_get_codeset): Add function to get the 
745         codeset name for the current locale.
746
747         * configure.in acconfig.h: Add check for nl_langinfo(CODESET);
748
749 Fri May 19 11:39:29 2000  Tim Janik  <timj@gtk.org>
750
751         * gutils.c (g_snprintf):
752         (g_vsnprintf): added argument assertments.
753
754         * gstring.c (g_string_assign): added argument assertments.
755         (g_string_truncate): make len a guint.
756
757 Fri May 19 09:00:44 2000  Tim Janik  <timj@gtk.org>
758
759         * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with
760         ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>.
761
762         * gslist.c (g_slist_reverse): shut up compiler.
763
764         * gscanner.c (g_scanner_get_token_ll): removed inline assignment.
765
766         * garray.c: remove index>=0 checks for unsigned indices.
767
768         * gmain.c (g_idle_prepare): timeout assignment fix.
769
770         * gtree.c (g_tree_node_rotate_right): shut up compiler.
771
772 2000-05-13  Tor Lillqvist  <tml@iki.fi>
773
774         * makefile.mingw.in
775         * tests/makefile.mingw.in
776         * build-dll: Rename makefile.cygwin(.in) to
777         makefile.mingw(.in), which better describes what it is. Move the
778         build of gmodule, gthread and gobject DLLs to makefiles in those
779         directories. Move resource file handling and build number bump to
780         build-dll, where it sits much cleaner.
781
782         * README.win32
783         * Makefile.am (EXTRA_DIST): Update accordingly.
784
785         * glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
786         G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
787         implementations.
788
789         * glib.def: Add g_strcanon.
790
791         * gtree.c (g_tree_node_rotate_left): Remove unused variables.
792
793         * gwin32.c (g_win32_opendir): Remove unneeded statement.
794
795 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
796
797         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
798         broken and require an empty arg, give it to them.
799
800 Fri Apr 28 23:54:35 2000  Tim Janik  <timj@gtk.org>
801
802         * setup things for a new sub-library libgobject:
803
804         * Makefile.am (SUBDIRS): added gobject
805
806         * glib-config.in: feature -lgobject.
807
808         * configure.in (AC_OUTPUT): generate gobject/Makefile.
809
810         * glib.m4 (AM_PATH_GLIB): feature gobject module.
811
812         * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.*
813
814 Fri Apr 28 21:41:49 2000  Tim Janik  <timj@gtk.org>
815
816         * glib.h: added G_STRLOC macro.
817         G_STRUCT_OFFSET(): signedness corrections.
818         (G_CSET_DIGITS): list 0-9.
819         * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS.
820
821         * glib.h: 
822         * gstrfuncs.c:
823         (g_strdown):
824         (g_strup):
825         (g_strreverse): return the modified string instead of void, so
826         calls to these functions can be nested.
827         (g_strcanon): new function, canonicalizes string according to
828         a given character set.
829
830 Fri Apr 28 19:45:16 2000  Tim Janik  <timj@gtk.org>
831
832         * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
833
834 Wed May 10 19:52:44 2000  Owen Taylor  <otaylor@redhat.com>
835
836         * glib.m4: Print found version when test succeeds.
837
838 2000-05-04  Tor Lillqvist  <tml@iki.fi>
839
840         * makefile.cygwin.in
841         * tests/makefile.cygwin.in: Include the common makefile snippet
842         from ../build/win32.
843
844         Maybe CVSROOT/modules should be changed so that the 'build' module
845         is included within the glib module (and gtk+, and gimp, and maybe
846         others later), in the same way as the 'macros' module is included
847         in lots of GNOME CVS modules?
848
849 2000-05-02  Tor Lillqvist  <tml@iki.fi>
850
851         * glib.def: Add new functions.
852
853         * makefile.{cygwin,msc}.in (glib_OBJECTS): Add new object files.
854
855         * tests/makefile.{cygwin,msc}.in: Add threadpool-test.
856
857 2000-04-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
858
859         * gasyncqueue.c: New File implementing an asynchronous queue to be
860         used for asynchronous inter-thread communication.
861         
862         * gthreadpool.c: New File implementing a thread pool to be used
863         for distributing work among several threads. 
864
865         * glib.h: Added the type and function declarations for these two
866         types.
867
868         * tests/threadpool-test.c: New File implementing a test for the
869         thread pool. This also checks the asynchronous queue underlying
870         the thread pool.
871
872         * tests/Makefile.am: Changed accordingly.
873         
874 2000-04-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
875
876         * configure.in: Look for both pthread_create and pthread_join in
877         the thread library. Some systems define one of them, but not both
878         in libc. Arghh. Now we really start a thread and join it later and
879         check, whether the thread to actually ran.
880
881         * glib.h, gcache.c, gtree.c: Changed the 'value' parameter of
882         g_cache_remove from gpointer to gconstpointer. Dito for the 'key'
883         parameter of g_tree_lookup and g_tree_remove and the 'data'
884         parameter of g_tree_search. This function now takes a function of
885         type GCompareFunc instead of GSearchFunc. This fixes Bug
886         #8267. Thanks to Juan Toledo <toledo@users.sourceforge.net> for
887         pointing that out.
888
889         * glib.h: Removed declaration of GSearchFunc.
890
891         * gmem.c: s/GSearchFunc/GCompareFunc/.
892
893 2000-04-19  Tor Lillqvist  <tml@iki.fi>
894
895         * glib.def: Update entry point list.
896
897 2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
898
899         * glib.h (G_TRYLOCK): Made the debugging G_TRYLOCK call also work
900         for compilers with funny G_STMT_(START|END) macros.
901
902         * tests/thread-test.c: Implemented a check for that.
903
904         * gutils.c (g_getenv): Changed the win32 part of this function to
905         be thread safe and to make the returned environment string
906         persistent to match the UN*X behavior. This is again a response to
907         Bug #8983.
908
909         * glib.h (G_LOCK_NAME): Removed parentheses around the lock name,
910         as that seems to cause problems for some compilers and really
911         isn't necessary.
912
913 Wed Apr 19 08:32:32 2000  Tim Janik  <timj@gtk.org>
914
915         * gscanner.c (g_scanner_new): make sure that
916         scanner->config->cset_skip_characters is "" instead of NULL, so we
917         don't segfault further on.
918
919 2000-04-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
920
921         * glib.h, glist.h, gslist.h: Changed the 'data' parameters from
922         gpointer to gconstpointer for the functions
923         g_(list|slist)_(remove|find|find_custom|index), as they do not
924         change this parameter. This fixes bug #4836.
925
926         * glib.h: Changed comment for g_getenv to reflect, that the
927         returned memory must not be freed. Fixes bug #8983.
928
929 2000-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
930
931         * configure.in, acconfig.h: Add configure test for garbage
932         collector friendliness for GLib. If enabled, ENABLE_GC_FRIENDLY
933         will be defined.
934
935         * garray.c, ghash.c, glist.c, gmain.c, gmem.c, gnode.c, gqueue.c,
936         gslist.c, gtree.c: If ENABLE_GC_FRIENDLY is defined, NULLify all
937         memory released by the user, but cached by GLib. This lets a
938         garbage collector have a more correct view of the actually used
939         memory.
940         
941         * garray.c, glib.h: Added g_(array|ptr_array|byte_array)_sized_new
942         functions, that reserve a certain amount of memeory for the array
943         at creation time to avoid reallocation. Fixes bug #6707 from
944         Charles Kerr <ckerr@osserver1.nssl.noaa.gov>.
945
946         * glib.h, gqueue.c, tests/queue-test.c (main): Renamed
947         g_queue_create to g_queue_new in conformance to all other GLib
948         data types.
949
950 2000-04-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
951
952         * grand.c (g_rand_new): Fixed bug. Thanks to Marko Kreen
953         <marko@l-t.ee> for reporting that.
954
955 2000-03-26  Tor Lillqvist  <tml@iki.fi>
956
957         * README.win32: Tell about using the mingw-based gcc, which is
958         much easier than modifying the cygwin gcc to product mingw code
959         for the msvcrt runtime.
960
961         * makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
962         with a "pure" mingw gcc, too.
963
964 2000-03-24  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
965
966         * garray.c: Made GArray behave correctly. Now zero_terminated
967         really means, that the element array->data[array->len] exists and
968         is zeroed, and clear means that any unassigned elements obtained
969         through g_array_set_size (the only way to get unassigned elements
970         AFAICT) are zeroed. Added some macros to make the code more
971         obvoius. Also made GPtrArray zero elements after
972         g_ptr_array_set_size. This is done in a portbale way (assignment
973         of NULL instead of just memsetting it to zero), though that might
974         be more portability than we actually want.
975
976         * Makefile.am, gthread/Makefile.am, gmodule/Makefile.am,
977         tests/Makefile.am: Added various win32 related *.in files to
978         EXTRA_DIST to let 'make distcheck' procude all the corresponding
979         files, which it silently fails to do currently.
980
981 2000-03-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
982
983         * configure.in: After finding the right thread library (containing
984         e.g. pthread_create) we now search for the right realtime library
985         (containing e.g. sched_get_priority_max). Makes the output of the
986         thread related libraries correct. 
987
988         * gtimer.c (g_usleep): The current implementation of g_usleep
989         (simply calling select) doesn't work reliable for multi-threaded
990         programs on some platforms (bad omen for the main loop....), so I
991         changed the implementation for thread-using programs to wait for a
992         GCond for the specified amount of time (NB: sleep and usleep are
993         not MT-safe in general, because they often use signals).
994
995 Wed Mar 22 16:49:57 2000  Owen Taylor  <otaylor@redhat.com>
996
997         * gmem.c (g_mem_chunk_area_compare): Fix indentation.
998
999 2000-03-22 Elliot Lee <sopwith@redhat.com>
1000
1001         * gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in
1002         comparing two pointers more than 4G apart.
1003
1004 2000-03-22  Tor Lillqvist  <tml@iki.fi>
1005
1006         * gutils.c: Move Win32-only includes after inclusion of glib.h, so
1007         that G_OS_WIN32 is defined.
1008
1009         * glibconfig.h.win32.in: Add GSystemThread.
1010
1011 2000-03-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1012
1013         * gutils.c (g_get_current_dir): Ok, Marcus Brinkmann
1014         <Marcus.Brinkmann@ruhr-uni-bochum.de> convinced me, that 128 KB
1015         path length might not be enough for the HURD. So I changed the
1016         loop to at least avoid an integer overflow, which could happen at
1017         beyond 2GB size ;-)
1018
1019         * configure.in: Test for sched_yield as the native yield function
1020         first. Corrected typo g_thread_sleep -> g_usleep. Corrected
1021         message for the pthread_create test. Negative Priorities are
1022         allowed (and used on Solaris), so consider
1023         sched_get_priority_min failed only if it returns -1, not <0. Check
1024         for sched_get_priority_min also in -lrt, if not found in -lpthread
1025         alone and add -lrt to G_THREAD_LIBS then. Remove special case
1026         handling of priorities for older solaris versions and posix
1027         threads. Thanks to Wan-Teh Chang <wtc@netscape.com> for suggesting
1028         some of those changes.
1029         
1030         * config.guess, config.sub, ltconfig, ltmain.sh:
1031         Upgrade to libtool 1.3.4.
1032
1033 2000-03-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1034
1035         * glib.h, configure.in, gutils.h: always define G_GNUC_EXTENSION,
1036         even when not needed by GLib. That's actually also the way, the
1037         GLib reference manual describes that macro. Therefore I had to
1038         remove the lonesome #include <glibconfig.h> in gutils.c, which
1039         doesn't seem to be needed there however. This change should make
1040         Ben Gertzfield <che@debian.org> happy.
1041
1042         * gutils.c: Furthermore two warnings in gutils.c were voided,
1043         which crept in due to my last change.
1044
1045         * gutils.c (g_get_current_dir): Allocate only up to 128KB for a
1046         pathname. While this is an arbitrary value just like 2048, it
1047         seems to be enough (after all, even 4GB is an arbitrary value).
1048
1049 2000-03-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1050
1051         * gmain.c (g_main_poll): Warn in case of an error during the call
1052         to poll(2). Closes Bug#7564 as reported by David Helder
1053         <dhelder@umich.edu>.
1054
1055         * gutils.c (g_get_current_dir): Make g_get_current_dir work on
1056         systems with unlimited pathname length like the HURD (It worked
1057         there before, but only for pathes shorter than 2048). Closes
1058         Bug#4525 as reported by Marcus Brinkmann
1059         <Marcus.Brinkmann@ruhr-uni-bochum.de>.
1060
1061 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1062
1063         * giounix.c (g_io_unix_write, g_io_unix_read): Interpret EINTR as
1064         G_IO_ERROR_AGAIN.
1065
1066 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1067
1068         * configure.in: Added the missing POSIX_NO_YIELD and
1069         POSIX_NO_PRIORITIES warning messages.
1070
1071         * configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK, to test for
1072         real thread support. On solaris pthread_create can be linked to
1073         even in -lc, but it doesn't work then.
1074
1075         * configure.in: Don't use priorities for threads, when the
1076         minimal/maximal priorities couldn't be determined at configure
1077         time.
1078         
1079         * configure.in, gthread.c: Always define GSystemThread in
1080         glibconfig.h to represent a system thread.
1081
1082         * configure.in: Do not use native recursive threads, when
1083         possibe. We use some features, that they do not expose (namely the
1084         depth counter).
1085
1086         * glib.h, gthread.c: Redefined GStaticRecMutex. The functions are
1087         now implemented in a different way, which should be way
1088         faster. Alsothere are now functions g_static_rec_mutex_unlock_full
1089         and g_static_rec_mutex_lock_full to leave/enter a recursive mutex
1090         completly.
1091
1092         * gthread.c (g_thread_self): Do not test the system_thread to be
1093         non-zero to speed things up.
1094         
1095         * gthread.c (g_mutex_init): Therefore set the system_thread of the
1096         main thread here.
1097
1098         * tests/thread-test.c: Rerun all tests once again, but this time
1099         we fool the system into thinking, that the available thread system
1100         is not native, but userprovided.
1101         
1102 2000-03-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1103
1104         * gqueue.c (g_queue_push_tail_link, g_queue_push_head_link): We
1105         want the next and prev pointer of the inserted link to be NULL.
1106
1107 2000-03-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1108
1109         * configure.in: Another small change to the pthread_.. search
1110         pattern. Should work *now* for AIX.
1111
1112 2000-03-04  Tor Lillqvist  <tml@iki.fi>
1113
1114         * gwin32.c (g_win32_error_message): New function that returns the
1115         message string for a Win32 error code.
1116
1117         * glib.h: Declare it.
1118
1119         * glib.def: Export it, plus g_node_copy.
1120
1121 2000-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1122
1123         * configure.in: Make the search for pthread_attr_... prototypes
1124         find names at the start of a line also, like it is on AIX. Thanks
1125         to Valdis Kletnieks <Valdis.Kletnieks@vt.edu> for the info.
1126
1127 Wed Mar  1 10:39:39 2000  Tim Janik  <timj@gtk.org>
1128
1129         * gslist.c (g_slist_reverse): minor optimization.
1130
1131         * testglib.c (g_node_test): added a couple of tests for
1132         g_node_copy().
1133
1134         * glib.h:
1135         * gnode.c (g_node_copy): new function to copy subtrees,
1136         supplied by dbsears@ix.netcom.com.
1137         changed iterator to walk the children list backwards, so
1138         we get down from O(n^2) to O(n).
1139
1140         * gnode.c (g_node_first_sibling): applied patch from
1141         dbsears@ix.netcom.com to optimize access if node->parent
1142         is present.
1143
1144         * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
1145         assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
1146         thus breaks the original code.
1147
1148         * merged changes from 1.2.7.
1149
1150 Fri Jan 28 11:37:41 2000  Owen Taylor  <otaylor@redhat.com>
1151
1152         Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
1153
1154         * gtimer.c (g_timer_elapsed): Never report negative times -
1155         clip times to 0.
1156
1157         * gmain.c (g_timeout_prepare): Guard against unexpected
1158         clock shifts by never setting a timeout of more than
1159         data->interval msecs.
1160
1161 2000-02-27  Tor Lillqvist  <tml@iki.fi>
1162
1163         * glib.def: Add new functions.
1164
1165 2000-02-23  Tor Lillqvist  <tml@iki.fi>
1166
1167         * README.win32: Add a missing step to the setup instructions for
1168         gcc-2.95.2. Thanks to Arnaud Charlet.
1169
1170         * glib.def: Add missing entry point.
1171
1172 2000-02-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1173
1174         * configure.in: Changed GCC version test to also accept major
1175         versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
1176         pointing this out.
1177
1178 Thu Feb 17 12:53:44 2000  Tim Janik  <timj@gtk.org>
1179
1180         * gstring.c: changed g_str_hash() to a 31 bit version based on
1181         a submission by Karl Nelson and hand optimized ad absurdum by
1182         various people ;)
1183
1184         * gstring.c: applied patch from havoc for new gstring functions,
1185         added some more sanity checks, coding style fixups.
1186
1187 2000-02-13  Havoc Pennington  <hp@pobox.com>
1188
1189         * tests/string-test.c (main): Add tests for the new GString 
1190         features
1191
1192         * testglib.c (main): Add tests for the new GString features
1193
1194         * gstring.c (g_string_insert_len): New function; insert 
1195         a given length of string at a given position. 
1196         (g_string_append): reimplement in terms of g_string_insert_len
1197         (g_string_append_len): new function
1198         (g_string_insert_c): accept -1 for "pos" arg to mean "append"
1199         (g_string_append_c): reimplement in terms of g_string_insert_c
1200         (g_string_prepend): reimplement in terms of g_string_insert_len
1201         (g_string_prepend_len): new function
1202         (g_string_prepend_c): reimplement in terms of g_string_insert_c
1203         (g_string_insert): reimplement in terms of g_string_insert_len
1204
1205         * glib.h: Declare g_string_insert_len, g_string_append_len,
1206         g_string_prepend_len
1207         
1208 Sun Feb 13 08:16:47 2000  Tim Janik  <timj@gtk.org>
1209
1210         * configure.in: wtf??? someone destroyed the configure.in, reverting to
1211         an older version from Feb 4 which apears to still work.
1212
1213 2000-02-07  Tor Lillqvist  <tml@iki.fi>
1214
1215         * gmodule.rc.in gthread.rc.in: Move to corresponding subdirectories.
1216
1217         * Makefile.am
1218         * gmodule/Makefile.am
1219         * gthread/Makefile.am: Change accordingly.
1220         
1221         * makefile.cygwin: Corresponding changes, some cleanup.
1222
1223 2000-02-05  Tor Lillqvist  <tml@iki.fi>
1224
1225         * glib.rc.in gmodule.rc.in gthread.rc.in: New files, for putting
1226         version info in the DLLs on Win32.
1227
1228         * Makefile.am: Generate corresponding *.rc files and distribute
1229         them.
1230
1231         * makefile.cygwin.in: Add rules to automatically bump a "build
1232         number" in the version info in the rc files each time the DLL is
1233         built. But do this only for the person who releases binaries. If
1234         others build the DLLs, the build number is set to zero.
1235
1236 Fri Feb  4 19:36:05 2000  Tim Janik  <timj@gtk.org>
1237
1238         * glib.h: 
1239         * gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
1240         and g_dataset_id_remove_no_notify() to avoid second lookup for common
1241         use.
1242
1243 2000-02-01  Tor Lillqvist  <tml@iki.fi>
1244
1245         * glib.h
1246         * gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
1247         functions for conversion between UTF-8 and the encoding expected
1248         by C runtime functions like open() and stat(), and returned by
1249         readdir().
1250
1251         Implement them on Win32 where we use the system "ANSI" codepage,
1252         which might be single-byte or double-byte. On Unix, just skip the
1253         issue for now and provide dummy implementations that return a copy
1254         of the argument.
1255
1256         * README.win32
1257         * build-dll
1258         * glib.def: Minor updates.
1259
1260 Wed Jan 26 05:24:38 2000  Tim Janik  <timj@gtk.org>
1261
1262         * glib.h:
1263         * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
1264         refetch the current time after invocation of poll() to cover up for
1265         the time spent in that function call.
1266
1267 Fri Jan 21 10:18:24 2000  Owen Taylor  <otaylor@redhat.com>
1268
1269         * glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
1270         the number of elements in an array.
1271
1272 Sun Jan  9 13:28:36 2000  Tim Janik  <timj@gtk.org>
1273
1274         * gstrfuncs.c (g_strtod): correctly fetch the current locale,
1275         fix from owen.
1276
1277 1999-12-16  Tor Lillqvist  <tml@iki.fi>
1278
1279         * gmodule/gmodule-win32.c: Use FormatMessage to translate system
1280         error codes into textual messages.
1281
1282 1999-11-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1283
1284         * glib.h (G_TRYLOCK): This of course should return TRUE in a
1285         program with a thread-disabled GLib.
1286
1287 1999-11-18  Tor Lillqvist  <tml@iki.fi>
1288
1289         * glib.def: g_strjoin was missing.
1290
1291 1999-11-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1292
1293         * acconfig.h, config.h.win32.in, configure.in: Renamed
1294         GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
1295         changed meaning.
1296
1297         * configure.in: Cope with systems, that have a pthread_t type,
1298         that is not a pointer. Hint from Karl Nelson
1299         <kenelson@ece.ucdavis.edu>. Define GLIB_SIZEOF_SYSTEM_THREAD to 4
1300         for Solaris. Cope with systems, that have no default mutex
1301         initialize, like obviously most DCE systems.
1302
1303         * glib.h, gthread.c: Changed the prototype of thread_create and
1304         thread_self to return the system thread into provided memory
1305         instead of a return value. This is necessary, as HPUX has a
1306         pthread_t, that is bigger than the biggest integral type there.
1307
1308         * gthread.c: system_thread is no longer a pointer, but an memory
1309         area of size GLIB_SIZEOF_SYSTEM_THREAD. Changed the
1310         zeroinitialization and the tests for zeroness accordingly.
1311
1312 1999-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1313
1314         * configure.in: Create docs/glib-config.1 from
1315         docs/glib-config.1.in. Makes 'make distcheck' happy (and me too).
1316
1317         * glib-config.1: Removed from CVS, as it is a generated file.
1318
1319 1999-11-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1320
1321         * configure.in: Make the test for getpwuid_r work on newer AIX
1322         versions, too. Still works on Solaris and Linux. Patch from Craig
1323         Rodrigues <rodrigc@mediaone.net>.
1324
1325 1999-11-08  Tor Lillqvist  <tml@iki.fi>
1326
1327         * gwin32.c (g_win32_getlocale): Look at env vars LC_ALL, LC_CTYPE
1328         and LANG first. Some refinements to the sublanguage logic.
1329
1330 1999-11-04  Tor Lillqvist  <tml@iki.fi>
1331
1332         * makefile.{cygwin,msc}.in: Add gwin32 object. Add rule to make .i
1333         (preprocessed source) files.
1334
1335 1999-11-01  Tor Lillqvist  <tml@iki.fi>
1336
1337         * glib.h
1338         * glib.def: Rename Win32-only functions from gwin_* to g_win32_*
1339         to match the GLib naming conventions.
1340
1341         * gutils.c
1342         * gwin32.c
1343         * testglib.c
1344         * Makefile.am: Move the Win32-only functions to the new
1345         file gwin32.c
1346
1347 1999-10-31  Tor Lillqvist  <tml@iki.fi>
1348
1349         * gutils.c (gwin_getlocale): New Win32-specific function, returns
1350         a Unixish current locale string (en, zh_TW etc).
1351
1352         * glib.h: Declare it.
1353
1354         * glib.def: Export it.
1355
1356         * testglib.c: Test it.
1357
1358         * gmessages.c (Win32: ensure_stdout_valid): Some improvements,
1359         make sure we don't call AllocConsole several times, which I think
1360         has happened.
1361
1362 Sun Oct 31 18:55:01 1999  ape@spacetec.no  (Asbjorn Pettersen)
1363
1364         * gcache.c (g_cache_remove): Test if node is NULL.
1365         If not tested, GIMP's script-fu will crash. 
1366
1367 Sun Oct 17 18:11:40 1999  Tim Janik  <timj@gtk.org>
1368
1369         * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
1370         destroy() notification here as well.
1371
1372 1999-10-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1373
1374         * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
1375         is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
1376
1377 Tue Oct 12 14:17:12 1999  Tim Janik  <timj@gtk.org>
1378
1379         * glib.h: removed useless g_string(x) macro that cluttered the namespace
1380         and was just a poor wrapper around the cpp '#' symbol, use #x if you
1381         need to work around this.
1382         added new macro G_STRINGIFY(arg) that will convert arg to a string,
1383         no matter whether it contains macros or not.
1384
1385 1999-10-12  Tor Lillqvist  <tml@iki.fi>
1386
1387         * config.h.win32.in: Define the new GLIB_SIZEOF_* constants here,
1388         too.
1389
1390         * glib.h: Small Win32 comments improvement.
1391
1392 Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>
1393
1394         * gmessages.c (g_printf_string_upper_bound): completly new implementation
1395         for printf string upper bounds calculation.
1396         we handle all glibc 2.1 format specifiers now, except for positional
1397         parameters (%nn$...) and wide char strings, plus some obscure upper
1398         case variants of the standard conversions. this fixes a lot of
1399         bugs in the old code, i.e.
1400         - NULL format strings
1401         - floats with exponents >+24
1402         - %G
1403         - precision specifications in general
1404         - negative field widths
1405         - %p for SIZEOF_VOID_P > 4 platforms
1406         we now issue warnigns in places where the old code would have
1407         caused buffer overruns anyways. warnings are suppressed when invoked
1408         from glogv(), to avoid infinite recursions if someone passes a log
1409         message that comes with really obscure format specifications.
1410
1411 Tue Oct 12 11:49:00 1999  Tim Janik  <timj@gtk.org>
1412
1413         * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.
1414
1415 Tue Oct 12 03:34:40 1999  Tim Janik  <timj@gtk.org>
1416
1417         * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
1418         mantissa and exponent of IEEE floats and doubles (required by the new
1419         version of g_printf_string_upper_bound). the unions are endian specific,
1420         we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
1421         and doubles are supported (used for storage) by at least intel, ppc and
1422         sparc, reference:
1423         http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html
1424         
1425 Mon Oct 11 18:01:49 1999  Tim Janik  <timj@gtk.org>
1426
1427         * configure.in: added additional checks to figure sizes of size_t,
1428         ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
1429
1430 Wed Oct  6 12:44:23 PDT 1999 Manish Singh <yosh@gimp.org>
1431
1432         * configure.in: blah. use G_WITH_CYGWIN instead of G_HAVE_CYGWIN
1433
1434 1999-10-05  Tor Lillqvist  <tml@iki.fi>
1435
1436         * glib.h: (Win32) Drop the mapping of POSIX function names to the
1437         underscored versions, it's unnecessary after all. With MSVC we get
1438         them from oldnames.lib, with gcc-2.95 and mingw32 from
1439         -lmoldname-msvc. Add comment about what headers to include for
1440         prototypes.
1441
1442         * glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.
1443
1444         * gerror.c (g_on_error_query): (Win32) Slightly increased verbosity.
1445
1446         * build-dll: Don't strip.
1447
1448         * tests/string-test.c tests/dirname-test.c: Use G_OS_WIN32.
1449
1450         * glib.def: Add g_thread_use_default_impl.
1451
1452 Sun Oct  3 19:46:55 PDT 1999 Manish Singh <yosh@gimp.org>
1453
1454         * configure.in: use G_HAVE_CYGWIN instead of G_OS_FEATURE_CYGWIN
1455
1456 Sun Oct  3 19:25:42 PDT 1999 Manish Singh <yosh@gimp.org>
1457
1458         * acconfig.h
1459         * configure.in
1460         * glibconfig.h.win32: G_OS_FOO #defines. I *think* I got the cygwin
1461         and beos stuff right, but I haven't tested it. The respective
1462         porters should fix any screwups
1463
1464         * glib.h
1465         * gerror.c
1466         * gmain.c
1467         * gmessages.c
1468         * gscanner.c
1469         * gthread.c
1470         * gtimer.c
1471         * gutils.c
1472         * testglib.c: use G_OS stuff
1473
1474 Wed Sep 22 01:53:18 1999  Tim Janik  <timj@gtk.org>
1475
1476         * glib.h (NULL): define NULL as (0L) if __cplusplus is defined, to
1477         avoid "ANSI C++ forbids implicit conversion from `void *' in argument
1478         passing" errors upon NULL usage in C++ programs (gcc-2.95 is on crack
1479         for erroring out on this, instead of just issueing a warning).
1480
1481         * glib.h (g_trash_stack_pop): use uncasted NULL again.
1482         
1483 Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>
1484
1485         * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied patch
1486         from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem chunk's area
1487         sizes to be a multitiple of atom_size, and to eliminate the MAX_MEM_AREA
1488         restriction of 65536 bytes. we also catch cases where users pass an area
1489         size < atom size with a return_if_fail statement now (which is ok,
1490         because previously this lead to memory corruption anyways).
1491
1492 Thu Sep 16 13:19:54 1999  Tim Janik  <timj@gtk.org>
1493
1494         * glib.h (g_trash_stack_pop): add explicit (GTrashStack*) cast for NULL
1495         pointer to cure ANSI C++ error.
1496
1497 Mon Sep 13 23:25:59 1999  Tim Janik  <timj@gtk.org>
1498
1499         * gmessages.c (g_logv): in case we have to abort the program,
1500         debugging is enabled and we are not called recursively, try
1501         to abort with raise (SIGTRAP) first, so developers may ignore
1502         certain failure conditions during debugging stage.
1503
1504 Thu Aug 26 15:09:36 1999  Tim Janik  <timj@gtk.org>
1505
1506         * Makefile.am:
1507         * gmodule/Makefile.am:
1508         * gthread/Makefile.am: added --export-dynamic so we can load dynmic
1509         modules, (required, according to the libtool 1.3.3 docu).
1510
1511 1999-07-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1512
1513         * grand.c (g_rand_new): Use /dev/urandom, as it doesn't block,
1514         which /dev/random might do. Do not XOR the time, when getting the
1515         seed form /dev/urandom, as this is good itself. Prevent the
1516         initial seed from being zero, which causes the PRNG to produce
1517         only zeros. Hints from Colin Plumb <colin@pgp.com>.
1518
1519 1999-08-17  Tor Lillqvist  <tml@iki.fi>
1520
1521         * glib.h (g_trash_stack_push): Add a cast.
1522
1523         * gslist.c
1524         * glist.c: Make the inline functions static inline, and add
1525         separate extern wrappers. Not all compilers produce callable entry
1526         points for inline functions, even if gcc does.
1527
1528 Sun Aug 15 02:47:14 1999  Tim Janik  <timj@gtk.org>
1529
1530         * glib.h (g_trash_stack_pop): eliminate memset() call, since string.h
1531         has not neccessarily been included prior to glib.h.
1532
1533 Mon Aug  2 21:03:10 1999  Tim Janik  <timj@gtk.org>
1534
1535         * configure.in: added --enable-msg-prefix option.
1536
1537         * gmessages.c (g_log_default_handler): feature "prg_name (pid:%u): "
1538         if --enable-msg-prefix was selected (use "(process:%u): " if
1539         g_get_prgname () returns NULL, along the lines of g_on_error_query).
1540
1541 1999-08-03  Tor Lillqvist  <tml@iki.fi>
1542
1543         * glib.h
1544         * gstrfuncs.c
1545         * tests/strfunc-test.c: Rename g_strccpy to g_strcompress and
1546         g_strecpy to g_strescape per Tim Janik's suggestion. Dropped the
1547         destination parameter, always g_malloc a new string.  Fix bug in
1548         g_strcompress, octal digits were gobbled up without limit, should
1549         use max three.
1550
1551         Sources that use g_strescape must have ifdefs to be compilable
1552         both with GLib 1.2 and 1.3.
1553
1554 Sat Jul 31 17:52:03 PDT 1999 Manish Singh <yosh@gimp.org>
1555
1556         * glib.h
1557         * gstrfuncs.c: the #define for g_strescape interfered with the
1558         compilation of the function, so just remove the function and
1559         note that it's deprecated in the header
1560
1561 1999-08-01  Tor Lillqvist  <tml@iki.fi>
1562
1563         * gstrfuncs.c (g_strccpy, g_strecpy): New functions.
1564
1565         * glib.h: Declare and document them. Define the deprecated
1566         g_strescape as a macro that calls g_strecpy.
1567
1568         * tests/strfunc-test.c (main): Test them.
1569
1570         * makefile.{cygwin,msc}.in
1571         * tests/makefile.{cygwin,msc}.in: Remove gstack and its test
1572         program.
1573
1574         * glib.def: Additions and removals.
1575
1576         * README.win32: Improve gcc build instructions.
1577
1578         * build-dll: Also build import library for MSVC.
1579
1580 Sat Jul 24 20:11:35 1999  Tim Janik  <timj@gtk.org>
1581
1582         * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
1583         * incorporated proposed cleanups from gtk-devel-list.
1584
1585         * bumped version number to GLib-1.3.1
1586
1587         * glib.h:
1588         * gqueue.c:
1589         * gstring.c:
1590         * glist.c:
1591         removed string tokenisation (we got g_strsplit() and g_strjoin()
1592         already) and readline functions.
1593         s/g_list_delete/g_list_delete_link.
1594         implemented g_slist_delete_link.
1595         removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
1596         macro, g_atexit() is provided for public consumption.
1597         added GTrashStack inline utility functions.
1598         reimplement double eneded queues.
1599         removed GStack implementation, people can use a queue or a (singly)
1600         linked list for this task.
1601         deprecated g_strescape(), we need the SunOS variants here.
1602
1603         * gdate.c: added DEBUG_MSG() macro to wrap old messages.
1604         
1605         * *.*: CVS merges.
1606
1607         * upgrade to libtool 1.3.3.
1608
1609 1999-07-21  Tor Lillqvist  <tml@iki.fi>
1610
1611         Win32: With the latest gcc (2.95, pre-release), we can have binary
1612         compatibility with MSVC by using the switch -fnative-struct. No
1613         longer build DLLs with .gcc in the name when using gcc.
1614
1615         * README.win32: Renew gcc build instructions.
1616
1617         * build-dll: Comments change, handle also .a files.
1618
1619         * makefile.cygwin.in
1620         * tests/makefile.cygwin.in: Remove .gcc from DLL name.
1621         
1622 1999-07-13  Tor Lillqvist  <tml@iki.fi>
1623
1624         * README.win32: Correct URL for mingw runtime sources.
1625
1626         * build-dll: Combine commands with &&.
1627
1628         * glib.h: Map also rmdir() and hypot() for MSVCRT library.
1629
1630         * makefile.cygwin.in
1631         * tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
1632         now called *.gcc.dll, to avoid binary incompatibilities with
1633         MSVC-compiled versions.
1634
1635         * makefile.msc.in: Cosmetics.
1636
1637 1999-07-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1638
1639         * configure.in: Test for pthread_join rather than for
1640         pthread_create to determine the right thread-lib. Makes it work on
1641         mips-sgi-irix6.5. Hitn from to Jari Vuoksenranta
1642         <javu@piano.ux.phys.jyu.fi>.
1643
1644 1999-07-02  Tor Lillqvist  <tml@iki.fi>
1645
1646         * README.win32: Note about need to fix another bug in the mingw32
1647         headers.
1648
1649         * makefile.msc.in: Debugging turned on via an nmake variable,
1650         no need to edit the makefile.
1651
1652 1999-07-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1653
1654         * configure.in, acconfig.h, gutils.c: Added a g_memmove
1655         replacement for platforms without memmove, where bcopy can't
1656         handle overlapping copies and the corresponding checks, which is
1657         taken form the PERL Configure routine.
1658
1659         * glib.h: Updated the commentary about g_memmove to be right and
1660         more GLib-like.
1661         
1662         * configure.in: Removed test for rand_r, as it isn't used anymore.
1663
1664 1999-06-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1665
1666         * glib.h, grand.c: Finally removed the g_random_normal and
1667         g_rand_normal functions.
1668
1669 1999-06-28  Tor Lillqvist  <tml@iki.fi>
1670
1671         * glib.def: Add missing export of g_strncasecmp.
1672
1673 1999-06-21  Jose Mercado  <jmercado@mit.edu>
1674
1675         * glib.spec.in: Changed version number (1.1->1.3) in files section
1676         to allow rpm to build packages again.
1677
1678 1999-06-21  Tor Lillqvist  <tml@iki.fi>
1679
1680         * README.win32: Update the pthreads snapshot version we want.
1681         Advice how to hand-expand the makefile.*.in files.
1682
1683         * config.h.win32.in: Define values needed by Sebastian Wilhelmi's
1684         new thread stuff.
1685
1686         * glib.def: Add new functions.
1687
1688         * glibconfig.h.win32.in: Update the pthreads snapshot version.
1689         Fix typo.
1690
1691         * gthread.c: Include config.h, guard inclusion of unistd.h.  When
1692         using gcc on Win32, g_thread_functions_for_glib_use must be marked
1693         for export here, too.
1694
1695         * gtimer.c: Implement g_usleep on native Win32 using Sleep (which
1696         only has millisecond granularity, though).
1697         
1698         * makefile.cygwin.in
1699         * makefile.msc.in: Update pthreads snapshot version. File
1700         name changes. Remove testgthread.
1701
1702         * tests/makefile.cygwin.in
1703         * tests/makefile.msc.in: Add thread-test. Link with gthread lib.
1704
1705 1999-06-18  Jeff Garzik  <jgarzik@pobox.com>
1706
1707         * tests/Makefile.am:  Re-order tests in alpha order.
1708
1709 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1710
1711         * configure.in: Changed test for pthread_attr_setstacksize from
1712         AC_TRY_COMPILE to AC_TRY_LINK.
1713
1714 1999-06-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1715
1716         * configure.in, acglib.m4, acconfig.h, glib.h, gthread.c:
1717         Completed the thread support in GLib. Thread creation,
1718         prioritizing threads, yielding, joining threads as well as
1719         reader/writer locks and recursive mutexes are now in place. Please
1720         test heavily on your platform. It is so far tested on
1721         Linux/i386/pthreads, Solaris/Sparc/pthreads and
1722         Solaris/Sparc/solaristhreads.
1723
1724         * gtimer.c, glib.h: Implement g_usleep (gulong microseconds) for
1725         thread safe sleeping. (sleep() is not MT-safe at all!)
1726
1727         * gutils.c: Avoid compiler warning.
1728
1729         * tests/Makefile.am, tests/thread-test.c: New program to test some
1730         aspects of the thread implementation.
1731
1732         * gthread.c, Makefile.am: Renamed from gmutex.c to reflect the
1733         change of content.
1734
1735         * configure.in: Purged all appearances of nspr. 
1736
1737 Wed Jun  2 11:42:46 PDT 1999 Manish Singh <yosh@gimp.org>
1738
1739         * acinclude.m4
1740         * config.guess
1741         * config.status
1742         * ltconfig
1743         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
1744
1745 1999-05-29  Tor Lillqvist  <tml@iki.fi>
1746
1747         * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
1748
1749         * glib.h: Document g_strescape.
1750
1751 1999-05-12  Tor Lillqvist  <tml@iki.fi>
1752
1753         * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
1754         _fstat.
1755
1756         * README.win32: Advice also to remove -lmoldname in the
1757         patch to the egcs-1.1.2 spec file.
1758
1759 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1760
1761         * gmodule/Makefile.am: Another small fix.
1762
1763 1999-05-08  Tor Lillqvist  <tml@iki.fi>
1764
1765         * Makefile.am tests/Makefile.am: Correct rules for making the
1766         win32-related files that are made from corresponding .in files.
1767         Is there a cleaner way than explicitly writing rules that invoke
1768         config.status?
1769
1770 Fri Jul 16 22:18:36 PDT 1999 Manish Singh <yosh@gimp.org>
1771
1772         * ltconfig
1773         * ltmain.sh: upgrade to libtool 1.3.3
1774
1775 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1776
1777         * gdate.c, gstrfuncs.c, gstring.c: Fixed the use of the
1778         is..... and to..... macros, which take unsigned chars, not chars!
1779         Thanks to Morten Welinder <terra@diku.dk> for pointing this out.
1780
1781 Thu Jun  3 16:30:31 PDT 1999 Manish Singh <yosh@gimp.org>
1782
1783         * gerror.c (g_on_error_query): check isatty() before querying so
1784         we don't loop endlessly
1785
1786 Sat May 29 11:16:29 PDT 1999 Manish Singh <yosh@gimp.org>
1787
1788         * acinclude.m4
1789         * config.guess
1790         * config.status
1791         * ltconfig
1792         * ltmain.sh: upgrade to libtool 1.3.2
1793
1794 1999-05-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1795
1796         * gmain.c: provide a poll prototype for SunOS, as they do not do
1797         it self. Hint from Christian Parg <cparg@fs-design.de>.
1798
1799 Tue May 25 12:23:07 1999  Owen Taylor  <otaylor@redhat.com>
1800
1801         * gstrfuncs.c (g_strchug): Use g_memmove() not memmove().
1802         (Reported by Charles Levert <charles@comm.polymtl.ca>)
1803
1804 Mon May 10 22:03:52 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1805
1806         * Released GLib 1.2.3
1807
1808 1999-05-08  Tor Lillqvist  <tml@iki.fi>
1809
1810         * Makefile.am tests/Makefile.am: Correct rules for making the
1811         win32-related files that are made from corresponding .in files.
1812         Is there a cleaner way than explicitly writing rules that invoke
1813         config.status?
1814         
1815 Sat May  1 10:18:01 PDT 1999 Manish Singh <yosh@gimp.org>
1816
1817         * acinclude.m4
1818         * config.guess
1819         * config.status
1820         * ltconfig
1821         * ltmain.sh: upgrade to libtool 1.3
1822
1823 1999-04-30  Tor Lillqvist  <tml@iki.fi>
1824
1825         * Makefile.am: Don't distribute glibconfig.h.win32.in, but
1826         glibconfig.h.win32. Generate it when making a dist. Also generate
1827         makefile.msc and config.h.win32 from corresponding .in files when
1828         making dist.
1829
1830         * configure.in: Also substitute @GLIB_INTERFACE_AGE@ and
1831         @GLIB_BINARY_AGE@ (needed in config.h.win32).
1832         
1833         * glibconfig.h.win32.in: Use static mutex structure and initial
1834         value corresponding to the 1999-04-07 snapshot of pthreads-win32.
1835
1836         * tests/Makefile.am: Distribute makefile.msc. Generate it when
1837         making dist.
1838
1839         * tests/makefile.msc.in: New file.
1840
1841         * tests/node-test.c: Include <stdlib.h> for exit().
1842
1843 Thu Apr 29 02:16:36 1999  Tim Janik  <timj@gtk.org>
1844
1845         * gstrfuncs.c: minor code cleanups.
1846
1847 Tue Apr 27 13:11:29 1999  Owen Taylor  <otaylor@redhat.com>
1848
1849         * gmain.c (g_main_poll): Mask out ERR HUP and NVAL from
1850         the events field so we don't give IRIX fits.
1851
1852 Tue Apr 20 08:42:22 1999  Tim Janik  <timj@gtk.org>
1853
1854         * gscanner.c (g_scanner_unexp_token): behave conservative with
1855         G_TOKEN_IDENTIFIER_NULL and always assume scanner->value.v_string
1856         to be "null" in that case.
1857
1858 1999-04-20  Havoc Pennington  <hp@pobox.com>
1859
1860         * gutils.c (g_vsnprintf):  When using the vsnprintf()
1861         implementation, '\0'-terminate the resulting string
1862         and return its length rather than -1.
1863
1864 Mon Apr 19 13:42:21 1999  Owen Taylor  <otaylor@redhat.com>
1865
1866         * gmain.c (g_main_iterate): Added missing
1867         #ifdef G_THREADS_ENABLED. (I never liked G_THREADS_ENABLED in
1868         the first place!)
1869
1870 1999-04-18  Havoc Pennington  <hp@pobox.com>
1871
1872         * gutils.c (g_snprintf): When using the vsnprintf()
1873         implementation, '\0'-terminate the resulting string
1874         and return its length rather than -1.
1875
1876 Fri Apr 16 06:52:07 1999  Tim Janik  <timj@gtk.org>
1877
1878         * gscanner.c (g_scanner_unexp_token): feature G_TOKEN_EOF as a valid
1879         expected token as well, so we get "- expected end of file" instead of
1880         "- expected (unknown) token <0>".
1881
1882 Tue Apr 13 16:16:14 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1883
1884         * Released GLib 1.2.2
1885
1886 1999-04-12  Elliot Lee  <sopwith@mh69.mh.cuc.edu>
1887
1888         * g_strchug(): s/strcpy/memmove/
1889
1890 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1891
1892         * configure.in: Adjusted the test for an unimplemented
1893         getpwuid_r. Info from Michael Pruett <mikep@ugcs.caltech.edu>.
1894
1895 Sun Apr 11 15:07:34 1999  Tim Janik  <timj@gtk.org>
1896
1897         * configure.in: bumped versin number to GLib 1.2.2, interface 2,
1898         binary 2.
1899         
1900         * NEWS: updates.
1901
1902 Sun Apr 11 14:37:06 1999  Tim Janik  <timj@gtk.org>
1903
1904         * gstrfuncs.c (g_strcasecmp): always check for s1, s2 != NULL.
1905
1906 Sat Apr 10 19:30:50 1999  Tim Janik  <timj@gtk.org>
1907
1908         * glib.h: removed braces around inline strings for the G_GNUC_FUNCTION
1909         and G_GNUC_PRETTY_FUNCTION macros, so the macros can be used for compile
1910         time string concatenation.
1911
1912 Thu Apr  8 19:53:19 1999  Owen Taylor  <otaylor@redhat.com>
1913
1914         * gmain.c (g_main_iterate): Check for two threads
1915         calling g_main_iterate at once.
1916
1917         * gmain.c: If the set of poll file descriptors changes
1918         during a call to poll(), abort that call, and start
1919         a new poll. My test program still segfaults
1920         obscurely on glibc 2.0 (in read()!!!), but now it works on
1921         glibc 2.1, so I'll blame something else for the other segfault.
1922
1923 1999-03-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1924
1925         * configure.in: Fixed slight bug, that made configure hang on some
1926         systems. Please do not merge this into 1.3 branch. It's taken care
1927         of differently there. Info from J. Rhett Aultman
1928         <cuplan@alley.gator.net>
1929         
1930 Wed Mar 24 21:23:47 CST 1999 Shawn T. Amundson <amundson@gtk.org>
1931
1932         * Released GLib 1.2.1
1933
1934         * README:
1935           INSTALL: 
1936           NEWS: 
1937           sanity_check: updated
1938
1939         * glibconfig.h.win32.in:
1940           Makefile.am:
1941           docs/glib-config.1.in:
1942           docs/Makefile.am: Added files used to generate new files.
1943
1944         * glibconfig.h.win32:
1945           docs/glib-config.1: Removed, now generated.
1946
1947         * configure.in: Added to output now-generated files.
1948         
1949 Tue Mar 23 13:43:39 PST 1999 Manish Singh <yosh@gimp.org>
1950
1951         * giounix.c: add user_data param to check and prepare functions
1952
1953 Mon Mar 22 03:54:43 1999  Tim Janik  <timj@gtk.org>
1954
1955         * glib.h:
1956         * gmain.c: add user_data to the GSource ->check and ->prepare functions,
1957         so it can be used to e.g. pass a GPollFd.
1958         (g_main_poll): only add poll records with an events mask != 0 to the
1959         fd_array. don't even bother calling poll_func() if fds=timeout=0.
1960         added debugging printouts around poll_func() invokation that can be
1961         enabled with #define G_MAIN_POLL_DEBUG.
1962
1963 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
1964
1965         * acinclude.m4
1966         * config.guess
1967         * config.sub
1968         * ltconfig
1969         * ltmain.sh: upgrade to libtool 1.2f
1970
1971         * autogen.sh: libtool is not required to autogen glib
1972
1973         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
1974         needed)
1975
1976 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1977
1978         * gmem.c: Fixed another stupid fault of mine: Did
1979         s/g_static_/g_private_/g
1980
1981 Wed Mar 17 03:17:42 1999  Tim Janik  <timj@gtk.org>
1982         
1983         * configure.in bumped versin number to GLib 1.2.1, interface 1,
1984         binary 1.
1985         
1986         * NEWS: updates.
1987
1988         * glib.h: added GLIB_CHECK_VERSION() macro similar to
1989         GTK_CHECK_VERSION().
1990
1991 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
1992
1993         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
1994         to g_return_if_fail().
1995         (g_mem_profile): 
1996         (g_mem_chunk_print): 
1997         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
1998         messages.
1999
2000         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
2001         to g_return_if_fail().
2002         * grel.c (g_*): changed a bunch of g_assert() statements to
2003         g_return_if_fail() and added some extra ones to check relation != NULL.
2004
2005 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2006
2007         * configure.in: Also accept _Pctime_r instead of ctime_r, while
2008         seraching for the right `_REENTRANT' flag. This is for Digital
2009         UNIX 4.0d. Thanks to Sascha Brawer <sb@adasys.ch>.
2010
2011 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
2012
2013         * configure.in: check for working realloc (NULL,).
2014         * gmem.c (g_realloc): use malloc() for initial allocation on systems
2015         where realloc(NULL,) will not work (this is the case on SunOS, reported
2016         by Tom Geiger).
2017
2018 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
2019
2020         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
2021         flag around the call to g_hook_free() to avoid spurious
2022         warnings (happens during destruction phase).
2023
2024 1999-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2025
2026         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
2027         from config.h.win32 to glibconfig.h.win32
2028
2029         * acconfig.h, configure.in, config.h.win32: Added test for DCE
2030         versions of mutex_trylock and cond_timedwait. The win32 versions
2031         are posix, aren't they?
2032
2033 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2034
2035         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
2036         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
2037
2038 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2039
2040         * gutils.c (g_get_any_init): Fixed yet another bloody
2041         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
2042         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
2043         test better than that, but have no idea, how to do that easily.
2044
2045 Sun Feb 21 22:11:51 CST 1999  Shawn T. Amundson <amundson@gtk.org>
2046
2047         * Released GLib 1.2.0
2048
2049         * AUTHORS: updated
2050
2051 Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>
2052
2053         * *.[ch]: inserted additional note to look for ChangeLog and
2054           AUTHORS file for a log of modifications.
2055
2056 Sun Feb 21 14:01:00 1999  Dr Mike <drmike@redhat.com>
2057
2058         * Made specfile generated, tweaked slightly
2059         
2060 Sat May  8 06:00:17 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
2061
2062         * configure.in
2063           gmodule/Makefile.am
2064           gthread/Makefile.am: Better testing reveals better
2065           methods.  Fixes for BeOS.
2066
2067 Sat May  8 01:52:29 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
2068
2069         * configure.in
2070           gerror.c
2071           gmain.c
2072           gstrfuncs.c
2073           gutils.c
2074           ltconfig
2075           ltmain.sh
2076           gmodule/Makefile.am
2077           gmodule/gmodule.c
2078           gmodule/gmoduleconf.h.in
2079           gmodule/gmodule-beos.c
2080           gthread/Makefile.am: Port to BeOS by myself and Richard Offer.
2081
2082 1999-05-06  Tor Lillqvist  <tml@iki.fi>
2083
2084         * makefile.msc.in makefile.cygwin.in glibconfig.h.win32.in
2085         config.h.win32.in tests/makefile.msc.in tests/makefile.cygwin.in:
2086         New files, used to generate corresponding non-.in files when
2087         making a dist. This is just so the version numbers will be kept in
2088         synch automatically.
2089
2090         * configure.in: Also substitute @GLIB_MAJOR_VERSION@,
2091         @GLIB_MINOR_VERSION@, and @GLIB_INTERFACE_AGE@.
2092         
2093         * Makefile.am tests/Makefile.am: Also distribute makefile.cygwin.
2094         
2095         * gerror.c (g_on_error_query): On Win32, put up a MessageBox and
2096         then exit.
2097
2098         * glib.def: Add a couple of functions.
2099         
2100 Sat May  1 10:26:20 PDT 1999 Manish Singh <yosh@gimp.org>
2101
2102         * acinclude.m4
2103         * config.guess
2104         * config.status
2105         * ltconfig
2106         * ltmain.sh: upgrade to libtool 1.3
2107
2108 1999-04-25  Tor Lillqvist  <tml@iki.fi>
2109
2110         * README.win32: More editing.
2111         * build-dll: Use gcc, not ld to link.
2112         * glib.h: On native Win32 use _unlink().
2113         * gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
2114         not _MSC_VER.
2115         * gstring.c: Include <io.h> on Win32 for _read prototype.
2116         * gutils.c: Remove old IO channel code (was in #if 0).
2117         * makefile.cygwin: Don't need to link with kernel32 and msvcrt
2118         explicitly, they are included anyway.
2119
2120 1999-04-24  Tor Lillqvist  <tml@iki.fi>
2121
2122         Support added for building using a GNU toolchain on Win32,
2123         i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
2124
2125         * README.win32: Updated.
2126         * build-dll makefile.cygwin tests/makefile.cygwin: New files.
2127         * glib.h glib.def glibconfig.h.win32: Slight updates. 
2128         * gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
2129         * gmain.c gutils.c testglib.c tests/string-test.c: Test for
2130         NATIVE_WIN32, not _MSC_VER.
2131         * gmutex.c: Must declare g_thread_functions_for_glib_use as
2132         exported (using the GUTILS_C_VAR macro).
2133         * gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
2134         * gmodule/gmoduleconf.h.win32: Need underscore with gcc.
2135         * gthread/gthread.c: With gcc on Win32, must use memcpy to assign
2136         value of g_thread_functions_for_glib_use (?).
2137         * makefile.msc tests/makefile.msc: Cosmetics.
2138
2139 Fri Apr 23 14:29:25 BST 1999  Tony Gale <gale@gtk.org>
2140
2141         * glib.h: Fix typo in g_string_ncasecmp macro (by me).
2142           Add b_string_strncasecmp macro.
2143
2144 1999-04-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2145
2146         * gutils.c (g_get_any_init): use sysconf (_SC_GETPW_R_SIZE_MAX) as
2147         the new initinal bufsize for getpwuid_r on systems, that support
2148         this. Hint from Holger Duerer <H.Duerer@zait.uni-bremen.de>.
2149
2150 Sat Apr 17 20:55:13 BST 1999  Tony Gale <gale@gtk.org>
2151
2152         * glib.h, gstring.c: Add new g_string functions for reading
2153           from file/socket descriptors, and tokenising strings.
2154
2155           Added various g_string macros.
2156
2157 Tue Apr 13 23:28:32 1999  Tor Lillqvist  <tml@iki.fi>
2158
2159         * README.win32: Mention the tests directory.
2160
2161         * glib.def: Add the functions from grand.c.
2162
2163         * glibconfig.h.win32: Add unsigned max values, and the format
2164         strings.
2165
2166         * makefile.msc: Add grand.
2167
2168         * tests/{date-test,node-test}.c: Include <stdlib.h> for exit().
2169
2170         * tests/makefile.msc: New file.
2171
2172 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2173
2174         * glib.h: Moved struct declaration up. Style fixes.
2175
2176         * grand.c: Style fixes. Only try to open /dev/random once.
2177
2178         * tests/rand-test.c (main): New tests; Slight bug fix. 
2179
2180 1999-04-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2181
2182         * grand.c, tests/rand-test.c: New files to implement the Mersenne
2183         Twister Pseudo Random Number Generator.
2184
2185         * glib.h, AUTHORS, Makefile.am, tests/Makefile.am: Changed
2186         accordingly.
2187
2188 Thu Apr  8 21:12:30 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
2189
2190         * Released GLib 1.3.0
2191
2192 1999-03-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2193
2194         * configure.in: Added a check for the right format to printf and
2195         scanf long longs. It is %qi instead of %lli on FreeBSD for
2196         whatever reason.
2197
2198 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
2199
2200         * Makefile.am (glibconfig.h): Make sure `glibconfig.h' exists
2201         after the rule is fired.
2202         (install-exec-local): Install glibconfig.h only if the contents
2203         are different from the currently installed glibconfig.h.
2204
2205 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
2206
2207         * Makefile.am (configexecincludedir): Rename from 
2208         configincludedir so that glibconfig.h will be installed 
2209         as part of `make install-exec'. 
2210
2211 Thu Mar 25 22:45:47 1999  Tor Lillqvist  <tml@iki.fi>
2212
2213         * config.h.win32: Update version numbers.
2214
2215         * glibconfig.h.win32: Update version numbers and pthreads-win32-
2216         related magic values.
2217
2218         * README.win32: Some improvements.
2219
2220         * makefile.msc: Add gqueue and gstack. Correct version number.
2221
2222 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
2223
2224         * acinclude.m4
2225         * config.guess
2226         * config.sub
2227         * ltconfig
2228         * ltmain.sh: upgrade to libtool 1.2f
2229
2230         * autogen.sh: libtool is not required to autogen glib
2231
2232         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
2233         needed)
2234
2235 1999-03-18  Jeff Garzik  <jgarzik@pobox.com>
2236
2237         * glib.def: Add new g_list, g_stack, g_queue functions.
2238
2239 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2240
2241         * configure.in: added new AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
2242         to hold various defines to get the right thread implementation on
2243         different platforms. Also look in -ldce for pthread_create. Should
2244         make it work on HP-UX 10.x. Information from "D. Emilio Grimaldo
2245         Tunon" <emilio_tunon@nl.compuware.com>.
2246
2247 1999-03-17  Jeff Garzik  <jgarzik@pobox.com>
2248
2249         * gstack.c, gqueue.c:
2250         Add copyright, clean up code a bit.
2251
2252 1999-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2253
2254         * configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
2255         platforms with only /usr/include/values.h.
2256
2257         * acconfig.h: Removed unnecessary macros.
2258
2259         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
2260         from config.h.win32 to glibconfig.h.win32. Taken from glib 1.2
2261         branch.
2262
2263         * configure.in: Also accept _Pctime_r instead of ctime_r, while
2264         seraching for the right `_REENTRANT' flag. This is for Digital
2265         UNIX 4.0d. Taken from glib 1.2 branch.
2266
2267 Wed Mar 17 03:14:56 1999  Tim Janik  <timj@gtk.org>
2268
2269         * glib.h: added GLIB_CHECK_VERSION() macro similar to
2270         GTK_CHECK_VERSION().
2271
2272 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
2273
2274         * merges from glib-1-2:
2275         
2276 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
2277
2278         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
2279         to g_return_if_fail().
2280         (g_mem_profile):
2281         (g_mem_chunk_print):
2282         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
2283         messages.
2284
2285         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
2286         to g_return_if_fail().
2287         * grel.c (g_*): changed a bunch of g_assert() statements to
2288         g_return_if_fail() and added some extra ones to check relation != NULL.
2289
2290 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
2291
2292         * configure.in: check for working realloc (NULL,).
2293         * gmem.c (g_realloc): use malloc() for initial allocation on systems
2294         where realloc(NULL,) will not work (this is the case on SunOS, reported
2295         by Tom Geiger).
2296
2297 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
2298
2299         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
2300         flag around the call to g_hook_free() to avoid spurious
2301         warnings (happens during destruction phase).
2302
2303 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2304
2305         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
2306         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
2307
2308 1999-03-16  Timur Bakeyev  <mc@bat.ru>
2309
2310         * configure.in: Fix problem with pthread_create in libc, as running
2311         "gcc test.c -l " is not legal.
2312
2313 1999-03-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2314
2315         * tests/type-test.c: Added a test for the
2316         G_(U)?INT(16|32|64)_FORMAT and G_(MIN|MAX|MAXU)(SHORT|INT|LONG)
2317         macros.
2318
2319         * configure.in: Removed G_(U)?INT8_FORMAT again, as it can't be
2320         used for scanf.
2321
2322         * configure.in: Added the macros G_MAXU(SHORT|INT|LONG). I do not
2323         know how to handle these on platforms with /usr/include/values.h,
2324         but without /usr/include/limits.h. Please someone add this.
2325
2326
2327 1999-03-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2328
2329         * configure.in: Added the macros G_(U)?INT(8|16|32|64)_FORMAT to
2330         use for printf and (much more important) scanf format strings for
2331         the corresponding GLib types. 
2332
2333         * glib.h Added G_(U)?(SHORT|INT|LONG)_FORMAT for consistency. It
2334         however makes no sense to also provide G_(FLOAT|DOUBLE)_FORMAT, as
2335         they are different for printf (f for both) and scanf (f for float,
2336         lf for double). Defining G_INT_FORMAT makes sense however, as we
2337         might want to define gint to something different than int someday
2338         in the future. Idea from Sascha Brawer <sb@adasys.ch>.
2339         
2340 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
2341
2342         * gdate.c:
2343         Commented out debugging output.
2344
2345         * tests/Makefile.am, tests/date-test.c:
2346         Added test of the GDate module, based closely on testgdate.c.
2347
2348         * tests/Makefile.am:
2349         Bugfix - compile tests with @GLIB_DEBUG_FLAGS@.
2350
2351 1999-03-14  Raja R Harinath  <harinath@cs.umn.edu>
2352
2353         * configure.in (glibconfig.h): Remove widechar tests and defines.
2354         (fd_set): Change the grep for `fd_mask' to search for `fd_set'.
2355         * gerror.c (fd_mask): Remove conditional typedef.  It is not used
2356         elsewhere in the file.
2357         * gmain.c (fd_mask): Likewise.
2358
2359 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2360
2361         * configure.in: Test for posix threads first, then for dce threads.
2362
2363 1999-03-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2364
2365         * configure.in: Revamped the thread configure stuff. Now dce
2366         threads (old posix draft) are recogniced. This is necessary,
2367         because dce threads are in fact working quite differently from
2368         posix threads. Also changed the conditions for checking for MT
2369         safe functions a bit, because G_THREADS_IMPL_NONE still have to
2370         compile thread safe. NOTE: Please do not commit my change to
2371         glib-1-2/{acconfig.h,configure.in,config.h.win32} from 1999-03-03,
2372         as the current change will take care of that too.
2373
2374 Tue Mar  9 14:37:32 1999  Jeff Garzik  <jgarzik@pobox.com>
2375
2376         * Makefile.am, glib.h, gstack.c, gqueue.c,
2377           tests/Makefile.am, tests/queue-test.c, tests/stack-test.c:
2378         Added stack, queue ADTs and related tests.
2379
2380         * glib.h, glist.c:
2381         New g_list_delete() function.
2382
2383 Sat Mar  6 11:03:08 1999  Asbjorn Pettersen  <ape@lrdpf.spacetec.no>
2384
2385         * gutils.c (g_get_any_init): add OS/2 changes.
2386         change '\\' in HOME to '/'.
2387
2388 1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
2389
2390         * glib.def: g_spaced_primes_closest was omitted here, so I
2391         couldn't build Xdelta on Windows.
2392
2393 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2394
2395         * gutils.c (g_get_any_init): Fixed yet another bloody
2396         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
2397         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
2398         test better than that, but have no idea, how to do that easily.
2399
2400 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
2401
2402         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
2403         new one.
2404
2405         * configure.in: set glib version to 1.3.0.