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