Tue Sep 18 22:57:33 2001 Tim Janik <timj@gtk.org>
* configure.in (GLIB_MICRO_VERSION): up version number to 1.3.8,
interface age 0, binary age 0.
* NEWS: updates.
Tue Sep 18 23:09:02 2001 Tim Janik <timj@gtk.org>
* gparam.[hc]: rename *nick and *blurb fields to catch
direct accesses in third party code.
provide g_param_get_nick(), g_param_get_blurb() and
g_param_get_name() accessors.
Tue Sep 18 18:23:02 2001 Owen Taylor <otaylor@redhat.com>
Fixes for compilation on Solaris (#59026, Frank Belew)
* glib/gqsort.c (g_qsort_with_data): Use g_alloca().
* glib/giochannel.c (g_io_channel_read_to_end): Fix use
of ternary on left-hand-side.
* configure.in: Handle the ac_cv_working_alloca_h variable
set by autoconf-2.5x.
Tue Sep 11 18:50:44 2001 Owen Taylor <otaylor@redhat.com>
* m4macros/glib-gettext.m4 acinclude.m4: Remove commented
out sections for clarity.
2001-09-18 Tor Lillqvist <tml@iki.fi>
* glib/gmain.c
* glib/giowin32.c: Mark the _funcs tables for export.
* glib/glib.def: Add here, too.
* glib/gwin32.c (get_package_directory_from_module): No reason to
check for the module being in a bin or lib directory only when
module_name is non-NULL.
* glib/gwin32.c (g_win32_get_package_installation_directory):
Check first in HKEY_CURRENT_USER, then in HKEY_LOCAL_MACHINE.
* gmodule/Makefile.am: On Win32, pass a dummy -rpath flag to
libtool when building libgplugin_[ab].la, otherwise libtool
doesn't create a DLL, but a static archive.
* tests/strfunc-test.c: (main): Change so that it works
on platforms where isalpha is a macro only, without the
corresponding function that the C standard requires.
Also eliminate the multiple lists of ctype functions.
* tests/.cvsignore: Ignore the new test.
2001-09-17 Tor Lillqvist <tml@iki.fi>
* configure.in: Add variable for LT_CURRENT minus LT_AGE (the
suffix used by libtool on Win32 for DLLs). Set variables for the
compiled resource files on Windows. Handle the native Win32
gthread stuff.
* glib/Makefile.am
* gmodule/Makefile.am
* gobject/Makefile.am: (Win32) Add minor hacks to link in the object
file produced from the resource file. Use the lt-compile-resource
script from the build module. The non-hack way would be to teach
libtool, autoconf and automake about .rc files (which are a kind
of source code, after all, that gets compiled to object
files). But then there would be problems for those who wouldn't have
bleeding edge auto* and libtool.
* glib/glib.def
* gobject/gobject.def: Updates.
* glib/glib.rc.in
* gmodule/gmodule.rc.in
* gobject/gobject.rc.in
* gthread/gthread.rc.in: Update InternalName and OriginalFilename to
match libtool's naming convention for DLLs.
* glib/gutils.c: Ditto when constructing the DLL name in the
definition for GLIB_LOCALE_DIR.
* glib/makefile.mingw.in
* gmodule/makefile.mingw.in
* gobject/makefile.mingw.in
* gthread/makefile.mingw.in: Update import library names.
Modified Files:
glib/ChangeLog glib/glib/giochannel.h glib/glib/giochannel.c
* glib/giochannel.h glib/giochannel.c: Added a length argument
to g_io_channel_[set,get]_line_term(), allowing embeded nulls
and binary safe line termination strings
* glib/giochannel.c: Got rid of a compile warning in
g_io_channel_write_chars()
Mon Sep 10 17:13:36 2001 Tim Janik <timj@gtk.org>
* glib/gmessages.h: got rid of g_set_error_handler(),
g_set_warning_handler(), g_set_message_handler().
Wed Sep 5 05:24:07 2001 Tim Janik <timj@gtk.org>
* gobject/tmpl/gboxed.sgml: documented some functions.
* gobject/tmpl/objects.sgml: some fixups.
Mon Sep 10 19:27:47 2001 Tim Janik <timj@gtk.org>
* gtype.[hc]:
g_type_add_interface*(): implement the ability to add an interface to
a type whose parents already conform to this interface.
such "overriding" interfaces, when initialized, are not just initialized
with 0, but with a copy of the interface they override.
g_type_interface_peek_parent(): new function, return the interface
that this interface "overrides", if any.
* testgruntime.c: test new interface stuff.
2001-09-10 Alex Larsson <alexl@redhat.com>
* gobject/gboxed.[ch]:
* gobject/gsourceclosure.c:
Removed is_refcounted and GBoxedInitFunc from
g_boxed_type_register_static().
2001-09-04 Tor Lillqvist <tml@iki.fi>
* README.win32: Update. Don't mention pthreads.
* build-dll: Remove, moved to the build module.
* glibconfig.h.win32.in: Don't mention pthreds here, either.
* glib/gstrfuncs.c: Mark the correct variable for export from DLL.
* glib/giowin32.c (g_io_win32_msg_create_watch): Owen forgot to
rename the win32_watch_funcs variable here, too.
* */makefile.mingw.in: Don't use version number in import library
name. Use whole version number in DLL name. Use build-dll from the
build module.
Mon Aug 27 14:56:12 2001 Owen Taylor <otaylor@redhat.com>
* glib/gmain.h: Add closure_marshal/closure_callback
fields to GSourceFuncs for use by g_source_set_closure().
* glib/gmain.c glib/giounix.c glib/giowin32.c
glib/gmain.h: Export the SourceFuncs vtables so GObject
can use them to figure out closure callbacks/marshallers
for the default source types.
Mon Aug 27 14:55:27 2001 Owen Taylor <otaylor@redhat.com>
* gsourceclosure.[ch] (g_source_set_closure): Implement.
* gsourceclosure.[ch]: Add GType's for GIOChannel, GIOCondition.
Sun Sep 2 13:05:53 2001 Owen Taylor <otaylor@redhat.com>
* glib/gstrfuncs.c (g_strchomp): Replace some uses
of isspace() with g_ascii_isspace().
* glib/gutf8.c glib/gunicode.h glib/gstrfuncs.[ch]: Add
extra indirections to g_utf8_skip and g_ascii_table to
avoid great whopping copy relocs.
Sun Sep 2 11:10:42 2001 Owen Taylor <otaylor@redhat.com>
* glib/gen-unicode-tables.pl glib/gunicomp.h
glib/gunichartables.h glib/giounix.c: Fix some variables that
should have been static.
2001-08-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gthread.h, glib/gthread.c: Add 'want_to_read' to
GStaticRWLock to avoid calling g_cond_broadcast, when no one is
waiting.
2001-08-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gmain.c (g_main_context_add_poll_unlocked): Don't free
cached_poll_array, when adding new poll's. This is taken care for
in g_main_context_iterate.
2001-08-30 Tor Lillqvist <tml@iki.fi>
After being away for about five months, I'm back working on
this... For now, still using same build setup for Win32. Probably
will change to not including version numbers in the import library
names, though. (But the DLL names would still include them,
possibly even also the micro version number.) That would be more
Unix-like. Also, will have to check out newest mingw tool versions
to see if the build-dll script now can be retired.
* makefile.mingw
* makefile.msc: New files, no need to generate from .in as
they don't contain references to automake variables.
* makefile.mingw.in
* makefile.msc.in: Removed.
* glib.rc.in: Remove
* glib/glib.rc.in: Moved here.
* Makefile.am
* glib/Makefile.am: Corresponding changes.
* glib/glib.def: Fix typo, add new entries.
* glib/gspawn-win32-helper.c: More debugging. Doesn't work
currently (or then it never has on Win2k, which I now use?)
* glib/gstrfuncs.c
* glib/gstrfuncs.h: Mark g_ascii_table for export/import on Win32.
* */makefile.mingw.in: Reflect new location of glib library.
2001-08-30 Michael Natterer <mitch@gimp.org>
* glib/giochannel.h: (struct GIOChannel): "gboolean foo : 1"
results in TRUE being -1 once assigned, use "guint foo : 1"
instead.
* glib/gconvert.h:
* glib/gconvert.c: (g_filename_from_uri):
Updated name of error from G_CONVERT_ERROR_NOT_LOCAL_FILE to
G_CONVERT_ERROR_NOT_ABSOLUTE_FILE_URI.
* tests/.cvsignore:
* tests/uri-test.c:
Added a lot more test for the new URI functions, including a
number that seem to indicate some minor bugs.
2001-08-26 Alex Larsson <alexl@redhat.com>
* glib/gconvert.[ch] (g_filename_from_uri,
g_filename_to_uri): New functions to convert
between local pahtnames and file: uris.
* tests/Makefile.am:
* tests/uri-test.c:
Tests for the new functions.
2001-08-24 Alexander Larsson <alla@lysator.liu.se>
* glib/gconvert.[ch] (g_convert_with_iconv):
New function, doing the same as g_convert but taking
a GIConv argument. The old g_convert is just
a call to this with a newly opened GIConv.
* tests/shell-test.c: (check_string_result): Fix bad indenting.
I figured I should fix this since I just pointed Alex here to
look at this as an example.
Modified Files:
glib/ChangeLog glib/glib/giochannel.c
* glib/giochannel.c: Matthias Clasen's fix for
the buffer corruption bug by setting outbuf _after_
the call to g_string_set_size()
* glib/giochannel.c: kept the buffers from perpetually
growing by subtracting 1 from allocated_len in the calculation
of available space to account for the null at the end of the
buffer
* glib/giochannel.c: fixed g_io_channel_write_chars()
to not write more than space_in_buf bytes for the UTF-8 case
Fri Aug 24 11:15:46 2001 Owen Taylor <otaylor@redhat.com>
* glib/gstrfuncs.c docs/Changes-2.0.txt: Patch from Darin
Adler to restore Glib-1.2 handling of empty strings,
and to fix off-by-one with @max_tokens. (#57663).
Doc improvements.
* tests/strfunc-test.c: Change tests to correspond to
new behavior of g_strsplit().
Thu Aug 23 11:09:58 2001 Owen Taylor <otaylor@redhat.com>
* glib/ghash.c (g_hash_table_foreach_remove_or_steal):
Patch from Josh Pritikin to fix reversed key and value destroy
functions. (#59433)
* glib/giochannel.h (struct _GIOChannel): Mark structure
/*< private >*/
Sun Aug 19 21:32:39 2001 Owen Taylor <otaylor@redhat.com>
* glib/ghash.c: Eliminate use of floating point when
determining if the hash table needs to be resized,
and also factor out the test from g_hash_table_resize()
to save function calls for the common case.
(#59124)
* glib/gmain.c (g_main_context_query): Document the
return value.
Modified Files:
glib/ChangeLog glib/glib/giochannel.c glib/glib/giounix.c
glib/glib/giochannel.h glib/glib/glib.def
glib/docs/reference/ChangeLog
glib/docs/reference/glib/glib-sections.txt
* glib/giochannel.c glib/glib.def glib/giochannel.h: Added
new functions g_io_channel_[set,get]_close_on_unref ()
* glib/giochannel.c: glib/giochannel.h: Documentation fixes
* glib/giochannel.c: Fixed g_io_channel_write_chars ()
so that bytes_written is always set to an appropriate
value when it returns
* glib/giounix.c: changed g_io_channel_get_flags () to
set the is_readable and is_writeable flags cached
by the channel
* docs/reference/glib/glib-sections.txt: Added
declarations for g_io_channel_[set,get]_close_on_unref
Sun Aug 12 21:05:13 2001 Tim Janik <timj@gtk.org>
* glib/gmessages.h: fix g_return_if_fail, g_assert and friends to
have a body for G_DISABLE_CHECKS and G_DISABLE_ASSERT.
fixes#58873.
Sun Aug 12 10:09:00 2001 Owen Taylor <otaylor@redhat.com>
* tests/iochannel-test.c (main): Find test case for
srcdir != builddir, miscellaneous cleanups.
* tests/Makefile.am (EXTRA_DIST): Distribute casefold.txt,
casemap.txt iochannel-test-infile.
* glib-2.0-uninstalled.pc.in: Fix for move of glib files
into subdir. (Pointed out by Steve Baker)
Modified Files:
glib/ChangeLog glib/glib/giochannel.c
* glib/giochannel.c: Fixed a "sense of comparison" bug,
added an assert to check when g_io_channels_read_chars ()
is looping endlessly due to encoded_read_buf being corrupted.
2001-08-06 Sven Neumann <sven@gimp.org>
* glib/gutils.[ch]: added new function g_nullify_pointer().
* gobject/gobject.[ch]:
added new functions g_object_[add|remove]_weak_pointer().
Modified Files:
glib/ChangeLog glib/glib/giochannel.c glib/glib/giounix.c
* glib/giochannel.c: Replaced the local use_buf variable with a macro
in most places. This allows us to check some things without worrying
whether we have allocated the read buffers yet, and allows us to allocate
the buffers later in some cases.
* glib/giochannel.c: Introduced a MAX_CHAR_SIZE macro, which is
supposed to be greater than or equal to the length in bytes
of the longest character in any encoding. This is necessary
to get the minimum buffer size for successful writing.
* glib/giochannel.c: Fixed g_io_channel_set_encoding () so
that it just prints a warning if partial_write_buf isn't
empty instead of failing.
* glib/giochannel.c: Fixed several functions so they can accept
NULL parameters for pointers to return values.
* glib/giochannel.c: Altered the error handling for
g_io_channel_read_chars () to only return an error if
it doesn't have any buffered data.
* glib/giochannel.c: Rewrote g_io_channel_write_chars ()
to fix the error handling and remove duplicate sections
of code.
* glib/giounix.c: Fixed g_io_channel_new_file () to
call fstat () to set the is_seekable flag, in case someone
uses it on a FIFO.
2001-08-04 Alexander Larsson <alexl@redhat.com>
* win32-fixup.pl:
Hacky script to fix up your .msc.in files on windows.
Dunno if this is a good solution yet.
* build/win32/module.defs:
Back down libiconv version to 1.3, since that is what tor distributes.
* glib/glib.def:
Update
* gobject/makefile.msc.in:
build gobject-query.exe and gmarshal.strings, add libiconv dependency to linklines.
* gobject/marshal-genstrings.pl:
New file. perl script to generate gmarshal.strings.
Modified Files:
glib/ChangeLog glib/glib/giochannel.c
glib/tests/iochannel-test.c
* glib/giochannel.c: Fixed g_io_channel_seek_position()
so that G_SEEK_CUR can be used with UTF-8 encoding
* glib/giochannel.c: Changed test to decide whether
use_buf is encoded_read_buf or read_buf from
"if (channel->do_encode)" to "if (channel->encoding)" to
fix bug 58472
* tests/iochannel-test.c: Fixed so it doesn't output
double newlines
* glib/giochannel.c: Fixed g_io_channel_fill_buffer()
so that encoded_read_buf is created for UTF-8 encoding
* tests/.cvsignore:
* tests/strfunc-test.c: (strv_check), (main):
Improve strfunc test to test the split function in a way that
demonstrates its idiosyncrasies.
2001-08-03 Sven Neumann <sven@gimp.org>
* configure.in: beautified configure help output.
* glib/gtree.c: changed help for g_tree_insert(); it was misleading.
2001-08-01 Christopher James Lahey <clahey@ximian.com>
* glib/gutf8.c (g_utf8_find_prev_char): Made g_utf8_find_prev_char
able to return the first character of a string.
Modified Files:
glib/ChangeLog glib/glib/giochannel.h
* glib/giochannel.h: Committed this file, which is where
the changes in my previous changelog entry happened,
not giochannel.c
2001-07-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: #undef inline before testing whether it works to
avoid false positives. Patch from Garry R. Osgood
<grosgood@rcn.com>. Fixes bug #58272.
2001-07-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gmodule/gmodule.c (parse_libtool_archive): build the library
name ourselfs ... so we can load the library specified and not
mangle any name not beggining in 'lib'. Patch from Michael Meeks
<michael@ximian.com>.
* glib/giochannel.c: Matthias Classen's patch to give
g_io_channel_flush() the correct sense when testing
whether the buffer is empty
* glib/giounix.c: Matthias Classen's patch to set
the mode of a file created with g_io_channel_new_file()
Wed Jul 18 19:42:31 2001 Tim Janik <timj@gtk.org>
* gtype.h: if __GNUC__ is defined, inline a test for an exact type
match for instances and classes in G_TYPE_CHECK_INSTANCE_TYPE() and
G_TYPE_CHECK_CLASS_TYPE() before calling g_type_instance_is_a().
Sun Jul 29 16:08:17 2001 Tim Janik <timj@gtk.org>
* glib/gscanner.[hc]: removed deprecated g_scanner_stat_mode().
* glib/gscanner.c (g_scanner_msg_handler): by default, print scanner
errors and warnings to stderr.
2001-07-27 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gtypes.h: Use G_GNUC_EXTENSION instead of
__extension__. Patch from Pavel Roskin <proski@gnu.org>.
2001-07-26 Michael Natterer <mitch@convergence.de>
* gobject/glib-genmarshal.c: added a "release_check" to the
OutArgument structure, which, if present, gets integrated in the
marshaller code and protects us from stuff like
g_object_unref(NULL) on marshaller return values.
* glib/giochannel.c: fixed g_io_channel_seek_position() so that
G_SEEK_CUR works for UTF-8 channel encoding, and unallocated
converters are not flushed after the seek; fixed
g_io_channel_get_buffer_condition() so that G_IO_IN is only
set if the read buffer contains at least one full character
2001-07-22 Hans Breuer <hans@breuer.org>
* glib/giochannel.c (g_io_channel_get_buffer_condition) : make
the code actually have an effect (Use |= to set bits). Not
absolutely sure if is the right one.
* glib/giowin32.c (g_io_win32_<check|prepare>) : don't modify
watch->condition but restored the previous behaviour.
Now gio-test as well as The Gimp work again ...
2001-07-21 Hans Breuer <hans@breuer.org>
* glib/giowin32.c (g_io_channel_new_file) : set the
corresponding p(ermission)mode of the file when creating,
otherwise a wronly file couldn't be overwritten (at least
not on Win9x).
2001-07-21 Hans Breuer <hans@breuer.org>
* glib/giowin32.c : intial implementation of new API functions.
Not sure if it behaves as intended ...
* glib.def : removed, glib/glib.def is the file used since moved
* glib/glib.def : updated
* tests/makefile.msc : added iochannel-test
Modified Files:
glib/ChangeLog glib/glib.def glib/glib/giochannel.c
glib/glib/giochannel.h glib/glib/giounix.c
glib/glib/giowin32.c
glib/docs/reference/glib/glib-sections.txt
glib/tests/iochannel-test.c glib/tests/unicode-collate.c
glib/tests/unicode-normalize.c
Added Files:
glib/tests/iochannel-test-infile
* glib/giochannel.c: API changes, fixes to
error handling, some internal restructuring
* glib/giochannel.h: API changes, documentation for
elements in GIOChannel structure
* glib/giounix.c: Matched API changes, implemented
backend to set is_readable, is_writeable, is_seekable
flags, added a test to catch large values of count
for which the behavior of write() is undefined
* glib/giowin32.c: Changed to match new prototypes for
io_close() and io_seek(), removed references to
G_IO_STATUS_INTR, set is_seekable flag in channel
creation functions
* glib.def: Renamed g_channel_error_quark() and
g_channel_error_from_errno() to g_io_channel_error_quark() and
g_io_channel_error_from_errno(); added new functions
g_io_channel_get_buffered() and g_io_channel_set_buffered()
* docs/reference/glib/glib-sections.txt: Modified iochannel
section to reflect new functions and API changes
* tests/iochannel-test.c: Fixed to work with API changes
* tests/iochannel-test-infile: New file; input file
for iochannel-test
* tests/unicode-collate.c tests/unicode-normalize.c:
Changed G_IO_FILE_MODE_READ to "r" to match API change
2001-07-20 Hans Breuer <hans@breuer.org>
* glib/glib/giowin32.c : make it compile again
* glib/glib.def : updated exports
* glib/makefile.msc.in :
* glib/makefile.mingw.in :
* tests/makefile.msc.in : reflect glib move
* tests/mainloop-test.c : #include <io.h> for _pipe()
* tests/gio-test.c : casts for strict compiler settings
* makefile.msc.in : new master makefile reflecting the glib
move. The '.in' isn't really needed anymore, because there
is no version number in it
* glib/gstrfuncs.c: (g_ascii_strdown), (g_ascii_strup): Add
missing const.
(g_strsplit): Add g_return_val_if_fail for case of empty
delimiter, which can result in an infinite loop otherwise.
* glib/gstrfuncs.h: Add missing const.
* tests/.cvsignore: Ignore a generated file.
* tests/array-test.c:
* tests/dirname-test.c:
* tests/hash-test.c:
* tests/list-test.c:
* tests/node-test.c:
* tests/relation-test.c:
* tests/shell-test.c:
* tests/slist-test.c:
* tests/spawn-test.c:
* tests/strfunc-test.c:
* tests/string-test.c:
* tests/testglib.c:
* tests/tree-test.c:
* tests/type-test.c:
Add an #undef G_DISABLE_ASSERT so all tests will assert even if
asserts are disabled inside glib itself.
Fri Jul 13 19:20:06 2001 Owen Taylor <otaylor@redhat.com>
* glib/gstring.c (g_string_insert/append/prepend_unichar):
Add functions to insert a unichar as UTF-8, since this
is reasonably common.
* glib/gutf8.c glib/gunicode.h (g_utf8_get_char_validated):
New function exposing iterating through possibly invalid/incomplete
UTF-8 to unicode to the outside world.
* glib/gutf8.c (g_utf8_get_char_extended): Fix max_len argument
to be gssize, not gsize.
2001-07-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gmain.c: Add some assertions. Simplify and fix
g_main_context_release(). Fix some locking bugs in
g_main_loop_run().
* glib/gmessages.c: Changed prototype of printf_string_upper_bound
to return gsize. Now matches the actual function body.
* glib/gstrfuncs.c (g_strrstr_len): Changed type of parameter #2
from gint to gssize. Now matches the prototype in gstrfuncs.h.
* .cvsignore: Add some generated files.
* glib/gmain.c: (g_main_context_iterate): Comment out cruft
after #endif to avoid gcc warning.
* gmodule/gmodule.c: (g_module_set_error_unduped): Remove
const from type to avoid gcc warning.
* gobject/gsignal.c: (g_signal_emitv): ifdef variable used
only if G_ENABLE_DEBUG to avoid gcc warning.
* gobject/gtype.c: (type_iface_vtable_init_Wm),
(type_iface_vtable_finalize_Wm): ifdef call needed only
if !G_DISABLE_ASSERT to avoid gcc warning.
* tests/testglib.c: (main): ifdef call needed only if
!G_DISABLE_ASSERT to avoid gcc warning. Maybe later we
should make the test to #undef G_DISABLE_ASSERT.
* tests/unicode-collate.c: Add include of <string.h> to
avoid gcc warning.
Wed Jul 11 11:13:50 2001 Owen Taylor <otaylor@redhat.com>
* glib/Makefile.am (libglib_1_3_la_SOURCES): Add gunicomp.h
(Reported by Sven Neumann).
* glib/guniprop.c (g_utf8_str/updown) glib/gunicollate.c
(g_utf8_collate_key): Fix shadowing problems reported by
many (D. Adler, S. Neumann, M. Murmane, L. Peter)
2001-07-08 Martin Baulig <baulig@suse.de>
* tests/unicode-normalize.c, tests/unicode-collate.c:
Reflect latest g_io_channel_new_file() API changes, use
G_IO_FILE_MODE_READ instead of "r".
Sat Jun 30 23:14:32 2001 Tim Janik <timj@gtk.org>
* glib/glist.[hc]: added g_list_insert_before().
* glib/gslist.c (g_slist_insert_before): provide an implementation,
prototype was already present...
Sat Jun 30 11:07:00 2001 Tim Janik <timj@gtk.org>
* gobject.[hc]: provide weak_ref/weak_unref functions,
invoked from ->dispose. renamed ->shutdown() to ->dispose(),
provide "public" API entry here: g_object_run_dispose(), this
fucntion should _only_ be called from object system implementations
(e.g. gtkobject.c) if at all.
* gtypemodule.c (g_type_module_dispose): s/shutdown/dispose/
* gsignal.h: removed compat aliases.
* gobject.c (g_object_connect): support data objects.
Sun Jul 1 20:16:25 2001 Owen Taylor <otaylor@redhat.com>
* glib/guniprop.c (g_unichar_totitle): Use G_N_ELEMENTS
rather than a custom macro.
* glib/gen-unicode-tables.pl: Adapt to changes in table
formats for Unicode 3.1
* glib/gunicode.h glib/guniprop.c glib/gunichartables.h
glib/gen-unicode-tables.pl: Add case conversion functions
g_utf8_casefold, g_utf8_strup, g_utf8_strdown.
* tests/unicode-caseconv.c tests/gen-casefold-txt.pl
tests/gen-casemap-txt.pl tests/casefold.txt
tests/casemap.txt: Test cases for case conversion.
* glib/gunicode.h glib/gunidecomp.[ch] glib/gunicomp.h
glib/gen-unicode-tables.pl: Add function to do Unicode
normalization g_utf8_normalize().
* tests/unicode-normalize.c: Test program for case conversion.
* glib/gunicode.h glib/gunicollate.c: Add collation functions
g_utf8_collate, g_utf8_collate_key.
* test/unicode-collate.c: Test program for collation.
* glib/gdate.c (g_date_fill_parse_tokens): Fix uninitialized
variable.
* glib/gdate.c (g_date_strftime) docs/Changes-2.0.txt:
Make work with UTF-8 even if the locale isn't UTF-8 based.
Still somewhat of broken, if the format string contains
characters not representable in the current locale, will warn
and not work.
* glib/gdate.c: Use UTF-8 normalization and casefolding.
Sat Jun 30 16:03:16 2001 Owen Taylor <otaylor@redhat.com>
* glib/giowin32.c glib/giounix.c glib/gmain.[ch]:
Rename GSourceFuncs::destroy to GSourceFuncs::finalize.
(#56858)
Sat Jun 30 15:49:10 2001 Owen Taylor <otaylor@redhat.com>
* glib/gmain.[ch]: (Mostly patch from Sebastian Wilhemi)
Make some changes to the way that GMainContext works:
- a GMainContext is no longer associated with a single
thread, but any thread can acquire ownership
of thread and iterate.
- There is a facility g_main_context_wait() for
non-owner-threads to wait either for ownership
or for a condition to be broadcast.
- For efficiency, GMainLoop just piggybacks of
of the loops mutex / condition instead of
having a separate mutex/condition for each
GMainLoop.
* glib/gthread.[ch]: Remove hacks to store the thread's
GMainContext in the GThread structures, since we
no longer have the GMainContext <=> GThread correspondence.
* glib/gmain.[ch]: Make g_main_context_wakeup() public
so someone could completely duplicate GMainLoop
with the public API.
* tests/mainloop-test: Fix up to the new API. Decidedly
doesn't work at the moment, but that may be the IO
channel changes, or preexisting locking problems.
Sat Jun 30 13:18:28 2001 Owen Taylor <otaylor@redhat.com>
* glib/gstrfuncs.c glib/gstring.h: Try compiling
before committing, why don't you? Simple fixes
for my stupid typos.
Sat Jun 30 12:49:26 2001 Owen Taylor <otaylor@redhat.com>
Patch from Darin Adler (#54166)
* glib/gstrfuncs.[ch]: Add ascii-only, locale-insensitive
g_ascii_to[lower/upper], g_ascii_str[down/up],
g_ascii_is[upper/lower] and deprecate the locale-affected
versions which break for UTF-8, etc. Make
g_ascii_strup/strdown duplicating,
not in-place for consistency with UTF-8 functions.
* glib/gstring.[ch]: Add ascii-only, locale-insensitive
g_string_ascii_[down/up], and deprecate the locale-affected
versions which break for UTF-8, etc.
* glib/gutils.c glib/gwin32.c test/testglib.c: Use
the g_ascii_* functions where appropriate.
* glib/gstring.[ch] (g_string_set_size): Add function to
allow setting the length of a string greater than the
current length (for buffering usage)
* glib/gstring.[ch]: Expose string->allocated_len, since
that is useful when using GString simply as a buffer.
(Renamed from string->alloc)
* glib/giochannel.[ch] glib/giounix.c glib/giowin32.c:
Major patch from Hidetoshi Tajima and Ron Steinke
reworking GIOChannel to have:
- Buffering
- Sane and useful error reporting
- Streaming encoding conversion with iconv
- Convenience functions to read by lines or
an entire file.
Also fix remaining 64 bit cleanliness issues.
* tests/iochannel-test.c tests/Makefile.am: Test case
for IO channel streaming conversion. Still needs
some fixing up.
Thu Jun 28 16:57:44 2001 Tim Janik <timj@gtk.org>
* configure.in (GLIB_MICRO_VERSION): up version number to 1.3.7,
interface age 0, binary age 0.
Thu Jun 28 16:42:49 2001 Tim Janik <timj@gtk.org>
* gsignal.c (g_signal_lookup):
(g_signal_list_ids): give elaborate warnings about invalid types,
non-instantiatable types and unloaded types that we can't operate on.
* gparam.[hc]: g_param_spec_pool_belongings() ->
g_param_spec_pool_list_owned().
* gsignal.[hc]: renamed:
g_signal_newc -> g_signal_new
g_signal_disconnect_by_func -> g_signal_handlers_disconnect_by_func
g_signal_block_by_func -> g_signal_handlers_block_by_func
g_signal_unblock_by_func -> g_signal_handlers_unblock_by_func
added GConnectType to simplify (..gboolean swapped, gboolean after)
args.
* gobject.[hc]: changed prototypes accordingly.