2001-12-10 Sven Neumann <sven@gimp.org>
* gobject/gvalue.c (g_value_register_transform_func): perform an exact
match on the two types instead of using transform_func_lookup().
2001-12-09 Christopher Blizzard <blizzard@redhat.com>
* glib/gmessages.h: Add pragma that will prevent warnings when you
are not using -std=99 and newer gcc compilers. Patch from Red
Hat's gtk+ 1.2 rpm.
The following patch corrects some function attributes. (#61780)
* glib/ghash.h (g_int_equal, g_int_hash): These are not const.
* glib/glibintl.h (_glib_gettext): Add G_GNUC_FORMAT(1).
* glib/gmacros.h: Use reserved symbols in function attribute macros.
The following patch avoids manual printf()-format parsing
if a C99-conforming vsnprintf() is available. (#55106)
* acinclude.m4 (AC_FUNC_VSNPRINTF_C99): New macro to test for a
C99 conforming vsnprintf.
* configure.in: Use AC_FUNC_VSNPRINTF_C99.
* glib/gmessages.c (g_printf_string_upper_bound): Use C99 vsnprintf().
2001-11-29 Havoc Pennington <hp@redhat.com>
* glib/gtree.c (g_tree_foreach):
* glib/ghash.c (g_hash_table_foreach):
Add notes about how you shouldn't modify these data structures as
you iterate over them.
Wed Nov 28 18:34:22 2001 Owen Taylor <otaylor@redhat.com>
* glib/gmain.[ch]: Rename (private) GSource.id and
id parameter to g_main_context_find_source_by_id()
to avoid problems with Objective C where 'id' is
a keyword. (#65616)
2001-11-28 Daniel Elstner <daniel.elstner@gmx.net>
* glib/gutf8.c (utf8_skip_data): In order to avoid infinite loops on invalid UTF-8 strings, change the skip count for 0xfe and 0xff from 0 to 1.
* configure.in (G_MODULE_LDFLAGS): Set this from libtool rather
than hardcoding values for certain platforms.
* glib/libcharset/config.charset: Add a rule for NetBSD.
* glib/libcharset/localcharset.c (_g_locale_get_charset_aliases):
If LIBCHARSET_ALIAS_DIR is set, look for charset.aliases there.
* tests/Makefile.am (TESTS_ENVIRONMENT): set LIBCHARSET_ALIAS_DIR
so we don't depend on charset.aliases having been installed
2001-11-23 Hans Breuer <hans@breuer.org>
* glib/makefile.msc.in : added -Zm400 to DEPCFLAGS to avoid :
gunidecomp.h(5846) : fatal error C1076: compiler limit :
internal heap limit reached; use /Zm to specify a higher limit
* glibconfig.h.win32.in : added recommended pragma list for
msvc again. They are an invaluable help of letting the
compiler catch bugs.
Thu Nov 22 13:14:18 2001 Owen Taylor <otaylor@redhat.com>
* configure.in (GLIB_MICRO_VERSION): Version 11,
interface, binary age 0.
* NEWS: Updated.
* tests/Makefile.am (libmoduletestplugin_[ab]_la_LDFLAGS):
Add dummy -rpath argument. On some (but not all) platforms,
libtool will only build a convenience library without this.
(#63486, Dan Winship)
* Makefile.am (EXTRA_DIST): Add README.in, INSTALL.in -
autoconf-2.5x checks for 'make dist' in the tarball
when you make distcheck.
* glib/Makefile.am (EXTRA_DIST): Distribute
makefile.msc/mingw.in, glib.rc.in.
* tests/patterntest.c: Include string.h.
* glib/gpattern.c (g_utf8_reverse): doc parsing fix.
Thu Nov 22 03:30:57 2001 Tim Janik <timj@gtk.org>
* gvalue.h (G_TYPE_IS_VALUE): use g_type_check_is_value_type()
instead of g_type_value_table_peek().
* gtype.[hc] (type_check_is_value_type_U): speed up check
LOCK-less by caching lookups in node->mutatable_has_value_table.
* gtype.[hc]: removed locks where possible. partly based on
patches from owen and alex.
2001-11-21 Tor Lillqvist <tml@iki.fi>
* glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in
Makefile.am.
gobject:
2001-11-22 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in Makefile.am.
* gparamspecs.h (GOBJECT_VAR): Can't use GLIB_VAR here, as that
makes sense only when building libglib. GOBJECT_VAR is similar for
libgobject.
* gobject.def: Add g_param_spec_types, remove
g_type_fundamental_branch_last.
Tue Nov 20 20:54:25 2001 Owen Taylor <otaylor@redhat.com>
* glib/gunidecomp.[ch] glib/gen-unicode-tables.pl: Patch
from Andrew Taylor to optimize the decomposition table
to eliminate relocations and save space. (#64982)
Sat Nov 17 14:10:35 2001 Owen Taylor <otaylor@redhat.com>
* glib/gbsearcharray.h: Include gtypes.h not gobject/gtype.h
* glib/glib-object.h gobject/*.h: Prevent headers from
being included directly except when compiling GObject.
* gobject/gvaluecollector.h: Include glib-object.h so that
this file can be included directly, since we don't
include it _from_ glib-object.h.
* gobject/gtype.c: Remove struct _GValue hack since we
now include glib/gvaluecollector.h which simply pulls in
glib-object.h.
Wed Nov 14 07:34:24 2001 Tim Janik <timj@gtk.org>
* glib/galloca.h (g_newa): provide g_newa(ctype, count) on top of
g_alloca() like we provide g_new() on top of g_malloc().
Tue Nov 13 21:25:35 2001 Owen Taylor <otaylor@redhat.com>
* glib/{gen-unicode-tables.pl,gunibreak.c,gunibreak.h,
gunichartables.h, gunicomp.h, gunidecomp.[ch],
guniprop.c}: Patch from Andrew Taylor to improve
tables and reduce relocations by using indices
rather than pointers. (#64433)
* tests/unicode-normalize.c (main): Fix for changes
to g_strsplit().
2001-11-09 Tor Lillqvist <tml@iki.fi>
* glib/gwin32.c (g_win32_getlocale): Add a couple of languages
that have LANG_* codes in newest headers, just for completeness.
2001-11-08 Tor Lillqvist <tml@iki.fi>
* glib/gwin32.c: Don't define LANG_AZERI etc in case those aren't
defined in the headers (MSVC 5.0).
(g_win32_getlocale): Instead, surround uses of those with
#ifdef. Those MSVC 5.0 users that want to build a GLib that
recognizes those languages should download the Platform SDK and
use the headers from it.
2001-11-07 Peter Williams <peterw@ximian.com>
* glib/gdir.c (g_dir_read_name): Return NULL when done reading.
2001-11-05 Tor Lillqvist <tml@iki.fi>
* README.win32: Minor edits.
* glib-zip.in: Build separate runtime and developer packages.
* glib/libcharset/config.charset (os): Don't need to match mingw
after all, the charset.alias file isn't even used on Win32... (see
localcharset.c).
* glib/makefile.mingw.in: Add gdir.
* glib/glib.def: Add g_dir_* entry points.
Sun Nov 4 20:45:21 2001 Owen Taylor <otaylor@redhat.com>
* configure.in (CFLAGS): Add check for dirent.h
* glib/glib.h glib/Makefile.am: Add gdir.
* glib/gdir.c (g_dir_close): Couple of small tweaks
now that it is actually compiling...
Sun Nov 4 20:29:31 2001 Owen Taylor <otaylor@redhat.com>
* glib/gdir.[ch]: Indentation fixes, some rewriting of docs to
conform to gtk-doc standard.
* glib/gdir.[ch] (g_dir_close): Remove the boolean
return value. What would you do if closing failed?
What would the user do if you printed a warning
message "closing directory %d failed"?
2001-11-04 Hans Breuer <hans@breuer.org>
* glib/gdir.[hc] : (new files) simplified wrapper around dirent
functions to improve portability of downstream libs/apps
* glib/makefile.msc.in : use them
* glib/glib.def : export them
* config.h.win32.in : needing HAVE_DIRENT_H defined
2001-11-04 Tor Lillqvist <tml@iki.fi>
* tests/Makefile.am: On Win32, create separate .exp file for
module-test.o and link with that. Otherwise the GNU linker doesn't
export the g_clash_func.
Thu Nov 1 21:48:43 2001 Owen Taylor <otaylor@redhat.com>
* tests/mainloop-test.c (recurser_idle): Recurse
with may_block = FALSE, so we don't get into
the pathology where the recurser_idle recurses
for 10 iterations, and the only thing that is
running is the recurser idle, which adds
another recursion for each of those 10 iterations
and....
* tests/mainloop-test.c (create_crawler): Fix race
condition where a crawler source could be destroyed
before it was added to the crawler array.
* test/Makefile.am: Add mainloop-test back.
2001-10-31 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Make --with-threads=none mean, that we want thread
support, but no default thread implementation. This also was the
original intention, but disapeared around 1998... So it doesn't
seem to be the most requested feature, but we went far to make it
possible in the code, so I resurrected this feature.
* INSTALL.in: Describe the --enable-gc-friendly, --disable-threads
and --with-threads options of configure.
2001-10-31 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gmain.c (g_main_context_acquire, g_main_context_release,
g_main_context_wait): Use the right conditional (G_THREADS_ENABLED
instead of G_THREAD_ENABLED). Also remove wrong
return-statement. Unfortunately mainloop-test still does fail. Many
thanks to Andrea Fazekas <fazek@ludens.elte.hu> for spotting
this. (#63455)
2001-10-30 Tor Lillqvist <tml@iki.fi>
* glib-zip.in: New file, used to build distribution packages for
Windows.
* configure.in: Expand it.
* Makefile.am: Distribute it.
* config.h.win32.in: Update to match currently produced config.h
2001-10-29 Daniel Egger <degger@fhm.edu>
* glib/gbacktrace.h: Fix non-Intel/-Alpha version of the
G_BREAKPOINT macro to include <signal.h> and use SIGTRAP.
* glib/gmessages.c: Conditionalise definition of args2
depending on the definition of HAVE_VSNPRINTF to avoid
compiler warning.
* gobject/testgruntime.c
* tests/patterntest.c: Include <string.h> to avoid warnings.
Mon Oct 29 11:29:37 2001 Owen Taylor <otaylor@redhat.com>
* m4macros/glib-2.0.m4: Don't try to use PKG_CONFIG
when we didn't find it. (#62944, Eric Lemings)
* m4macros/glib-2.0.m4: Fix problem with spaces around =
sign in assignment. (#63209, Arkadiusz Miskiewicz)
Mon Oct 29 11:05:15 2001 Owen Taylor <otaylor@redhat.com>
* glib-mkenums.in: Generate glib-mkenums from glib-mkenums.in,
substituting in path to perl. (#63093, Dan Winship)
* Makefile.am (bin_SCRIPTS): Remove hack to copy glib-mkenums
from srcdir.
Mon Oct 29 10:59:36 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: Check for path to Perl, add gobject/glib-mkenums
2001-10-28 Tor Lillqvist <tml@iki.fi>
* glib/glib.def: Add missing g_pattern_match_simple and
g_pattern_spec_equal.
* glib/gwin32.c (g_win32_get_package_installation_subdirectory):
Set separator correctly.
* glib/libcharset/config.charset (os): Match also mingw*.
* tests/testglib.c (main): (Win32): Print the lib/locale
subdirectory, as that is what actually gets used.
Fri Oct 26 11:42:50 2001 Owen Taylor <otaylor@redhat.com>
* */Makefile.am: Remove $(srcdir)/html before building
HTML to prevent stale files. Dist all files in html/
2001-10-26 Tor Lillqvist <tml@iki.fi>
* configure.in: Don't default to win32 thread implementation on
Cygwin. The gthread-win32 implementation really is for Win32 with
MS runtime only. Let configure find pthreads when configuring for
Cygwin.
2001-10-26 Tor Lillqvist <tml@iki.fi>
* glib/glib.def: Update.
* tests/makefile.{mingw,msc}.in: Add ../* to PATH before running
tests to find DLLs. Separate the interactive tests, don't run them
in the check target.
* */makefile.msc.in: Include make.msc from GLib's build directory.
Wed Oct 24 11:10:54 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: Version 1.3.10, interface age, binary age = 0.
* NEWS: Updates
Thu Oct 25 12:01:41 2001 Owen Taylor <otaylor@redhat.com>
* tests/Makefile.am: Temporarily remove mainloop-test, since it
prevents distcheck.
2001-10-23 Tor Lillqvist <tml@iki.fi>
* glib/gutils.h: Remove G_HARDCODED_PATH_WRAPPER, Owen didn't like
it.
* glib/gutils.c: Instead, expand it on Win32 as
_glib_get_locale_dir(), and #define GLIB_LOCALE_DIR as a call to
it.
2001-10-23 Tor Lillqvist <tml@iki.fi>
* glib/gutils.h: Add macros G_WIN32_DLLMAIN_FOR_DLL_NAME and
G_HARDCODED_PATH_WRAPPER. These are used to avoid hardcoding path
names into Windows DLLs.
* glib/gutils.c: Use them for GLIB_LOCALEDIR.
* glib/gwin32.c (get_package_directory_from_module): Plug a small
memory leak. Minor code reordering.
(g_win32_get_package_installation_subdirectory): Allow empty subdir.
2001-10-23 Tor Lillqvist <tml@iki.fi>
* {glib,gmodule,gobject,gthread}/Makefile.am: (Win32): If we
have built the MSVC import library, install it. Install the
gcc import library. Also support uninstall.
2001-10-19 Tor Lillqvist <tml@iki.fi>
* configure.in: Fix test for lib.exe. Can't set ms_librarian
before calling AC_CHECK_PROG, as it doesn't actually check
anything if the result variable has been preset...
2001-10-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gutils.c (g_set_prgname, g_get_prgname): Use another LOCK
for g_prgname to avoid deadlocking. (#62606)
Fri Oct 12 18:24:02 2001 Tim Janik <timj@gtk.org>
* glib/gpattern.[hc]: make struct _GPatternSpec and GMatchType
private.
(g_pattern_equal): new function to return equality of two patterns
(required because GPatternSpec is private now).
(g_pattern_spec_new): fix bug wrg wildcard counting which produced
incorrect pattern specs (discovered by Matthias Clasen).
optimized code so we just keep one compiled pattern string now.
correctly canonicalize patterns. reduce string walks, optimize
decision about MATCH_ALL vs. MATCH_ALL_TAIL.
(g_pattern_match_string): call just g_pattern_match() with NULL
reversed string.
(g_pattern_match): allow NULL reversed strings now, reverse_dup
strings on demand.
* tests/patterntest.c (test_compilation): added an extended testcase
for pattern matching from Matthias Clasen <matthiasc@poet.de>.
Sat Oct 13 06:58:23 2001 Tim Janik <timj@gtk.org>
* glib/tmpl/patterns.sgml: amended documentation.
2001-10-03 Tor Lillqvist <tml@iki.fi>
* glib/gutils.c (Win32) (DllMain): New function (DLL entry point)
to tuck away actual DLL name.
(GLIB_LOCALE_DIR) Use actual DLL name, instead of assuming one
naming convention for DLLs.
* glib/glib.def: g_string_append_printf.
2001-10-02 Sven Neumann <sven@gimp.org>
* glib/gstring.h (g_string_sprintfa): let the compatibility definition
point to the new name g_string_append_printf().
* glib/gscanner.h (GScannerMsgFunc): make third argument a gboolean.
(g_scanner_add_symbol, g_scanner_remove_symbol,
g_scanner_foreach_symbol): mark these
G__DISABLE_DEPRECATED. (#61469)
* glib/gscanner.c (g_scanner_msg_handler): make third argument gboolean. (#61468)
2001-09-30 Tor Lillqvist <tml@iki.fi>
* glib/gwin32.c
* glib/gwin32.h
* glib/glib.def: Remove own implementation of dirent
functions. Instead, gcc (mingw) users should go ahead and use the
<dirent.h> included with the mingw gcc, and the dirent functions
included in libmingw32, while MSVC users can use the same (public
domain) code, extracted from mingw-runtime sources and placed in
build/win32/dirent.[ch].
* glib/gwin32.c (get_package_directory_from_module,
g_win32_get_package_installation_directory): Use static lock to
protect static hash table.
Sat Sep 29 02:33:14 2001 George Lebl <jirka@5z.com>
* tests/testglib.c (main): cast the string size to gulong and use %lu
for printing to avoid 64bit issues
* glib/gstrfuncs.[ch] (g_ascii_strncasecmp): Change the 'n' argument
to gsize instead guint.
Fri Sep 28 19:41:32 2001 Owen Taylor <otaylor@redhat.com>
* glib/libcharset/* configure.in: Fix macros from libcharset
to work with autoconf-2.5x. (From Laszlo Peter.)
2001-09-24 Bruno Haible <haible@clisp.cons.org>
* glib/gwin32.c (g_win32_getlocale): When the sublangid is
SUBLANG_DEFAULT, return the locale of the language's main country,
not a country-neutral locale. E.g. "en_US" instead of "en". Add
handling of LANG_SORBIAN. Fix typo for SUBLANG_CHINESE_SIMPLIFIED
(China == CN, CH == Switzerland). Ignore empty environment
variable values.
2001-09-28 Tor Lillqvist <tml@iki.fi>
* glib/makefile.{mingw,msc}.in: Add localcharset.o. Just copy the
source file from libcharset and compile in this directory.
* glib/giochannel.c: Mark rest of g_set_error strings for
translation, too.
* glib/giowin32.c: Add some debugging output functions, call them
when debugging.
(create_events, g_io_win32_msg_write): Free message fetched with
g_win32_error_message ().
(g_io_win32_check): Indentation fixes.
(g_io_win32_fd_read,g_io_win32_sock_read): Don't always return
G_IO_STATUS_NORMAL. Do return G_IO_STATUS_EOF if we got 0 bytes,
like on Unix. This helps making the test programs run
successfully.
* glib/gmain.c (g_poll): Return the code ifdeffed out with
TEST_WITHOUT_THIS. Can't remember why it was ifdeffed out. Things
seem to work as previously with the code in place. Especially
spawn-test didn't work with the code ifdeffed out (Bug#61067).
* glib/grand.c (g_rand_new): Don't try to use /dev/urandom unless
on Unix.
* glib/gspawn-win32-helper.c (WinMain): Remove Sleep(10000)
accidentally left in.
gthread:
2001-09-28 Tor Lillqvist <tml@iki.fi>
* gthread-win32.c: Use an extra level of indirection for GMutex.
It is now a pointer either to a pointer to a CRITICAL_SECTION
struct, or to a mutex HANDLE. This is needed in case the user
defines G_ERRORCHECK_MUTEXES. G_MUTEX_SIZE must correctly reflect
the size of *GMutex, but this used to vary depending on whether we
at run-time chose to use CRITICAL_SECTIONs or mutexes.
(g_mutex_free_win32_cs_impl, g_cond_free_win32_impl): Call
DeleteCriticalSection() when done with it.
* gthread-impl.c (g_thread_init_with_errorcheck_mutexes): Call
g_thread_impl_init() before accessing
g_thread_functions_for_glib_use_default, as the
g_thread_impl_init() function might modify it.
po:
2001-09-28 Tor Lillqvist <tml@iki.fi>
* POTFILES.in: Add iochannel.c and giowin32.c.
* sv.po: Remove a bogus fuzziness indicator.
Thu Sep 27 14:26:57 2001 Owen Taylor <otaylor@redhat.com>
* glib/gstrfuncs.c (g_ascii_strup/down): Use gssize to
match the header. (Reported by Elliot Lee.)
Wed Sep 26 22:34:12 2001 Owen Taylor <otaylor@redhat.com>
Fixes for #58195, based on some ideas from Hidetosh Tajima.
* aclibcharset.m4 glib/libcharset: Add Bruno Haible's
portable-current charset detection code from libiconv.
* glib/gutf8.c (g_utf8_get_charset_internal): Rewrite
to use _g_locale_charset().
* glib/gutf8.c (_g_charset_get_aliases): Private functions
to get aliases from libcharset for a particular canonical
name.
* glib/gconvert.c: If loading a charset fails, try
aliases to look for fallbacks.
2001-09-26 Tor Lillqvist <tml@iki.fi>
* configure.in: Retract my change earlier today. Don't preset
autoconf variables in a try to match both mingw and MSVC. Instead,
he who packages a prebuilt GLib developer distribution for Win32
runs configure twice: once for mingw, once for MSVC, and then uses
diff -D on the glibconfig.h files to generate a suitably ifdeffed
glibconfig.h for distribution that suits both compilers. (Ditto
for config.h, although that file wouldn't be distributed in a
developer package, but in a source package for Win32 users who
want to build GLib but can't use configure.)
* glibconfig.h.win32.in
* config.h.win32.in: Generated by using diff -D as described above.
* tests/makefile.mingw.in (.c.exe): Correct name of gthread (import)
library.
gthread:
2001-09-26 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in: Fix couple of typos.
* gthread.def: Add g_thread_init_with_errorcheck_mutexes.
Wed Sep 26 15:33:37 2001 Owen Taylor <otaylor@redhat.com>
* Makefile.am po/Makefile.in.in: Fix distclean to
remove some extra files. #60993, Ben Gertzfield
Wed Sep 26 14:37:52 2001 Owen Taylor <otaylor@redhat.com>
* glib/gen-unicode-tables.pl glib/guniprop.c
glib/{gunibreak,gunichartables,gunidecomp}.h:
Patch from Andrew Taylor to make much of the unicode
table data const so that it can be made read-only
and shared.
Wed Sep 26 12:41:05 2001 Owen Taylor <otaylor@redhat.com>
* glib/gstrfuncs.c (g_strdup_vprintf): Copy if
!g_mem_is_system_malloc, not the other way around.
(Found by James Antill.)
Wed Sep 26 11:00:31 2001 Owen Taylor <otaylor@redhat.com>
* glib/gstrfuncs.c (g_strnfill): Use memset; might be
faster if someone used this for a biiig string.
(Suggestion from Jakub Jelinek)
2001-09-26 Tor Lillqvist <tml@iki.fi>
* configure.in: (Win32:) Move the Win32 check closer to the start,
after the BeOS checks. Preset some autoconf variables so that
configure won't find those few headers and functions that gcc
(mingw) pretends to implement (even if the actual C library
doesn't), but MSVC doesn't. This because I want the same config.h
and glibconfig.h to be usable both from gcc and MSVC (as they use
the same C library). Some other minor hackery for this purpose.
* glibconfig.h.win32.in
* config.h.win32.in: Use versions generated by configure (and
hand-edited slightly).
Tue Sep 25 11:34:22 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: Version 1.3.9 (binary, interface == 0)
* glib/gstrfuncs.c (g_ascii_strdown): Change g_ascii_strup/strdown
to take a 'len' argument to match g_utf8_strup/strdown. This
hopefully will also make it more obvious that they duplicate
the string rather than acting like g_strup/strdown.
(Suggestion from Matthias Clasen, #59550)
2001-09-25 Tor Lillqvist <tml@iki.fi>
* configure.in: More Win32 automake macros. For .def files:
GLIB_DEF, GMODULE_DEF, GOBJECT_DEF and GTHREAD_DEF. For .exp
files: TESTGMODULE_EXP (for programs that need to export symbols,
just testgmodule here). A new conditional, MS_LIB_AVAILABLE to
test whether the Microsoft librarian ("ar") is available to build
MS import libraries.
* glib/Makefile.am
* gmodule/Makefile.am: Use above. New rule to build MS import
library.
* glib/makefile.msc.in
* tests/makefile.msc.in
* tests/makefile.mingw.in: Use same DLL and import library names as
libtool.
gmodule:
2001-09-25 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in: Fix missing end @ in @LT_CURRENT@.
* makefile.msc.in: Use same DLL and import library names as
libtool.
gobject:
2001-09-25 Tor Lillqvist <tml@iki.fi>
* Makefile.am: Use new macros for .def file, and check for
MS_LIB_AVAILABLE, new rule to build MS import library.
* makefile.msc.in: Use same DLL and import library names as
libtool.
gthread:
2001-09-25 Tor Lillqvist <tml@iki.fi>
* Makefile.am: Use new macros for .def file, and check for
MS_LIB_AVAILABLE, new rule to build MS import library.
* makefile.msc.in: Use same DLL and import library names as
libtool.
2001-09-22 Hans Breuer <hans@breuer.org>
* glib/giowin32.c : simply setting is_readable and is_writeable
to TRUE does make Gimp plug-ins work again. Still no API known
to request this info on Win32 (see #57690)
2001-09-20 Tor Lillqvist <tml@iki.fi>
* glib/gutils.c (g_path_is_absolute): (Win32:) Accept also forward
slashes. (But still don't accept them in the other functions
here. This is a thorny issue. Windows in fact does treat / like \
on input (at least as local directory separators, dunno about
server/share separators). But GLib only has the one
G_DIR_SEPARATOR value, that apps should scan for, and use when
building pathnames. To properly fix this would require totally
abstracting pathnames, and don't having any path name scanning and
building in applications at all. Fat chance.)
(GLIB_LOCALE_DIR): Redefine only on "pure" Win32, not Cygwin. Use
subdirectory "share\locale", as on Unix.
* glib/gwin32.c: Don't need to define those langiage and
sublanguage constants here, current mingw (w32api) headers have
them.
* glib/glib.def: Add a few missing entry points.
* tests/testglib.c (main): Use same name for DLL as libtool does.
Use G_DIR_SEPARATOR in g_path_get_basename tests.
Wed Sep 19 16:35:22 2001 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_context_find_source_by[_funcs]_user_data):
Fix handling of user data when locating sources.
(#60414, Katsuhiro Okuno)
Wed Sep 19 14:17:31 2001 Owen Taylor <otaylor@redhat.com>
Patch from Matthias Clasen (#59806)
* configure.in: Check for vasprintf().
* glib/gmem.[ch]: Add g_mem_vtable_is_set() to be used
for efficiency hacks to avoid extra copies when not
needed.
* glib/gstrfuncs.c: Use vasprintf() to implement
g_strdup_printf() when available.
* glib/gmessages.c (g_logv): Avoid using
printf_string_upper_bound() when we have have vsnprintf.
* glib/gmessages.c (printf_string_upper_bound): Don't
segfault when warning about positional parameters.
Wed Sep 19 14:05:27 2001 Owen Taylor <otaylor@redhat.com>
* glib/{gcache.c,gmem.c,grel.c,gstring.c,gtimer.c,gtree}:
Patch from Darin Adler to remove GReal* structures in
favor of simple opaque typedefs in cases where there
were no non-private members. (#59693)
Wed Sep 19 12:49:11 2001 Owen Taylor <otaylor@redhat.com>
* glib/gutils.c (g_get_any_init): Handle failure of
sysconf and pick a fixed size buffer. (Happens on Cygwin
#60242)
2001-09-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gthread.h (GThreadFunctions): Add thread_equal function to
allow for platform defined function to compare two threads.
* glib/gthread.c: Use g_thread_functions_for_glib_use.thread_equal
when non-NULL instead of ==.
* gthread/gthread-posix.c: Add g_thread_equal_posix_impl and
add to the function vector g_thread_functions_for_glib_use_default.
* gthread/gthread-solaris.c, gthread/gthread-win32.c: Add NULL
as equal function, as on those two platforms you don't need an
equal function.
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