Sophie

Sophie

distrib > Mandriva > 2010.1 > i586 > media > main-testing-src > by-pkgid > 7a7eb7b140b73f10bd6b285ec9751567 > files > 4

gnucash-2.2.9-8mdv2010.1.src.rpm

diff -p -up gnucash-2.2.9/src/app-utils/app-utils.i.0002~ gnucash-2.2.9/src/app-utils/app-utils.i
--- gnucash-2.2.9/src/app-utils/app-utils.i.0002~	2008-01-08 02:06:47.000000000 +0100
+++ gnucash-2.2.9/src/app-utils/app-utils.i	2010-10-05 15:48:16.000000000 +0200
@@ -91,13 +91,13 @@ void gnc_register_kvp_option_generator(Q
 %typemap(in) GList * {
   SCM path_scm = $input;
   GList *path = NULL;
-  while (!SCM_NULLP (path_scm))
+  while (!scm_is_null (path_scm))
   {
     SCM key_scm = SCM_CAR (path_scm);
     char *key;
-    if (!SCM_STRINGP (key_scm))
+    if (!scm_is_string (key_scm))
       break;
-    key = g_strdup (SCM_STRING_CHARS (key_scm));
+    key = g_strdup (scm_to_locale_string (key_scm));
     path = g_list_prepend (path, key);
     path_scm = SCM_CDR (path_scm);
   }
diff -p -up gnucash-2.2.9/src/app-utils/file-utils.c.0002~ gnucash-2.2.9/src/app-utils/file-utils.c
--- gnucash-2.2.9/src/app-utils/file-utils.c.0002~	2008-01-08 02:06:47.000000000 +0100
+++ gnucash-2.2.9/src/app-utils/file-utils.c	2010-10-05 15:48:16.000000000 +0200
@@ -60,8 +60,8 @@ gncFindFile (const char * filename)
   scm_filename = scm_makfrom0str ((char *) filename);
   scm_result = scm_call_1(find_doc_file, scm_filename);
 
-  if (SCM_STRINGP(scm_result))
-    full_filename = SCM_STRING_CHARS(scm_result);
+  if (scm_is_string(scm_result))
+    full_filename = scm_to_locale_string(scm_result);
 
   return g_strdup (full_filename);
 }
diff -p -up gnucash-2.2.9/src/app-utils/gfec.c.0002~ gnucash-2.2.9/src/app-utils/gfec.c
--- gnucash-2.2.9/src/app-utils/gfec.c.0002~	2008-07-23 00:43:12.000000000 +0200
+++ gnucash-2.2.9/src/app-utils/gfec.c	2010-10-05 15:48:16.000000000 +0200
@@ -25,14 +25,14 @@ gfec_catcher(void *data, SCM tag, SCM th
 {
   SCM func;
   SCM result;
-  char *msg = NULL;
+  const char *msg = NULL;
 
   func = scm_c_eval_string("gnc:error->string");
-  if (SCM_PROCEDUREP(func))
+  if (scm_is_procedure(func))
   {
     result = scm_call_2(func, tag, throw_args);
-    if (SCM_STRINGP(result))
-      msg = SCM_STRING_CHARS(result);
+    if (scm_is_string(result))
+      msg = scm_to_locale_string(result);
   }
 
   if (msg == NULL)
diff -p -up gnucash-2.2.9/src/app-utils/gnc-exp-parser.c.0002~ gnucash-2.2.9/src/app-utils/gnc-exp-parser.c
--- gnucash-2.2.9/src/app-utils/gnc-exp-parser.c.0002~	2008-12-08 23:10:23.000000000 +0100
+++ gnucash-2.2.9/src/app-utils/gnc-exp-parser.c	2010-10-05 15:48:16.000000000 +0200
@@ -344,7 +344,7 @@ func_op(const char *fname, int argc, voi
   g_string_printf( realFnName, "gnc:%s", fname );
   scmFn = gh_eval_str_with_standard_handler( realFnName->str );
   g_string_free( realFnName, TRUE );
-  if (!SCM_PROCEDUREP(scmFn)) {
+  if (!scm_is_procedure(scmFn)) {
     /* FIXME: handle errors correctly. */
     printf( "gnc:\"%s\" is not a scm procedure\n", fname );
     return NULL;
diff -p -up gnucash-2.2.9/src/app-utils/gnc-helpers.c.0002~ gnucash-2.2.9/src/app-utils/gnc-helpers.c
--- gnucash-2.2.9/src/app-utils/gnc-helpers.c.0002~	2008-12-08 23:10:23.000000000 +0100
+++ gnucash-2.2.9/src/app-utils/gnc-helpers.c	2010-10-05 15:48:16.000000000 +0200
@@ -75,22 +75,22 @@ gnc_scm2printinfo(SCM info_scm)
                                          G_STRFUNC);
 
   info_scm = SCM_CDR (info_scm);
-  info.use_separators = SCM_NFALSEP (SCM_CAR (info_scm));
+  info.use_separators = scm_is_true (SCM_CAR (info_scm));
 
   info_scm = SCM_CDR (info_scm);
-  info.use_symbol = SCM_NFALSEP (SCM_CAR (info_scm));
+  info.use_symbol = scm_is_true (SCM_CAR (info_scm));
 
   info_scm = SCM_CDR (info_scm);
-  info.use_locale = SCM_NFALSEP (SCM_CAR (info_scm));
+  info.use_locale = scm_is_true (SCM_CAR (info_scm));
 
   info_scm = SCM_CDR (info_scm);
-  info.monetary = SCM_NFALSEP (SCM_CAR (info_scm));
+  info.monetary = scm_is_true (SCM_CAR (info_scm));
 
   info_scm = SCM_CDR (info_scm);
-  info.force_fit = SCM_NFALSEP (SCM_CAR (info_scm));
+  info.force_fit = scm_is_true (SCM_CAR (info_scm));
 
   info_scm = SCM_CDR (info_scm);
-  info.round = SCM_NFALSEP (SCM_CAR (info_scm));
+  info.round = scm_is_true (SCM_CAR (info_scm));
 
   return info;
 }
@@ -100,11 +100,11 @@ gnc_printinfo_p(SCM info_scm)
 {
   const gchar *symbol;
 
-  if (!SCM_LISTP(info_scm) || SCM_NULLP(info_scm))
+  if (!scm_is_list(info_scm) || scm_is_null(info_scm))
     return 0;
 
   info_scm = SCM_CAR (info_scm);
-  if (!SCM_SYMBOLP (info_scm))
+  if (!scm_is_symbol (info_scm))
     return 0;
 
   symbol = SCM_SYMBOL_CHARS (info_scm);
diff -p -up gnucash-2.2.9/src/app-utils/gnc-ui-util.c.0002~ gnucash-2.2.9/src/app-utils/gnc-ui-util.c
--- gnucash-2.2.9/src/app-utils/gnc-ui-util.c.0002~	2008-12-08 23:10:23.000000000 +0100
+++ gnucash-2.2.9/src/app-utils/gnc-ui-util.c	2010-10-05 15:48:16.000000000 +0200
@@ -469,8 +469,8 @@ gnc_ui_account_get_tax_info_string (cons
     get_desc = scm_c_eval_string ("(false-if-exception gnc:txf-get-description)");
   }
 
-  g_return_val_if_fail (SCM_PROCEDUREP (get_form), NULL);
-  g_return_val_if_fail (SCM_PROCEDUREP (get_desc), NULL);
+  g_return_val_if_fail (scm_is_procedure (get_form), NULL);
+  g_return_val_if_fail (scm_is_procedure (get_desc), NULL);
 
   if (!account)
     return NULL;
@@ -493,18 +493,18 @@ gnc_ui_account_get_tax_info_string (cons
   code_scm = scm_str2symbol (code);
 
   scm = scm_call_2 (get_form, category, code_scm);
-  if (!SCM_STRINGP (scm))
+  if (!scm_is_string (scm))
     return NULL;
 
-  form = SCM_STRING_CHARS (scm);
+  form = scm_to_locale_string (scm);
   if (!form)
     return NULL;
 
   scm = scm_call_2 (get_desc, category, code_scm);
-  if (!SCM_STRINGP (scm))
+  if (!scm_is_string (scm))
     return NULL;
 
-  desc = SCM_STRING_CHARS (scm);
+  desc = scm_to_locale_string (scm);
   if (!desc)
     return NULL;
 
diff -p -up gnucash-2.2.9/src/app-utils/guile-util.c.0002~ gnucash-2.2.9/src/app-utils/guile-util.c
--- gnucash-2.2.9/src/app-utils/guile-util.c.0002~	2008-01-08 02:06:47.000000000 +0100
+++ gnucash-2.2.9/src/app-utils/guile-util.c	2010-10-05 15:48:16.000000000 +0200
@@ -154,12 +154,12 @@ gnc_guile_call1_to_string(SCM func, SCM
 {
   SCM value;
 
-  if (SCM_PROCEDUREP(func))
+  if (scm_is_procedure(func))
   {
     value = scm_call_1(func, arg);
 
-    if (SCM_STRINGP(value))
-      return g_strdup(SCM_STRING_CHARS(value));
+    if (scm_is_string(value))
+      return g_strdup(scm_to_locale_string(value));
     else
     {
       PERR("bad value\n");
@@ -189,11 +189,11 @@ gnc_guile_call1_symbol_to_string(SCM fun
 {
   SCM value;
 
-  if (SCM_PROCEDUREP(func))
+  if (scm_is_procedure(func))
   {
     value = scm_call_1(func, arg);
 
-    if (SCM_SYMBOLP(value))
+    if (scm_is_symbol(value))
       return g_strdup(SCM_SYMBOL_CHARS(value));
     else
     {
@@ -223,11 +223,11 @@ gnc_guile_call1_to_procedure(SCM func, S
 {
   SCM value;
 
-  if (SCM_PROCEDUREP(func))
+  if (scm_is_procedure(func))
   {
     value = scm_call_1(func, arg);
 
-    if (SCM_PROCEDUREP(value))
+    if (scm_is_procedure(value))
       return value;
     else
     {
@@ -257,11 +257,11 @@ gnc_guile_call1_to_list(SCM func, SCM ar
 {
   SCM value;
 
-  if (SCM_PROCEDUREP(func))
+  if (scm_is_procedure(func))
   {
     value = scm_call_1(func, arg);
 
-    if (SCM_LISTP(value))
+    if (scm_is_list(value))
       return value;
     else
     {
@@ -291,11 +291,11 @@ gnc_guile_call1_to_vector(SCM func, SCM
 {
   SCM value;
 
-  if (SCM_PROCEDUREP(func))
+  if (scm_is_procedure(func))
   {
     value = scm_call_1(func, arg);
 
-    if (SCM_VECTORP(value))
+    if (scm_is_vector(value))
       return value;
     else
     {
@@ -393,7 +393,7 @@ gnc_copy_split(Split *split, gboolean us
     return SCM_UNDEFINED;
 
   func = scm_c_eval_string("gnc:split->split-scm");
-  if (!SCM_PROCEDUREP(func))
+  if (!scm_is_procedure(func))
     return SCM_UNDEFINED;
 
   if (!split_type)
@@ -431,15 +431,15 @@ gnc_copy_split_scm_onto_split(SCM split_
   g_return_if_fail (book);
 
   func = scm_c_eval_string("gnc:split-scm?");
-  if (!SCM_PROCEDUREP(func))
+  if (!scm_is_procedure(func))
     return;
 
   result = scm_call_1(func, split_scm);
-  if (!SCM_NFALSEP(result))
+  if (!scm_is_true(result))
     return;
 
   func = scm_c_eval_string("gnc:split-scm-onto-split");
-  if (!SCM_PROCEDUREP(func))
+  if (!scm_is_procedure(func))
     return;
 
   if (!split_type)
@@ -463,7 +463,7 @@ gnc_is_split_scm(SCM scm)
 {
   initialize_scm_functions();
 
-  return SCM_NFALSEP(scm_call_1(predicates.is_split_scm, scm));
+  return scm_is_true(scm_call_1(predicates.is_split_scm, scm));
 }
 
 
@@ -479,7 +479,7 @@ gnc_is_trans_scm(SCM scm)
 {
   initialize_scm_functions();
 
-  return SCM_NFALSEP(scm_call_1(predicates.is_trans_scm, scm));
+  return scm_is_true(scm_call_1(predicates.is_trans_scm, scm));
 }
 
 
@@ -654,10 +654,10 @@ gnc_split_scm_get_memo(SCM split_scm)
     return NULL;
 
   result = scm_call_1(getters.split_scm_memo, split_scm);
-  if (!SCM_STRINGP(result))
+  if (!scm_is_string(result))
     return NULL;
 
-  return g_strdup(SCM_STRING_CHARS(result));
+  return g_strdup(scm_to_locale_string(result));
 }
 
 
@@ -679,10 +679,10 @@ gnc_split_scm_get_action(SCM split_scm)
     return NULL;
 
   result = scm_call_1(getters.split_scm_action, split_scm);
-  if (!SCM_STRINGP(result))
+  if (!scm_is_string(result))
     return NULL;
 
-  return g_strdup(SCM_STRING_CHARS(result));
+  return g_strdup(scm_to_locale_string(result));
 }
 
 
@@ -756,7 +756,7 @@ gnc_copy_trans(Transaction *trans, gbool
     return SCM_UNDEFINED;
 
   func = scm_c_eval_string("gnc:transaction->transaction-scm");
-  if (!SCM_PROCEDUREP(func))
+  if (!scm_is_procedure(func))
     return SCM_UNDEFINED;
 
   if (!trans_type)
@@ -821,15 +821,15 @@ gnc_copy_trans_scm_onto_trans_swap_accou
   g_return_if_fail (book);
 
   func = scm_c_eval_string("gnc:transaction-scm?");
-  if (!SCM_PROCEDUREP(func))
+  if (!scm_is_procedure(func))
     return;
 
   result = scm_call_1(func, trans_scm);
-  if (!SCM_NFALSEP(result))
+  if (!scm_is_true(result))
     return;
 
   func = scm_c_eval_string("gnc:transaction-scm-onto-transaction");
-  if (!SCM_PROCEDUREP(func))
+  if (!scm_is_procedure(func))
     return;
 
   if (!trans_type)
@@ -1077,7 +1077,7 @@ gnc_trans_scm_get_num_splits(SCM trans_s
 
   result = scm_call_1(getters.trans_scm_split_scms, trans_scm);
 
-  if (!SCM_LISTP(result))
+  if (!scm_is_list(result))
     return 0;
 
   return SCM_LENGTH(result);
@@ -1109,10 +1109,10 @@ gnc_get_debit_string(GNCAccountType acco
   arg = scm_long2num(account_type);
 
   result = scm_call_1(getters.debit_string, arg);
-  if (!SCM_STRINGP(result))
+  if (!scm_is_string(result))
     return NULL;
 
-  string = SCM_STRING_CHARS(result);
+  string = scm_to_locale_string(result);
   if (string)
     return g_strdup(string);
   return NULL;
@@ -1144,10 +1144,10 @@ gnc_get_credit_string(GNCAccountType acc
   arg = scm_long2num(account_type);
 
   result = scm_call_1(getters.credit_string, arg);
-  if (!SCM_STRINGP(result))
+  if (!scm_is_string(result))
     return NULL;
 
-  string = SCM_STRING_CHARS(result);
+  string = scm_to_locale_string(result);
   if (string)
     return g_strdup(string);
   return NULL;
diff -p -up gnucash-2.2.9/src/app-utils/option-util.c.0002~ gnucash-2.2.9/src/app-utils/option-util.c
--- gnucash-2.2.9/src/app-utils/option-util.c.0002~	2008-12-08 23:10:23.000000000 +0100
+++ gnucash-2.2.9/src/app-utils/option-util.c	2010-10-05 15:59:40.000000000 +0200
@@ -287,7 +287,7 @@ gnc_option_db_load_from_kvp(GNCOptionDB*
 
   if (kvp_to_scm == SCM_UNDEFINED) {
     kvp_to_scm = scm_c_eval_string("gnc:options-kvp->scm");
-    if (!SCM_PROCEDUREP (kvp_to_scm)) {
+    if (!scm_is_procedure (kvp_to_scm)) {
       PERR ("not a procedure\n");
       kvp_to_scm = SCM_UNDEFINED;
       return;
@@ -317,7 +317,7 @@ gnc_option_db_save_to_kvp(GNCOptionDB* o
 
   if (scm_to_kvp == SCM_UNDEFINED) {
     scm_to_kvp = scm_c_eval_string("gnc:options-scm->kvp");
-    if (!SCM_PROCEDUREP (scm_to_kvp)) {
+    if (!scm_is_procedure (scm_to_kvp)) {
       PERR ("not a procedure\n");
       scm_to_kvp = SCM_UNDEFINED;
       return;
@@ -440,7 +440,7 @@ gnc_option_db_register_change_callback(G
 
   /* Get the register procedure */
   register_proc = scm_c_eval_string("gnc:options-register-c-callback");
-  if (!SCM_PROCEDUREP(register_proc))
+  if (!scm_is_procedure(register_proc))
   {
     PERR("not a procedure\n");
     return SCM_UNDEFINED;
@@ -505,7 +505,7 @@ gnc_option_db_unregister_change_callback
     return;
 
   proc = scm_c_eval_string("gnc:options-unregister-callback-id");
-  if (!SCM_PROCEDUREP(proc))
+  if (!scm_is_procedure(proc))
   {
     PERR("not a procedure\n");
     return;
@@ -526,7 +526,7 @@ gnc_call_option_change_callbacks(GNCOpti
   SCM proc;
 
   proc = scm_c_eval_string("gnc:options-run-callbacks");
-  if (!SCM_PROCEDUREP(proc))
+  if (!scm_is_procedure(proc))
   {
     PERR("not a procedure\n");
     return;
@@ -754,12 +754,12 @@ gnc_option_widget_changed_proc_getter(GN
 
   initialize_getters();
 
-  if( SCM_PROCEDUREP( getters.option_widget_changed_cb ) )
+  if( scm_is_procedure( getters.option_widget_changed_cb ) )
   {
     /* call the callback function getter to get the actual callback function */
     cb = scm_call_1(getters.option_widget_changed_cb, option->guile_option);
 
-    if( SCM_PROCEDUREP( cb ) )   /* a callback exists */
+    if( scm_is_procedure( cb ) )   /* a callback exists */
     {
       return( cb );
     }
@@ -819,7 +819,7 @@ gnc_option_num_permissible_values(GNCOpt
 
   value = scm_call_1(getters.number_of_indices, option->guile_option);
 
-  if(SCM_EXACTP(value))
+  if(scm_is_exact(value))
   {
     return scm_num2int(value, SCM_ARG1, G_STRFUNC);
   }
@@ -906,10 +906,10 @@ gnc_option_permissible_value_name(GNCOpt
                     scm_int2num(index));
   if (name == SCM_UNDEFINED)
     return NULL;
-  if (!SCM_STRINGP(name))
+  if (!scm_is_string(name))
     return NULL;
   
-  return g_strdup(SCM_STRING_CHARS(name));
+  return g_strdup(scm_to_locale_string(name));
 }
 
 
@@ -937,10 +937,10 @@ gnc_option_permissible_value_description
                     scm_int2num(index));
   if (help == SCM_UNDEFINED)
     return NULL;
-  if (!SCM_STRINGP(help))
+  if (!scm_is_string(help))
     return NULL;
 
-  return g_strdup(SCM_STRING_CHARS(help));
+  return g_strdup(scm_to_locale_string(help));
 }
 
 
@@ -961,7 +961,7 @@ gnc_option_show_time(GNCOption *option)
 
   value = scm_call_1(getters.date_option_show_time, option->guile_option);
 
-  return SCM_NFALSEP(value);
+  return scm_is_true(value);
 }
 
 /********************************************************************\
@@ -997,7 +997,7 @@ gnc_option_multiple_selection(GNCOption
 
   pair = scm_call_1(getters.option_data, option->guile_option);
 
-  return !SCM_NFALSEP(scm_not(SCM_CAR(pair)));
+  return !scm_is_true(scm_not(SCM_CAR(pair)));
 }
 
 /********************************************************************\
@@ -1021,7 +1021,7 @@ gnc_option_get_account_type_list(GNCOpti
   pair = scm_call_1(getters.option_data, option->guile_option);
   lst = SCM_CDR(pair);
 
-  while (!SCM_NULLP (lst)) {
+  while (!scm_is_null (lst)) {
     GNCAccountType type;
     SCM item;
 
@@ -1029,7 +1029,7 @@ gnc_option_get_account_type_list(GNCOpti
     item = SCM_CAR (lst);
     lst = SCM_CDR (lst);
 
-    if (SCM_FALSEP (scm_integer_p (item))) {
+    if (scm_is_false (scm_integer_p (item))) {
       PERR ("Invalid type");
     } else {
       type = scm_num2long (item, SCM_ARG1, G_STRFUNC);
@@ -1063,40 +1063,40 @@ gboolean gnc_option_get_range_info(GNCOp
 
   list = scm_call_1(getters.option_data, option->guile_option);
 
-  if (!SCM_LISTP(list) || SCM_NULLP(list))
+  if (!scm_is_list(list) || scm_is_null(list))
     return FALSE;
 
   /* lower bound */
   value = SCM_CAR(list);
   list = SCM_CDR(list);
 
-  if (!SCM_NUMBERP(value))
+  if (!scm_is_number(value))
     return FALSE;
 
   if (lower_bound != NULL)
     *lower_bound = scm_num2dbl(value, G_STRFUNC);
 
-  if (!SCM_LISTP(list) || SCM_NULLP(list))
+  if (!scm_is_list(list) || scm_is_null(list))
     return FALSE;
 
   /* upper bound */
   value = SCM_CAR(list);
   list = SCM_CDR(list);
 
-  if (!SCM_NUMBERP(value))
+  if (!scm_is_number(value))
     return FALSE;
 
   if (upper_bound != NULL)
     *upper_bound = scm_num2dbl(value, G_STRFUNC);
 
-  if (!SCM_LISTP(list) || SCM_NULLP(list))
+  if (!scm_is_list(list) || scm_is_null(list))
     return FALSE;
 
   /* number of decimals */
   value = SCM_CAR(list);
   list = SCM_CDR(list);
 
-  if (!SCM_NUMBERP(value))
+  if (!scm_is_number(value))
     return FALSE;
 
   /* Guile-1.6 returns this as a double, so let's use that in all cases.
@@ -1107,14 +1107,14 @@ gboolean gnc_option_get_range_info(GNCOp
     *num_decimals = (int)decimals;
   }
 
-  if (!SCM_LISTP(list) || SCM_NULLP(list))
+  if (!scm_is_list(list) || scm_is_null(list))
     return FALSE;
 
   /* step size */
   value = SCM_CAR(list);
   list = SCM_CDR(list);
 
-  if (!SCM_NUMBERP(value))
+  if (!scm_is_number(value))
     return FALSE;
 
   if (step_size != NULL)
@@ -1141,11 +1141,11 @@ gnc_option_color_range(GNCOption *option
   initialize_getters();
 
   list = scm_call_1(getters.option_data, option->guile_option);
-  if (!SCM_LISTP(list) || SCM_NULLP(list))
+  if (!scm_is_list(list) || scm_is_null(list))
     return 0.0;
 
   value = SCM_CAR(list);
-  if (!SCM_NUMBERP(value))
+  if (!scm_is_number(value))
     return 0.0;
 
   return scm_num2dbl(value, G_STRFUNC);
@@ -1169,18 +1169,18 @@ gnc_option_use_alpha(GNCOption *option)
   initialize_getters();
 
   list = scm_call_1(getters.option_data, option->guile_option);
-  if (!SCM_LISTP(list) || SCM_NULLP(list))
+  if (!scm_is_list(list) || scm_is_null(list))
     return FALSE;
 
   list = SCM_CDR(list);
-  if (!SCM_LISTP(list) || SCM_NULLP(list))
+  if (!scm_is_list(list) || scm_is_null(list))
     return FALSE;
 
   value = SCM_CAR(list);
-  if (!SCM_BOOLP(value))
+  if (!scm_is_bool(value))
     return FALSE;
 
-  return SCM_NFALSEP(value);
+  return scm_is_true(value);
 }
 
 
@@ -1252,7 +1252,7 @@ gnc_option_get_color_info(GNCOption *opt
     return FALSE;
 
   value = scm_call_0(getter);
-  if (!SCM_LISTP(value) || SCM_NULLP(value) || !SCM_NUMBERP(SCM_CAR(value)))
+  if (!scm_is_list(value) || scm_is_null(value) || !scm_is_number(SCM_CAR(value)))
     return FALSE;
 
   scale = gnc_option_color_range(option);
@@ -1266,7 +1266,7 @@ gnc_option_get_color_info(GNCOption *opt
     *red = MIN(1.0, rgba * scale);
 
   value = SCM_CDR(value);
-  if (!SCM_LISTP(value) || SCM_NULLP(value) || !SCM_NUMBERP(SCM_CAR(value)))
+  if (!scm_is_list(value) || scm_is_null(value) || !scm_is_number(SCM_CAR(value)))
     return FALSE;
 
   rgba = scm_num2dbl(SCM_CAR(value), G_STRFUNC);
@@ -1274,7 +1274,7 @@ gnc_option_get_color_info(GNCOption *opt
     *green = MIN(1.0, rgba * scale);
 
   value = SCM_CDR(value);
-  if (!SCM_LISTP(value) || SCM_NULLP(value) || !SCM_NUMBERP(SCM_CAR(value)))
+  if (!scm_is_list(value) || scm_is_null(value) || !scm_is_number(SCM_CAR(value)))
     return FALSE;
 
   rgba = scm_num2dbl(SCM_CAR(value), G_STRFUNC);
@@ -1282,7 +1282,7 @@ gnc_option_get_color_info(GNCOption *opt
     *blue = MIN(1.0, rgba * scale);
 
   value = SCM_CDR(value);
-  if (!SCM_LISTP(value) || SCM_NULLP(value) || !SCM_NUMBERP(SCM_CAR(value)))
+  if (!scm_is_list(value) || scm_is_null(value) || !scm_is_number(SCM_CAR(value)))
     return FALSE;
 
   rgba = scm_num2dbl(SCM_CAR(value), G_STRFUNC);
@@ -1634,18 +1634,18 @@ gnc_option_valid_value(GNCOption *option
   validator = gnc_option_value_validator(option);
 
   result = scm_call_1(validator, value);
-  if (!SCM_LISTP(result) || SCM_NULLP(result))
+  if (!scm_is_list(result) || scm_is_null(result))
     return SCM_UNDEFINED;
 
   ok = SCM_CAR(result);
-  if (!SCM_BOOLP(ok))
+  if (!scm_is_bool(ok))
     return SCM_UNDEFINED;
 
-  if (!SCM_NFALSEP(ok))
+  if (!scm_is_true(ok))
     return SCM_UNDEFINED;
 
   result = SCM_CDR(result);
-  if (!SCM_LISTP(result) || SCM_NULLP(result))
+  if (!scm_is_list(result) || scm_is_null(result))
     return SCM_UNDEFINED;
 
   return SCM_CAR(result);
@@ -1666,7 +1666,7 @@ gnc_commit_option(GNCOption *option)
   validator = gnc_option_value_validator(option);
 
   result = scm_call_1(validator, value);
-  if (!SCM_LISTP(result) || SCM_NULLP(result))
+  if (!scm_is_list(result) || scm_is_null(result))
   {
     PERR("bad validation result\n");
     return;
@@ -1674,13 +1674,13 @@ gnc_commit_option(GNCOption *option)
 
   /* First element determines validity */
   ok = SCM_CAR(result);
-  if (!SCM_BOOLP(ok))
+  if (!scm_is_bool(ok))
   {
     PERR("bad validation result\n");
     return;
   }
 
-  if (SCM_NFALSEP(ok))
+  if (scm_is_true(ok))
   {
     /* Second element is value to use */
     value = SCM_CADR(result);
@@ -1700,13 +1700,13 @@ gnc_commit_option(GNCOption *option)
 
     /* Second element is error message */
     oops = SCM_CADR(result);
-    if (!SCM_STRINGP(oops))
+    if (!scm_is_string(oops))
     {
       PERR("bad validation result\n");
       return;
     }
 
-    message = SCM_STRING_CHARS(oops);
+    message = scm_to_locale_string(oops);
     name = gnc_option_name(option);
     section = gnc_option_section(option);
 
@@ -1890,14 +1890,14 @@ gnc_option_db_get_default_section(GNCOpt
     return NULL;
 
   getter = scm_c_eval_string("gnc:options-get-default-section");
-  if (!SCM_PROCEDUREP(getter))
+  if (!scm_is_procedure(getter))
     return NULL;
 
   value = scm_call_1(getter, odb->guile_options);
-  if (!SCM_STRINGP(value))
+  if (!scm_is_string(value))
     return NULL;
 
-  return g_strdup(SCM_STRING_CHARS(value));
+  return g_strdup(scm_to_locale_string(value));
 }
 
 
@@ -1965,8 +1965,8 @@ gnc_option_db_lookup_boolean_option(GNCO
 
   value = scm_call_0(getter);
 
-  if (SCM_BOOLP(value))
-    return SCM_NFALSEP(value);
+  if (scm_is_bool(value))
+    return scm_is_true(value);
   else
     return default_value;
 }
@@ -2002,8 +2002,8 @@ gnc_option_db_lookup_string_option(GNCOp
     if (getter != SCM_UNDEFINED)
     {
       value = scm_call_0(getter);
-      if (SCM_STRINGP(value))
-        return g_strdup(SCM_STRING_CHARS(value));
+      if (scm_is_string(value))
+        return g_strdup(scm_to_locale_string(value));
     }
   }
 
@@ -2067,7 +2067,7 @@ gnc_option_db_lookup_multichoice_option(
     if (getter != SCM_UNDEFINED)
     {
       value = scm_call_0(getter);
-      if (SCM_SYMBOLP(value))
+      if (scm_is_symbol(value))
         return g_strdup(SCM_SYMBOL_CHARS(value));
     }
   }
@@ -2144,7 +2144,7 @@ gnc_option_db_lookup_date_option(GNCOpti
     {
       value = scm_call_0(getter);
 
-      if (SCM_CONSP(value))
+      if (scm_is_pair(value))
       {
         Timespec absolute;
 
@@ -2214,7 +2214,7 @@ gnc_option_db_lookup_number_option(GNCOp
     if (getter != SCM_UNDEFINED)
     {
       value = scm_call_0(getter);
-      if (SCM_NUMBERP(value))
+      if (scm_is_number(value))
         return scm_num2dbl(value, G_STRFUNC);
     }
   }
@@ -2311,12 +2311,12 @@ gnc_option_db_lookup_list_option(GNCOpti
     return default_value;
 
   value = scm_call_0(getter);
-  while (SCM_LISTP(value) && !SCM_NULLP(value))
+  while (scm_is_list(value) && !scm_is_null(value))
   {
     item = SCM_CAR(value);
     value = SCM_CDR(value);
 
-    if (!SCM_SYMBOLP(item))
+    if (!scm_is_symbol(item))
     {
       gnc_free_list_option_value(list);
 
@@ -2326,7 +2326,7 @@ gnc_option_db_lookup_list_option(GNCOpti
     list = g_slist_prepend(list, g_strdup(SCM_SYMBOL_CHARS(item)));
   }
 
-  if (!SCM_LISTP(value) || !SCM_NULLP(value))
+  if (!scm_is_list(value) || !scm_is_null(value))
   {
     gnc_free_list_option_value(list);
 
@@ -2584,7 +2584,7 @@ gnc_option_date_option_get_subtype(GNCOp
 
   value = scm_call_1(getters.date_option_subtype, option->guile_option);
 
-  if (SCM_SYMBOLP(value))
+  if (scm_is_symbol(value))
     return g_strdup(SCM_SYMBOL_CHARS(value));
   else
     return NULL;
@@ -2605,7 +2605,7 @@ gnc_date_option_value_get_type (SCM opti
   initialize_getters();
 
   value = scm_call_1 (getters.date_option_value_type, option_value);
-  if (!SCM_SYMBOLP (value))
+  if (!scm_is_symbol (value))
     return NULL;
 
   return g_strdup(SCM_SYMBOL_CHARS (value));
@@ -2686,7 +2686,7 @@ gboolean gnc_dateformat_option_value_par
   SCM val;
   const char *str;
 
-  if (!SCM_LISTP(value) || SCM_NULLP(value))
+  if (!scm_is_list(value) || scm_is_null(value))
     return TRUE;
 
   do {
@@ -2694,7 +2694,7 @@ gboolean gnc_dateformat_option_value_par
     /* Parse the format */
     val = SCM_CAR(value);
     value = SCM_CDR(value);
-    if (!SCM_SYMBOLP(val))
+    if (!scm_is_symbol(val))
       break;
     str = SCM_SYMBOL_CHARS (val);
     if (!str)
@@ -2709,7 +2709,7 @@ gboolean gnc_dateformat_option_value_par
     /* parse the months */
     val = SCM_CAR(value);
     value = SCM_CDR(value);
-    if (!SCM_SYMBOLP(val))
+    if (!scm_is_symbol(val))
       break;
     str = SCM_SYMBOL_CHARS (val);
     if (!str)
@@ -2724,22 +2724,22 @@ gboolean gnc_dateformat_option_value_par
     /* parse the years */
     val = SCM_CAR(value);
     value = SCM_CDR(value);
-    if (!SCM_BOOLP(val))
+    if (!scm_is_bool(val))
       break;
 
     if (years)
-      *years = SCM_NFALSEP(val);
+      *years = scm_is_true(val);
 
     /* parse the custom */
     val = SCM_CAR(value);
     value = SCM_CDR(value);
-    if (!SCM_STRINGP(val))
+    if (!scm_is_string(val))
       break;
-    if (!SCM_NULLP(value))
+    if (!scm_is_null(value))
       break;
 
     if (custom)
-      *custom = g_strdup(SCM_STRING_CHARS(val));
+      *custom = g_strdup(scm_to_locale_string(val));
 
     return FALSE;
 
diff -p -up gnucash-2.2.9/src/app-utils/swig-app-utils.c.0002~ gnucash-2.2.9/src/app-utils/swig-app-utils.c
--- gnucash-2.2.9/src/app-utils/swig-app-utils.c.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/app-utils/swig-app-utils.c	2010-10-05 15:59:40.000000000 +0200
@@ -767,7 +767,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -784,7 +784,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -800,7 +800,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -820,7 +820,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -833,7 +833,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -849,7 +849,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -911,7 +911,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -924,7 +924,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1157,20 +1157,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }
@@ -1309,7 +1309,7 @@ _wrap_gnc_gettext_helper (SCM s_0)
   result = (char *)gnc_gettext_helper((char const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1383,7 +1383,7 @@ _wrap_gnc_option_db_set_option_selectabl
     arg3 = (char *)SWIG_scm2str(s_2);
     must_free3 = 1;
   }
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   gnc_option_db_set_option_selectable_by_name(arg1,(char const *)arg2,(char const *)arg3,arg4);
   gswig_result = SCM_UNSPECIFIED;
   if (must_free2 && arg2) SWIG_free(arg2);
@@ -1516,7 +1516,7 @@ _wrap_gnc_locale_default_iso_currency_co
   result = (char *)gnc_locale_default_iso_currency_code();
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1541,7 +1541,7 @@ _wrap_gnc_account_get_full_name (SCM s_0
   result = (char *)gnc_account_get_full_name((Account const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1561,7 +1561,7 @@ _wrap_gnc_default_print_info (SCM s_0)
   SWIGUNUSED int gswig_list_p = 0;
   GNCPrintAmountInfo result;
   
-  arg1 = SCM_NFALSEP(s_0) ? TRUE : FALSE;
+  arg1 = scm_is_true(s_0) ? TRUE : FALSE;
   result = gnc_default_print_info(arg1);
   gswig_result = gnc_printinfo2scm(result);
   
@@ -1583,7 +1583,7 @@ _wrap_gnc_account_print_info (SCM s_0, S
   {
     arg1 = (Account *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_Account, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = gnc_account_print_info((Account const *)arg1,arg2);
   gswig_result = gnc_printinfo2scm(result);
   
@@ -1606,7 +1606,7 @@ _wrap_gnc_commodity_print_info (SCM s_0,
   {
     arg1 = (gnc_commodity *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_gnc_commodity, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = gnc_commodity_print_info((gnc_commodity const *)arg1,arg2);
   gswig_result = gnc_printinfo2scm(result);
   
@@ -1651,7 +1651,7 @@ _wrap_xaccPrintAmount (SCM s_0, SCM s_1)
   result = (char *)xaccPrintAmount(arg1,arg2);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1678,7 +1678,7 @@ _wrap_number_to_words (SCM s_0, SCM s_1)
   result = (gchar *)number_to_words(arg1,arg2);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1707,7 +1707,7 @@ _wrap_printable_value (SCM s_0, SCM s_1)
   result = (gchar *)printable_value(arg1,arg2);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1899,19 +1899,19 @@ _wrap_gnc_spawn_process_async (SCM s_0,
   {
     SCM path_scm = s_0;
     GList *path = NULL;
-    while (!SCM_NULLP (path_scm))
+    while (!scm_is_null (path_scm))
     {
       SCM key_scm = SCM_CAR (path_scm);
       char *key;
       if (!SCM_STRINGP (key_scm))
       break;
-      key = g_strdup (SCM_STRING_CHARS (key_scm));
+      key = g_strdup (scm_to_locale_string (key_scm));
       path = g_list_prepend (path, key);
       path_scm = SCM_CDR (path_scm);
     }
     arg1 = g_list_reverse (path);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = (Process *)gnc_spawn_process_async(arg1,arg2);
   {
     gswig_result = SWIG_NewPointerObj (result, SWIGTYPE_p_Process, 0);
@@ -1962,7 +1962,7 @@ _wrap_gnc_detach_process (SCM s_0, SCM s
   {
     arg1 = (Process *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_Process, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gnc_detach_process(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
diff -p -up gnucash-2.2.9/src/app-utils/test/test-print-queries.c.0002~ gnucash-2.2.9/src/app-utils/test/test-print-queries.c
--- gnucash-2.2.9/src/app-utils/test/test-print-queries.c.0002~	2008-01-08 02:06:45.000000000 +0100
+++ gnucash-2.2.9/src/app-utils/test/test-print-queries.c	2010-10-05 15:48:16.000000000 +0200
@@ -39,7 +39,7 @@ run_tests (int count)
   int i;
 
   val2str = scm_c_eval_string ("gnc:value->string");
-  g_return_if_fail (SCM_PROCEDUREP (val2str));
+  g_return_if_fail (scm_is_procedure (val2str));
 
   for (i = 0; i < count; i++) {
     q = get_random_query ();
diff -p -up gnucash-2.2.9/src/app-utils/test/test-scm-query-string.c.0002~ gnucash-2.2.9/src/app-utils/test/test-scm-query-string.c
--- gnucash-2.2.9/src/app-utils/test/test-scm-query-string.c.0002~	2008-01-08 02:06:45.000000000 +0100
+++ gnucash-2.2.9/src/app-utils/test/test-scm-query-string.c	2010-10-05 15:48:16.000000000 +0200
@@ -30,7 +30,7 @@ test_query (Query *q, SCM val2str)
   args = scm_cons (scm_makfrom0str ("'"), scm_cons (str_q, SCM_EOL));
   str_q = scm_string_append (args);
 
-  str = SCM_STRING_CHARS (str_q);
+  str = scm_to_locale_string (str_q);
   if (str) str2 = g_strdup(str);
   if (str2) {
     res_q = scm_c_eval_string (str2);
@@ -66,7 +66,7 @@ run_tests (void)
   int i;
 
   val2str = scm_c_eval_string ("gnc:value->string");
-  g_return_if_fail (SCM_PROCEDUREP (val2str));
+  g_return_if_fail (scm_is_procedure (val2str));
 
   for (i = 0; i < 1000; i++) {
     q = get_random_query ();
diff -p -up gnucash-2.2.9/src/base-typemaps.i.0002~ gnucash-2.2.9/src/base-typemaps.i
--- gnucash-2.2.9/src/base-typemaps.i.0002~	2008-01-08 02:06:47.000000000 +0100
+++ gnucash-2.2.9/src/base-typemaps.i	2010-10-05 15:48:17.000000000 +0200
@@ -1,4 +1,4 @@
-%typemap(in) gboolean "$1 = SCM_NFALSEP($input) ? TRUE : FALSE;"
+%typemap(in) gboolean "$1 = scm_is_true($input) ? TRUE : FALSE;"
 %typemap(out) gboolean "$result = $1 ? SCM_BOOL_T : SCM_BOOL_F;"
 
 %typemap(in) Timespec "$1 = gnc_timepair2timespec($input);"
@@ -27,7 +27,7 @@ typedef char gchar;
 %typemap(newfree) gchar * "g_free($1);"
 %typemap (out) char * {
   $result = scm_makfrom0str((const char *)$1);
-  if (!SCM_NFALSEP($result)) {
+  if (!scm_is_true($result)) {
     $result = scm_makstr(0, 0);
   }
 }
@@ -40,11 +40,11 @@ typedef char gchar;
   SCM list = $input;
   GList *c_list = NULL;
 
-  while (!SCM_NULLP(list)) {
+  while (!scm_is_null(list)) {
         void *p;
 
         SCM p_scm = SCM_CAR(list);
-        if (SCM_FALSEP(p_scm) || SCM_NULLP(p_scm))
+        if (scm_is_false(p_scm) || scm_is_null(p_scm))
            p = NULL;
         else
            p = SWIG_MustGetPtr(p_scm, ElemSwigType, 1, 0);
diff -p -up gnucash-2.2.9/src/bin/gnucash-bin.c.0002~ gnucash-2.2.9/src/bin/gnucash-bin.c
--- gnucash-2.2.9/src/bin/gnucash-bin.c.0002~	2010-10-05 15:35:14.000000000 +0200
+++ gnucash-2.2.9/src/bin/gnucash-bin.c	2010-10-05 15:48:17.000000000 +0200
@@ -408,7 +408,7 @@ inner_main_add_price_quotes(void *closur
     if (qof_session_get_error(session) != ERR_BACKEND_NO_ERR) goto fail;
 
     qof_session_destroy(session);
-    if (!SCM_NFALSEP(scm_result)) {
+    if (!scm_is_true(scm_result)) {
         g_error("Failed to add quotes to %s.", add_quotes_file);
         goto fail;
     }
diff -p -up gnucash-2.2.9/src/business/business-core/business-core.i.0002~ gnucash-2.2.9/src/business/business-core/business-core.i
--- gnucash-2.2.9/src/business/business-core/business-core.i.0002~	2008-09-21 05:20:50.000000000 +0200
+++ gnucash-2.2.9/src/business/business-core/business-core.i	2010-10-05 15:48:17.000000000 +0200
@@ -80,11 +80,11 @@ GLIST_HELPER_INOUT(EntryList, SWIGTYPE_p
   SCM list = $input;
   GList *c_list = NULL;
 
-  while (!SCM_NULLP(list)) {
+  while (!scm_is_null(list)) {
         GncAccountValue *p;
 
         SCM p_scm = SCM_CAR(list);
-        if (SCM_FALSEP(p_scm) || SCM_NULLP(p_scm))
+        if (scm_is_false(p_scm) || scm_is_null(p_scm))
            p = NULL;
         else
            p = gnc_scm_to_account_value_ptr(p_scm);
diff -p -up gnucash-2.2.9/src/business/business-core/gncBusGuile.c.0002~ gnucash-2.2.9/src/business/business-core/gncBusGuile.c
--- gnucash-2.2.9/src/business/business-core/gncBusGuile.c.0002~	2008-12-08 23:10:21.000000000 +0100
+++ gnucash-2.2.9/src/business/business-core/gncBusGuile.c	2010-10-05 15:48:17.000000000 +0200
@@ -43,7 +43,7 @@ int gnc_account_value_pointer_p (SCM arg
 {
   swig_type_info * account_type = get_acct_type();
 
-  return (SCM_CONSP (arg) &&
+  return (scm_is_pair (arg) &&
 	  SWIG_IsPointerOfType(SCM_CAR (arg), account_type) &&
 	  gnc_numeric_p (SCM_CDR (arg)));
 }
diff -p -up gnucash-2.2.9/src/business/business-core/swig-business-core.c.0002~ gnucash-2.2.9/src/business/business-core/swig-business-core.c
--- gnucash-2.2.9/src/business/business-core/swig-business-core.c.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/business/business-core/swig-business-core.c	2010-10-05 15:59:40.000000000 +0200
@@ -767,7 +767,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -784,7 +784,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -800,7 +800,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -820,7 +820,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -833,7 +833,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -849,7 +849,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -911,7 +911,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -924,7 +924,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1157,20 +1157,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }
@@ -2146,7 +2146,7 @@ _wrap_gncAddressGetName (SCM s_0)
   result = (char *)gncAddressGetName((struct _gncAddress const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2172,7 +2172,7 @@ _wrap_gncAddressGetAddr1 (SCM s_0)
   result = (char *)gncAddressGetAddr1((struct _gncAddress const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2198,7 +2198,7 @@ _wrap_gncAddressGetAddr2 (SCM s_0)
   result = (char *)gncAddressGetAddr2((struct _gncAddress const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2224,7 +2224,7 @@ _wrap_gncAddressGetAddr3 (SCM s_0)
   result = (char *)gncAddressGetAddr3((struct _gncAddress const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2250,7 +2250,7 @@ _wrap_gncAddressGetAddr4 (SCM s_0)
   result = (char *)gncAddressGetAddr4((struct _gncAddress const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2276,7 +2276,7 @@ _wrap_gncAddressGetPhone (SCM s_0)
   result = (char *)gncAddressGetPhone((struct _gncAddress const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2302,7 +2302,7 @@ _wrap_gncAddressGetFax (SCM s_0)
   result = (char *)gncAddressGetFax((struct _gncAddress const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2328,7 +2328,7 @@ _wrap_gncAddressGetEmail (SCM s_0)
   result = (char *)gncAddressGetEmail((struct _gncAddress const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -3092,7 +3092,7 @@ _wrap_gncBillTermGetName (SCM s_0)
   result = (char *)gncBillTermGetName(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -3118,7 +3118,7 @@ _wrap_gncBillTermGetDescription (SCM s_0
   result = (char *)gncBillTermGetDescription(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -3299,7 +3299,7 @@ _wrap_gncBillTermReturnChild (SCM s_0, S
   {
     arg1 = (GncBillTerm *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncBillTerm, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = (GncBillTerm *)gncBillTermReturnChild(arg1,arg2);
   {
     gswig_result = SWIG_NewPointerObj (result, SWIGTYPE_p__gncBillTerm, 0);
@@ -3667,7 +3667,7 @@ _wrap_gncCustomerSetActive (SCM s_0, SCM
   {
     arg1 = (GncCustomer *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncCustomer, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gncCustomerSetActive(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -3758,7 +3758,7 @@ _wrap_gncCustomerSetTaxTableOverride (SC
   {
     arg1 = (GncCustomer *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncCustomer, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gncCustomerSetTaxTableOverride(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -3858,7 +3858,7 @@ _wrap_gncCustomerGetID (SCM s_0)
   result = (char *)gncCustomerGetID(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -3884,7 +3884,7 @@ _wrap_gncCustomerGetName (SCM s_0)
   result = (char *)gncCustomerGetName(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -3956,7 +3956,7 @@ _wrap_gncCustomerGetNotes (SCM s_0)
   result = (char *)gncCustomerGetNotes(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -4156,7 +4156,7 @@ _wrap_gncCustomerGetJoblist (SCM s_0, SC
   {
     arg1 = (GncCustomer *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncCustomer, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = (GList *)gncCustomerGetJoblist(arg1,arg2);
   {
     gswig_result = SWIG_NewPointerObj (result, SWIGTYPE_p_GList, 0);
@@ -4733,7 +4733,7 @@ _wrap_gncEmployeeSetActive (SCM s_0, SCM
   {
     arg1 = (GncEmployee *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncEmployee, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gncEmployeeSetActive(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -4831,7 +4831,7 @@ _wrap_gncEmployeeGetID (SCM s_0)
   result = (char *)gncEmployeeGetID(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -4857,7 +4857,7 @@ _wrap_gncEmployeeGetUsername (SCM s_0)
   result = (char *)gncEmployeeGetUsername(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -4906,7 +4906,7 @@ _wrap_gncEmployeeGetLanguage (SCM s_0)
   result = (char *)gncEmployeeGetLanguage(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -4932,7 +4932,7 @@ _wrap_gncEmployeeGetAcl (SCM s_0)
   result = (char *)gncEmployeeGetAcl(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -5319,7 +5319,7 @@ _wrap_gncEntryDiscountHowToString (SCM s
   result = (char *)gncEntryDiscountHowToString(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -5372,7 +5372,7 @@ _wrap_gncEntryPaymentTypeToString (SCM s
   result = (char *)gncEntryPaymentTypeToString(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -5659,7 +5659,7 @@ _wrap_gncEntrySetInvTaxable (SCM s_0, SC
   {
     arg1 = (GncEntry *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncEntry, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gncEntrySetInvTaxable(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -5681,7 +5681,7 @@ _wrap_gncEntrySetInvTaxIncluded (SCM s_0
   {
     arg1 = (GncEntry *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncEntry, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gncEntrySetInvTaxIncluded(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -5899,7 +5899,7 @@ _wrap_gncEntrySetBillTaxable (SCM s_0, S
   {
     arg1 = (GncEntry *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncEntry, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gncEntrySetBillTaxable(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -5921,7 +5921,7 @@ _wrap_gncEntrySetBillTaxIncluded (SCM s_
   {
     arg1 = (GncEntry *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncEntry, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gncEntrySetBillTaxIncluded(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -5968,7 +5968,7 @@ _wrap_gncEntrySetBillable (SCM s_0, SCM
   {
     arg1 = (GncEntry *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncEntry, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gncEntrySetBillable(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -6084,7 +6084,7 @@ _wrap_gncEntryGetDescription (SCM s_0)
   result = (char *)gncEntryGetDescription(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -6110,7 +6110,7 @@ _wrap_gncEntryGetAction (SCM s_0)
   result = (char *)gncEntryGetAction(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -6136,7 +6136,7 @@ _wrap_gncEntryGetNotes (SCM s_0)
   result = (char *)gncEntryGetNotes(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -6294,7 +6294,7 @@ _wrap_qofEntryGetInvDiscType (SCM s_0)
   result = (char *)qofEntryGetInvDiscType(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -6320,7 +6320,7 @@ _wrap_qofEntryGetInvDiscHow (SCM s_0)
   result = (char *)qofEntryGetInvDiscHow(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -6610,7 +6610,7 @@ _wrap_gncEntryReturnValue (SCM s_0, SCM
   {
     arg1 = (GncEntry *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncEntry, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = gncEntryReturnValue(arg1,arg2);
   gswig_result = gnc_numeric_to_scm(result);
   
@@ -6633,7 +6633,7 @@ _wrap_gncEntryReturnDiscountValue (SCM s
   {
     arg1 = (GncEntry *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncEntry, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = gncEntryReturnDiscountValue(arg1,arg2);
   gswig_result = gnc_numeric_to_scm(result);
   
@@ -6656,7 +6656,7 @@ _wrap_gncEntryReturnTaxValue (SCM s_0, S
   {
     arg1 = (GncEntry *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncEntry, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = gncEntryReturnTaxValue(arg1,arg2);
   gswig_result = gnc_numeric_to_scm(result);
   
@@ -6679,7 +6679,7 @@ _wrap_gncEntryReturnTaxValues (SCM s_0,
   {
     arg1 = (GncEntry *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncEntry, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = (AccountValueList *)gncEntryReturnTaxValues(arg1,arg2);
   {
     SCM list = SCM_EOL;
@@ -6713,7 +6713,7 @@ _wrap_gncEntryGetValue (SCM s_0, SCM s_1
   {
     arg1 = (GncEntry *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncEntry, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   {
     arg3 = (gnc_numeric *)SWIG_MustGetPtr(s_2, SWIGTYPE_p_gnc_numeric, 3, 0);
   }
@@ -6762,7 +6762,7 @@ _wrap_gncEntryComputeValue (SCM s_0, SCM
   {
     arg3 = (GncTaxTable *)SWIG_MustGetPtr(s_2, SWIGTYPE_p__gncTaxTable, 3, 0);
   }
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   arg5 = gnc_scm_to_numeric(s_4);
   {
     arg6 = (GncAmountType) scm_num2int(s_5, SCM_ARG1, FUNC_NAME); 
@@ -7595,7 +7595,7 @@ _wrap_gncInvoiceSetActive (SCM s_0, SCM
   {
     arg1 = (GncInvoice *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncInvoice, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gncInvoiceSetActive(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -7787,7 +7787,7 @@ _wrap_gncInvoiceGetID (SCM s_0)
   result = (char *)gncInvoiceGetID(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -7922,7 +7922,7 @@ _wrap_gncInvoiceGetBillingID (SCM s_0)
   result = (char *)gncInvoiceGetBillingID(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -7948,7 +7948,7 @@ _wrap_gncInvoiceGetNotes (SCM s_0)
   result = (char *)gncInvoiceGetNotes(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -7974,7 +7974,7 @@ _wrap_gncInvoiceGetType (SCM s_0)
   result = (char *)gncInvoiceGetType(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -8291,7 +8291,7 @@ _wrap_gncInvoicePostToAccount (SCM s_0,
     arg5 = (char *)SWIG_scm2str(s_4);
     must_free5 = 1;
   }
-  arg6 = SCM_NFALSEP(s_5) ? TRUE : FALSE;
+  arg6 = scm_is_true(s_5) ? TRUE : FALSE;
   result = (Transaction *)gncInvoicePostToAccount(arg1,arg2,arg3,arg4,(char const *)arg5,arg6);
   {
     gswig_result = SWIG_NewPointerObj (result, SWIGTYPE_p_Transaction, 0);
@@ -8320,7 +8320,7 @@ _wrap_gncInvoiceUnpost (SCM s_0, SCM s_1
   {
     arg1 = (GncInvoice *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncInvoice, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = gncInvoiceUnpost(arg1,arg2);
   gswig_result = result ? SCM_BOOL_T : SCM_BOOL_F;
   
@@ -9047,7 +9047,7 @@ _wrap_gncJobSetActive (SCM s_0, SCM s_1)
   {
     arg1 = (GncJob *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncJob, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gncJobSetActive(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -9112,7 +9112,7 @@ _wrap_gncJobGetID (SCM s_0)
   result = (char *)gncJobGetID(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -9138,7 +9138,7 @@ _wrap_gncJobGetName (SCM s_0)
   result = (char *)gncJobGetName(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -9164,7 +9164,7 @@ _wrap_gncJobGetReference (SCM s_0)
   result = (char *)gncJobGetReference(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -9578,7 +9578,7 @@ _wrap_gncOrderSetActive (SCM s_0, SCM s_
   {
     arg1 = (GncOrder *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncOrder, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gncOrderSetActive(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -9653,7 +9653,7 @@ _wrap_gncOrderGetID (SCM s_0)
   result = (char *)gncOrderGetID(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -9744,7 +9744,7 @@ _wrap_gncOrderGetNotes (SCM s_0)
   result = (char *)gncOrderGetNotes(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -9770,7 +9770,7 @@ _wrap_gncOrderGetReference (SCM s_0)
   result = (char *)gncOrderGetReference(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -10571,7 +10571,7 @@ _wrap_gncOwnerGetName (SCM s_0)
   result = (char *)gncOwnerGetName(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -11136,7 +11136,7 @@ _wrap_gncAmountTypeToString (SCM s_0)
   result = (char *)gncAmountTypeToString(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -11189,7 +11189,7 @@ _wrap_gncTaxIncludedTypeToString (SCM s_
   result = (char *)gncTaxIncludedTypeToString(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -11624,7 +11624,7 @@ _wrap_gncTaxTableGetName (SCM s_0)
   result = (char *)gncTaxTableGetName(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -11671,7 +11671,7 @@ _wrap_gncTaxTableReturnChild (SCM s_0, S
   {
     arg1 = (GncTaxTable *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncTaxTable, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = (GncTaxTable *)gncTaxTableReturnChild(arg1,arg2);
   {
     gswig_result = SWIG_NewPointerObj (result, SWIGTYPE_p__gncTaxTable, 0);
@@ -12376,7 +12376,7 @@ _wrap_gncVendorSetActive (SCM s_0, SCM s
   {
     arg1 = (GncVendor *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncVendor, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gncVendorSetActive(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -12398,7 +12398,7 @@ _wrap_gncVendorSetTaxTableOverride (SCM
   {
     arg1 = (GncVendor *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncVendor, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gncVendorSetTaxTableOverride(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -12538,7 +12538,7 @@ _wrap_gncVendorGetID (SCM s_0)
   result = (char *)gncVendorGetID(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -12564,7 +12564,7 @@ _wrap_gncVendorGetName (SCM s_0)
   result = (char *)gncVendorGetName(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -12613,7 +12613,7 @@ _wrap_gncVendorGetNotes (SCM s_0)
   result = (char *)gncVendorGetNotes(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -12771,7 +12771,7 @@ _wrap_gncVendorGetJoblist (SCM s_0, SCM
   {
     arg1 = (GncVendor *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__gncVendor, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = (GList *)gncVendorGetJoblist(arg1,arg2);
   {
     gswig_result = SWIG_NewPointerObj (result, SWIGTYPE_p_GList, 0);
diff -p -up gnucash-2.2.9/src/business/business-gnome/dialog-invoice.c.0002~ gnucash-2.2.9/src/business/business-gnome/dialog-invoice.c
--- gnucash-2.2.9/src/business/business-gnome/dialog-invoice.c.0002~	2008-12-08 23:10:21.000000000 +0100
+++ gnucash-2.2.9/src/business/business-gnome/dialog-invoice.c	2010-10-05 15:48:17.000000000 +0200
@@ -572,7 +572,7 @@ gnc_invoice_window_printCB (GtkWidget *w
   g_return_if_fail (invoice);
 
   func = scm_c_eval_string ("gnc:invoice-report-create");
-  g_return_if_fail (SCM_PROCEDUREP (func));
+  g_return_if_fail (scm_is_procedure (func));
 
   arg = SWIG_NewPointerObj(invoice, SWIG_TypeQuery("_p__gncInvoice"), 0);
   args = scm_cons (arg, args);
@@ -580,7 +580,7 @@ gnc_invoice_window_printCB (GtkWidget *w
   /* scm_gc_protect_object(func); */
 
   arg = scm_apply (func, args, SCM_EOL);
-  g_return_if_fail (SCM_EXACTP (arg));
+  g_return_if_fail (scm_is_exact (arg));
   report_id = scm_num2int (arg, SCM_ARG1, G_STRFUNC);
 
   /* scm_gc_unprotect_object(func); */
@@ -748,7 +748,7 @@ void gnc_business_call_owner_report (Gnc
   args = SCM_EOL;
 
   func = scm_c_eval_string ("gnc:owner-report-create");
-  g_return_if_fail (SCM_PROCEDUREP (func));
+  g_return_if_fail (scm_is_procedure (func));
 
   if (acc) {
     swig_type_info * qtype = SWIG_TypeQuery("_p_Account");
@@ -767,7 +767,7 @@ void gnc_business_call_owner_report (Gnc
 
   /* Apply the function to the args */
   arg = scm_apply (func, args, SCM_EOL);
-  g_return_if_fail (SCM_EXACTP (arg));
+  g_return_if_fail (scm_is_exact (arg));
   id = scm_num2int (arg, SCM_ARG1, G_STRFUNC);
 
   if (id >= 0)
diff -p -up gnucash-2.2.9/src/business/dialog-tax-table/swig-dialog-tax-table.c.0002~ gnucash-2.2.9/src/business/dialog-tax-table/swig-dialog-tax-table.c
--- gnucash-2.2.9/src/business/dialog-tax-table/swig-dialog-tax-table.c.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/business/dialog-tax-table/swig-dialog-tax-table.c	2010-10-05 15:59:40.000000000 +0200
@@ -767,7 +767,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -784,7 +784,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -800,7 +800,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -820,7 +820,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -833,7 +833,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -849,7 +849,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -911,7 +911,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -924,7 +924,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1157,20 +1157,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }
diff -p -up gnucash-2.2.9/src/core-utils/swig-core-utils.c.0002~ gnucash-2.2.9/src/core-utils/swig-core-utils.c
--- gnucash-2.2.9/src/core-utils/swig-core-utils.c.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/core-utils/swig-core-utils.c	2010-10-05 15:59:40.000000000 +0200
@@ -767,7 +767,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -784,7 +784,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -800,7 +800,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -820,7 +820,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -833,7 +833,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -849,7 +849,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -911,7 +911,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -924,7 +924,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1157,20 +1157,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }
@@ -1251,7 +1251,7 @@ _wrap_g_find_program_in_path (SCM s_0)
   result = (gchar *)g_find_program_in_path((char const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1384,7 +1384,7 @@ _wrap_gnc_utf8_strip_invalid_strdup (SCM
   result = (gchar *)gnc_utf8_strip_invalid_strdup((char const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1413,7 +1413,7 @@ _wrap_gnc_locale_from_utf8 (SCM s_0)
   result = (gchar *)gnc_locale_from_utf8((char const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1442,7 +1442,7 @@ _wrap_gnc_locale_to_utf8 (SCM s_0)
   result = (gchar *)gnc_locale_to_utf8((char const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
diff -p -up gnucash-2.2.9/src/engine/engine-helpers.c.0002~ gnucash-2.2.9/src/engine/engine-helpers.c
--- gnucash-2.2.9/src/engine/engine-helpers.c.0002~	2008-12-08 23:10:22.000000000 +0100
+++ gnucash-2.2.9/src/engine/engine-helpers.c	2010-10-05 15:48:16.000000000 +0200
@@ -114,7 +114,7 @@ gnc_timepair2timespec(SCM x)
 int
 gnc_timepair_p(SCM x)
 {
-  return(SCM_CONSP(x) &&
+  return(scm_is_pair(x) &&
          gnc_gh_gint64_p(SCM_CAR(x)) &&
          gnc_gh_gint64_p(SCM_CDR(x)));
 }
@@ -136,11 +136,11 @@ gnc_scm2guid(SCM guid_scm)
   GUID guid;
   const gchar * str;
 
-  if (GUID_ENCODING_LENGTH != SCM_STRING_LENGTH (guid_scm))
+  if (GUID_ENCODING_LENGTH != scm_i_string_length (guid_scm))
   {
     return *guid_null();
   }
-  str = SCM_STRING_CHARS (guid_scm);
+  str = scm_to_locale_string (guid_scm);
   string_to_guid(str, &guid);
   return guid;
 }
@@ -151,14 +151,14 @@ gnc_guid_p(SCM guid_scm)
   GUID guid;
   const gchar * str;
 
-  if (!SCM_STRINGP(guid_scm))
+  if (!scm_is_string(guid_scm))
     return FALSE;
 
-  if (GUID_ENCODING_LENGTH != SCM_STRING_LENGTH (guid_scm))
+  if (GUID_ENCODING_LENGTH != scm_i_string_length (guid_scm))
   {
     return FALSE;
   }
-  str = SCM_STRING_CHARS (guid_scm);
+  str = scm_to_locale_string (guid_scm);
 
   return string_to_guid(str, &guid);
 }
@@ -308,10 +308,10 @@ gnc_scm2bitfield (SCM field_scm)
 {
   int field = 0;
 
-  if (!SCM_LISTP (field_scm))
+  if (!scm_is_list (field_scm))
     return 0;
 
-  while (!SCM_NULLP (field_scm))
+  while (!scm_is_null (field_scm))
   {
     SCM scm;
     int bit;
@@ -337,14 +337,14 @@ gnc_scm2balance_match_how (SCM how_scm,
 {
   const gchar *how;
 
-  if (!SCM_LISTP (how_scm))
+  if (!scm_is_list (how_scm))
     return FALSE;
 
-  if (SCM_NULLP (how_scm))
+  if (scm_is_null (how_scm))
     return FALSE;
 
   /* Only allow a single-entry list */
-  if (!SCM_NULLP (SCM_CDR (how_scm)))
+  if (!scm_is_null (SCM_CDR (how_scm)))
     return FALSE;
 
   how = SCM_SYMBOL_CHARS (SCM_CAR(how_scm));
@@ -363,7 +363,7 @@ gnc_scm2kvp_match_where (SCM where_scm)
   QofIdType res;
   const gchar *where;
 
-  if (!SCM_LISTP (where_scm))
+  if (!scm_is_list (where_scm))
     return NULL;
 
   where = SCM_SYMBOL_CHARS (SCM_CAR(where_scm));
@@ -403,10 +403,10 @@ gnc_scm2guid_glist (SCM guids_scm)
 {
   GList *guids = NULL;
 
-  if (!SCM_LISTP (guids_scm))
+  if (!scm_is_list (guids_scm))
     return NULL;
 
-  while (!SCM_NULLP (guids_scm))
+  while (!scm_is_null (guids_scm))
   {
     SCM guid_scm = SCM_CAR (guids_scm);
     GUID *guid;
@@ -443,7 +443,7 @@ gnc_query_numeric2scm (gnc_numeric val)
 static gboolean
 gnc_query_numeric_p (SCM pair)
 {
-  return (SCM_CONSP (pair));
+  return (scm_is_pair (pair));
 }
 
 static gnc_numeric
@@ -481,18 +481,18 @@ gnc_query_scm2path (SCM path_scm)
 {
   GSList *path = NULL;
 
-  if (!SCM_LISTP (path_scm))
+  if (!scm_is_list (path_scm))
     return NULL;
 
-  while (!SCM_NULLP (path_scm))
+  while (!scm_is_null (path_scm))
   {
     SCM key_scm = SCM_CAR (path_scm);
     char *key;
 
-    if (!SCM_STRINGP (key_scm))
+    if (!scm_is_string (key_scm))
       break;
 
-    key = g_strdup (SCM_STRING_CHARS (key_scm));
+    key = g_strdup (scm_to_locale_string (key_scm));
 
     path = g_slist_prepend (path, key);
 
@@ -634,14 +634,14 @@ gnc_scm2KvpValue (SCM value_scm)
   SCM type_scm;
   SCM val_scm;
 
-  if (!SCM_LISTP (value_scm) || SCM_NULLP (value_scm))
+  if (!scm_is_list (value_scm) || scm_is_null (value_scm))
     return NULL;
 
   type_scm = SCM_CAR (value_scm);
   value_t = gnc_scm2KvpValueTypeype (type_scm);
 
   value_scm = SCM_CDR (value_scm);
-  if (!SCM_LISTP (value_scm) || SCM_NULLP (value_scm))
+  if (!scm_is_list (value_scm) || scm_is_null (value_scm))
     return NULL;
 
   val_scm = SCM_CAR (value_scm);
@@ -657,7 +657,7 @@ gnc_scm2KvpValue (SCM value_scm)
       break;
 
     case KVP_TYPE_STRING: {
-      const gchar * str = SCM_STRING_CHARS (val_scm);
+      const gchar * str = scm_to_locale_string (val_scm);
       value = kvp_value_new_string (str);
       break;
     }
@@ -694,7 +694,7 @@ gnc_scm2KvpValue (SCM value_scm)
       GList *list = NULL;
       GList *node;
 
-      for (; SCM_LISTP (val_scm) && !SCM_NULLP (val_scm);
+      for (; scm_is_list (val_scm) && !scm_is_null (val_scm);
            val_scm = SCM_CDR (val_scm))
       {
         SCM scm = SCM_CAR (val_scm);
@@ -734,11 +734,11 @@ gnc_scm2KvpFrame (SCM frame_scm)
 {
   KvpFrame * frame;
 
-  if (!SCM_LISTP (frame_scm)) return NULL;
+  if (!scm_is_list (frame_scm)) return NULL;
 
   frame = kvp_frame_new ();
 
-  for (; SCM_LISTP (frame_scm) && !SCM_NULLP (frame_scm);
+  for (; scm_is_list (frame_scm) && !scm_is_null (frame_scm);
        frame_scm = SCM_CDR (frame_scm))
   {
     SCM pair = SCM_CAR (frame_scm);
@@ -747,16 +747,16 @@ gnc_scm2KvpFrame (SCM frame_scm)
     SCM val_scm;
     const gchar *key;
 
-    if (!SCM_CONSP (pair))
+    if (!scm_is_pair (pair))
       continue;
 
     key_scm = SCM_CAR (pair);
     val_scm = SCM_CDR (pair);
 
-    if (!SCM_STRINGP (key_scm))
+    if (!scm_is_string (key_scm))
       continue;
 
-    key = SCM_STRING_CHARS (key_scm);
+    key = scm_to_locale_string (key_scm);
     if (!key)
       continue;
 
@@ -854,35 +854,35 @@ gnc_scm2query_term_query_v2 (SCM qt_scm)
   gboolean inverted = FALSE;
   QofQueryCompare compare_how;
 
-  if (!SCM_LISTP (qt_scm) || SCM_NULLP (qt_scm))
+  if (!scm_is_list (qt_scm) || scm_is_null (qt_scm))
     return NULL;
 
   do {
     /* param path */
     scm = SCM_CAR (qt_scm);
     qt_scm = SCM_CDR (qt_scm);
-    if (!SCM_LISTP (scm))
+    if (!scm_is_list (scm))
       break;
     path = gnc_query_scm2path (scm);
 
     /* inverted */
     scm = SCM_CAR (qt_scm);
     qt_scm = SCM_CDR (qt_scm);
-    if (!SCM_BOOLP (scm))
+    if (!scm_is_bool (scm))
       break;
-    inverted = SCM_NFALSEP (scm);
+    inverted = scm_is_true (scm);
 
     /* type */
     scm = SCM_CAR (qt_scm);
     qt_scm = SCM_CDR (qt_scm);
-    if (!SCM_SYMBOLP (scm))
+    if (!scm_is_symbol (scm))
       break;
     type = SCM_SYMBOL_CHARS (scm);
 
     /* QofCompareFunc */
     scm = SCM_CAR (qt_scm);
     qt_scm = SCM_CDR (qt_scm);
-    if (SCM_NULLP (scm))
+    if (scm_is_null (scm))
       break;
     compare_how = gnc_query_scm2compare (scm);
 
@@ -896,19 +896,19 @@ gnc_scm2query_term_query_v2 (SCM qt_scm)
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (SCM_NULLP (scm)) break;
+      if (scm_is_null (scm)) break;
       options = gnc_query_scm2string (scm);
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (!SCM_BOOLP (scm)) break;
-      is_regex = SCM_NFALSEP (scm);
+      if (!scm_is_bool (scm)) break;
+      is_regex = scm_is_true (scm);
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (!SCM_STRINGP (scm)) break;
+      if (!scm_is_string (scm)) break;
 
-      matchstring = SCM_STRING_CHARS (scm);
+      matchstring = scm_to_locale_string (scm);
 
       pd = qof_query_string_predicate (compare_how, matchstring,
                                     options, is_regex);
@@ -920,13 +920,13 @@ gnc_scm2query_term_query_v2 (SCM qt_scm)
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (SCM_NULLP (scm))
+      if (scm_is_null (scm))
         break;
       options = gnc_query_scm2date (scm);
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (SCM_NULLP (scm))
+      if (scm_is_null (scm))
         break;
       date = gnc_timepair2timespec (scm);
 
@@ -938,7 +938,7 @@ gnc_scm2query_term_query_v2 (SCM qt_scm)
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (SCM_NULLP (scm))
+      if (scm_is_null (scm))
         break;
       options = gnc_query_scm2numericop (scm);
 
@@ -956,13 +956,13 @@ gnc_scm2query_term_query_v2 (SCM qt_scm)
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (SCM_NULLP (scm))
+      if (scm_is_null (scm))
         break;
       options = gnc_query_scm2guid (scm);
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (!SCM_LISTP (scm))
+      if (!scm_is_list (scm))
         break;
       guids = gnc_scm2guid_glist (scm);
 
@@ -975,7 +975,7 @@ gnc_scm2query_term_query_v2 (SCM qt_scm)
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (SCM_NULLP (scm))
+      if (scm_is_null (scm))
         break;
       val = gnc_scm_to_gint64 (scm);
 
@@ -986,7 +986,7 @@ gnc_scm2query_term_query_v2 (SCM qt_scm)
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (!SCM_NUMBERP (scm))
+      if (!scm_is_number (scm))
         break;
       val = scm_num2dbl (scm, G_STRFUNC);
 
@@ -997,9 +997,9 @@ gnc_scm2query_term_query_v2 (SCM qt_scm)
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (!SCM_BOOLP (scm))
+      if (!scm_is_bool (scm))
         break;
-      val = SCM_NFALSEP (scm);
+      val = scm_is_true (scm);
 
       pd = qof_query_boolean_predicate (compare_how, val);
 
@@ -1009,15 +1009,15 @@ gnc_scm2query_term_query_v2 (SCM qt_scm)
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (SCM_NULLP (scm))
+      if (scm_is_null (scm))
         break;
       options = gnc_query_scm2char (scm);
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (!SCM_STRINGP (scm))
+      if (!scm_is_string (scm))
         break;
-      char_list = SCM_STRING_CHARS (scm);
+      char_list = scm_to_locale_string (scm);
 
       pd = qof_query_char_predicate (options, char_list);
     } 
@@ -1028,13 +1028,13 @@ gnc_scm2query_term_query_v2 (SCM qt_scm)
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (!SCM_LISTP (scm))
+      if (!scm_is_list (scm))
         break;
       kvp_path = gnc_query_scm2path (scm);
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (SCM_NULLP (scm)) {
+      if (scm_is_null (scm)) {
         gnc_query_path_free (kvp_path);
         break;
       }
@@ -1076,8 +1076,8 @@ gnc_scm2query_term_query_v1 (SCM query_t
   QofQuery *q = NULL;
   SCM scm;
 
-  if (!SCM_LISTP (query_term_scm) ||
-      SCM_NULLP (query_term_scm)) {
+  if (!scm_is_list (query_term_scm) ||
+      scm_is_null (query_term_scm)) {
     PINFO ("null term");
     return NULL;
   }
@@ -1089,7 +1089,7 @@ gnc_scm2query_term_query_v1 (SCM query_t
     pd_type = SCM_SYMBOL_CHARS (scm);
 
     /* pr_type */
-    if (SCM_NULLP (query_term_scm)) {
+    if (scm_is_null (query_term_scm)) {
       PINFO ("null pr_type");
       break;
     }
@@ -1098,13 +1098,13 @@ gnc_scm2query_term_query_v1 (SCM query_t
     pr_type = SCM_SYMBOL_CHARS (scm);
 
     /* sense */
-    if (SCM_NULLP (query_term_scm)) {
+    if (scm_is_null (query_term_scm)) {
       PINFO ("null sense");
       break;
     }
     scm = SCM_CAR (query_term_scm);
     query_term_scm = SCM_CDR (query_term_scm);
-    sense = SCM_NFALSEP (scm);
+    sense = scm_is_true (scm);
 
     q = xaccMallocQuery ();
 
@@ -1115,17 +1115,17 @@ gnc_scm2query_term_query_v1 (SCM query_t
       Timespec end;
 
       /* use_start */
-      if (SCM_NULLP (query_term_scm)) {
+      if (scm_is_null (query_term_scm)) {
         PINFO ("null use_start");
         break;
       }
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
-      use_start = SCM_NFALSEP (scm);
+      use_start = scm_is_true (scm);
 
       /* start */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
 
       scm = SCM_CAR (query_term_scm);
@@ -1133,15 +1133,15 @@ gnc_scm2query_term_query_v1 (SCM query_t
       start = gnc_timepair2timespec (scm);
 
       /* use_end */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
-      use_end = SCM_NFALSEP (scm);
+      use_end = scm_is_true (scm);
 
       /* end */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
 
       scm = SCM_CAR (query_term_scm);
@@ -1161,21 +1161,21 @@ gnc_scm2query_term_query_v1 (SCM query_t
       gnc_numeric val;
 
       /* how */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
       how = gnc_scm2amt_match_how (scm);
 
       /* amt_sgn */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
       amt_sgn = gnc_query_scm2numericop (scm);
 
       /* amount */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
@@ -1207,7 +1207,7 @@ gnc_scm2query_term_query_v1 (SCM query_t
       GList *account_guids;
 
       /* how */
-      if (SCM_NULLP (query_term_scm)) {
+      if (scm_is_null (query_term_scm)) {
         PINFO ("pd-account: null how");
         break;
       }
@@ -1217,7 +1217,7 @@ gnc_scm2query_term_query_v1 (SCM query_t
       how = gnc_scm2acct_match_how (scm);
 
       /* account guids */
-      if (SCM_NULLP (query_term_scm)) {
+      if (scm_is_null (query_term_scm)) {
         PINFO ("pd-account: null guids");
         break;
       }
@@ -1239,28 +1239,28 @@ gnc_scm2query_term_query_v1 (SCM query_t
       const gchar *matchstring;
 
       /* case_sens */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
-      case_sens = SCM_NFALSEP (scm);
+      case_sens = scm_is_true (scm);
 
       /* use_regexp */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
-      use_regexp = SCM_NFALSEP (scm);
+      use_regexp = scm_is_true (scm);
 
       /* matchstring */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
-      matchstring = SCM_STRING_CHARS (scm);
+      matchstring = scm_to_locale_string (scm);
 
       if (!safe_strcmp (pr_type, "pr-action")) {
         xaccQueryAddActionMatch (q, matchstring, case_sens, use_regexp,
@@ -1290,7 +1290,7 @@ gnc_scm2query_term_query_v1 (SCM query_t
       cleared_match_t how;
 
       /* how */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
 
       scm = SCM_CAR (query_term_scm);
@@ -1304,7 +1304,7 @@ gnc_scm2query_term_query_v1 (SCM query_t
       gboolean how;
 
       /* how */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
 
       scm = SCM_CAR (query_term_scm);
@@ -1320,7 +1320,7 @@ gnc_scm2query_term_query_v1 (SCM query_t
       QofIdType id_type;
 
       /* guid */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
 
       scm = SCM_CAR (query_term_scm);
@@ -1330,7 +1330,7 @@ gnc_scm2query_term_query_v1 (SCM query_t
       /* id type */
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
-      id_type = g_strdup (SCM_STRING_CHARS (scm));
+      id_type = g_strdup (scm_to_locale_string (scm));
 
       xaccQueryAddGUIDMatch (q, &guid, id_type, QOF_QUERY_OR);
       ok = TRUE;
@@ -1342,28 +1342,28 @@ gnc_scm2query_term_query_v1 (SCM query_t
       QofIdType where;
 
       /* how */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
       how = gnc_scm2kvp_match_how (scm);
 
       /* where */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
       where = gnc_scm2kvp_match_where (scm);
 
       /* path */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
       path = gnc_query_scm2path (scm);
 
       /* value */
-      if (SCM_NULLP (query_term_scm))
+      if (scm_is_null (query_term_scm))
         break;
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
@@ -1446,10 +1446,10 @@ gnc_scm2query_and_terms (SCM and_terms,
 {
   Query *q = NULL;
 
-  if (!SCM_LISTP (and_terms))
+  if (!scm_is_list (and_terms))
     return NULL;
 
-  while (!SCM_NULLP (and_terms))
+  while (!scm_is_null (and_terms))
   {
     SCM term;
 
@@ -1486,12 +1486,12 @@ gnc_scm2query_or_terms (SCM or_terms, qu
 {
   Query *q = NULL;
 
-  if (!SCM_LISTP (or_terms))
+  if (!scm_is_list (or_terms))
     return NULL;
 
   q = xaccMallocQuery ();
 
-  while (!SCM_NULLP (or_terms))
+  while (!scm_is_null (or_terms))
   {
     SCM and_terms;
 
@@ -1552,24 +1552,24 @@ gnc_query_scm2sort (SCM sort_scm, GSList
   g_return_val_if_fail (*path == NULL, FALSE);
 
   /* This is ok -- it means we have an empty sort.  Don't do anything */
-  if (SCM_BOOLP (sort_scm))
+  if (scm_is_bool (sort_scm))
     return TRUE;
 
   /* Ok, this had better be a list */
-  if (!SCM_LISTP (sort_scm))
+  if (!scm_is_list (sort_scm))
     return FALSE;
   
   /* Parse the path, options, and increasing */
   val = SCM_CAR (sort_scm);
   sort_scm = SCM_CDR (sort_scm);
-  if (!SCM_LISTP (val))
+  if (!scm_is_list (val))
     return FALSE;
   p = gnc_query_scm2path (val);
 
   /* options */
   val = SCM_CAR (sort_scm);
   sort_scm = SCM_CDR (sort_scm);
-  if (!SCM_NUMBERP (val)) {
+  if (!scm_is_number (val)) {
     gnc_query_path_free (p);
     return FALSE;
   }
@@ -1578,14 +1578,14 @@ gnc_query_scm2sort (SCM sort_scm, GSList
   /* increasing */
   val = SCM_CAR (sort_scm);
   sort_scm = SCM_CDR (sort_scm);
-  if (!SCM_BOOLP (val)) {
+  if (!scm_is_bool (val)) {
     gnc_query_path_free (p);
     return FALSE;
   }
-  i = SCM_NFALSEP (val);
+  i = scm_is_true (val);
 
   /* EOL */
-  if (!SCM_NULLP (sort_scm)) {
+  if (!scm_is_null (sort_scm)) {
     gnc_query_path_free (p);
     return FALSE;
   }
@@ -1727,7 +1727,7 @@ gnc_scm2query_v1 (SCM query_scm)
   gboolean tertiary_increasing = TRUE;
   int max_splits = -1;
 
-  while (!SCM_NULLP (query_scm))
+  while (!scm_is_null (query_scm))
   {
     const gchar *symbol;
     SCM sym_scm;
@@ -1737,7 +1737,7 @@ gnc_scm2query_v1 (SCM query_scm)
     pair = SCM_CAR (query_scm);
     query_scm = SCM_CDR (query_scm);
 
-    if (!SCM_CONSP (pair)) {
+    if (!scm_is_pair (pair)) {
       PERR ("Not a Pair");
       ok = FALSE;
       break;
@@ -1746,7 +1746,7 @@ gnc_scm2query_v1 (SCM query_scm)
     sym_scm = SCM_CAR (pair);
     value = SCM_CADR (pair);
 
-    if (!SCM_SYMBOLP (sym_scm)) {
+    if (!scm_is_symbol (sym_scm)) {
       PERR ("Not a symbol");
       ok = FALSE;
       break;
@@ -1771,7 +1771,7 @@ gnc_scm2query_v1 (SCM query_scm)
       }
 
     } else if (safe_strcmp ("primary-sort", symbol) == 0) {
-      if (!SCM_SYMBOLP (value)) {
+      if (!scm_is_symbol (value)) {
         PINFO ("Invalid primary sort");
         ok = FALSE;
         break;
@@ -1780,7 +1780,7 @@ gnc_scm2query_v1 (SCM query_scm)
       primary_sort = SCM_SYMBOL_CHARS (value);
 
     } else if (safe_strcmp ("secondary-sort", symbol) == 0) {
-      if (!SCM_SYMBOLP (value)) {
+      if (!scm_is_symbol (value)) {
         PINFO ("Invalid secondary sort");
         ok = FALSE;
         break;
@@ -1789,7 +1789,7 @@ gnc_scm2query_v1 (SCM query_scm)
       secondary_sort = SCM_SYMBOL_CHARS (value);
 
     } else if (safe_strcmp ("tertiary-sort", symbol) == 0) {
-      if (!SCM_SYMBOLP (value)) {
+      if (!scm_is_symbol (value)) {
         PINFO ("Invalid tertiary sort");
         ok = FALSE;
         break;
@@ -1798,16 +1798,16 @@ gnc_scm2query_v1 (SCM query_scm)
       tertiary_sort = SCM_SYMBOL_CHARS (value);
 
     } else if (safe_strcmp ("primary-increasing", symbol) == 0) {
-      primary_increasing = SCM_NFALSEP (value);
+      primary_increasing = scm_is_true (value);
 
     } else if (safe_strcmp ("secondary-increasing", symbol) == 0) {
-      secondary_increasing = SCM_NFALSEP (value);
+      secondary_increasing = scm_is_true (value);
 
     } else if (safe_strcmp ("tertiary-increasing", symbol) == 0) {
-      tertiary_increasing = SCM_NFALSEP (value);
+      tertiary_increasing = scm_is_true (value);
 
     } else if (safe_strcmp ("max-splits", symbol) == 0) {
-      if (!SCM_NUMBERP (value)) {
+      if (!scm_is_number (value)) {
         PERR ("invalid max-splits");
         ok = FALSE;
         break;
@@ -1855,7 +1855,7 @@ gnc_scm2query_v2 (SCM query_scm)
   ++scm_block_gc;
 #endif
 
-  while (!SCM_NULLP (query_scm))
+  while (!scm_is_null (query_scm))
   {
     const gchar *symbol;
     SCM sym_scm;
@@ -1865,7 +1865,7 @@ gnc_scm2query_v2 (SCM query_scm)
     pair = SCM_CAR (query_scm);
     query_scm = SCM_CDR (query_scm);
 
-    if (!SCM_CONSP (pair)) {
+    if (!scm_is_pair (pair)) {
       ok = FALSE;
       break;
     }
@@ -1873,7 +1873,7 @@ gnc_scm2query_v2 (SCM query_scm)
     sym_scm = SCM_CAR (pair);
     value = SCM_CADR (pair);
 
-    if (!SCM_SYMBOLP (sym_scm)) {
+    if (!scm_is_symbol (sym_scm)) {
       ok = FALSE;
       break;
     }
@@ -1895,7 +1895,7 @@ gnc_scm2query_v2 (SCM query_scm)
       }
 
     } else if (!safe_strcmp ("search-for", symbol)) {
-      if (!SCM_SYMBOLP (value)) {
+      if (!scm_is_symbol (value)) {
         ok = FALSE;
         break;
       }
@@ -1920,7 +1920,7 @@ gnc_scm2query_v2 (SCM query_scm)
       }
 
     } else if (!safe_strcmp ("max-results", symbol)) {
-      if (!SCM_NUMBERP (value)) {
+      if (!scm_is_number (value)) {
         ok = FALSE;
         break;
       }
@@ -1959,14 +1959,14 @@ gnc_scm2query (SCM query_scm)
   Query *q = NULL;
 
   /* Not a list or NULL?  No need to go further */
-  if (!SCM_LISTP (query_scm) || SCM_NULLP (query_scm))
+  if (!scm_is_list (query_scm) || scm_is_null (query_scm))
     return NULL;
 
   /* Grab the 'type' (for v2 and above) */
   q_type = SCM_CAR (query_scm);
 
-  if (!SCM_SYMBOLP (q_type)) {
-    if (SCM_CONSP (q_type)) {
+  if (!scm_is_symbol (q_type)) {
+    if (scm_is_pair (q_type)) {
       /* Version-1 queries are just a list */
       return gnc_scm2query_v1 (query_scm);
     } else {
@@ -2090,7 +2090,7 @@ gnc_gh_gint64_p(SCM num)
     initialized = 1;
   }
 
-  return (SCM_EXACTP(num) &&
+  return (scm_is_exact(num) &&
           (scm_geq_p(num, minval) != SCM_BOOL_F) &&
           (scm_leq_p(num, maxval) != SCM_BOOL_F));
 }
diff -p -up gnucash-2.2.9/src/engine/engine.i.0002~ gnucash-2.2.9/src/engine/engine.i
--- gnucash-2.2.9/src/engine/engine.i.0002~	2008-09-21 05:20:52.000000000 +0200
+++ gnucash-2.2.9/src/engine/engine.i	2010-10-05 15:48:16.000000000 +0200
@@ -170,15 +170,15 @@ gchar * gnc_build_book_path (const gchar
   SCM path_scm = $input;
   GList *path = NULL;
 
-  while (!SCM_NULLP (path_scm))
+  while (!scm_is_null (path_scm))
   {
     SCM key_scm = SCM_CAR (path_scm);
     char *key;
 
-    if (!SCM_STRINGP (key_scm))
+    if (!scm_is_string (key_scm))
       break;
 
-    key = g_strdup (SCM_STRING_CHARS (key_scm));
+    key = g_strdup (scm_to_locale_string (key_scm));
 
     path = g_list_prepend (path, key);
 
diff -p -up gnucash-2.2.9/src/engine/glib-helpers.c.0002~ gnucash-2.2.9/src/engine/glib-helpers.c
--- gnucash-2.2.9/src/engine/glib-helpers.c.0002~	2008-01-08 02:06:44.000000000 +0100
+++ gnucash-2.2.9/src/engine/glib-helpers.c	2010-10-05 15:48:16.000000000 +0200
@@ -59,9 +59,9 @@ gnc_scm_list_to_glist(SCM rest)
   SCM scm_item;
 
   SWIG_GetModule(NULL); /* Work-around for SWIG bug. */
-  SCM_ASSERT(SCM_LISTP(rest), rest, SCM_ARG1, "gnc_scm_list_to_glist");
+  SCM_ASSERT(scm_is_list(rest), rest, SCM_ARG1, "gnc_scm_list_to_glist");
 
-  while(!SCM_NULLP(rest))
+  while(!scm_is_null(rest))
   {
     void *item;
 
@@ -119,9 +119,9 @@ gnc_scm_to_glist_string(SCM list)
 {
   GList *glist = NULL;
 
-  while (!SCM_NULLP (list))
+  while (!scm_is_null (list))
   {
-    const gchar * str = SCM_STRING_CHARS (SCM_CAR(list));
+    const gchar * str = scm_to_locale_string (SCM_CAR(list));
     if (str)
       glist = g_list_prepend (glist, g_strdup (str));
     list = SCM_CDR (list);
@@ -135,9 +135,9 @@ gnc_scm_to_gslist_string(SCM list)
 {
   GSList *gslist = NULL;
 
-  while (!SCM_NULLP (list))
+  while (!scm_is_null (list))
   {
-    const gchar * str = SCM_STRING_CHARS (SCM_CAR(list));
+    const gchar * str = scm_to_locale_string (SCM_CAR(list));
     if (str)
       gslist = g_slist_prepend (gslist, g_strdup (str));
     list = SCM_CDR (list);
@@ -152,5 +152,5 @@ gnc_scm_to_gslist_string(SCM list)
 
 int
 gnc_glist_string_p(SCM list) {
-  return SCM_LISTP(list);
+  return scm_is_list(list);
 }
diff -p -up gnucash-2.2.9/src/engine/gnc-hooks.c.0002~ gnucash-2.2.9/src/engine/gnc-hooks.c
--- gnucash-2.2.9/src/engine/gnc-hooks.c.0002~	2008-01-08 02:06:45.000000000 +0100
+++ gnucash-2.2.9/src/engine/gnc-hooks.c	2010-10-05 15:48:16.000000000 +0200
@@ -225,7 +225,7 @@ hook_remove_scm_runner (GHook *hook, gpo
   SCM res;
 
   res = scm_equal_p(scm1->proc, scm2->proc);
-  return(SCM_NFALSEP(res));
+  return(scm_is_true(res));
 }
 
 void
diff -p -up gnucash-2.2.9/src/engine/kvp-scm.c.0002~ gnucash-2.2.9/src/engine/kvp-scm.c
--- gnucash-2.2.9/src/engine/kvp-scm.c.0002~	2008-12-08 23:10:22.000000000 +0100
+++ gnucash-2.2.9/src/engine/kvp-scm.c	2010-10-05 15:48:16.000000000 +0200
@@ -23,10 +23,10 @@ gnc_kvp_value_ptr_p(SCM arg)
 KvpValue *
 gnc_scm_to_kvp_value_ptr(SCM val)
 {
-    if(SCM_NUMBERP(val))
+    if(scm_is_number(val))
     {
         /* in guile 1.8 (exact? ) only works on numbers */
-        if(SCM_EXACTP (val) && gnc_gh_gint64_p(val))
+        if(scm_is_exact (val) && gnc_gh_gint64_p(val))
         {
             return kvp_value_new_gint64(gnc_scm_to_gint64(val));
         }
@@ -49,11 +49,11 @@ gnc_scm_to_kvp_value_ptr(SCM val)
         Timespec ts = gnc_timepair2timespec(val);
 	return kvp_value_new_timespec(ts);
     }
-    else if(SCM_STRINGP(val))
+    else if(scm_is_string(val))
     {
         const gchar *newstr;
         KvpValue *ret;
-        newstr = SCM_STRING_CHARS (val);
+        newstr = scm_to_locale_string (val);
         ret = kvp_value_new_string(newstr);
         return ret;
     }
diff -p -up gnucash-2.2.9/src/engine/swig-engine.c.0002~ gnucash-2.2.9/src/engine/swig-engine.c
--- gnucash-2.2.9/src/engine/swig-engine.c.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/engine/swig-engine.c	2010-10-05 15:59:40.000000000 +0200
@@ -767,7 +767,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -784,7 +784,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -800,7 +800,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -820,7 +820,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -833,7 +833,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -849,7 +849,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -911,7 +911,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -924,7 +924,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1157,20 +1157,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }
@@ -2049,7 +2049,7 @@ _wrap_xaccSplitGetMemo (SCM s_0)
   result = (char *)xaccSplitGetMemo((Split const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2102,7 +2102,7 @@ _wrap_xaccSplitGetAction (SCM s_0)
   result = (char *)xaccSplitGetAction((Split const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2544,9 +2544,9 @@ _wrap_xaccSplitEqual (SCM s_0, SCM s_1,
   {
     arg2 = (Split *)SWIG_MustGetPtr(s_1, SWIGTYPE_p_Split, 2, 0);
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
-  arg5 = SCM_NFALSEP(s_4) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
+  arg5 = scm_is_true(s_4) ? TRUE : FALSE;
   result = xaccSplitEqual((Split const *)arg1,(Split const *)arg2,arg3,arg4,arg5);
   gswig_result = result ? SCM_BOOL_T : SCM_BOOL_F;
   
@@ -2648,7 +2648,7 @@ _wrap_xaccSplitGetType (SCM s_0)
   result = (char *)xaccSplitGetType((Split const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2862,7 +2862,7 @@ _wrap_xaccSplitGetCorrAccountFullName (S
   result = (char *)xaccSplitGetCorrAccountFullName((Split const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2889,7 +2889,7 @@ _wrap_xaccSplitGetCorrAccountName (SCM s
   result = (char *)xaccSplitGetCorrAccountName((Split const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2915,7 +2915,7 @@ _wrap_xaccSplitGetCorrAccountCode (SCM s
   result = (char *)xaccSplitGetCorrAccountCode((Split const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -4528,7 +4528,7 @@ _wrap_xaccAccountEqual (SCM s_0, SCM s_1
   {
     arg2 = (Account *)SWIG_MustGetPtr(s_1, SWIGTYPE_p_Account, 2, 0);
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
   result = xaccAccountEqual((Account const *)arg1,(Account const *)arg2,arg3);
   gswig_result = result ? SCM_BOOL_T : SCM_BOOL_F;
   
@@ -4578,7 +4578,7 @@ _wrap_gnc_get_account_separator_string (
   result = (gchar *)gnc_get_account_separator_string();
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -5156,7 +5156,7 @@ _wrap_xaccAccountGetName (SCM s_0)
   result = (char *)xaccAccountGetName((Account const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -5182,7 +5182,7 @@ _wrap_xaccAccountGetCode (SCM s_0)
   result = (char *)xaccAccountGetCode((Account const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -5208,7 +5208,7 @@ _wrap_xaccAccountGetDescription (SCM s_0
   result = (char *)xaccAccountGetDescription((Account const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -5234,7 +5234,7 @@ _wrap_xaccAccountGetNotes (SCM s_0)
   result = (char *)xaccAccountGetNotes((Account const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -5260,7 +5260,7 @@ _wrap_xaccAccountGetLastNum (SCM s_0)
   result = (char *)xaccAccountGetLastNum((Account const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -5431,7 +5431,7 @@ _wrap_xaccAccountSortSplits (SCM s_0, SC
   {
     arg1 = (Account *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_Account, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   xaccAccountSortSplits(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -5456,7 +5456,7 @@ _wrap_xaccAccountGetFullName (SCM s_0)
   result = (char *)xaccAccountGetFullName((Account const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -5509,7 +5509,7 @@ _wrap_dxaccAccountGetPriceSrc (SCM s_0)
   result = (char *)dxaccAccountGetPriceSrc((Account const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -5533,7 +5533,7 @@ _wrap_xaccAccountGetAutoInterestXfer (SC
   {
     arg1 = (Account *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_Account, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = xaccAccountGetAutoInterestXfer((Account const *)arg1,arg2);
   gswig_result = result ? SCM_BOOL_T : SCM_BOOL_F;
   
@@ -5555,7 +5555,7 @@ _wrap_xaccAccountSetAutoInterestXfer (SC
   {
     arg1 = (Account *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_Account, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   xaccAccountSetAutoInterestXfer(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -5695,7 +5695,7 @@ _wrap_xaccAccountSetNonStdSCU (SCM s_0,
   {
     arg1 = (Account *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_Account, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   xaccAccountSetNonStdSCU(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -5943,7 +5943,7 @@ _wrap_xaccAccountGetBalanceInCurrency (S
   {
     arg2 = (gnc_commodity *)SWIG_MustGetPtr(s_1, SWIGTYPE_p_gnc_commodity, 2, 0);
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
   result = xaccAccountGetBalanceInCurrency((Account const *)arg1,(gnc_commodity const *)arg2,arg3);
   gswig_result = gnc_numeric_to_scm(result);
   
@@ -5971,7 +5971,7 @@ _wrap_xaccAccountGetClearedBalanceInCurr
   {
     arg2 = (gnc_commodity *)SWIG_MustGetPtr(s_1, SWIGTYPE_p_gnc_commodity, 2, 0);
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
   result = xaccAccountGetClearedBalanceInCurrency((Account const *)arg1,(gnc_commodity const *)arg2,arg3);
   gswig_result = gnc_numeric_to_scm(result);
   
@@ -5999,7 +5999,7 @@ _wrap_xaccAccountGetReconciledBalanceInC
   {
     arg2 = (gnc_commodity *)SWIG_MustGetPtr(s_1, SWIGTYPE_p_gnc_commodity, 2, 0);
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
   result = xaccAccountGetReconciledBalanceInCurrency((Account const *)arg1,(gnc_commodity const *)arg2,arg3);
   gswig_result = gnc_numeric_to_scm(result);
   
@@ -6027,7 +6027,7 @@ _wrap_xaccAccountGetPresentBalanceInCurr
   {
     arg2 = (gnc_commodity *)SWIG_MustGetPtr(s_1, SWIGTYPE_p_gnc_commodity, 2, 0);
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
   result = xaccAccountGetPresentBalanceInCurrency((Account const *)arg1,(gnc_commodity const *)arg2,arg3);
   gswig_result = gnc_numeric_to_scm(result);
   
@@ -6055,7 +6055,7 @@ _wrap_xaccAccountGetProjectedMinimumBala
   {
     arg2 = (gnc_commodity *)SWIG_MustGetPtr(s_1, SWIGTYPE_p_gnc_commodity, 2, 0);
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
   result = xaccAccountGetProjectedMinimumBalanceInCurrency((Account const *)arg1,(gnc_commodity const *)arg2,arg3);
   gswig_result = gnc_numeric_to_scm(result);
   
@@ -6087,7 +6087,7 @@ _wrap_xaccAccountGetBalanceAsOfDateInCur
   {
     arg3 = (gnc_commodity *)SWIG_MustGetPtr(s_2, SWIGTYPE_p_gnc_commodity, 3, 0);
   }
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   result = xaccAccountGetBalanceAsOfDateInCurrency(arg1,arg2,arg3,arg4);
   gswig_result = gnc_numeric_to_scm(result);
   
@@ -6119,7 +6119,7 @@ _wrap_xaccAccountGetBalanceChangeForPeri
   {
     arg3 = (time_t) scm_num2int(s_2, SCM_ARG1, FUNC_NAME);
   }
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   result = xaccAccountGetBalanceChangeForPeriod(arg1,arg2,arg3,arg4);
   gswig_result = gnc_numeric_to_scm(result);
   
@@ -6601,7 +6601,7 @@ _wrap_xaccAccountSetReconcileChildrenSta
   {
     arg1 = (Account *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_Account, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   xaccAccountSetReconcileChildrenStatus(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -6763,7 +6763,7 @@ _wrap_xaccAccountTypeEnumAsString (SCM s
   result = (char *)xaccAccountTypeEnumAsString(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -6841,7 +6841,7 @@ _wrap_xaccAccountGetTypeStr (SCM s_0)
   result = (char *)xaccAccountGetTypeStr(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -7559,7 +7559,7 @@ _wrap_xaccAccountSetPlaceholder (SCM s_0
   {
     arg1 = (Account *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_Account, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   xaccAccountSetPlaceholder(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -7625,7 +7625,7 @@ _wrap_xaccAccountSetHidden (SCM s_0, SCM
   {
     arg1 = (Account *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_Account, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   xaccAccountSetHidden(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -7689,7 +7689,7 @@ _wrap_xaccAccountSetTaxRelated (SCM s_0,
   {
     arg1 = (Account *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_Account, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   xaccAccountSetTaxRelated(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -7714,7 +7714,7 @@ _wrap_xaccAccountGetTaxUSCode (SCM s_0)
   result = (char *)xaccAccountGetTaxUSCode((Account const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -7767,7 +7767,7 @@ _wrap_xaccAccountGetTaxUSPayerNameSource
   result = (char *)xaccAccountGetTaxUSPayerNameSource((Account const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -7932,11 +7932,11 @@ _wrap_xaccSplitsBeginStagedTransactionTr
     SCM list = s_0;
     GList *c_list = NULL;
     
-    while (!SCM_NULLP(list)) {
+    while (!scm_is_null(list)) {
       void *p;
       
       SCM p_scm = SCM_CAR(list);
-      if (SCM_FALSEP(p_scm) || SCM_NULLP(p_scm))
+      if (scm_is_false(p_scm) || scm_is_null(p_scm))
       p = NULL;
       else
       p = SWIG_MustGetPtr(p_scm, SWIGTYPE_p_Split, 1, 0);
@@ -8226,7 +8226,7 @@ _wrap_dxaccAccountGetQuoteTZ (SCM s_0)
   result = (char *)dxaccAccountGetQuoteTZ((Account const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -8629,10 +8629,10 @@ _wrap_xaccTransEqual (SCM s_0, SCM s_1,
   {
     arg2 = (Transaction *)SWIG_MustGetPtr(s_1, SWIGTYPE_p_Transaction, 2, 0);
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
-  arg5 = SCM_NFALSEP(s_4) ? TRUE : FALSE;
-  arg6 = SCM_NFALSEP(s_5) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
+  arg5 = scm_is_true(s_4) ? TRUE : FALSE;
+  arg6 = scm_is_true(s_5) ? TRUE : FALSE;
   result = xaccTransEqual((Transaction const *)arg1,(Transaction const *)arg2,arg3,arg4,arg5,arg6);
   gswig_result = result ? SCM_BOOL_T : SCM_BOOL_F;
   
@@ -8990,7 +8990,7 @@ _wrap_xaccTransGetNum (SCM s_0)
   result = (char *)xaccTransGetNum((Transaction const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -9016,7 +9016,7 @@ _wrap_xaccTransGetDescription (SCM s_0)
   result = (char *)xaccTransGetDescription((Transaction const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -9042,7 +9042,7 @@ _wrap_xaccTransGetNotes (SCM s_0)
   result = (char *)xaccTransGetNotes((Transaction const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -9226,7 +9226,7 @@ _wrap_xaccTransGetReadOnly (SCM s_0)
   result = (char *)xaccTransGetReadOnly((Transaction const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -10008,7 +10008,7 @@ _wrap_xaccTransGetVoidReason (SCM s_0)
   result = (char *)xaccTransGetVoidReason((Transaction const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -10695,7 +10695,7 @@ _wrap_gnc_price_get_source (SCM s_0)
   result = (char *)gnc_price_get_source((GNCPrice const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -10721,7 +10721,7 @@ _wrap_gnc_price_get_typestr (SCM s_0)
   result = (char *)gnc_price_get_typestr((GNCPrice const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -10796,7 +10796,7 @@ _wrap_gnc_price_list_insert (SCM s_0, SC
   {
     arg2 = (GNCPrice *)SWIG_MustGetPtr(s_1, SWIGTYPE_p_GNCPrice, 2, 0);
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
   result = gnc_price_list_insert(arg1,arg2,arg3);
   gswig_result = result ? SCM_BOOL_T : SCM_BOOL_F;
   
@@ -10845,11 +10845,11 @@ _wrap_gnc_price_list_destroy (SCM s_0)
     SCM list = s_0;
     GList *c_list = NULL;
     
-    while (!SCM_NULLP(list)) {
+    while (!scm_is_null(list)) {
       void *p;
       
       SCM p_scm = SCM_CAR(list);
-      if (SCM_FALSEP(p_scm) || SCM_NULLP(p_scm))
+      if (scm_is_false(p_scm) || scm_is_null(p_scm))
       p = NULL;
       else
       p = SWIG_MustGetPtr(p_scm, SWIGTYPE_p_GNCPrice, 1, 0);
@@ -10883,11 +10883,11 @@ _wrap_gnc_price_list_equal (SCM s_0, SCM
     SCM list = s_0;
     GList *c_list = NULL;
     
-    while (!SCM_NULLP(list)) {
+    while (!scm_is_null(list)) {
       void *p;
       
       SCM p_scm = SCM_CAR(list);
-      if (SCM_FALSEP(p_scm) || SCM_NULLP(p_scm))
+      if (scm_is_false(p_scm) || scm_is_null(p_scm))
       p = NULL;
       else
       p = SWIG_MustGetPtr(p_scm, SWIGTYPE_p_GNCPrice, 1, 0);
@@ -10902,11 +10902,11 @@ _wrap_gnc_price_list_equal (SCM s_0, SCM
     SCM list = s_1;
     GList *c_list = NULL;
     
-    while (!SCM_NULLP(list)) {
+    while (!scm_is_null(list)) {
       void *p;
       
       SCM p_scm = SCM_CAR(list);
-      if (SCM_FALSEP(p_scm) || SCM_NULLP(p_scm))
+      if (scm_is_false(p_scm) || scm_is_null(p_scm))
       p = NULL;
       else
       p = SWIG_MustGetPtr(p_scm, SWIGTYPE_p_GNCPrice, 1, 0);
@@ -11045,7 +11045,7 @@ _wrap_gnc_pricedb_set_bulk_update (SCM s
   {
     arg1 = (GNCPriceDB *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_gnc_price_db_s, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gnc_pricedb_set_bulk_update(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -11123,8 +11123,8 @@ _wrap_gnc_pricedb_remove_old_prices (SCM
     arg1 = (GNCPriceDB *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_gnc_price_db_s, 1, 0);
   }
   arg2 = gnc_timepair2timespec(s_1);
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   result = gnc_pricedb_remove_old_prices(arg1,arg2,arg3,arg4);
   gswig_result = result ? SCM_BOOL_T : SCM_BOOL_F;
   
@@ -11705,7 +11705,7 @@ _wrap_gnc_pricedb_foreach_price (SCM s_0
   {
     arg3 = (gpointer)SWIG_MustGetPtr(s_2, NULL, 3, 0);
   }
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   result = gnc_pricedb_foreach_price(arg1,arg2,arg3,arg4);
   gswig_result = result ? SCM_BOOL_T : SCM_BOOL_F;
   
@@ -11986,7 +11986,7 @@ _wrap_qof_session_get_url (SCM s_0)
   result = (char *)qof_session_get_url(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -12030,7 +12030,7 @@ _wrap_gnc_print_date (SCM s_0)
   result = (char *)gnc_print_date(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -12313,11 +12313,11 @@ _wrap_xaccQueryAddAccountMatch (SCM s_0,
     SCM list = s_1;
     GList *c_list = NULL;
     
-    while (!SCM_NULLP(list)) {
+    while (!scm_is_null(list)) {
       void *p;
       
       SCM p_scm = SCM_CAR(list);
-      if (SCM_FALSEP(p_scm) || SCM_NULLP(p_scm))
+      if (scm_is_false(p_scm) || scm_is_null(p_scm))
       p = NULL;
       else
       p = SWIG_MustGetPtr(p_scm, SWIGTYPE_p_Account, 1, 0);
@@ -12429,8 +12429,8 @@ _wrap_xaccQueryAddStringMatch (SCM s_0,
     arg2 = (char *)SWIG_scm2str(s_1);
     must_free2 = 1;
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   {
     arg5 = (QofQueryOp) scm_num2int(s_4, SCM_ARG1, FUNC_NAME); 
   }
@@ -12469,8 +12469,8 @@ _wrap_xaccQueryAddDescriptionMatch (SCM
     arg2 = (char *)SWIG_scm2str(s_1);
     must_free2 = 1;
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   {
     arg5 = (QofQueryOp) scm_num2int(s_4, SCM_ARG1, FUNC_NAME); 
   }
@@ -12504,8 +12504,8 @@ _wrap_xaccQueryAddNumberMatch (SCM s_0,
     arg2 = (char *)SWIG_scm2str(s_1);
     must_free2 = 1;
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   {
     arg5 = (QofQueryOp) scm_num2int(s_4, SCM_ARG1, FUNC_NAME); 
   }
@@ -12539,8 +12539,8 @@ _wrap_xaccQueryAddActionMatch (SCM s_0,
     arg2 = (char *)SWIG_scm2str(s_1);
     must_free2 = 1;
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   {
     arg5 = (QofQueryOp) scm_num2int(s_4, SCM_ARG1, FUNC_NAME); 
   }
@@ -12574,8 +12574,8 @@ _wrap_xaccQueryAddMemoMatch (SCM s_0, SC
     arg2 = (char *)SWIG_scm2str(s_1);
     must_free2 = 1;
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   {
     arg5 = (QofQueryOp) scm_num2int(s_4, SCM_ARG1, FUNC_NAME); 
   }
@@ -12773,7 +12773,7 @@ _wrap_xaccQueryAddDateMatch (SCM s_0, SC
   {
     arg1 = (Query *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__QofQuery, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   {
     arg3 = (int) scm_num2int(s_2, SCM_ARG1, FUNC_NAME);
   }
@@ -12783,7 +12783,7 @@ _wrap_xaccQueryAddDateMatch (SCM s_0, SC
   {
     arg5 = (int) scm_num2int(s_4, SCM_ARG1, FUNC_NAME);
   }
-  arg6 = SCM_NFALSEP(s_5) ? TRUE : FALSE;
+  arg6 = scm_is_true(s_5) ? TRUE : FALSE;
   {
     arg7 = (int) scm_num2int(s_6, SCM_ARG1, FUNC_NAME);
   }
@@ -12821,9 +12821,9 @@ _wrap_xaccQueryAddDateMatchTS (SCM s_0,
   {
     arg1 = (Query *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__QofQuery, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   arg3 = gnc_timepair2timespec(s_2);
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   arg5 = gnc_timepair2timespec(s_4);
   {
     arg6 = (QofQueryOp) scm_num2int(s_5, SCM_ARG1, FUNC_NAME); 
@@ -12853,11 +12853,11 @@ _wrap_xaccQueryAddDateMatchTT (SCM s_0,
   {
     arg1 = (Query *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__QofQuery, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   {
     arg3 = (time_t) scm_num2int(s_2, SCM_ARG1, FUNC_NAME);
   }
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   {
     arg5 = (time_t) scm_num2int(s_4, SCM_ARG1, FUNC_NAME);
   }
@@ -13628,7 +13628,7 @@ _wrap_qof_query_add_boolean_match (SCM s
   {
     arg2 = (GSList *)SWIG_MustGetPtr(s_1, SWIGTYPE_p_GSList, 2, 0);
   }
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
   {
     arg4 = (QofQueryOp) scm_num2int(s_3, SCM_ARG1, FUNC_NAME); 
   }
@@ -13991,9 +13991,9 @@ _wrap_qof_query_set_sort_increasing (SCM
   {
     arg1 = (QofQuery *)SWIG_MustGetPtr(s_0, SWIGTYPE_p__QofQuery, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
-  arg3 = SCM_NFALSEP(s_2) ? TRUE : FALSE;
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
+  arg3 = scm_is_true(s_2) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   qof_query_set_sort_increasing(arg1,arg2,arg3,arg4);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -14583,7 +14583,7 @@ _wrap_qof_query_string_predicate (SCM s_
   {
     arg3 = (QofStringMatch) scm_num2int(s_2, SCM_ARG1, FUNC_NAME); 
   }
-  arg4 = SCM_NFALSEP(s_3) ? TRUE : FALSE;
+  arg4 = scm_is_true(s_3) ? TRUE : FALSE;
   result = (QofQueryPredData *)qof_query_string_predicate(arg1,(char const *)arg2,arg3,arg4);
   {
     gswig_result = SWIG_NewPointerObj (result, SWIGTYPE_p__QofQueryPredData, 0);
@@ -14769,7 +14769,7 @@ _wrap_qof_query_boolean_predicate (SCM s
   {
     arg1 = (QofQueryCompare) scm_num2int(s_0, SCM_ARG1, FUNC_NAME); 
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = (QofQueryPredData *)qof_query_boolean_predicate(arg1,arg2);
   {
     gswig_result = SWIG_NewPointerObj (result, SWIGTYPE_p__QofQueryPredData, 0);
@@ -15023,7 +15023,7 @@ _wrap_qof_query_core_to_string (SCM s_0,
   result = (char *)qof_query_core_to_string(arg1,arg2,arg3);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -15503,7 +15503,7 @@ _wrap_gnc_numeric_to_string (SCM s_0)
   result = (gchar *)gnc_numeric_to_string(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -15549,7 +15549,7 @@ _wrap_gnc_build_dotgnucash_path (SCM s_0
   result = (gchar *)gnc_build_dotgnucash_path((char const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -15578,7 +15578,7 @@ _wrap_gnc_build_book_path (SCM s_0)
   result = (gchar *)gnc_build_book_path((char const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -15788,7 +15788,7 @@ _wrap_gnc_budget_get_name (SCM s_0)
   result = (gchar *)gnc_budget_get_name(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -15841,7 +15841,7 @@ _wrap_gnc_budget_get_description (SCM s_
   result = (gchar *)gnc_budget_get_description(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -16207,7 +16207,7 @@ _wrap_gnc_quote_source_set_fq_installed
     SCM path_scm = s_0;
     GList *path = NULL;
     
-    while (!SCM_NULLP (path_scm))
+    while (!scm_is_null (path_scm))
     {
       SCM key_scm = SCM_CAR (path_scm);
       char *key;
@@ -16215,7 +16215,7 @@ _wrap_gnc_quote_source_set_fq_installed
       if (!SCM_STRINGP (key_scm))
       break;
       
-      key = g_strdup (SCM_STRING_CHARS (key_scm));
+      key = g_strdup (scm_to_locale_string (key_scm));
       
       path = g_list_prepend (path, key);
       
@@ -16553,7 +16553,7 @@ _wrap_gnc_quote_source_add_new (SCM s_0,
     arg1 = (char *)SWIG_scm2str(s_0);
     must_free1 = 1;
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = (gnc_quote_source *)gnc_quote_source_add_new((char const *)arg1,arg2);
   {
     gswig_result = SWIG_NewPointerObj (result, SWIGTYPE_p_gnc_quote_source, 0);
@@ -16698,7 +16698,7 @@ _wrap_gnc_quote_source_get_user_name (SC
   result = (char *)gnc_quote_source_get_user_name(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -16724,7 +16724,7 @@ _wrap_gnc_quote_source_get_internal_name
   result = (char *)gnc_quote_source_get_internal_name(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -16750,7 +16750,7 @@ _wrap_gnc_quote_source_get_old_internal_
   result = (char *)gnc_quote_source_get_old_internal_name(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -16899,7 +16899,7 @@ _wrap_gnc_commodity_get_mnemonic (SCM s_
   result = (char *)gnc_commodity_get_mnemonic((gnc_commodity const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -16925,7 +16925,7 @@ _wrap_gnc_commodity_get_namespace (SCM s
   result = (char *)gnc_commodity_get_namespace((gnc_commodity const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -16951,7 +16951,7 @@ _wrap_gnc_commodity_get_namespace_compat
   result = (char *)gnc_commodity_get_namespace_compat((gnc_commodity const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -17000,7 +17000,7 @@ _wrap_gnc_commodity_get_fullname (SCM s_
   result = (char *)gnc_commodity_get_fullname((gnc_commodity const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -17026,7 +17026,7 @@ _wrap_gnc_commodity_get_printname (SCM s
   result = (char *)gnc_commodity_get_printname((gnc_commodity const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -17052,7 +17052,7 @@ _wrap_gnc_commodity_get_cusip (SCM s_0)
   result = (char *)gnc_commodity_get_cusip((gnc_commodity const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -17078,7 +17078,7 @@ _wrap_gnc_commodity_get_unique_name (SCM
   result = (char *)gnc_commodity_get_unique_name((gnc_commodity const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -17220,7 +17220,7 @@ _wrap_gnc_commodity_get_quote_tz (SCM s_
   result = (char *)gnc_commodity_get_quote_tz((gnc_commodity const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -17375,7 +17375,7 @@ _wrap_gnc_commodity_set_quote_flag (SCM
   {
     arg1 = (gnc_commodity *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_gnc_commodity, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gnc_commodity_set_quote_flag(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -17880,7 +17880,7 @@ _wrap_gnc_commodity_namespace_get_name (
   result = (char *)gnc_commodity_namespace_get_name(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -18792,7 +18792,7 @@ _wrap_gnc_lot_get_title (SCM s_0)
   result = (char *)gnc_lot_get_title((GNCLot const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -18818,7 +18818,7 @@ _wrap_gnc_lot_get_notes (SCM s_0)
   result = (char *)gnc_lot_get_notes((GNCLot const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -19101,7 +19101,7 @@ _wrap_gnc_hook_create (SCM s_0, SCM s_1,
   result = (gchar *)gnc_hook_create((char const *)arg1,arg2,(char const *)arg3);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -19130,7 +19130,7 @@ _wrap_gnc_hook_get_description (SCM s_0)
   result = (gchar *)gnc_hook_get_description((char const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
diff -p -up gnucash-2.2.9/src/gnc-module/swig-gnc-module.c.0002~ gnucash-2.2.9/src/gnc-module/swig-gnc-module.c
--- gnucash-2.2.9/src/gnc-module/swig-gnc-module.c.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/gnc-module/swig-gnc-module.c	2010-10-05 15:59:40.000000000 +0200
@@ -767,7 +767,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -784,7 +784,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -800,7 +800,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -820,7 +820,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -833,7 +833,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -849,7 +849,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -911,7 +911,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -924,7 +924,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1157,20 +1157,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }
diff -p -up gnucash-2.2.9/src/gnc-module/test/mod-bar/swig-bar.c.0002~ gnucash-2.2.9/src/gnc-module/test/mod-bar/swig-bar.c
--- gnucash-2.2.9/src/gnc-module/test/mod-bar/swig-bar.c.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/gnc-module/test/mod-bar/swig-bar.c	2010-10-05 15:59:40.000000000 +0200
@@ -767,7 +767,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -784,7 +784,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -800,7 +800,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -820,7 +820,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -833,7 +833,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -849,7 +849,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -911,7 +911,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -924,7 +924,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1157,20 +1157,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }
diff -p -up gnucash-2.2.9/src/gnc-module/test/mod-baz/swig-baz.c.0002~ gnucash-2.2.9/src/gnc-module/test/mod-baz/swig-baz.c
--- gnucash-2.2.9/src/gnc-module/test/mod-baz/swig-baz.c.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/gnc-module/test/mod-baz/swig-baz.c	2010-10-05 15:59:40.000000000 +0200
@@ -767,7 +767,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -784,7 +784,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -800,7 +800,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -820,7 +820,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -833,7 +833,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -849,7 +849,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -911,7 +911,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -924,7 +924,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1157,20 +1157,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }
diff -p -up gnucash-2.2.9/src/gnc-module/test/mod-foo/swig-foo.c.0002~ gnucash-2.2.9/src/gnc-module/test/mod-foo/swig-foo.c
--- gnucash-2.2.9/src/gnc-module/test/mod-foo/swig-foo.c.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/gnc-module/test/mod-foo/swig-foo.c	2010-10-05 15:59:40.000000000 +0200
@@ -767,7 +767,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -784,7 +784,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -800,7 +800,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -820,7 +820,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -833,7 +833,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -849,7 +849,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -911,7 +911,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -924,7 +924,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1157,20 +1157,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }
diff -p -up gnucash-2.2.9/src/gnome/dialog-price-edit-db.c.0002~ gnucash-2.2.9/src/gnome/dialog-price-edit-db.c
--- gnucash-2.2.9/src/gnome/dialog-price-edit-db.c.0002~	2008-09-21 05:20:52.000000000 +0200
+++ gnucash-2.2.9/src/gnome/dialog-price-edit-db.c	2010-10-05 15:48:16.000000000 +0200
@@ -267,13 +267,13 @@ gnc_prices_dialog_get_quotes_clicked (Gt
 
   ENTER(" ");
   quotes_func = scm_c_eval_string ("gnc:book-add-quotes");
-  if (!SCM_PROCEDUREP (quotes_func)) {
+  if (!scm_is_procedure (quotes_func)) {
     LEAVE(" no procedure");
     return;
   }
 
   book_scm = gnc_book_to_scm (pdb_dialog->book);
-  if (SCM_NFALSEP (scm_not (book_scm))) {
+  if (scm_is_true (scm_not (book_scm))) {
     LEAVE("no book");
     return;
   }
diff -p -up gnucash-2.2.9/src/gnome/dialog-progress.c.0002~ gnucash-2.2.9/src/gnome/dialog-progress.c
--- gnucash-2.2.9/src/gnome/dialog-progress.c.0002~	2008-07-23 00:43:12.000000000 +0200
+++ gnucash-2.2.9/src/gnome/dialog-progress.c	2010-10-05 15:48:16.000000000 +0200
@@ -115,7 +115,7 @@ cancel_cb(GtkWidget * widget, gpointer d
 
     result = scm_call_0(progress->cancel_scm_func);
 
-    if (!SCM_NFALSEP(result))
+    if (!scm_is_true(result))
       return;
   }
 
@@ -160,7 +160,7 @@ delete_cb(GtkWidget *widget, GdkEvent  *
 
     result = scm_call_0(progress->cancel_scm_func);
 
-    if (SCM_NFALSEP(result))
+    if (scm_is_true(result))
     {
       if (progress->dialog != NULL)
         gtk_widget_hide(progress->dialog);
@@ -601,7 +601,7 @@ gnc_progress_dialog_set_cancel_scm_func(
   if (progress->cancel_scm_func != SCM_UNDEFINED)
     scm_gc_unprotect_object(progress->cancel_scm_func);
 
-  if (SCM_PROCEDUREP(cancel_scm_func))
+  if (scm_is_procedure(cancel_scm_func))
   {
     progress->cancel_scm_func = cancel_scm_func;
     scm_gc_protect_object(cancel_scm_func);
diff -p -up gnucash-2.2.9/src/gnome/dialog-tax-info.c.0002~ gnucash-2.2.9/src/gnome/dialog-tax-info.c
--- gnucash-2.2.9/src/gnome/dialog-tax-info.c.0002~	2008-01-08 02:06:36.000000000 +0100
+++ gnucash-2.2.9/src/gnome/dialog-tax-info.c	2010-10-05 15:48:16.000000000 +0200
@@ -161,13 +161,13 @@ load_txf_info (gboolean income)
   }
 
   codes = scm_call_1 (getters.codes, category);
-  if (!SCM_LISTP (codes))
+  if (!scm_is_list (codes))
   {
     destroy_txf_infos (infos);
     return NULL;
   }
 
-  while (!SCM_NULLP (codes))
+  while (!scm_is_null (codes))
   {
     TXFInfo *txf_info;
     SCM code_scm;
@@ -191,19 +191,19 @@ load_txf_info (gboolean income)
     else
       txf_info->payer_name_source = g_strdup (str);
 
-    str = SCM_SYMBOLP(code_scm) ? SCM_SYMBOL_CHARS(code_scm) : "";
+    str = scm_is_symbol(code_scm) ? SCM_SYMBOL_CHARS(code_scm) : "";
     txf_info->code = g_strdup (str);
 
     scm = scm_call_2 (getters.form, category, code_scm);
-    str = SCM_STRINGP(scm) ? SCM_STRING_CHARS(scm) : "";
+    str = scm_is_string(scm) ? scm_to_locale_string(scm) : "";
     txf_info->form = g_strdup (str);
 
     scm = scm_call_2 (getters.description, category, code_scm);
-    str = SCM_STRINGP(scm) ? SCM_STRING_CHARS(scm) : "";
+    str = scm_is_string(scm) ? scm_to_locale_string(scm) : "";
     txf_info->description = g_strdup (str);
 
     scm = scm_call_2 (getters.help, category, code_scm);
-    str = SCM_STRINGP(scm) ? SCM_STRING_CHARS(scm) : "";
+    str = scm_is_string(scm) ? scm_to_locale_string(scm) : "";
     txf_info->help = g_strdup (str);
 
     infos = g_list_prepend (infos, txf_info);
diff -p -up gnucash-2.2.9/src/gnome/gnc-plugin-page-register.c.0002~ gnucash-2.2.9/src/gnome/gnc-plugin-page-register.c
--- gnucash-2.2.9/src/gnome/gnc-plugin-page-register.c.0002~	2009-02-18 23:09:43.000000000 +0100
+++ gnucash-2.2.9/src/gnome/gnc-plugin-page-register.c	2010-10-05 15:48:16.000000000 +0200
@@ -1804,7 +1804,7 @@ report_helper (GNCLedgerDisplay *ledger,
   args = SCM_EOL;
 
   func = scm_c_eval_string ("gnc:register-report-create");
-  g_return_val_if_fail (SCM_PROCEDUREP (func), -1);
+  g_return_val_if_fail (scm_is_procedure (func), -1);
 
   arg = scm_makfrom0str (gnc_split_register_get_credit_string (reg));
   args = scm_cons (arg, args);
@@ -1862,7 +1862,7 @@ report_helper (GNCLedgerDisplay *ledger,
 
   /* Apply the function to the args */
   arg = scm_apply (func, args, SCM_EOL);
-  g_return_val_if_fail (SCM_EXACTP (arg), -1);
+  g_return_val_if_fail (scm_is_exact (arg), -1);
 
   return scm_num2int (arg, SCM_ARG1, G_STRFUNC);
 }
diff -p -up gnucash-2.2.9/src/gnome/swig-gnome.c.0002~ gnucash-2.2.9/src/gnome/swig-gnome.c
--- gnucash-2.2.9/src/gnome/swig-gnome.c.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/gnome/swig-gnome.c	2010-10-05 15:59:40.000000000 +0200
@@ -767,7 +767,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -784,7 +784,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -800,7 +800,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -820,7 +820,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -833,7 +833,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -849,7 +849,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -911,7 +911,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -924,7 +924,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1157,20 +1157,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }
@@ -1247,7 +1247,7 @@ _wrap_gnc_progress_dialog_new (SCM s_0,
   {
     arg1 = (GtkWidget *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_GtkWidget, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   result = (GNCProgressDialog *)gnc_progress_dialog_new(arg1,arg2);
   {
     gswig_result = SWIG_NewPointerObj (result, SWIGTYPE_p__GNCProgressDialog, 0);
diff -p -up gnucash-2.2.9/src/gnome-utils/dialog-options.c.0002~ gnucash-2.2.9/src/gnome-utils/dialog-options.c
--- gnucash-2.2.9/src/gnome-utils/dialog-options.c.0002~	2008-12-08 23:10:22.000000000 +0100
+++ gnucash-2.2.9/src/gnome-utils/dialog-options.c	2010-10-05 15:48:16.000000000 +0200
@@ -2152,10 +2152,10 @@ static gboolean
 gnc_option_set_ui_value_boolean (GNCOption *option, gboolean use_default,
 				 GtkWidget *widget, SCM value)
 {
-  if (SCM_BOOLP(value))
+  if (scm_is_bool(value))
   {
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget),
-				 SCM_NFALSEP(value));
+				 scm_is_true(value));
     return FALSE;
   }
   else
@@ -2166,9 +2166,9 @@ static gboolean
 gnc_option_set_ui_value_string (GNCOption *option, gboolean use_default,
 				 GtkWidget *widget, SCM value)
 {
-  if (SCM_STRINGP(value))
+  if (scm_is_string(value))
   {
-    const gchar *string = SCM_STRING_CHARS(value);
+    const gchar *string = scm_to_locale_string(value);
     gtk_entry_set_text(GTK_ENTRY(widget), string);
     return FALSE;
   }
@@ -2187,10 +2187,10 @@ gnc_option_set_ui_value_text (GNCOption
   else
     buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(object));
 
-  if (SCM_STRINGP(value))
+  if (scm_is_string(value))
   {
-    const gchar *string = SCM_STRING_CHARS(value);
-    gtk_text_buffer_set_text (buffer, string, strlen (string));
+    const gchar *string = scm_to_locale_string(value);
+    gtk_text_buffer_set_text (buffer, string, scm_i_string_length(value));
     return FALSE;
   }
   else
@@ -2262,7 +2262,7 @@ gnc_option_set_ui_value_date (GNCOption
 
   date_option_type = gnc_option_date_option_get_subtype(option);
 
-  if (SCM_CONSP(value))
+  if (scm_is_pair(value))
   {
     symbol_str = gnc_date_option_value_get_type (value);
     if (symbol_str)
@@ -2400,7 +2400,7 @@ gnc_option_set_ui_value_list (GNCOption
   selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widget));
   gtk_tree_selection_unselect_all(selection);
 
-  while (SCM_LISTP(value) && !SCM_NULLP(value))
+  while (scm_is_list(value) && !scm_is_null(value))
   {
     SCM item;
 
@@ -2418,7 +2418,7 @@ gnc_option_set_ui_value_list (GNCOption
     gtk_tree_path_free(path);
   }
 
-  if (!SCM_LISTP(value) || !SCM_NULLP(value))
+  if (!scm_is_list(value) || !scm_is_null(value))
     return TRUE;
 
   return FALSE;
@@ -2433,7 +2433,7 @@ gnc_option_set_ui_value_number_range (GN
 
   spinner = GTK_SPIN_BUTTON(widget);
 
-  if (SCM_NUMBERP(value))
+  if (scm_is_number(value))
   {
     d_value = scm_num2dbl(value, G_STRFUNC);
     gtk_spin_button_set_value(spinner, d_value);
@@ -2474,9 +2474,9 @@ static gboolean
 gnc_option_set_ui_value_font (GNCOption *option, gboolean use_default,
 				 GtkWidget *widget, SCM value)
 {
-  if (SCM_STRINGP(value))
+  if (scm_is_string(value))
   {
-    const gchar *string = SCM_STRING_CHARS(value);
+    const gchar *string = scm_to_locale_string(value);
     if ((string != NULL) && (*string != '\0'))
     {
       GtkFontButton *font_button = GTK_FONT_BUTTON(widget);
@@ -2493,9 +2493,9 @@ gnc_option_set_ui_value_pixmap (GNCOptio
 				 GtkWidget *widget, SCM value)
 {
   ENTER("option %p(%s)", option, gnc_option_name(option));
-  if (SCM_STRINGP(value))
+  if (scm_is_string(value))
   {
-    const gchar *string = SCM_STRING_CHARS(value);
+    const gchar *string = scm_to_locale_string(value);
 
     if (string && *string)
     {
@@ -2524,7 +2524,7 @@ static gboolean gnc_option_set_ui_value_
     GtkTreeModel *tm;
     GtkTreeIter iter;
 
-    if (!SCM_NULLP(value)) {
+    if (!scm_is_null(value)) {
         if (!SWIG_IsPointer(value))
             scm_misc_error("gnc_option_set_ui_value_budget",
                            "Option Value not a wcp.", value);
diff -p -up gnucash-2.2.9/src/gnome-utils/gnc-main-window.c.0002~ gnucash-2.2.9/src/gnome-utils/gnc-main-window.c
--- gnucash-2.2.9/src/gnome-utils/gnc-main-window.c.0002~	2009-02-18 23:09:43.000000000 +0100
+++ gnucash-2.2.9/src/gnome-utils/gnc-main-window.c	2010-10-05 15:48:16.000000000 +0200
@@ -3132,7 +3132,7 @@ static void
 gnc_main_window_cmd_file_properties (GtkAction *action, GncMainWindow *window)
 {
   SCM func = scm_c_eval_string("gnc:main-window-properties-cb");
-  if (!SCM_PROCEDUREP (func)) {
+  if (!scm_is_procedure (func)) {
       PERR ("not a procedure\n");
       return;
   }
diff -p -up gnucash-2.2.9/src/gnome-utils/gnc-menu-extensions.c.0002~ gnucash-2.2.9/src/gnome-utils/gnc-menu-extensions.c
--- gnucash-2.2.9/src/gnome-utils/gnc-menu-extensions.c.0002~	2008-01-08 02:06:26.000000000 +0100
+++ gnucash-2.2.9/src/gnome-utils/gnc-menu-extensions.c	2010-10-05 15:48:16.000000000 +0200
@@ -132,7 +132,7 @@ gnc_extension_path (SCM extension, char
   initialize_getters();
 
   path = gnc_guile_call1_to_list(getters.path, extension);
-  if ((path == SCM_UNDEFINED) || SCM_NULLP(path)) {
+  if ((path == SCM_UNDEFINED) || scm_is_null(path)) {
     *fullpath = g_strdup("");
     return;
   }
@@ -142,19 +142,19 @@ gnc_extension_path (SCM extension, char
   strings[0] = "/menubar";
 
   i = 1;
-  while (!SCM_NULLP(path))
+  while (!scm_is_null(path))
   {
     SCM item;
 
     item = SCM_CAR(path);
     path = SCM_CDR(path);
 
-    if (SCM_STRINGP(item))
+    if (scm_is_string(item))
     {
       if (i == 1)
-	strings[i] = g_strdup(SCM_STRING_CHARS(item));
+	strings[i] = g_strdup(scm_to_locale_string(item));
       else
-	strings[i] = g_strdup(gettext(SCM_STRING_CHARS(item)));
+	strings[i] = g_strdup(gettext(scm_to_locale_string(item)));
     }
     else
     {
diff -p -up gnucash-2.2.9/src/gnome-utils/swig-gnome-utils.c.0002~ gnucash-2.2.9/src/gnome-utils/swig-gnome-utils.c
--- gnucash-2.2.9/src/gnome-utils/swig-gnome-utils.c.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/gnome-utils/swig-gnome-utils.c	2010-10-05 15:59:40.000000000 +0200
@@ -767,7 +767,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -784,7 +784,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -800,7 +800,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -820,7 +820,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -833,7 +833,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -849,7 +849,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -911,7 +911,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -924,7 +924,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1157,20 +1157,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }
@@ -1512,7 +1512,7 @@ _wrap_GNCURLResult_load_to_stream_set (S
   {
     arg1 = (GNCURLResult *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_GNCURLResult, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   if (arg1) (arg1)->load_to_stream = arg2;
   gswig_result = SCM_UNSPECIFIED;
   
@@ -1593,7 +1593,7 @@ _wrap_GNCURLResult_url_type_get (SCM s_0
   result = (URLType) ((arg1)->url_type);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1654,7 +1654,7 @@ _wrap_GNCURLResult_location_get (SCM s_0
   result = (char *) ((arg1)->location);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1715,7 +1715,7 @@ _wrap_GNCURLResult_label_get (SCM s_0)
   result = (char *) ((arg1)->label);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1776,7 +1776,7 @@ _wrap_GNCURLResult_base_type_get (SCM s_
   result = (URLType) ((arg1)->base_type);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1837,7 +1837,7 @@ _wrap_GNCURLResult_base_location_get (SC
   result = (char *) ((arg1)->base_location);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -1898,7 +1898,7 @@ _wrap_GNCURLResult_error_message_get (SC
   result = (char *) ((arg1)->error_message);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2021,7 +2021,7 @@ _wrap_gnc_html_show_url (SCM s_0, SCM s_
     arg4 = (char *)SWIG_scm2str(s_3);
     must_free4 = 1;
   }
-  arg5 = SCM_NFALSEP(s_4) ? TRUE : FALSE;
+  arg5 = scm_is_true(s_4) ? TRUE : FALSE;
   gnc_html_show_url(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
   gswig_result = SCM_UNSPECIFIED;
   
@@ -2202,7 +2202,7 @@ _wrap_gnc_build_url (SCM s_0, SCM s_1, S
   result = (char *)gnc_build_url(arg1,(char const *)arg2,(char const *)arg3);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2470,7 +2470,7 @@ _wrap_gnc_html_parse_url (SCM s_0, SCM s
   result = (URLType)gnc_html_parse_url(arg1,(char const *)arg2,arg3,arg4);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2501,7 +2501,7 @@ _wrap_gnc_html_encode_string (SCM s_0)
   result = (char *)gnc_html_encode_string((char const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2529,7 +2529,7 @@ _wrap_gnc_html_decode_string (SCM s_0)
   result = (char *)gnc_html_decode_string((char const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2557,7 +2557,7 @@ _wrap_gnc_html_escape_newlines (SCM s_0)
   result = (char *)gnc_html_escape_newlines((char const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2585,7 +2585,7 @@ _wrap_gnc_html_unescape_newlines (SCM s_
   result = (char *)gnc_html_unescape_newlines((char const *)arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2611,7 +2611,7 @@ _wrap_gnc_html_pack_form_data (SCM s_0)
   result = (char *)gnc_html_pack_form_data(arg1);
   {
     gswig_result = scm_makfrom0str((const char *)result);
-    if (!SCM_NFALSEP(gswig_result)) {
+    if (!scm_is_true(gswig_result)) {
       gswig_result = scm_makstr(0, 0);
     }
   }
@@ -2980,7 +2980,7 @@ _wrap_gnc_verify_dialog (SCM s_0, SCM s_
   {
     arg1 = (GtkWidget *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_GtkWidget, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   {
     arg3 = (gchar *)SWIG_scm2str(s_2);
     must_free3 = 1;
@@ -3108,7 +3108,7 @@ _wrap_gnc_set_busy_cursor (SCM s_0, SCM
   {
     arg1 = (GtkWidget *)SWIG_MustGetPtr(s_0, SWIGTYPE_p_GtkWidget, 1, 0);
   }
-  arg2 = SCM_NFALSEP(s_1) ? TRUE : FALSE;
+  arg2 = scm_is_true(s_1) ? TRUE : FALSE;
   gnc_set_busy_cursor(arg1,arg2);
   gswig_result = SCM_UNSPECIFIED;
   
diff -p -up gnucash-2.2.9/src/guile-mappings.h.0002~ gnucash-2.2.9/src/guile-mappings.h
--- gnucash-2.2.9/src/guile-mappings.h.0002~	2008-01-08 02:06:47.000000000 +0100
+++ gnucash-2.2.9/src/guile-mappings.h	2010-10-05 15:48:17.000000000 +0200
@@ -19,7 +19,7 @@
 
 /* Convenience macros */
 
-#define SCM_EQUALP(obj1,obj2)	SCM_NFALSEP(scm_equal_p(obj1,obj2))
-#define SCM_EXACTP(obj)		SCM_NFALSEP(scm_exact_p(obj))
-#define SCM_LISTP(obj)		SCM_NFALSEP(scm_list_p(obj))
-#define SCM_PROCEDUREP(obj)	SCM_NFALSEP(scm_procedure_p(obj))
+#define scm_is_equal(obj1,obj2)	scm_is_true(scm_equal_p(obj1,obj2))
+#define scm_is_exact(obj)	scm_is_true(scm_exact_p(obj))
+#define scm_is_list(obj)	scm_is_true(scm_list_p(obj))
+#define scm_is_procedure(obj)	scm_is_true(scm_procedure_p(obj))
diff -p -up gnucash-2.2.9/src/import-export/qif-import/dialog-account-picker.c.0002~ gnucash-2.2.9/src/import-export/qif-import/dialog-account-picker.c
--- gnucash-2.2.9/src/import-export/qif-import/dialog-account-picker.c.0002~	2008-07-23 00:43:06.000000000 +0200
+++ gnucash-2.2.9/src/import-export/qif-import/dialog-account-picker.c	2010-10-05 15:48:16.000000000 +0200
@@ -70,27 +70,27 @@ acct_tree_add_accts(SCM accts,
                     GtkTreeRowReference **reference)
 {
   GtkTreeIter  iter;
-  char         * compname;
+  const char   * compname;
   char         * acctname;
   gboolean     leafnode;
   SCM          current;
   gboolean     checked;
 
-  while(!SCM_NULLP(accts)) {
+  while(!scm_is_null(accts)) {
     current = SCM_CAR(accts);
 
-    if(SCM_NULLP(current)) {
+    if(scm_is_null(current)) {
       g_critical("QIF import: BUG DETECTED in acct_tree_add_accts!");
       accts = SCM_CDR(accts);
       continue;
     }
 
-    if (SCM_STRINGP(SCM_CAR(current)))
-      compname = SCM_STRING_CHARS(SCM_CAR(current));
+    if (scm_is_string(SCM_CAR(current)))
+      compname = scm_to_locale_string(SCM_CAR(current));
     else
       compname = "";
 
-    if (!SCM_NULLP(SCM_CADDR(current))) {
+    if (!scm_is_null(SCM_CADDR(current))) {
       leafnode = FALSE;
     }
     else {
@@ -309,7 +309,7 @@ qif_account_picker_dialog(QIFImportWindo
   scm_gc_protect_object(wind->map_entry);
 
   /* Set the initial account to be selected. */
-  wind->selected_name = g_strdup(SCM_STRING_CHARS(orig_acct));
+  wind->selected_name = g_strdup(scm_to_locale_string(orig_acct));
 
 
   xml = gnc_glade_xml_new("qif.glade", "QIF Import Account Picker");
diff -p -up gnucash-2.2.9/src/import-export/qif-import/druid-qif-import.c.0002~ gnucash-2.2.9/src/import-export/qif-import/druid-qif-import.c
--- gnucash-2.2.9/src/import-export/qif-import/druid-qif-import.c.0002~	2008-09-21 05:20:50.000000000 +0200
+++ gnucash-2.2.9/src/import-export/qif-import/druid-qif-import.c	2010-10-05 15:48:17.000000000 +0200
@@ -236,9 +236,9 @@ update_account_picker_page(QIFImportWind
   /* clear the list */
   gtk_list_store_clear(store);
 
-  while(!SCM_NULLP(accts_left)) {
-    qif_name = SCM_STRING_CHARS(scm_call_1(get_qif_name, SCM_CAR(accts_left)));
-    gnc_name = SCM_STRING_CHARS(scm_call_1(get_gnc_name, SCM_CAR(accts_left)));
+  while(!scm_is_null(accts_left)) {
+    qif_name = scm_to_locale_string(scm_call_1(get_qif_name, SCM_CAR(accts_left)));
+    gnc_name = scm_to_locale_string(scm_call_1(get_gnc_name, SCM_CAR(accts_left)));
     checked  = (scm_call_1(get_new, SCM_CAR(accts_left)) == SCM_BOOL_T);
 
     gtk_list_store_append(store, &iter);
@@ -489,7 +489,7 @@ get_prev_druid_page(QIFImportWindow * wi
   }
 
   /* If no duplicates were found, skip all post-conversion pages. */
-  if (where == 3 && SCM_NULLP(wind->match_transactions))
+  if (where == 3 && scm_is_null(wind->match_transactions))
     prev = NULL;
   else
     prev = current->prev;
@@ -651,7 +651,7 @@ gnc_ui_qif_import_load_file_back_cb(Gnom
 {
   QIFImportWindow * wind = user_data;
 
-  if (SCM_LISTP(wind->imported_files) &&
+  if (scm_is_list(wind->imported_files) &&
       (scm_ilength(wind->imported_files) > 0)) {
     gnome_druid_set_page(GNOME_DRUID(wind->druid),
                          get_named_page(wind, "loaded_files_page"));
@@ -828,7 +828,7 @@ gnc_ui_qif_import_load_progress_show_cb(
     wind->busy = FALSE;
     return;
   }
-  else if (load_return == SCM_BOOL_F || !SCM_LISTP(load_return))
+  else if (load_return == SCM_BOOL_F || !scm_is_list(load_return))
   {
     /* A bug was detected. */
 
@@ -847,9 +847,9 @@ gnc_ui_qif_import_load_progress_show_cb(
     wind->busy = FALSE;
     return;
   }
-  else if (!SCM_NULLP(load_return))
+  else if (!scm_is_null(load_return))
   {
-    const gchar *str = SCM_STRING_CHARS(SCM_CADR(load_return));
+    const gchar *str = scm_to_locale_string(SCM_CADR(load_return));
 
     if (SCM_CAR(load_return) == SCM_BOOL_F)
     {
@@ -901,7 +901,7 @@ gnc_ui_qif_import_load_progress_show_cb(
     wind->busy = FALSE;
     return;
   }
-  else if (parse_return == SCM_BOOL_F || !SCM_LISTP(parse_return))
+  else if (parse_return == SCM_BOOL_F || !scm_is_list(parse_return))
   {
     /* A bug was detected. */
 
@@ -924,7 +924,7 @@ gnc_ui_qif_import_load_progress_show_cb(
     wind->busy = FALSE;
     return;
   }
-  else if (!SCM_NULLP(parse_return))
+  else if (!scm_is_null(parse_return))
   {
     /* Are there only warnings? */
     if (SCM_CAR(parse_return) == SCM_BOOL_T)
@@ -949,7 +949,7 @@ gnc_ui_qif_import_load_progress_show_cb(
           gtk_combo_box_remove_text(GTK_COMBO_BOX(wind->date_format_combo), 0);
 
         /* Add the formats for the user to select from. */
-        while(SCM_LISTP(date_formats) && !SCM_NULLP(date_formats))
+        while(scm_is_list(date_formats) && !scm_is_null(date_formats))
         {
           gtk_combo_box_append_text(GTK_COMBO_BOX(wind->date_format_combo),
                                     SCM_SYMBOL_CHARS(SCM_CAR(date_formats)));
@@ -1061,7 +1061,7 @@ gnc_ui_qif_import_load_progress_next_cb(
     const gchar * default_acctname;
 
     /* Go to the "ask account name" page. */
-    default_acctname = SCM_STRING_CHARS(scm_call_1(default_acct,
+    default_acctname = scm_to_locale_string(scm_call_1(default_acct,
                                                    wind->selected_file));
     gtk_entry_set_text(GTK_ENTRY(wind->acct_entry), default_acctname);
 
@@ -1162,7 +1162,7 @@ gnc_ui_qif_import_date_format_next_cb(Gn
     SCM default_acct = scm_c_eval_string("qif-file:path-to-accountname");
     const gchar * default_acctname;
 
-    default_acctname = SCM_STRING_CHARS(scm_call_1(default_acct,
+    default_acctname = scm_to_locale_string(scm_call_1(default_acct,
                                                    wind->selected_file));
     gtk_entry_set_text(GTK_ENTRY(wind->acct_entry), default_acctname);
 
@@ -1193,7 +1193,7 @@ update_file_page(QIFImportWindow * wind)
   SCM       scm_qiffile = SCM_BOOL_F;
   SCM       qif_file_path;
   int       row = 0;
-  char      * row_text;
+  const char  * row_text;
   GtkTreeView *view;
   GtkListStore *store;
   GtkTreeIter iter;
@@ -1206,9 +1206,9 @@ update_file_page(QIFImportWindow * wind)
   gtk_list_store_clear(store);
   qif_file_path = scm_c_eval_string("qif-file:path");
 
-  while(!SCM_NULLP(loaded_file_list)) {
+  while(!scm_is_null(loaded_file_list)) {
     scm_qiffile = SCM_CAR(loaded_file_list);
-    row_text    = SCM_STRING_CHARS(scm_call_1(qif_file_path, scm_qiffile));
+    row_text    = scm_to_locale_string(scm_call_1(qif_file_path, scm_qiffile));
 
     gtk_list_store_append(store, &iter);
     gtk_list_store_set(store, &iter,
@@ -1254,7 +1254,7 @@ gnc_ui_qif_import_select_loaded_file_cb(
   button = gnc_glade_lookup_widget(wind->window, "unload_file_button");
   if (gtk_tree_selection_get_selected(selection, &model, &iter)) {
     gtk_tree_model_get(model, &iter, FILENAME_COL_INDEX, &row, -1);
-    if (SCM_LISTP(wind->imported_files) &&
+    if (scm_is_list(wind->imported_files) &&
        (scm_ilength(wind->imported_files) > row)) {
       scm_gc_unprotect_object(wind->selected_file);
       wind->selected_file = scm_list_ref(wind->imported_files,
@@ -1799,11 +1799,11 @@ gnc_ui_qif_import_account_next_cb(GnomeD
   QIFImportWindow * wind = user_data;
 
   /* If there are category mappings then proceed as usual. */
-  if (SCM_LISTP(wind->cat_display_info) && !SCM_NULLP(wind->cat_display_info))
+  if (scm_is_list(wind->cat_display_info) && !scm_is_null(wind->cat_display_info))
     return gnc_ui_qif_import_generic_next_cb(page, arg1, user_data);
 
   /* If there are memo mappings then skip to that step. */
-  if (SCM_LISTP(wind->memo_display_info) && !SCM_NULLP(wind->memo_display_info))
+  if (scm_is_list(wind->memo_display_info) && !scm_is_null(wind->memo_display_info))
   {
     if (wind->show_doc_pages)
       gnome_druid_set_page(GNOME_DRUID(wind->druid),
@@ -1859,7 +1859,7 @@ gnc_ui_qif_import_category_next_cb(Gnome
   QIFImportWindow * wind = user_data;
 
   /* If there aren't any payee/memo mappings then skip that step. */
-  if (!SCM_LISTP(wind->memo_display_info) || SCM_NULLP(wind->memo_display_info))
+  if (!scm_is_list(wind->memo_display_info) || scm_is_null(wind->memo_display_info))
   {
     gnome_druid_set_page(GNOME_DRUID(wind->druid),
                          get_named_page(wind, "currency_page"));
@@ -1906,7 +1906,7 @@ gnc_ui_qif_import_memo_doc_back_cb(Gnome
   QIFImportWindow * wind = user_data;
 
   /* If there are no categories to show, go to account matching. */
-  if (!SCM_LISTP(wind->cat_display_info) || SCM_NULLP(wind->cat_display_info))
+  if (!scm_is_list(wind->cat_display_info) || scm_is_null(wind->cat_display_info))
   {
 
     gnome_druid_set_page(GNOME_DRUID(wind->druid),
@@ -1933,7 +1933,7 @@ gnc_ui_qif_import_memo_back_cb(GnomeDrui
   /* If documentation is off and there are no categories to show,
    * skip directly to account matching. */
   if (!wind->show_doc_pages &&
-      (!SCM_LISTP(wind->cat_display_info) || SCM_NULLP(wind->cat_display_info)))
+      (!scm_is_list(wind->cat_display_info) || scm_is_null(wind->cat_display_info)))
   {
 
     gnome_druid_set_page(GNOME_DRUID(wind->druid),
@@ -2003,7 +2003,7 @@ gnc_ui_qif_import_currency_back_cb(Gnome
   QIFImportWindow * wind = user_data;
 
   /* If there are payee/memo mappings to display, go there. */
-  if (SCM_LISTP(wind->memo_display_info) && !SCM_NULLP(wind->memo_display_info))
+  if (scm_is_list(wind->memo_display_info) && !scm_is_null(wind->memo_display_info))
   {
     gnome_druid_set_page(GNOME_DRUID(wind->druid),
                          get_named_page(wind, "memo_match_page"));
@@ -2011,7 +2011,7 @@ gnc_ui_qif_import_currency_back_cb(Gnome
   }
 
   /* If there are category mappings to display, go there. */
-  if (SCM_LISTP(wind->cat_display_info) && !SCM_NULLP(wind->cat_display_info))
+  if (scm_is_list(wind->cat_display_info) && !scm_is_null(wind->cat_display_info))
   {
     gnome_druid_set_page(GNOME_DRUID(wind->druid),
                          get_named_page(wind, "category_match_page"));
@@ -2279,7 +2279,7 @@ prepare_security_pages(QIFImportWindow *
   gnc_set_busy_cursor(NULL, TRUE);
   securities = wind->new_securities;
   current = wind->commodity_pages;
-  while (!SCM_NULLP(securities) && (securities != SCM_BOOL_F))
+  while (!scm_is_null(securities) && (securities != SCM_BOOL_F))
   {
     if (current)
     {
@@ -2430,12 +2430,12 @@ gnc_ui_qif_import_prepare_duplicates(QIF
   store = GTK_LIST_STORE(gtk_tree_view_get_model(view));
   gtk_list_store_clear(store);
 
-  if (!SCM_LISTP(wind->match_transactions))
+  if (!scm_is_list(wind->match_transactions))
     return;
 
   /* Loop through the list of new, potentially duplicate transactions. */
   duplicates = wind->match_transactions;
-  while (!SCM_NULLP(duplicates))
+  while (!scm_is_null(duplicates))
   {
     current_xtn = SCM_CAAR(duplicates);
     #define FUNC_NAME "xaccTransCountSplits"
@@ -2643,7 +2643,7 @@ gnc_ui_qif_import_convert_progress_show_
     wind->busy = FALSE;
     return;
   }
-  else if (SCM_SYMBOLP(retval))
+  else if (scm_is_symbol(retval))
   {
     /* An error was encountered during conversion. */
 
@@ -2789,7 +2789,7 @@ gnc_ui_qif_import_convert_progress_next_
 {
   QIFImportWindow *wind = user_data;
 
-  if (SCM_NULLP(wind->match_transactions))
+  if (scm_is_null(wind->match_transactions))
   {
     /* No potential duplicates, so skip to the last page. */
     gnome_druid_set_page(GNOME_DRUID(wind->druid),
@@ -2881,7 +2881,7 @@ refresh_old_transactions(QIFImportWindow
     scm_call_2(scm_c_eval_string("qif-import:refresh-match-selection"),
                possible_matches, scm_int2num(selection));
 
-    while(!SCM_NULLP(possible_matches)) {
+    while(!scm_is_null(possible_matches)) {
       current_xtn = SCM_CAR(possible_matches);
       #define FUNC_NAME "xaccTransCountSplits"
       gnc_xtn     = SWIG_MustGetPtr(SCM_CAR(current_xtn),
diff -p -up gnucash-2.2.9/src/report/report-gnome/dialog-column-view.c.0002~ gnucash-2.2.9/src/report/report-gnome/dialog-column-view.c
--- gnucash-2.2.9/src/report/report-gnome/dialog-column-view.c.0002~	2009-02-18 23:09:42.000000000 +0100
+++ gnucash-2.2.9/src/report/report-gnome/dialog-column-view.c	2010-10-05 15:48:16.000000000 +0200
@@ -125,7 +125,7 @@ update_display_lists(gnc_column_view_edi
   /* Update the list of available reports (left selection box). */
   row = view->available_selected;
 
-  if(SCM_LISTP(view->available_list) && !SCM_NULLP (view->available_list)) {
+  if(scm_is_list(view->available_list) && !scm_is_null (view->available_list)) {
     row = MIN (row, scm_ilength (view->available_list) - 1);
     selection = scm_list_ref (view->available_list, scm_int2num (row));
   }
@@ -139,11 +139,11 @@ update_display_lists(gnc_column_view_edi
 
   store = GTK_LIST_STORE(gtk_tree_view_get_model(view->available));
   gtk_list_store_clear(store);
-  if(SCM_LISTP(names)) {
-    for(i = 0; !SCM_NULLP(names); names = SCM_CDR(names), i++) {
-      if (SCM_EQUALP (SCM_CAR(names), selection))
+  if(scm_is_list(names)) {
+    for(i = 0; !scm_is_null(names); names = SCM_CDR(names), i++) {
+      if (scm_is_equal (SCM_CAR(names), selection))
         row = i;
-      name = _(SCM_STRING_CHARS(scm_call_1(template_menu_name, SCM_CAR(names))));
+      name = _(scm_to_locale_string(scm_call_1(template_menu_name, SCM_CAR(names))));
       gtk_list_store_append(store, &iter);
       gtk_list_store_set(store, &iter,
 			 AVAILABLE_COL_NAME, name,
@@ -161,7 +161,7 @@ update_display_lists(gnc_column_view_edi
   /* Update the list of selected reports (right selection box). */
   row = view->contents_selected;
 
-  if(SCM_LISTP(view->contents_list) && !SCM_NULLP (view->contents_list)) {
+  if(scm_is_list(view->contents_list) && !scm_is_null (view->contents_list)) {
     row = MIN (row, scm_ilength (view->contents_list) - 1);
     selection = scm_list_ref (view->contents_list, scm_int2num (row));
   }
@@ -175,14 +175,14 @@ update_display_lists(gnc_column_view_edi
 
   store = GTK_LIST_STORE(gtk_tree_view_get_model(view->contents));
   gtk_list_store_clear(store);
-  if(SCM_LISTP(contents)) {
-    for(i = 0; !SCM_NULLP(contents); contents = SCM_CDR(contents), i++) {
-      if (SCM_EQUALP (SCM_CAR(contents), selection))
+  if(scm_is_list(contents)) {
+    for(i = 0; !scm_is_null(contents); contents = SCM_CDR(contents), i++) {
+      if (scm_is_equal (SCM_CAR(contents), selection))
         row = i;
 
       id = scm_num2int(SCM_CAAR(contents), SCM_ARG1, G_STRFUNC);
       this_report = gnc_report_find(id);
-      name = _(SCM_STRING_CHARS(scm_call_1(report_menu_name, this_report)));
+      name = _(scm_to_locale_string(scm_call_1(report_menu_name, this_report)));
 
       gtk_list_store_append(store, &iter);
       gtk_list_store_set
@@ -404,7 +404,7 @@ gnc_column_view_edit_add_cb(GtkButton *
   int count;
   int oldlength, id;
   
-  if(SCM_LISTP(r->available_list) && 
+  if(scm_is_list(r->available_list) && 
      (scm_ilength(r->available_list) > r->available_selected)) {
     template_name = scm_list_ref(r->available_list, 
                                 scm_int2num(r->available_selected));
@@ -459,7 +459,7 @@ gnc_column_view_edit_remove_cb(GtkButton
   int count;
   int oldlength;
   
-  if(SCM_LISTP(r->contents_list)) {
+  if(scm_is_list(r->contents_list)) {
     oldlength = scm_ilength(r->contents_list);
     if(oldlength > r->contents_selected) {
       for(count=0; count < r->contents_selected; count++) {
diff -p -up gnucash-2.2.9/src/report/report-gnome/dialog-style-sheet.c.0002~ gnucash-2.2.9/src/report/report-gnome/dialog-style-sheet.c
--- gnucash-2.2.9/src/report/report-gnome/dialog-style-sheet.c.0002~	2008-09-21 05:20:50.000000000 +0200
+++ gnucash-2.2.9/src/report/report-gnome/dialog-style-sheet.c	2010-10-05 15:48:16.000000000 +0200
@@ -71,15 +71,15 @@ dirty_same_stylesheet(gpointer key, gpoi
     SCM func = NULL;
 
     func = scm_c_eval_string("gnc:report-stylesheet");
-    if (SCM_PROCEDUREP(func))
+    if (scm_is_procedure(func))
         rep_ss = scm_call_1(func, report);
     else
         return;
 
-    if (SCM_NFALSEP(scm_eq_p(rep_ss, dirty_ss))) {
+    if (scm_is_true(scm_eq_p(rep_ss, dirty_ss))) {
         func = scm_c_eval_string("gnc:report-set-dirty?!");
         /* This makes _me_ feel dirty! */
-        if (SCM_PROCEDUREP(func))
+        if (scm_is_procedure(func))
             scm_call_2(func, report, SCM_BOOL_T);
     }
 }
@@ -191,10 +191,10 @@ gnc_style_sheet_new (StyleSheetDialog *
   gtk_list_store_clear(GTK_LIST_STORE(template_model));
 
   /* put in the list of style sheet type names */
-  for(; !SCM_NULLP(templates); templates=SCM_CDR(templates)) {
+  for(; !scm_is_null(templates); templates=SCM_CDR(templates)) {
     SCM t = SCM_CAR(templates);
     gtk_combo_box_append_text(GTK_COMBO_BOX(template_combo),
-			      SCM_STRING_CHARS(scm_call_1(t_name, t)));
+		    scm_to_locale_string(scm_call_1(t_name, t)));
   }
   gtk_combo_box_set_active(GTK_COMBO_BOX(template_combo), 0);
   
@@ -233,7 +233,7 @@ gnc_style_sheet_select_dialog_add_one(St
 
   get_name = scm_c_eval_string("gnc:html-style-sheet-name");
   scm_name = scm_call_1(get_name, sheet_info);
-  c_name = SCM_STRING_CHARS(scm_name);
+  c_name = scm_to_locale_string(scm_name);
   if (!c_name)
     return;
 
@@ -258,7 +258,7 @@ gnc_style_sheet_select_dialog_fill(Style
   SCM sheet_info;
 
   /* pack it full of content */
-  for(; !SCM_NULLP(stylesheets); stylesheets=SCM_CDR(stylesheets)) {
+  for(; !scm_is_null(stylesheets); stylesheets=SCM_CDR(stylesheets)) {
     sheet_info = SCM_CAR(stylesheets);
     gnc_style_sheet_select_dialog_add_one(ss, sheet_info, FALSE);
   }
diff -p -up gnucash-2.2.9/src/report/report-gnome/gnc-plugin-page-report.c.0002~ gnucash-2.2.9/src/report/report-gnome/gnc-plugin-page-report.c
--- gnucash-2.2.9/src/report/report-gnome/gnc-plugin-page-report.c.0002~	2008-12-08 23:10:21.000000000 +0100
+++ gnucash-2.2.9/src/report/report-gnome/gnc-plugin-page-report.c	2010-10-05 15:48:16.000000000 +0200
@@ -696,7 +696,7 @@ gnc_plugin_page_report_save_page (GncPlu
 	report = GNC_PLUGIN_PAGE_REPORT(plugin_page);
         priv = GNC_PLUGIN_PAGE_REPORT_GET_PRIVATE(report);
 
-        if (!priv || !priv->cur_report || SCM_NULLP(priv->cur_report) || 
+        if (!priv || !priv->cur_report || scm_is_null(priv->cur_report) || 
             SCM_UNBNDP(priv->cur_report) || SCM_BOOL_F == priv->cur_report) {
             LEAVE("not saving invalid report");
             return;
@@ -709,30 +709,30 @@ gnc_plugin_page_report_save_page (GncPlu
 	while (count-- > 0) {
 	  item = SCM_CAR(embedded);
 	  embedded = SCM_CDR(embedded);
-	  if (!SCM_NUMBERP(item))
+	  if (!scm_is_number(item))
 	    continue;
 	  id = SCM_INUM(item);
 	  tmp_report = gnc_report_find(id);
 	  scm_text = scm_call_1(gen_save_text, tmp_report);
-	  if (!SCM_STRINGP (scm_text)) {
+	  if (!scm_is_string (scm_text)) {
 	    DEBUG("child report %d: nothing to save", id);
 	    continue;
 	  }
 
 	  key_name = g_strdup_printf(SCHEME_OPTIONS_N, id);
-	  text = gnc_guile_strip_comments(SCM_STRING_CHARS(scm_text));
+	  text = gnc_guile_strip_comments(scm_to_locale_string(scm_text));
 	  g_key_file_set_string(key_file, group_name, key_name, text);
 	  g_free(text);
 	  g_free(key_name);
 	}
 
         scm_text = scm_call_1(gen_save_text, priv->cur_report);
-	if (!SCM_STRINGP (scm_text)) {
+	if (!scm_is_string (scm_text)) {
 	  LEAVE("nothing to save");
 	  return;
 	}
 
-	text = gnc_guile_strip_comments(SCM_STRING_CHARS(scm_text));
+	text = gnc_guile_strip_comments(scm_to_locale_string(scm_text));
 	g_key_file_set_string(key_file, group_name, SCHEME_OPTIONS, text);
 	g_free(text);
 	LEAVE(" ");
@@ -915,7 +915,7 @@ gnc_plugin_page_report_destroy(GncPlugin
         SCM  edited, editor; 
 
         /* close any open editors */
-        for (edited = scm_list_copy(priv->edited_reports); !SCM_NULLP(edited);
+        for (edited = scm_list_copy(priv->edited_reports); !scm_is_null(edited);
              edited = SCM_CDR(edited)) {
                 editor = scm_call_1(get_editor, SCM_CAR(edited));
                 scm_call_2(set_editor, SCM_CAR(edited), SCM_BOOL_F);
@@ -1242,16 +1242,16 @@ gnc_get_export_type_choice (SCM export_t
         int choice;
         SCM tail;
 
-        if (!SCM_LISTP (export_types))
+        if (!scm_is_list (export_types))
                 return SCM_BOOL_F;
 
-        for (tail = export_types; !SCM_NULLP (tail); tail = SCM_CDR (tail))
+        for (tail = export_types; !scm_is_null (tail); tail = SCM_CDR (tail))
         {
                 SCM pair = SCM_CAR (tail);
                 const gchar * name;
                 SCM scm;
 
-                if (!SCM_CONSP (pair))
+                if (!scm_is_pair (pair))
                 {
                         g_warning ("unexpected list element");
                         bad = TRUE;
@@ -1259,14 +1259,14 @@ gnc_get_export_type_choice (SCM export_t
                 }
 
                 scm = SCM_CAR (pair);
-                if (!SCM_STRINGP (scm))
+                if (!scm_is_string (scm))
                 {
                         g_warning ("unexpected pair element");
                         bad = TRUE;
                         break;
                 }
 
-                name = SCM_STRING_CHARS (scm);
+                name = scm_to_locale_string (scm);
                 choices = g_list_prepend (choices, g_strdup (name));
         }
 
@@ -1314,7 +1314,7 @@ gnc_get_export_filename (SCM choice)
                 type = _("HTML");
         else
         {
-                type = SCM_STRING_CHARS(SCM_CAR (choice));
+                type = scm_to_locale_string(SCM_CAR (choice));
         }
 
         /* %s is the type of what is about to be saved, e.g. "HTML". */
@@ -1403,7 +1403,7 @@ gnc_plugin_page_report_export_cb( GtkAct
         export_thunk = scm_call_1 (scm_c_eval_string ("gnc:report-export-thunk"),
                                    priv->cur_report);
 
-        if (SCM_LISTP (export_types) && SCM_PROCEDUREP (export_thunk))
+        if (scm_is_list (export_types) && scm_is_procedure (export_thunk))
                 choice = gnc_get_export_type_choice (export_types);
         else
                 choice = SCM_BOOL_T;
@@ -1415,7 +1415,7 @@ gnc_plugin_page_report_export_cb( GtkAct
         if (!filepath)
                 return;
 
-        if (SCM_CONSP (choice))
+        if (scm_is_pair (choice))
         {
                 SCM file_scm;
                 SCM res;
diff -p -up gnucash-2.2.9/src/report/report-gnome/swig-report-gnome.c.0002~ gnucash-2.2.9/src/report/report-gnome/swig-report-gnome.c
--- gnucash-2.2.9/src/report/report-gnome/swig-report-gnome.c.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/report/report-gnome/swig-report-gnome.c	2010-10-05 15:59:40.000000000 +0200
@@ -767,7 +767,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -784,7 +784,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -800,7 +800,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -820,7 +820,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -833,7 +833,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -849,7 +849,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -911,7 +911,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -924,7 +924,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1157,20 +1157,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }
diff -p -up gnucash-2.2.9/src/report/report-gnome/window-report.c.0002~ gnucash-2.2.9/src/report/report-gnome/window-report.c
--- gnucash-2.2.9/src/report/report-gnome/window-report.c.0002~	2008-09-21 05:20:50.000000000 +0200
+++ gnucash-2.2.9/src/report/report-gnome/window-report.c	2010-10-05 15:48:16.000000000 +0200
@@ -152,8 +152,8 @@ gnc_report_window_default_params_editor(
       ptr = scm_call_1(get_template, ptr);
       if (ptr != SCM_BOOL_F) {
         ptr = scm_call_1(get_template_name, ptr);
-        if (SCM_STRINGP(ptr))
-          title = SCM_STRING_CHARS(ptr);
+        if (scm_is_string(ptr))
+          title = scm_to_locale_string(ptr);
       }
     }
 
diff -p -up gnucash-2.2.9/src/report/report-system/gnc-report.c.0002~ gnucash-2.2.9/src/report/report-system/gnc-report.c
--- gnucash-2.2.9/src/report/report-system/gnc-report.c.0002~	2008-12-08 23:10:21.000000000 +0100
+++ gnucash-2.2.9/src/report/report-system/gnc-report.c	2010-10-05 15:48:16.000000000 +0200
@@ -76,7 +76,7 @@ gint gnc_report_add(SCM report)
     gnc_report_init_table();
 
     value = scm_call_1(get_id, report);
-    if (SCM_NUMBERP(value)) {
+    if (scm_is_number(value)) {
       id = scm_num2int(value, SCM_ARG1, G_STRFUNC);
       if (!g_hash_table_lookup(reports, &id)) {
 	key = g_new(gint, 1);
@@ -145,10 +145,10 @@ gnc_run_report (gint report_id, char **
   str = g_strdup_printf("(gnc:report-run %d)", report_id);
   scm_text = gfec_eval_string(str, error_handler);
 
-  if (scm_text == SCM_UNDEFINED || !SCM_STRINGP (scm_text))
+  if (scm_text == SCM_UNDEFINED || !scm_is_string (scm_text))
     return FALSE;
 
-  free_data = SCM_STRING_CHARS (scm_text);
+  free_data = scm_to_locale_string (scm_text);
   *data = g_strdup (free_data);
 
   return TRUE;
@@ -182,9 +182,9 @@ gnc_report_name( SCM report )
     return NULL;
 
   value = scm_call_1(get_name, report);
-  if (!SCM_STRINGP(value))
+  if (!scm_is_string(value))
     return NULL;
 
-  return g_strdup(SCM_STRING_CHARS(value));
+  return g_strdup(scm_to_locale_string(value));
 }
 
diff -p -up gnucash-2.2.9/src/report/report-system/swig-report-system.c.0002~ gnucash-2.2.9/src/report/report-system/swig-report-system.c
--- gnucash-2.2.9/src/report/report-system/swig-report-system.c.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/report/report-system/swig-report-system.c	2010-10-05 15:59:40.000000000 +0200
@@ -767,7 +767,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -784,7 +784,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -800,7 +800,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -820,7 +820,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -833,7 +833,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -849,7 +849,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -911,7 +911,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -924,7 +924,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1157,20 +1157,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }
diff -p -up gnucash-2.2.9/src/swig-runtime.h.0002~ gnucash-2.2.9/src/swig-runtime.h
--- gnucash-2.2.9/src/swig-runtime.h.0002~	2010-10-05 15:57:15.000000000 +0200
+++ gnucash-2.2.9/src/swig-runtime.h	2010-10-05 15:59:40.000000000 +0200
@@ -791,7 +791,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
   ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
   if (!ret) return NULL;
 
-  memcpy(ret, SCM_STRING_CHARS(str), l);
+  memcpy(ret, scm_to_locale_string(str), l);
   ret[l] = '\0';
   if (len) *len = l;
   return ret;
@@ -808,7 +808,7 @@ static SCM swig_keyword = SCM_EOL;
 static SCM swig_symbol = SCM_EOL;
 
 #define SWIG_Guile_GetSmob(x) \
-  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && SCM_NFALSEP(scm_slot_exists_p(x, swig_symbol)) \
+  ( SCM_NNULLP(x) && SCM_INSTANCEP(x) && scm_is_true(scm_slot_exists_p(x, swig_symbol)) \
       ? scm_slot_ref(x, swig_symbol) : (x) )
 
 SWIGINTERN SCM
@@ -824,7 +824,7 @@ SWIG_Guile_NewPointerObj(void *ptr, swig
     else
       SCM_NEWSMOB2(smob, swig_tag, ptr, (void *) type);
 
-    if (!cdata || SCM_NULLP(cdata->goops_class) || swig_make_func == SCM_EOL ) {
+    if (!cdata || scm_is_null(cdata->goops_class) || swig_make_func == SCM_EOL ) {
       return smob;
     } else {
       /* the scm_make() C function only handles the creation of gf,
@@ -844,7 +844,7 @@ SWIGINTERN unsigned long
 SWIG_Guile_PointerAddress(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return 0;
+  if (scm_is_null(smob)) return 0;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -857,7 +857,7 @@ SWIGINTERN swig_type_info *
 SWIG_Guile_PointerType(SCM object)
 {
   SCM smob = SWIG_Guile_GetSmob(object);
-  if (SCM_NULLP(smob)) return NULL;
+  if (scm_is_null(smob)) return NULL;
   else if (SCM_SMOB_PREDICATE(swig_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
 	   || SCM_SMOB_PREDICATE(swig_destroyed_tag, smob)) {
@@ -873,7 +873,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **resu
   swig_type_info *from;
   SCM smob = SWIG_Guile_GetSmob(s);
 
-  if (SCM_NULLP(smob)) {
+  if (scm_is_null(smob)) {
     *result = NULL;
     return SWIG_OK;
   } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
@@ -935,7 +935,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerNoncollectable(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_tag);
     }
@@ -948,7 +948,7 @@ SWIGINTERN void
 SWIG_Guile_MarkPointerDestroyed(SCM s)
 {
   SCM smob = SWIG_Guile_GetSmob(s);
-  if (!SCM_NULLP(smob)) {
+  if (!scm_is_null(smob)) {
     if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
       SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
     }
@@ -1181,20 +1181,20 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
   int i;
   int num_args_passed = 0;
   for (i = 0; i<reqargs; i++) {
-    if (!SCM_CONSP(rest))
+    if (!scm_is_pair(rest))
       scm_wrong_num_args(scm_makfrom0str((char *) procname));
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
-  for (i = 0; i<optargs && SCM_CONSP(rest); i++) {
+  for (i = 0; i<optargs && scm_is_pair(rest); i++) {
     *dest++ = SCM_CAR(rest);
     rest = SCM_CDR(rest);
     num_args_passed++;
   }
   for (; i<optargs; i++)
     *dest++ = SCM_UNDEFINED;
-  if (!SCM_NULLP(rest))
+  if (!scm_is_null(rest))
     scm_wrong_num_args(scm_makfrom0str((char *) procname));
   return num_args_passed;
 }