aboutsummaryrefslogtreecommitdiff
path: root/src/guile.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2010-04-02 00:39:04 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2010-04-02 00:39:04 +0300
commit432dda4caa57295dec86bee860795bd2833dfc47 (patch)
tree62ef3462031fd192f18082b39f48800657ea4f78 /src/guile.c
parentf731d398434e4d85a7aa0af7c299160f49e92fc9 (diff)
downloadidest-432dda4caa57295dec86bee860795bd2833dfc47.tar.gz
idest-432dda4caa57295dec86bee860795bd2833dfc47.tar.bz2
Prepare for Guile 2.0: fix obsolete and deprecated calls in Guile code.
* am/guile.m4: Fix quoting of arguments. Check for SCM_DEVAL_P et al. Check for scm_t_off, define it if not found. * src/guile.c (proc_name): Remove. (eval_catch_body): Use scm_apply_0 instead of scm_primitive_eval to avoid evaluating the arguments. (load_handler, stringlinst_to_scm) (field_to_scm, tag_to_scm, scm_to_tag): Fix obsolete and deprecated calls in Guile code. (guile_init): Protect calls to SCM_DEVAL_P &c. by #ifdef GUILE_DEBUG_MACROS.
Diffstat (limited to 'src/guile.c')
-rw-r--r--src/guile.c31
1 files changed, 12 insertions, 19 deletions
diff --git a/src/guile.c b/src/guile.c
index ec19aed..3a0e6b7 100644
--- a/src/guile.c
+++ b/src/guile.c
@@ -33,17 +33,11 @@ SCM_GLOBAL_VARIABLE_INIT (sym_idest_readonly, "idest-readonly", SCM_BOOL_F);
-static char *
-proc_name(SCM proc)
-{
- return scm_to_locale_string(
- scm_symbol_to_string(scm_procedure_name(proc)));
-}
-
static SCM
eval_catch_body(void *list)
{
- return scm_primitive_eval((SCM)list);
+ SCM pair = (SCM)list;
+ return scm_apply_0(SCM_CAR(pair), SCM_CDR(pair));
}
static SCM
@@ -97,7 +91,7 @@ load_handler(void *data)
struct load_closure *lp = data;
scm_set_program_arguments(lp->argc, lp->argv, lp->filename);
- scm_primitive_load(scm_makfrom0str(lp->filename));
+ scm_primitive_load(scm_from_locale_string(lp->filename));
return SCM_UNDEFINED;
}
@@ -137,7 +131,7 @@ stringlinst_to_scm(union id3_field *field, int genre)
}
obstack_1grow(&stk, 0);
str = obstack_finish(&stk);
- ret = scm_makfrom0str(str);
+ ret = scm_from_locale_string(str);
obstack_free(&stk, NULL);
return ret;
}
@@ -161,7 +155,7 @@ field_to_scm(union id3_field *field, int genre)
case ID3_FIELD_TYPE_STRINGFULL:
ucs4 = id3_field_getfullstring(field);
str = idest_ucs4_cvt(ucs4);
- ret = scm_makfrom0str(str);
+ ret = scm_from_locale_string(str);
free(str);
break;
@@ -211,7 +205,7 @@ frame_to_scm(struct id3_frame *frame)
}
if (val != SCM_EOL)
- return scm_cons(scm_makfrom0str(frame->id), val);
+ return scm_cons(scm_from_locale_string(frame->id), val);
return SCM_EOL;
}
@@ -222,7 +216,7 @@ tag_to_scm(struct id3_tag *tag)
unsigned i;
SCM scm_first = SCM_EOL, scm_last;
- for (i = 0; frame = id3_tag_findframe(tag, NULL, i); i++) {
+ for (i = 0; (frame = id3_tag_findframe(tag, NULL, i)); i++) {
SCM new;
SCM fcell = frame_to_scm(frame);
@@ -257,7 +251,7 @@ scm_to_tag(SCM scm, struct id3_tag *tag)
{
int modified = 0;
- for (; scm != SCM_EOL && scm_is_pair(scm); scm = SCM_CDR(scm)) {
+ for (; !scm_is_null (scm) && scm_is_pair(scm); scm = SCM_CDR(scm)) {
char *id, *value;
SCM x;
SCM elt = SCM_CAR(scm);
@@ -298,9 +292,8 @@ guile_apply_main(const char *file, struct id3_tag *tag)
error(1, 0, "idest-main failed");
cell = scm_cons(SCM_VARIABLE_REF(sym_idest_main),
- scm_list_2(
- scm_cons(SCM_IM_QUOTE, scm_makfrom0str(file)),
- scm_cons(SCM_IM_QUOTE, tag_to_scm(tag))));
+ scm_list_2(scm_from_locale_string(file),
+ tag_to_scm(tag)));
return scm_internal_lazy_catch(SCM_BOOL_T,
eval_catch_body, cell,
eval_catch_handler, &jmp_env);
@@ -324,8 +317,6 @@ guile_transform(const char *file, struct id3_tag *tag)
int
guile_list(const char *file, struct id3_tag *tag)
{
- SCM result;
-
if (!guile_inited)
return 0;
@@ -346,10 +337,12 @@ guile_init()
#include "guile.x"
if (guile_debug) {
+#ifdef GUILE_DEBUG_MACROS
SCM_DEVAL_P = 1;
SCM_BACKTRACE_P = 1;
SCM_RECORD_POSITIONS_P = 1;
SCM_RESET_DEBUG_MODE;
+#endif
}
if (guile_load(guile_script))

Return to:

Send suggestions and report system problems to the System administrator.