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