+++ /dev/null
-diff -ur gjs-0.7/gi/arg.c gjs-0.7.new/gi/arg.c
---- gjs-0.7/gi/arg.c 2010-05-13 16:11:18.000000000 +0200
-+++ gjs-0.7.new/gi/arg.c 2010-07-22 20:15:29.310255420 +0200
-@@ -124,15 +124,6 @@
- switch (type) {
- #define INT_TYPE(tag, ty, sign) \
- case GI_TYPE_TAG_##tag: return type_tag_from_size(sizeof(ty), (sign));
-- INT_TYPE(SHORT, short, SIGNED);
-- INT_TYPE(USHORT, unsigned short, UNSIGNED);
-- INT_TYPE(INT, int, SIGNED);
-- INT_TYPE(UINT, unsigned int, UNSIGNED);
-- INT_TYPE(LONG, long, SIGNED);
-- INT_TYPE(ULONG, unsigned long, UNSIGNED);
-- INT_TYPE(SSIZE, ssize_t, SIGNED);
-- INT_TYPE(SIZE, size_t, UNSIGNED);
-- INT_TYPE(TIME_T, time_t, SIGNED); /* time_t is signed */
- INT_TYPE(GTYPE, GType, UNSIGNED);
- #undef INT_TYPE
- default:
-@@ -588,8 +579,7 @@
- gboolean nullable_type;
-
- type_tag = g_type_info_get_tag( (GITypeInfo*) type_info);
-- if (type_tag != GI_TYPE_TAG_TIME_T) // we handle time_t as a non-int type
-- type_tag = normalize_int_types(type_tag);
-+ type_tag = normalize_int_types(type_tag);
-
- gjs_debug_marshal(GJS_DEBUG_GFUNCTION,
- "Converting jsval to GArgument %s",
-@@ -680,14 +670,6 @@
- }
- break;
-
-- case GI_TYPE_TAG_TIME_T: {
-- double v;
-- if (!JS_ValueToNumber(context, value, &v))
-- wrong = TRUE;
-- arg->v_ulong = (unsigned long) (v/1000);
-- }
-- break;
--
- case GI_TYPE_TAG_BOOLEAN:
- if (!JS_ValueToBoolean(context, value, &arg->v_boolean))
- wrong = TRUE;
-@@ -1063,14 +1045,6 @@
- }
- break;
-
-- case GI_TYPE_TAG_SHORT:
-- case GI_TYPE_TAG_USHORT:
-- case GI_TYPE_TAG_INT:
-- case GI_TYPE_TAG_UINT:
-- case GI_TYPE_TAG_LONG:
-- case GI_TYPE_TAG_ULONG:
-- case GI_TYPE_TAG_SIZE:
-- case GI_TYPE_TAG_SSIZE:
- case GI_TYPE_TAG_GTYPE:
- /* these types are converted by normalize_int_types */
- g_assert_not_reached();
-@@ -1134,8 +1108,7 @@
- GITypeTag type_tag;
-
- type_tag = g_type_info_get_tag( (GITypeInfo*) type_info);
-- if (type_tag != GI_TYPE_TAG_TIME_T) // we handle time_t as a non-int type
-- type_tag = normalize_int_types(type_tag);
-+ type_tag = normalize_int_types(type_tag);
-
- switch (type_tag) {
- case GI_TYPE_TAG_VOID:
-@@ -1173,10 +1146,6 @@
- case GI_TYPE_TAG_UINT64:
- arg->v_uint64 = 0;
-
-- case GI_TYPE_TAG_TIME_T:
-- arg->v_ulong = 0;
-- break;
--
- case GI_TYPE_TAG_BOOLEAN:
- arg->v_boolean = FALSE;
- break;
-@@ -1233,14 +1202,6 @@
- arg->v_pointer = NULL;
- break;
-
-- case GI_TYPE_TAG_SHORT:
-- case GI_TYPE_TAG_USHORT:
-- case GI_TYPE_TAG_INT:
-- case GI_TYPE_TAG_UINT:
-- case GI_TYPE_TAG_LONG:
-- case GI_TYPE_TAG_ULONG:
-- case GI_TYPE_TAG_SIZE:
-- case GI_TYPE_TAG_SSIZE:
- case GI_TYPE_TAG_GTYPE:
- /* these types are converted by normalize_int_types */
- g_assert_not_reached();
-@@ -1429,8 +1390,7 @@
- GITypeTag type_tag;
-
- type_tag = g_type_info_get_tag( (GITypeInfo*) type_info);
-- if (type_tag != GI_TYPE_TAG_TIME_T) // we handle time_t as a non-int type
-- type_tag = normalize_int_types(type_tag);
-+ type_tag = normalize_int_types(type_tag);
-
- gjs_debug_marshal(GJS_DEBUG_GFUNCTION,
- "Converting GArgument %s to jsval",
-@@ -1477,11 +1437,6 @@
- case GI_TYPE_TAG_DOUBLE:
- return JS_NewDoubleValue(context, arg->v_double, value_p);
-
-- case GI_TYPE_TAG_TIME_T:
-- *value_p = gjs_date_from_time_t(context,
-- (time_t) arg->v_long);
-- return JS_TRUE;
--
- case GI_TYPE_TAG_FILENAME:
- if (arg->v_pointer)
- return gjs_string_from_filename(context, arg->v_pointer, -1, value_p);
-@@ -1701,14 +1656,6 @@
- }
- break;
-
-- case GI_TYPE_TAG_SHORT:
-- case GI_TYPE_TAG_USHORT:
-- case GI_TYPE_TAG_INT:
-- case GI_TYPE_TAG_UINT:
-- case GI_TYPE_TAG_LONG:
-- case GI_TYPE_TAG_ULONG:
-- case GI_TYPE_TAG_SIZE:
-- case GI_TYPE_TAG_SSIZE:
- case GI_TYPE_TAG_GTYPE:
- /* these types are converted by normalize_int_types */
- g_assert_not_reached();
-@@ -1782,21 +1729,12 @@
- case GI_TYPE_TAG_UINT8:
- case GI_TYPE_TAG_INT16:
- case GI_TYPE_TAG_UINT16:
-- case GI_TYPE_TAG_SHORT:
-- case GI_TYPE_TAG_USHORT:
-- case GI_TYPE_TAG_INT:
- case GI_TYPE_TAG_INT32:
-- case GI_TYPE_TAG_UINT:
- case GI_TYPE_TAG_UINT32:
- case GI_TYPE_TAG_INT64:
- case GI_TYPE_TAG_UINT64:
-- case GI_TYPE_TAG_LONG:
-- case GI_TYPE_TAG_ULONG:
- case GI_TYPE_TAG_FLOAT:
- case GI_TYPE_TAG_DOUBLE:
-- case GI_TYPE_TAG_SSIZE:
-- case GI_TYPE_TAG_SIZE:
-- case GI_TYPE_TAG_TIME_T:
- break;
-
- case GI_TYPE_TAG_FILENAME:
-diff -ur gjs-0.7/gi/boxed.c gjs-0.7.new/gi/boxed.c
---- gjs-0.7/gi/boxed.c 2010-05-03 19:58:00.000000000 +0200
-+++ gjs-0.7.new/gi/boxed.c 2010-07-22 20:15:49.680240194 +0200
-@@ -1043,19 +1043,10 @@
- case GI_TYPE_TAG_UINT16:
- case GI_TYPE_TAG_INT32:
- case GI_TYPE_TAG_UINT32:
-- case GI_TYPE_TAG_SHORT:
-- case GI_TYPE_TAG_USHORT:
-- case GI_TYPE_TAG_INT:
-- case GI_TYPE_TAG_UINT:
- case GI_TYPE_TAG_INT64:
- case GI_TYPE_TAG_UINT64:
-- case GI_TYPE_TAG_LONG:
-- case GI_TYPE_TAG_ULONG:
-- case GI_TYPE_TAG_SSIZE:
-- case GI_TYPE_TAG_SIZE:
- case GI_TYPE_TAG_FLOAT:
- case GI_TYPE_TAG_DOUBLE:
-- case GI_TYPE_TAG_TIME_T:
- break;
- case GI_TYPE_TAG_VOID:
- case GI_TYPE_TAG_GTYPE: