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