Index: guile-gtk.c =================================================================== RCS file: /cvs/gnome/gnome-guile/guile-gtk/guile-gtk.c,v retrieving revision 1.68 diff -u -r1.68 guile-gtk.c --- guile-gtk.c 2001/06/04 22:27:42 1.68 +++ guile-gtk.c 2002/01/25 16:14:30 @@ -69,6 +69,10 @@ #define scm_reverse_x scm_list_reverse_x #endif +#ifndef SCM_LIST0 +#define SCM_LIST0 SCM_EOL +#endif + /* Associating SCM values with Gtk pointers. @@ -534,7 +538,7 @@ proxy->obj, gtk_type_name (GTK_OBJECT_TYPE (proxy->obj))); #endif - SCM_SETGC8MARK (obj); + SCM_SETGCMARK (obj); if (GTK_IS_CONTAINER (proxy->obj)) gtk_container_foreach (GTK_CONTAINER(proxy->obj), mark_traced_ref, NULL); sgtk_mark_protects (proxy->protects); @@ -555,7 +559,7 @@ return 1; } -static scm_sizet +static size_t gtkobj_free (SCM obj) { sgtk_object_proxy *proxy = GTKOBJ_PROXY (obj); @@ -618,7 +622,7 @@ { sgtk_object_proxy *proxy; - SCM_SETGC8MARK (obj); + SCM_SETGCMARK (obj); /* We do two passes here. The first pass counts how many references an object has from other objects that have a proxy. The second @@ -1006,7 +1010,7 @@ return 0; for (i = 0; i < info->n_literals; i++) - if (! strcmp (info->literals[i].name, SCM_CHARS (obj))) + if (! strcmp (info->literals[i].name, SCM_STRING_CHARS (obj))) return 1; return 0; } @@ -1028,12 +1032,12 @@ if (SCM_STRINGP (obj)) { - SCM_COERCE_SUBSTR (obj); - return SCM_CHARS (obj); + SCM_STRING_COERCE_0TERMINATION_X (obj); + return SCM_STRING_CHARS (obj); } for (i = 0; i < info->n_literals; i++) - if (! strcmp (info->literals[i].name, SCM_CHARS (obj))) + if (! strcmp (info->literals[i].name, SCM_STRING_CHARS (obj))) return info->literals[i].value; return NULL; } @@ -1049,7 +1053,7 @@ #define BOXED_PTR(x) ((gpointer)SCM_CDR(x)) #define BOXED_INFO(x) ((sgtk_boxed_info*)must_get_type_info(BOXED_SEQNO(x))) -static scm_sizet +static size_t boxed_free (SCM obj) { sgtk_boxed_info *info = BOXED_INFO (obj); @@ -1226,7 +1230,7 @@ GdkAtom sgtk_scm2atom (SCM symbol) { - return gdk_atom_intern (SCM_CHARS(symbol), FALSE); + return gdk_atom_intern (SCM_STRING_CHARS(symbol), FALSE); } SCM @@ -1348,7 +1352,7 @@ { return SCM_EQ_P (obj, SCM_BOOL_F) || GTKTYPEP (obj) || (SCM_NIMP (obj) && SCM_SYMBOLP (obj) - && sgtk_type_from_name (SCM_CHARS (obj))); + && sgtk_type_from_name (SCM_STRING_CHARS (obj))); } GtkType @@ -1359,7 +1363,7 @@ else if (GTKTYPEP (obj)) return GTKTYPE (obj); else - return sgtk_type_from_name (SCM_CHARS (obj)); + return sgtk_type_from_name (SCM_STRING_CHARS (obj)); } SCM @@ -1456,7 +1460,7 @@ int i; SCM *elts; - actual_len = SCM_LENGTH (obj); + actual_len = SCM_VECTOR_LENGTH (obj); if (len >= 0 && len != actual_len) return 0; @@ -1507,7 +1511,7 @@ { SCM vec = obj; SCM newvec = vec; - int len = SCM_LENGTH(newvec), i; + int len = SCM_VECTOR_LENGTH(newvec), i; for (i = 0; i < len; i++) { SCM newelt = conversion (SCM_VELTS(newvec)[i]); @@ -1547,7 +1551,7 @@ } else if (SCM_NIMP(obj) && SCM_VECTORP(obj)) { - int len = SCM_LENGTH(obj), i; + int len = SCM_VECTOR_LENGTH(obj), i; for (i = 0; i < len; i++) SCM_VELTS(obj)[i] = conversion (SCM_VELTS(obj)[i]); return obj; @@ -1592,7 +1596,7 @@ } else if (SCM_NIMP(obj) && SCM_VECTORP(obj)) { - int len = SCM_LENGTH (obj), i; + int len = SCM_VECTOR_LENGTH (obj), i; SCM *elts = SCM_VELTS (obj); for (i = 0; i < len; i++) { @@ -1627,7 +1631,7 @@ } else if (SCM_NIMP(obj) && SCM_VECTORP(obj)) { - int len = SCM_LENGTH (obj), i; + int len = SCM_VECTOR_LENGTH (obj), i; SCM *elts = SCM_VELTS (obj); for (i = 0; i < len && list; i++) { @@ -1682,7 +1686,7 @@ } else if (SCM_NIMP(obj) && SCM_VECTORP(obj)) { - int len = SCM_LENGTH (obj), i; + int len = SCM_VECTOR_LENGTH (obj), i; SCM *elts = SCM_VELTS (obj); for (i = 0; i < len; i++) { @@ -1723,7 +1727,7 @@ } else if (SCM_NIMP(obj) && SCM_VECTORP(obj)) { - int len = SCM_LENGTH (obj), i; + int len = SCM_VECTOR_LENGTH (obj), i; SCM *elts = SCM_VELTS (obj); for (i = 0; i < len && list; i++) { @@ -1765,7 +1769,7 @@ else if (SCM_NIMP(obj) && SCM_VECTORP(obj)) { SCM *elts = SCM_VELTS (obj); - res.count = SCM_LENGTH (obj); + res.count = SCM_VECTOR_LENGTH (obj); res.vec = (void *)scm_must_malloc (res.count * sz, "scm2cvec"); if (fromscm) { @@ -1802,7 +1806,7 @@ else if (SCM_NIMP(obj) && SCM_VECTORP(obj)) { SCM *elts = SCM_VELTS (obj); - int len1 = SCM_LENGTH (obj), len2 = cvec->count, i; + int len1 = SCM_VECTOR_LENGTH (obj), len2 = cvec->count, i; char *ptr; for (i = 0, ptr = cvec->vec; i < len1 && i < len2; i++, ptr += sz) @@ -1953,8 +1957,8 @@ GTK_VALUE_DOUBLE(*a) = sgtk_scm2double (obj); break; case GTK_TYPE_STRING: - SCM_COERCE_SUBSTR (obj); - GTK_VALUE_STRING(*a) = SCM_CHARS(obj); + SCM_STRING_COERCE_0TERMINATION_X (obj); + GTK_VALUE_STRING(*a) = SCM_STRING_CHARS(obj); break; case GTK_TYPE_ENUM: GTK_VALUE_ENUM(*a) = @@ -2020,8 +2024,8 @@ case GTK_TYPE_STRING: SCM_ASSERT (SCM_NIMP(obj) && SCM_STRINGP(obj), obj, SCM_ARG1, "scm->gtk"); - SCM_COERCE_SUBSTR (obj); - GTK_VALUE_STRING(*a) = g_strdup (SCM_CHARS(obj)); + SCM_STRING_COERCE_0TERMINATION_X (obj); + GTK_VALUE_STRING(*a) = g_strdup (SCM_STRING_CHARS(obj)); break; case GTK_TYPE_ENUM: *GTK_RETLOC_ENUM(*a) = @@ -2132,7 +2136,7 @@ info.n_args = n_args; info.args = args; - scm_internal_cwdr ((scm_catch_body_t)inner_callback_marshal, &info, + scm_internal_cwdr ((scm_t_catch_body)inner_callback_marshal, &info, scm_handle_by_message_noexit, "gtk", &stack_item); } @@ -2159,9 +2163,9 @@ GdkColor colstruct; GdkColormap *colmap; - SCM_COERCE_SUBSTR (color); + SCM_STRING_COERCE_0TERMINATION_X (color); SCM_DEFER_INTS; - if (!gdk_color_parse (SCM_CHARS (color), &colstruct)) + if (!gdk_color_parse (SCM_STRING_CHARS (color), &colstruct)) { SCM_ALLOW_INTS; scm_misc_error ("string->color", @@ -2199,7 +2203,7 @@ if (SCM_NIMP (font) && SCM_STRINGP (font)) { - SCM_COERCE_SUBSTR (font); + SCM_STRING_COERCE_0TERMINATION_X (font); font = sgtk_gdk_font_load (font); if (font == SCM_BOOL_F) scm_misc_error ("string->font", @@ -2217,7 +2221,7 @@ sgtk_string_conversion (SCM str) { if (SCM_NIMP (str) && SCM_STRINGP (str)) - SCM_COERCE_SUBSTR (str); + SCM_STRING_COERCE_0TERMINATION_X (str); return str; } @@ -2410,9 +2414,9 @@ scm_args = SCM_CDDR (scm_args); if (SCM_NIMP (kw) && SCM_SYMBOLP (kw)) - name = SCM_CHARS(kw); + name = SCM_STRING_CHARS(kw); else if (SCM_NIMP (kw) && SCM_KEYWORDP (kw)) - name = SCM_CHARS(SCM_KEYWORDSYM(kw))+1; + name = SCM_STRING_CHARS(SCM_KEYWORDSYM(kw))+1; else { fprintf (stderr, "bad keyword\n"); @@ -2535,9 +2539,9 @@ SCM_ASSERT (info != NULL, scm_obj, SCM_ARG1, "gtk-object-get"); if (SCM_SYMBOLP(argsym)) - name = SCM_CHARS(argsym); + name = SCM_STRING_CHARS(argsym); else - name = SCM_CHARS(SCM_KEYWORDSYM(argsym))+1; + name = SCM_STRING_CHARS(SCM_KEYWORDSYM(argsym))+1; sgtk_find_arg_info (&arg, info, name); SCM_DEFER_INTS; @@ -2834,7 +2838,7 @@ scm_must_free ((char *)v); return; } - v[i] = xstrdup (SCM_CHARS (SCM_CAR (list))); + v[i] = xstrdup (SCM_STRING_CHARS (SCM_CAR (list))); } v[c] = NULL;