[Gnucash-changes] Guile 1.6 is now required for gnucash.

David Hampton hampton at cvs.gnucash.org
Sat Jul 30 15:45:25 EDT 2005


Log Message:
-----------
Guile 1.6 is now required for gnucash.  Finish removal of all
functions deprecated in that version.

Tags:
----
gnucash-gnome2-dev

Modified Files:
--------------
    gnucash:
        ChangeLog
        configure.in
    gnucash/src:
        guile-mappings.h
    gnucash/src/app-utils:
        app-utils.scm
        file-utils.c
        gfec.c
        gnc-exp-parser.c
        gnc-helpers.c
        gnc-ui-util.c
        guile-util.c
        option-util.c
    gnucash/src/app-utils/test:
        test-print-queries.c
        test-scm-query-string.c
    gnucash/src/backend/file:
        sixtp-dom-generators.c
    gnucash/src/engine:
        gnc-hooks.c
    gnucash/src/engine/test:
        test-scm-query.c
    gnucash/src/gnome:
        dialog-tax-info.c
        gnc-network.c
        gnc-plugin-page-account-tree.c
    gnucash/src/gnome-utils:
        gnome-utils.scm
    gnucash/src/import-export/qif-import:
        dialog-account-picker.c
        druid-qif-import.c
    gnucash/src/report/locale-specific/us:
        gncmod-locale-reports-us.c
    gnucash/src/report/report-gnome:
        dialog-column-view.c
        dialog-style-sheet.c
        gnc-plugin-page-report.c
        window-report.c
    gnucash/src/report/report-system:
        gnc-report.c

Revision Data
-------------
Index: test-scm-query-string.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/app-utils/test/test-scm-query-string.c,v
retrieving revision 1.2.4.4
retrieving revision 1.2.4.5
diff -Lsrc/app-utils/test/test-scm-query-string.c -Lsrc/app-utils/test/test-scm-query-string.c -u -r1.2.4.4 -r1.2.4.5
--- src/app-utils/test/test-scm-query-string.c
+++ src/app-utils/test/test-scm-query-string.c
@@ -19,7 +19,7 @@
   SCM res_q;
   SCM args = SCM_EOL;
   Query *q2;
-  char * str;
+  const gchar * str;
 
   scm_q = gnc_query2scm (q);
   args = scm_cons (scm_q, SCM_EOL);
@@ -28,7 +28,7 @@
   args = scm_cons (scm_makfrom0str ("'"), scm_cons (str_q, SCM_EOL));
   str_q = scm_string_append (args);
 
-  str = gh_scm2newstr (str_q, NULL);
+  str = SCM_STRING_CHARS (str_q);
 
   if (str) {
     res_q = scm_c_eval_string (str);
@@ -43,7 +43,8 @@
     failure ("queries don't match");
     fprintf (stderr, "%s\n\n", str ? str : "(null)");
     scm_q = gnc_query2scm (q2);
-    gh_display (scm_q); gh_newline ();
+    scm_display (scm_q, SCM_UNDEFINED);
+    scm_newline (SCM_UNDEFINED);
     exit (1);
   }
   else
@@ -51,7 +52,6 @@
     success ("queries match");
   }
   if (q2) xaccFreeQuery (q2);
-  if (str) free (str);
 }
 
 static void
Index: test-print-queries.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/app-utils/test/test-print-queries.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -Lsrc/app-utils/test/test-print-queries.c -Lsrc/app-utils/test/test-print-queries.c -u -r1.1.4.1 -r1.1.4.2
--- src/app-utils/test/test-print-queries.c
+++ src/app-utils/test/test-print-queries.c
@@ -25,7 +25,9 @@
   args = scm_cons (scm_makfrom0str ("'"), scm_cons (str_q, SCM_EOL));
   str_q = scm_string_append (args);
 
-  gh_display (str_q); gh_newline (); gh_newline ();
+  scm_display (str_q, SCM_UNDEFINED);
+  scm_newline (SCM_UNDEFINED);
+  scm_newline (SCM_UNDEFINED);
 }
 
 static void
Index: gnc-network.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/gnc-network.c,v
retrieving revision 1.5.4.3
retrieving revision 1.5.4.4
diff -Lsrc/gnome/gnc-network.c -Lsrc/gnome/gnc-network.c -u -r1.5.4.3 -r1.5.4.4
--- src/gnome/gnc-network.c
+++ src/gnome/gnc-network.c
@@ -106,7 +106,7 @@
 gnc_network_get_uid(void) {
   SCM val = gnc_lookup_option("__gnc_network", "uid", scm_makfrom0str("0"));
   if(val != SCM_BOOL_F) {
-    return gh_scm2newstr(val, NULL);
+    return g_strdup(SCM_STRING_CHARS(val));
   }
   else {
     return strdup("");
@@ -538,7 +538,7 @@
                               const char * method, const char * action, 
                               GHashTable * form_data) {
   char * new_action = NULL;
-  char * version_string = NULL;
+  const gchar * version_string = NULL;
   char * feature_string = NULL;
   
   if(!g_hash_table_lookup(form_data, "submit")) {
@@ -551,7 +551,7 @@
     return FALSE;
   }
   
-  version_string  = gh_scm2newstr(scm_c_eval_string("gnc:version"), NULL);  
+  version_string  = SCM_STRING_CHARS(scm_c_eval_string("gnc:version"));  
 
   feature_string = 
     g_strjoin(",",
@@ -569,7 +569,6 @@
                       g_strdup(version_string));
   g_hash_table_insert(form_data, g_strdup("gnc_features"), 
                       feature_string);
-  free(version_string);
 
   new_action = gnc_network_build_url("gnc-network-get.php");
   
Index: dialog-tax-info.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/dialog-tax-info.c,v
retrieving revision 1.18.6.9
retrieving revision 1.18.6.10
diff -Lsrc/gnome/dialog-tax-info.c -Lsrc/gnome/dialog-tax-info.c -u -r1.18.6.9 -r1.18.6.10
--- src/gnome/dialog-tax-info.c
+++ src/gnome/dialog-tax-info.c
@@ -168,17 +168,16 @@
   {
     TXFInfo *txf_info;
     SCM code_scm;
-    char *str;
+    const gchar *str;
     SCM scm;
 
     code_scm  = SCM_CAR (codes);
     codes     = SCM_CDR (codes);
 
     scm = scm_call_2 (getters.payer_name_source, category, code_scm);
-    str = gh_symbol2newstr (scm, NULL);
+    str = SCM_SYMBOL_CHARS (scm);
     if (safe_strcmp (str, "not-impl") == 0)
     {
-      free (str);
       continue;
     }
 
@@ -188,26 +187,21 @@
       txf_info->payer_name_source = NULL;
     else
       txf_info->payer_name_source = g_strdup (str);
-    free (str);
 
-    str = gh_symbol2newstr (code_scm, NULL);
+    str = SCM_SYMBOLP(code_scm) ? SCM_SYMBOL_CHARS(code_scm) : "";
     txf_info->code = g_strdup (str);
-    free (str);
 
     scm = scm_call_2 (getters.form, category, code_scm);
-    str = gh_scm2newstr (scm, NULL);
+    str = SCM_STRINGP(scm) ? SCM_STRING_CHARS(scm) : "";
     txf_info->form = g_strdup (str);
-    free (str);
 
     scm = scm_call_2 (getters.description, category, code_scm);
-    str = gh_scm2newstr (scm, NULL);
+    str = SCM_STRINGP(scm) ? SCM_STRING_CHARS(scm) : "";
     txf_info->description = g_strdup (str);
-    free (str);
 
     scm = scm_call_2 (getters.help, category, code_scm);
-    str = gh_scm2newstr (scm, NULL);
+    str = SCM_STRINGP(scm) ? SCM_STRING_CHARS(scm) : "";
     txf_info->help = g_strdup (str);
-    free (str);
 
     infos = g_list_prepend (infos, txf_info);
   }
Index: gnc-plugin-page-account-tree.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/Attic/gnc-plugin-page-account-tree.c,v
retrieving revision 1.1.2.47
retrieving revision 1.1.2.48
diff -Lsrc/gnome/gnc-plugin-page-account-tree.c -Lsrc/gnome/gnc-plugin-page-account-tree.c -u -r1.1.2.47 -r1.1.2.48
--- src/gnome/gnc-plugin-page-account-tree.c
+++ src/gnome/gnc-plugin-page-account-tree.c
@@ -332,7 +332,7 @@
 	
 	/* get the options and the window ID */ 
 	priv->options = SCM_BOOL_F;
-	scm_protect_object(priv->options);
+	scm_gc_protect_object(priv->options);
 	priv->editor_dialog = NULL;
 
 	if(!url) {
@@ -353,9 +353,9 @@
 	    temp = scm_call_1(find_options, scm_int2num(options_id));
 
 	    if(temp != SCM_BOOL_F) {
-	      scm_unprotect_object(priv->options);
+	      scm_gc_unprotect_object(priv->options);
 	      priv->options = temp;
-	      scm_protect_object(priv->options);
+	      scm_gc_protect_object(priv->options);
 	      priv->options_id = options_id;
 	    } else {
 	      gnc_plugin_page_acct_tree_options_new(priv);
@@ -380,7 +380,7 @@
 						 priv, 
 						 N_("Account Tree"),
 						 N_("Name of account view"));
-	scm_protect_object(priv->name_change_callback_id);
+	scm_gc_protect_object(priv->name_change_callback_id);
 
 	LEAVE("page %p, priv %p, action group %p",
 	      plugin_page, plugin_page->priv, plugin_page->priv->action_group);
@@ -413,7 +413,7 @@
 	scm_call_1(free_tree, scm_int2num(priv->options_id));
 	priv->options_id = 0;
 
-	scm_unprotect_object(priv->options);
+	scm_gc_unprotect_object(priv->options);
 
 	g_free (priv);
 
@@ -917,11 +917,11 @@
 {
   SCM func, opts_and_id;
 
-  scm_unprotect_object(priv->options);
+  scm_gc_unprotect_object(priv->options);
   func = scm_c_eval_string("gnc:make-new-acct-tree-window");
   opts_and_id = scm_call_0(func);
   priv->options = SCM_CAR(opts_and_id);
-  scm_protect_object(priv->options);
+  scm_gc_protect_object(priv->options);
   priv->options_id = scm_num2int(SCM_CDR(opts_and_id), SCM_ARG1, __FUNCTION__);
 }
 
Index: sixtp-dom-generators.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/sixtp-dom-generators.c,v
retrieving revision 1.5.4.3
retrieving revision 1.5.4.4
diff -Lsrc/backend/file/sixtp-dom-generators.c -Lsrc/backend/file/sixtp-dom-generators.c -u -r1.5.4.3 -r1.5.4.4
--- src/backend/file/sixtp-dom-generators.c
+++ src/backend/file/sixtp-dom-generators.c
@@ -206,9 +206,10 @@
 {
     gchar *numstr;
 #ifdef USE_GUILE_FOR_DOUBLE_CONVERSION 
-    numstr = gh_scm2newstr(scm_call_1(scm_c_eval_string("number->string"),
-				      scm_make_real(value)),
-                           NULL);
+    SCM value;
+    value = scm_call_1(scm_c_eval_string("number->string"),
+		       scm_make_real(value));
+    numstr = g_strdup(SCM_STRING_CHARS(value));
 
 #else /* don't USE_GUILE_FOR_DOUBLE_CONVERSION */
     /*
Index: gnc-hooks.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/Attic/gnc-hooks.c,v
retrieving revision 1.1.2.9
retrieving revision 1.1.2.10
diff -Lsrc/engine/gnc-hooks.c -Lsrc/engine/gnc-hooks.c -u -r1.1.2.9 -r1.1.2.10
--- src/engine/gnc-hooks.c
+++ src/engine/gnc-hooks.c
@@ -166,7 +166,7 @@
 delete_scm_hook (gpointer data)
 {
   GncScmDangler *scm = data;
-  scm_unprotect_object(scm->proc);
+  scm_gc_unprotect_object(scm->proc);
   g_free(scm);
 }
 
@@ -208,7 +208,7 @@
   gnc_hook = gnc_hook_lookup(name);
   g_return_if_fail(gnc_hook != NULL);
   scm = g_new0(GncScmDangler, 1);
-  scm_protect_object(proc);
+  scm_gc_protect_object(proc);
   scm->proc = proc;
   hook = g_hook_alloc(gnc_hook->scm_danglers);
   hook->func = call_scm_hook;
Index: test-scm-query.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/test/test-scm-query.c,v
retrieving revision 1.5.4.1
retrieving revision 1.5.4.2
diff -Lsrc/engine/test/test-scm-query.c -Lsrc/engine/test/test-scm-query.c -u -r1.5.4.1 -r1.5.4.2
--- src/engine/test/test-scm-query.c
+++ src/engine/test/test-scm-query.c
@@ -23,9 +23,11 @@
   if (!xaccQueryEqual (q, q2))
   {
     failure ("queries don't match");
-    gh_display (scm_q); gh_newline ();
+    scm_display (scm_q, SCM_UNDEFINED);
+    scm_newline (SCM_UNDEFINED);
     scm_q = gnc_query2scm (q2);
-    gh_display (scm_q); gh_newline ();
+    scm_display (scm_q, SCM_UNDEFINED);
+    scm_newline (SCM_UNDEFINED);
     exit (1);
   }
   else
Index: gnome-utils.scm
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/gnome-utils.scm,v
retrieving revision 1.6.4.1
retrieving revision 1.6.4.2
diff -Lsrc/gnome-utils/gnome-utils.scm -Lsrc/gnome-utils/gnome-utils.scm -u -r1.6.4.1 -r1.6.4.2
--- src/gnome-utils/gnome-utils.scm
+++ src/gnome-utils/gnome-utils.scm
@@ -16,7 +16,7 @@
 (export gnc:make-menu)
 (export gnc:make-separator)
 (export gnc:new-menu-namer)
-(export gnc:*add-extension-hook*)
+(re-export gnc:*add-extension-hook*)
 
 (export gnc:kvp-option-dialog)
 
Index: druid-qif-import.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/import-export/qif-import/druid-qif-import.c,v
retrieving revision 1.22.4.12
retrieving revision 1.22.4.13
diff -Lsrc/import-export/qif-import/druid-qif-import.c -Lsrc/import-export/qif-import/druid-qif-import.c -u -r1.22.4.12 -r1.22.4.13
--- src/import-export/qif-import/druid-qif-import.c
+++ src/import-export/qif-import/druid-qif-import.c
@@ -425,7 +425,7 @@
   QIFImportWindow * wind = user_data;
 
   const char * path_to_load;
-  char * default_acctname = NULL;
+  const gchar * default_acctname = NULL;
 
   GList * format_strings;
   GList * listit;
@@ -495,11 +495,10 @@
      * exception. */
     if(SCM_LISTP(load_return) &&
        (SCM_CAR(load_return) == SCM_BOOL_T)) {
-      char *warn_str = gh_scm2newstr(SCM_CADR(load_return), NULL);
+      const gchar *warn_str = SCM_STRING_CHARS(SCM_CADR(load_return));
       gnc_warning_dialog(GTK_WIDGET(wind->window),
 			 _("QIF file load warning:\n%s"),
 			 warn_str ? warn_str : "(null)");
-      free (warn_str);
     }
 
     /* check success of the file load */
@@ -511,11 +510,10 @@
     else if ((load_return != SCM_BOOL_T) &&
              (!SCM_LISTP(load_return) || 
               (SCM_CAR(load_return) != SCM_BOOL_T))) {
-      char *warn_str = gh_scm2newstr(SCM_CADR(load_return), NULL);
+      const gchar *warn_str = SCM_STRING_CHARS(SCM_CADR(load_return));
       gnc_error_dialog(wind->window,
 		       _("QIF file load failed:\n%s"),
 		       warn_str ? warn_str : "(null)");
-      free (warn_str);
 
       imported_files = 
         scm_call_2(unload_qif_file, scm_qiffile, imported_files);
@@ -544,12 +542,12 @@
 
 	if ((date_formats = scm_call_2(qif_file_parse_results,
 				       SCM_CDR(parse_return),
-				       gh_symbol2scm("date"))) != SCM_BOOL_F) {
+				       scm_str2symbol("date"))) != SCM_BOOL_F) {
 	  format_strings = NULL;
 	  while(SCM_LISTP(date_formats) && !SCM_NULLP(date_formats)) {
 	    format_strings = 
 	      g_list_append(format_strings, 
-			    gh_symbol2newstr(gh_car(date_formats), NULL));
+			    g_strdup(SCM_SYMBOL_CHARS(SCM_CAR(date_formats))));
 	    date_formats = SCM_CDR(date_formats);
 	  }
 	  gtk_combo_set_popdown_strings(GTK_COMBO(wind->date_format_combo),
@@ -580,11 +578,10 @@
       else if((parse_return != SCM_BOOL_T) &&
          (!SCM_LISTP(parse_return) ||
           (SCM_CAR(parse_return) != SCM_BOOL_T))) {
-        char *warn_str = gh_scm2newstr(SCM_CDADR(parse_return), NULL);
+        const gchar *warn_str = SCM_STRING_CHARS(SCM_CDADR(parse_return));
         gnc_error_dialog(wind->window,
 			 _("QIF file parse failed:\n%s"),
 			 warn_str ? warn_str : "(null)");
-        free(warn_str);
 
         imported_files = 
           scm_call_2(unload_qif_file, scm_qiffile, imported_files);
@@ -606,13 +603,10 @@
     }
     else if(scm_call_1(check_from_acct, SCM_CAR(imported_files)) != SCM_BOOL_T) {
       /* skip to the "ask account name" page */
-      default_acctname = gh_scm2newstr(scm_call_1(default_acct, 
-                                                SCM_CAR(imported_files)),
-                                       NULL);
+      default_acctname =
+	SCM_STRING_CHARS(scm_call_1(default_acct, SCM_CAR(imported_files)));
       gtk_entry_set_text(GTK_ENTRY(wind->acct_entry), default_acctname);
       
-      if(default_acctname) free(default_acctname);
-      
       gnome_druid_set_page(GNOME_DRUID(wind->druid),
                            get_named_page(wind, "account_name_page"));
       return TRUE;
@@ -644,15 +638,12 @@
   
   if(scm_call_1(check_from_acct, wind->selected_file) != SCM_BOOL_T) {
     SCM default_acct    = scm_c_eval_string("qif-file:path-to-accountname");
-    char * default_acctname;
+    const gchar * default_acctname;
 
-    default_acctname = gh_scm2newstr(scm_call_1(default_acct,
-						wind->selected_file),
-				     NULL);
+    default_acctname = SCM_STRING_CHARS(scm_call_1(default_acct,
+						wind->selected_file));
     gtk_entry_set_text(GTK_ENTRY(wind->acct_entry), default_acctname);
 
-    if(default_acctname) free(default_acctname);
-
     return FALSE;
   }
   else {
@@ -782,11 +773,10 @@
   
   while(!SCM_NULLP(loaded_file_list)) {  
     scm_qiffile = SCM_CAR(loaded_file_list);
-    row_text    = gh_scm2newstr(scm_call_1(qif_file_path, scm_qiffile), NULL);
+    row_text    = SCM_STRING_CHARS(scm_call_1(qif_file_path, scm_qiffile));
 
     row = gtk_clist_append(GTK_CLIST(wind->selected_file_list),
                            &row_text);
-    free (row_text);
 
     if(scm_qiffile == wind->selected_file) {
       sel_item = row;
@@ -916,10 +906,8 @@
   row_text[2] = "";
 
   while(!SCM_NULLP(accts_left)) {
-    row_text[0] = gh_scm2newstr(scm_call_1(get_qif_name, SCM_CAR(accts_left)),
-                                NULL);
-    row_text[1] = gh_scm2newstr(scm_call_1(get_gnc_name, SCM_CAR(accts_left)),
-                                NULL);
+    row_text[0] = SCM_STRING_CHARS(scm_call_1(get_qif_name, SCM_CAR(accts_left)));
+    row_text[1] = SCM_STRING_CHARS(scm_call_1(get_gnc_name, SCM_CAR(accts_left)));
     
     row = gtk_clist_append(GTK_CLIST(list), row_text);
 
@@ -927,9 +915,6 @@
                          scm_call_1(get_new, SCM_CAR(accts_left)) == SCM_BOOL_T);
 
     accts_left = SCM_CDR(accts_left);
-
-    free(row_text[0]);
-    free(row_text[1]);
   }
 
   gtk_clist_thaw(GTK_CLIST(list));
Index: dialog-account-picker.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/import-export/qif-import/dialog-account-picker.c,v
retrieving revision 1.2.6.4
retrieving revision 1.2.6.5
diff -Lsrc/import-export/qif-import/dialog-account-picker.c -Lsrc/import-export/qif-import/dialog-account-picker.c -u -r1.2.6.4 -r1.2.6.5
--- src/import-export/qif-import/dialog-account-picker.c
+++ src/import-export/qif-import/dialog-account-picker.c
@@ -26,7 +26,6 @@
 #include <gnome.h>
 #include <stdio.h>
 #include <libguile.h>
-#include "guile-mappings.h"
 
 #include "dialog-account-picker.h"
 #include "dialog-utils.h"
@@ -70,7 +69,10 @@
       continue;
     }
 
-    acctinfo[0] = gh_scm2newstr(SCM_CAR(current), NULL);
+    if (SCM_STRINGP(SCM_CAR(current)))
+      acctinfo[0] = g_strdup(SCM_STRING_CHARS(SCM_CAR(current)));
+    else
+      acctinfo[0] = g_strdup("");
 
     if(!SCM_NULLP(SCM_CADDR(current))) {
       leafnode = FALSE;
@@ -244,7 +246,7 @@
   SCM init_pick    = scm_c_eval_string("qif-map-entry:gnc-name");
   SCM saved_entry  = scm_call_1(save_entry, map_entry);
   int response;
-  char * scmname;
+  const gchar * scmname;
   GladeXML *xml;
   GtkWidget *button;
 
@@ -262,9 +264,8 @@
 
   wind->map_entry  = map_entry;
   
-  scmname = gh_scm2newstr(scm_call_1(init_pick, map_entry), NULL);
+  scmname = SCM_STRING_CHARS(scm_call_1(init_pick, map_entry));
   wind->selected_name = g_strdup(scmname);
-  free(scmname);
 
   scm_gc_protect_object(wind->map_entry);
 
Index: gncmod-locale-reports-us.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/report/locale-specific/us/gncmod-locale-reports-us.c,v
retrieving revision 1.7.4.2
retrieving revision 1.7.4.3
diff -Lsrc/report/locale-specific/us/gncmod-locale-reports-us.c -Lsrc/report/locale-specific/us/gncmod-locale-reports-us.c -u -r1.7.4.2 -r1.7.4.3
--- src/report/locale-specific/us/gncmod-locale-reports-us.c
+++ src/report/locale-specific/us/gncmod-locale-reports-us.c
@@ -8,7 +8,6 @@
 #include "config.h"
 #include <stdio.h>
 #include <libguile.h>
-#include "guile-mappings.h"
 #include <glib.h>
 #include <locale.h>
 #include <string.h>
@@ -86,7 +85,7 @@
   }
 
   /* Load the module scheme code */
-  if(gh_eval_str(report_locale) 
+  if(scm_c_eval_string(report_locale) 
      == SCM_BOOL_F) {
     return FALSE;
   }
Index: dialog-column-view.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/report/report-gnome/dialog-column-view.c,v
retrieving revision 1.3.4.4
retrieving revision 1.3.4.5
diff -Lsrc/report/report-gnome/dialog-column-view.c -Lsrc/report/report-gnome/dialog-column-view.c -u -r1.3.4.4 -r1.3.4.5
--- src/report/report-gnome/dialog-column-view.c
+++ src/report/report-gnome/dialog-column-view.c
@@ -123,10 +123,8 @@
     for(i = 0; !SCM_NULLP(names); names = SCM_CDR(names), i++) {
       if (SCM_EQUALP (SCM_CAR(names), selection))
         row = i;
-      name[0] = gh_scm2newstr(scm_call_1(template_menu_name, SCM_CAR(names)),
-			      NULL);
+      name[0] = SCM_STRING_CHARS(scm_call_1(template_menu_name, SCM_CAR(names)));
       gtk_clist_append(view->available, name);
-      free(name[0]);
     }
   }
   gtk_clist_select_row(view->available, row, 0);
@@ -158,13 +156,13 @@
       this_report = scm_call_1(find_report, SCM_CAAR(contents));
       /* this_name = scm_call_1(report_name, this_report); */
       this_name = scm_call_1(report_menu_name, this_report);
-      name[0] = gh_scm2newstr(this_name, NULL);
+      name[0] = g_strdup(SCM_STRING_CHARS(this_name));
       name[1] = g_strdup_printf("%d", scm_num2int(SCM_CADR(SCM_CAR(contents)),
 						  SCM_ARG1, __FUNCTION__));
       name[2] = g_strdup_printf("%d", scm_num2int(SCM_CADDR(SCM_CAR(contents)),
 						  SCM_ARG1, __FUNCTION__));
       gtk_clist_append(view->contents, name);
-      free(name[0]);
+      g_free(name[0]);
       g_free(name[1]);
       g_free(name[2]);
     }
Index: window-report.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/report/report-gnome/window-report.c,v
retrieving revision 1.15.4.12
retrieving revision 1.15.4.13
diff -Lsrc/report/report-gnome/window-report.c -Lsrc/report/report-gnome/window-report.c -u -r1.15.4.12 -r1.15.4.13
--- src/report/report-gnome/window-report.c
+++ src/report/report-gnome/window-report.c
@@ -132,7 +132,7 @@
   SCM get_title  = scm_c_eval_string("gnc:report-type");
   SCM ptr;
   
-  char *title = NULL;
+  const gchar *title = NULL;
 
   ptr = scm_call_1(get_editor, report);
   if(ptr != SCM_BOOL_F) {
@@ -149,16 +149,12 @@
     prm->db          = gnc_option_db_new(prm->scm_options);
 
     ptr = scm_call_1(get_title, report);
-    if (ptr != SCM_BOOL_F) {
-      title = gh_scm2newstr(ptr, NULL);
+    if (SCM_STRINGP(ptr)) {
+      title = SCM_STRING_CHARS(ptr);
     }
     /* Don't forget to translate the window title */
     prm->win         = gnc_options_dialog_new(_(title));
     
-    if (title) {
-      free(title);
-    }
-
     scm_gc_protect_object(prm->scm_options);
     scm_gc_protect_object(prm->cur_report);
     
Index: dialog-style-sheet.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/report/report-gnome/dialog-style-sheet.c,v
retrieving revision 1.3.4.8
retrieving revision 1.3.4.9
diff -Lsrc/report/report-gnome/dialog-style-sheet.c -Lsrc/report/report-gnome/dialog-style-sheet.c -u -r1.3.4.8 -r1.3.4.9
--- src/report/report-gnome/dialog-style-sheet.c
+++ src/report/report-gnome/dialog-style-sheet.c
@@ -89,7 +89,7 @@
   gtk_tree_row_reference_free (ssi->row_ref);
   gnc_option_db_destroy(ssi->odb);
   gnc_options_dialog_destroy(ssi->odialog);
-  scm_unprotect_object(ssi->stylesheet);
+  scm_gc_unprotect_object(ssi->stylesheet);
   g_free(ssi);
 }
 
@@ -143,7 +143,6 @@
   GtkWidget        * name_entry;
   GtkWidget        * template_combo;
   GList            * strings=NULL;
-  GList            * lptr;
   gint             dialog_retval;
   const char       * template_str = NULL;
   const char       * name_str = NULL;
@@ -159,16 +158,12 @@
   /* put in the list of style sheet type names */
   for(; !SCM_NULLP(templates); templates=SCM_CDR(templates)) {
     SCM t = SCM_CAR(templates);
-    strings = g_list_append(strings, gh_scm2newstr(scm_call_1(t_name, t), 
-                                                   NULL));
+    strings = g_list_append(strings, SCM_STRING_CHARS(scm_call_1(t_name, t)));
   }
   
   gtk_combo_set_popdown_strings(GTK_COMBO(template_combo), strings);
   
-  /* free the strings list */
-  for(lptr = strings; lptr; lptr = lptr->next) {
-    free(lptr->data);
-  }
+  /* The strings on the list are const.  Just free the list. */
   g_list_free(strings);
 
   /* get the name */
@@ -199,24 +194,23 @@
 				      gboolean select)
 {
   SCM get_name, scm_name;
-  gchar *c_name;
+  const gchar *c_name;
   GtkTreeSelection *selection;
   GtkTreeIter iter;
 
   get_name = scm_c_eval_string("gnc:html-style-sheet-name");
   scm_name = scm_call_1(get_name, sheet_info);
-  c_name = gh_scm2newstr(scm_name, NULL);
+  c_name = SCM_STRING_CHARS(scm_name);
   if (!c_name)
     return;
 
   /* add the column name */
-  scm_protect_object(sheet_info);
+  scm_gc_protect_object(sheet_info);
   gtk_list_store_append (ss->list_store, &iter);
   gtk_list_store_set (ss->list_store, &iter,
 		      COLUMN_NAME, c_name,
 		      COLUMN_STYLESHEET, sheet_info,
 		      -1);
-  g_free(c_name);
 
   if (select) {
     selection = gtk_tree_view_get_selection (ss->list_view);
@@ -292,7 +286,7 @@
 	gnc_style_sheet_options_close_cb(NULL, ssinfo);
       remover = scm_c_eval_string("gnc:html-style-sheet-remove");
       scm_call_1(remover, sheet_info);
-      scm_unprotect_object(sheet_info);
+      scm_gc_unprotect_object(sheet_info);
     }
     break;
 
Index: gnc-plugin-page-report.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/report/report-gnome/Attic/gnc-plugin-page-report.c,v
retrieving revision 1.1.2.16
retrieving revision 1.1.2.17
diff -Lsrc/report/report-gnome/gnc-plugin-page-report.c -Lsrc/report/report-gnome/gnc-plugin-page-report.c -u -r1.1.2.16 -r1.1.2.17
--- src/report/report-gnome/gnc-plugin-page-report.c
+++ src/report/report-gnome/gnc-plugin-page-report.c
@@ -356,9 +356,9 @@
         report->edited_reports    = SCM_EOL;
         report->name_change_cb_id = SCM_BOOL_F;
 
-        scm_protect_object(report->cur_report);
-        scm_protect_object(report->initial_report);
-        scm_protect_object(report->edited_reports);
+        scm_gc_protect_object(report->cur_report);
+        scm_gc_protect_object(report->initial_report);
+        scm_gc_protect_object(report->edited_reports);
 
         g_object_get( ppage, "report_id", &report_id, NULL );
         
@@ -370,9 +370,9 @@
         }
         
         if (report->initial_report == SCM_BOOL_F) {
-                scm_unprotect_object(report->initial_report);
+                scm_gc_unprotect_object(report->initial_report);
                 report->initial_report = inst_report;
-                scm_protect_object(report->initial_report);
+                scm_gc_protect_object(report->initial_report);
         }
 }
 
@@ -430,9 +430,9 @@
         }
         
         if (win->initial_report == SCM_BOOL_F) {    
-                scm_unprotect_object(win->initial_report);
+                scm_gc_unprotect_object(win->initial_report);
                 win->initial_report = inst_report;
-                scm_protect_object(win->initial_report);
+                scm_gc_protect_object(win->initial_report);
                 
                 scm_call_2(set_needs_save, inst_report, SCM_BOOL_T);
                 
@@ -452,9 +452,9 @@
         }
         
         if (win->cur_report != SCM_BOOL_F)
-                scm_unprotect_object(win->cur_report);
+                scm_gc_unprotect_object(win->cur_report);
         win->cur_report = inst_report;
-        scm_protect_object(win->cur_report);
+        scm_gc_protect_object(win->cur_report);
         
         win->cur_odb = gnc_option_db_new(scm_call_1(get_options, inst_report));  
         win->option_change_cb_id = 
@@ -600,8 +600,8 @@
         win->container     = NULL;
         win->html          = NULL;
   
-        scm_unprotect_object(win->cur_report);
-        scm_unprotect_object(win->edited_reports);
+        scm_gc_unprotect_object(win->cur_report);
+        scm_gc_unprotect_object(win->edited_reports);
   
         g_free(win);
 }
@@ -733,18 +733,18 @@
 gnc_plugin_page_report_remove_edited_report(GncPluginPageReportPrivate * win, SCM report)
 { 
         SCM new_edited = scm_delete(win->edited_reports, report);
-        scm_unprotect_object(win->edited_reports);
+        scm_gc_unprotect_object(win->edited_reports);
         win->edited_reports = new_edited;
-        scm_protect_object(win->edited_reports);
+        scm_gc_protect_object(win->edited_reports);
 }
 
 void
 gnc_plugin_page_report_add_edited_report(GncPluginPageReportPrivate * win, SCM report)
 {
         SCM new_edited = scm_cons(report, win->edited_reports);
-        scm_unprotect_object(win->edited_reports);
+        scm_gc_unprotect_object(win->edited_reports);
         win->edited_reports = new_edited;
-        scm_protect_object(win->edited_reports);
+        scm_gc_protect_object(win->edited_reports);
 }
 
 void
@@ -864,7 +864,7 @@
         for (tail = export_types; !SCM_NULLP (tail); tail = SCM_CDR (tail))
         {
                 SCM pair = SCM_CAR (tail);
-                char * name;
+                const gchar * name;
                 SCM scm;
 
                 if (!SCM_CONSP (pair))
@@ -882,9 +882,8 @@
                         break;
                 }
 
-                name = gh_scm2newstr (scm, NULL);
+                name = SCM_STRING_CHARS (scm);
                 choices = g_list_prepend (choices, g_strdup (name));
-                if (name) free (name);
         }
 
         if (!bad)
@@ -923,16 +922,14 @@
         char * filepath;
         struct stat statbuf;
         char * title;
-        char * type;
+        const gchar * type;
         int rc;
 
         if (choice == SCM_BOOL_T)
-                type = g_strdup (_("HTML"));
+                type = _("HTML");
         else
         {
-                char * s = gh_scm2newstr (SCM_CAR (choice), NULL);
-                type = g_strdup (s);
-                if (s) free (s);
+                type = SCM_STRING_CHARS(SCM_CAR (choice));
         }
 
         /* %s is the type of what is about to be saved, e.g. "HTML". */
@@ -941,7 +938,6 @@
         filepath = gnc_file_dialog (title, NULL, NULL);
 
         g_free (title);
-        g_free (type);
 
         if (!filepath)
                 return NULL;
Index: configure.in
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/configure.in,v
retrieving revision 1.359.2.57
retrieving revision 1.359.2.58
diff -Lconfigure.in -Lconfigure.in -u -r1.359.2.57 -r1.359.2.58
--- configure.in
+++ configure.in
@@ -194,12 +194,11 @@
 G_WRAP_COMPILE_ARGS=""
 G_WRAP_LINK_ARGS=""
 
-AM_GUILE_VERSION_CHECK(1.3.4, , , [AC_MSG_ERROR([
+AM_GUILE_VERSION_CHECK(1.6, , , [AC_MSG_ERROR([
 
   guile  does not appear to be installed correctly, or is not in the
   correct version range.  Perhaps you have not installed the guile
-  development packages?  Right now gnucash requires at least version
-  1.3.4 to build.
+  development packages?  Gnucash requires at least version 1.6 to build.
 ])])
 
 AC_DEFINE_UNQUOTED(GNC_GUILE_MAJOR_VERSION, ${guile_major_version},
@@ -212,10 +211,7 @@
 AM_PATH_GWRAP(1.3.3, , , [AC_MSG_ERROR([
 
   g-wrap does not appear to be installed correctly, or is not new
-  enough.  Right now gnucash requires at least version 1.3.3 to build
-  as there were major changes between version 1.3.1 and 1.3.2, and
-  extra support added between 1.3.2 and 1.3.3 that is now required
-  by gnucash.
+  enough.  Right now gnucash requires at least version 1.3.3 to build.
   If you need to install g-wrap, you can find it at
   http://www.gnucash.org/pub/g-wrap.
 ])])
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1487.2.258
retrieving revision 1.1487.2.259
diff -LChangeLog -LChangeLog -u -r1.1487.2.258 -r1.1487.2.259
--- ChangeLog
+++ ChangeLog
@@ -1,5 +1,9 @@
 2005-07-30  David Hampton  <hampton at employees.org>
 
+	* Lots 'o files: Guile 1.6 is now required for gnucash.  Finish
+	removal of all functions deprecated in that version.  Don't enable
+	warnings as g-wrap 1.3 still uses some deprecated functions.
+
 	* src/app-utils/option-util.c:
 	* src/engine/engine-helpers.c:
 	* src/engine/glib-helpers.c:
Index: guile-mappings.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/guile-mappings.h,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -Lsrc/guile-mappings.h -Lsrc/guile-mappings.h -u -r1.1.2.1 -r1.1.2.2
--- src/guile-mappings.h
+++ src/guile-mappings.h
@@ -17,59 +17,6 @@
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.        *
 \********************************************************************/
 
-/*
- * This include should go away when guile 1.4 is no longer supported
- * and all the gh_xxx mappings have been removed.
- */
-#include <guile/gh.h>
-
-/*
- * Configure insists on a minimum version of guile of 1.3.4.
- */
-#if ((GNC_GUILE_MAJOR_VERSION == 1) && (GNC_GUILE_MINOR_VERSION < 6))
-  #define scm_int2num		gh_int2scm
-  #define scm_mem2string(a,b)	gh_str2scm((char *)a,b)
-  #define scm_c_eval_string	gh_eval_str
-  #define scm_num2int(a,b,c)	gh_scm2int(a)
-  #define scm_apply(a,b,c)	gh_apply(a,b)
-  #define scm_call_0(fn)	gh_call0(fn)
-  #define scm_call_1(fn,a)	gh_call1(fn,a)
-  #define scm_call_2(fn,a,b)	gh_call2(fn,a,b)
-  #define scm_call_3(fn,a,b,c)	gh_call3(fn,a,b,c)
-  #define scm_c_define_gsubr(nm,req,opt,rst,fn) \
-  	gh_new_procedure(nm,fn,req,opt,rst)
-  #define scm_num2long(a,b,c)	scm_num2long(a, (char *)b, c)
-  #define scm_num2ulong(a,b,c)	scm_num2ulong(a, (char *)b, c)
-  #define scm_gc_project_object(x) scm_protect_object(x)
-  #define scm_gc_unprotect_object(x) scm_unprotect_object(x)
-
-  #if ((GNC_GUILE_MAJOR_VERSION == 1) && (GNC_GUILE_MINOR_VERSION < 4))
-    #define scm_make_real	gh_double2scm
-    #define SCM_BOOL		gh_bool2scm
-    #define SCM_BOOLP		gh_boolean_p
-    #define SCM_EQ_P		gh_eq_p
-    #ifndef SCM_MAKE_CHAR
-       #define SCM_MAKE_CHAR	gh_char2scm
-    #endif
-    #define scm_str2symbol(a)	gh_symbol2scm((char *)a)
-
-    /* Workaround bugs in guile 1.3.4. */
-    #undef  SCM_CONSP
-    #define SCM_CONSP(x)	SCM_NFALSEP (scm_pair_p (x))
-    #undef  SCM_STRINGP
-    #define SCM_STRINGP(x)	gh_string_p(x)
-  #else
-    #define scm_str2symbol(a)	gh_symbol2scm(a)
-  #endif /* Guile < 1.4 */
-#else /* Guile >= 1.6 */
-
-/* This fixes some g-wrap problems..  Once g-wrap fixes this, we can remove this */
-#define scm_protect_object(x)	scm_gc_protect_object(x)
-#define scm_unprotect_object(x)	scm_gc_unprotect_object(x)
-
-#endif /* Guile < 1.6 */
-
-
 /* Convenience macros */
 
 #define SCM_EQUALP(obj1,obj2)	SCM_NFALSEP(scm_equal_p(obj1,obj2))
Index: guile-util.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/app-utils/guile-util.c,v
retrieving revision 1.9.4.3
retrieving revision 1.9.4.4
diff -Lsrc/app-utils/guile-util.c -Lsrc/app-utils/guile-util.c -u -r1.9.4.3 -r1.9.4.4
--- src/app-utils/guile-util.c
+++ src/app-utils/guile-util.c
@@ -142,7 +142,7 @@
     value = scm_call_1(func, arg);
 
     if (SCM_STRINGP(value))
-      return gh_scm2newstr(value, NULL);
+      return g_strdup(SCM_STRING_CHARS(value));
     else
     {
       PERR("bad value\n");
@@ -177,7 +177,7 @@
     value = scm_call_1(func, arg);
 
     if (SCM_SYMBOLP(value))
-      return gh_symbol2newstr(value, NULL);
+      return g_strdup(SCM_SYMBOL_CHARS(value));
     else
     {
       PERR("bad value\n");
@@ -646,7 +646,7 @@
   if (!SCM_STRINGP(result))
     return NULL;
 
-  return gh_scm2newstr(result, NULL);
+  return g_strdup(SCM_STRING_CHARS(result));
 }
 
 
@@ -671,7 +671,7 @@
   if (!SCM_STRINGP(result))
     return NULL;
 
-  return gh_scm2newstr(result, NULL);
+  return g_strdup(SCM_STRING_CHARS(result));
 }
 
 
@@ -1090,8 +1090,7 @@
 gnc_get_debit_string(GNCAccountType account_type)
 {
   const char *type_string;
-  char *string;
-  char *temp;
+  const gchar *string;
   SCM result;
   SCM arg;
 
@@ -1111,16 +1110,10 @@
   if (!SCM_STRINGP(result))
     return NULL;
 
-  string = gh_scm2newstr(result, NULL);
+  string = SCM_STRING_CHARS(result);
   if (string)
-  {
-    temp = g_strdup (string);
-    free (string);
-  }
-  else
-    temp = NULL;
-
-  return temp;
+    return g_strdup(string);
+  return NULL;
 }
 
 
@@ -1135,8 +1128,7 @@
 gnc_get_credit_string(GNCAccountType account_type)
 {
   const char *type_string;
-  char *string;
-  char *temp;
+  const gchar *string;
   SCM result;
   SCM arg;
 
@@ -1156,16 +1148,10 @@
   if (!SCM_STRINGP(result))
     return NULL;
 
-  string = gh_scm2newstr(result, NULL);
+  string = SCM_STRING_CHARS(result);
   if (string)
-  {
-    temp = g_strdup (string);
-    free (string);
-  }
-  else
-    temp = NULL;
-
-  return temp;
+    return g_strdup(string);
+  return NULL;
 }
 
 
Index: gnc-ui-util.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/app-utils/gnc-ui-util.c,v
retrieving revision 1.39.2.8
retrieving revision 1.39.2.9
diff -Lsrc/app-utils/gnc-ui-util.c -Lsrc/app-utils/gnc-ui-util.c -u -r1.39.2.8 -r1.39.2.9
--- src/app-utils/gnc-ui-util.c
+++ src/app-utils/gnc-ui-util.c
@@ -402,9 +402,7 @@
   const char *code;
   SCM category;
   SCM code_scm;
-  char *result;
-  char *form;
-  char *desc;
+  const gchar *form, *desc;
   SCM scm;
 
   if (get_form == SCM_UNDEFINED)
@@ -459,30 +457,19 @@
   if (!SCM_STRINGP (scm))
     return NULL;
 
-  form = gh_scm2newstr (scm, NULL);
+  form = SCM_STRING_CHARS (scm);
   if (!form)
     return NULL;
 
   scm = scm_call_2 (get_desc, category, code_scm);
   if (!SCM_STRINGP (scm))
-  {
-    free (form);
     return NULL;
-  }
 
-  desc = gh_scm2newstr (scm, NULL);
+  desc = SCM_STRING_CHARS (scm);
   if (!desc)
-  {
-    free (form);
     return NULL;
-  }
-
-  result = g_strdup_printf ("%s %s", form, desc);
-
-  free (form);
-  free (desc);
 
-  return result;
+  return g_strdup_printf ("%s %s", form, desc);
 }
 
 
Index: gnc-exp-parser.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/app-utils/gnc-exp-parser.c,v
retrieving revision 1.6.4.2
retrieving revision 1.6.4.3
diff -Lsrc/app-utils/gnc-exp-parser.c -Lsrc/app-utils/gnc-exp-parser.c -u -r1.6.4.2 -r1.6.4.3
--- src/app-utils/gnc-exp-parser.c
+++ src/app-utils/gnc-exp-parser.c
@@ -77,7 +77,7 @@
 
     while (SCM_LISTP(alist) && !SCM_NULLP(alist))
       {
-        char *name;
+        const gchar *name;
         SCM assoc;
         SCM val_scm;
         gnc_numeric value;
@@ -89,7 +89,7 @@
         if (!SCM_CONSP (assoc))
           continue;
 
-        name = gh_scm2newstr (SCM_CAR (assoc), NULL);
+        name = SCM_STRING_CHARS (SCM_CAR (assoc));
         if (name == NULL)
           continue;
 
@@ -107,24 +107,20 @@
           }
         else if (SCM_STRINGP (val_scm))
           {
-            char *s;
+            const gchar *s;
             gboolean err;
 
-            s = gh_scm2newstr (val_scm, NULL);
+            s = SCM_STRING_CHARS (val_scm);
 
             err = string_to_gnc_numeric (s, &value);
             if (err == FALSE)
               good = FALSE;
-
-            free (s);
           }
         else
           good = FALSE;
 
         if (good)
           gnc_exp_parser_set_value (name, gnc_numeric_reduce (value));
-
-        free (name);
       }
   }
 }
Index: app-utils.scm
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/app-utils/app-utils.scm,v
retrieving revision 1.22.4.2
retrieving revision 1.22.4.3
diff -Lsrc/app-utils/app-utils.scm -Lsrc/app-utils/app-utils.scm -u -r1.22.4.2 -r1.22.4.3
--- src/app-utils/app-utils.scm
+++ src/app-utils/app-utils.scm
@@ -127,7 +127,7 @@
 (export gnc:get-credit-string)
 (export gnc:*options-entries*)
 (export gnc:config-file-format-version)
-(export gnc:*save-options-hook*)
+(re-export gnc:*save-options-hook*)
 
 ;; date-utilities.scm
 
@@ -225,26 +225,19 @@
 (export gnc:reldate-initialize)
 
 ;; hooks 
-(export gnc:hook-define)
-(export gnc:hook-danglers-get)
-(export gnc:hook-danglers-set!)
-(export gnc:hook-danglers->list)
-(export gnc:hook-replace-danglers)
-(export gnc:hook-run-danglers)
-(export gnc:hook-lookup)
-(export gnc:hook-add-dangler)
-(export gnc:hook-remove-dangler)
-(export gnc:hook-description-get)
-(export gnc:hook-name-get)
-(export gnc:*startup-hook*)
-(export gnc:*shutdown-hook*)
-(export gnc:*ui-startup-hook*)
-(export gnc:*ui-post-startup-hook*)
-(export gnc:*ui-shutdown-hook*)
-(export gnc:*book-opened-hook*)
-(export gnc:*new-book-hook*)
-(export gnc:*book-closed-hook*)
-(export gnc:*report-hook*)
+(re-export gnc:hook-define)
+(export gnc:hook-run-danglers)		;; from hooks.scm
+(re-export gnc:hook-add-dangler)
+(re-export gnc:hook-remove-dangler)
+(re-export gnc:*startup-hook*)
+(re-export gnc:*shutdown-hook*)
+(re-export gnc:*ui-startup-hook*)
+(re-export gnc:*ui-post-startup-hook*)
+(re-export gnc:*ui-shutdown-hook*)
+(re-export gnc:*book-opened-hook*)
+(re-export gnc:*new-book-hook*)
+(re-export gnc:*book-closed-hook*)
+(re-export gnc:*report-hook*)
 
 ;; simple-obj
 (export make-simple-class)
Index: gnc-helpers.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/app-utils/gnc-helpers.c,v
retrieving revision 1.7.4.1
retrieving revision 1.7.4.2
diff -Lsrc/app-utils/gnc-helpers.c -Lsrc/app-utils/gnc-helpers.c -u -r1.7.4.1 -r1.7.4.2
--- src/app-utils/gnc-helpers.c
+++ src/app-utils/gnc-helpers.c
@@ -99,8 +99,7 @@
 int
 gnc_printinfo_p(SCM info_scm)
 {
-  char *symbol;
-  int retval;
+  const gchar *symbol;
 
   if (!SCM_LISTP(info_scm) || SCM_NULLP(info_scm))
     return 0;
@@ -109,15 +108,11 @@
   if (!SCM_SYMBOLP (info_scm))
     return 0;
 
-  symbol = gh_symbol2newstr (info_scm, NULL);
+  symbol = SCM_SYMBOL_CHARS (info_scm);
   if (symbol == NULL)
     return 0;
 
-  retval = strcmp (symbol, "print-info") == 0;
-
-  free (symbol);
-
-  return retval;
+  return (strcmp (symbol, "print-info") == 0);
 }
 
 /* This is a scaled down version of the routine that would be needed
Index: option-util.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/app-utils/option-util.c,v
retrieving revision 1.19.4.9
retrieving revision 1.19.4.10
diff -Lsrc/app-utils/option-util.c -Lsrc/app-utils/option-util.c -u -r1.19.4.9 -r1.19.4.10
--- src/app-utils/option-util.c
+++ src/app-utils/option-util.c
@@ -933,8 +933,10 @@
                     scm_int2num(index));
   if (name == SCM_UNDEFINED)
     return NULL;
+  if (!SCM_SYMBOLP(name))
+    return NULL;
   
-  return gh_scm2newstr(name, NULL);
+  return g_strdup(SCM_STRING_CHARS(name));
 }
 
 
@@ -962,8 +964,10 @@
                     scm_int2num(index));
   if (help == SCM_UNDEFINED)
     return NULL;
+  if (!SCM_SYMBOLP(help))
+    return NULL;
 
-  return gh_scm2newstr(help, NULL);
+  return g_strdup(SCM_STRING_CHARS(help));
 }
 
 
@@ -1725,7 +1729,8 @@
   else
   {
     SCM oops;
-    char *section, *name, *message;
+    char *section, *name;
+    const gchar *message;
 
     /* Second element is error message */
     oops = SCM_CADR(result);
@@ -1735,7 +1740,7 @@
       return;
     }
 
-    message = gh_scm2newstr(oops, NULL);
+    message = SCM_STRING_CHARS(oops);
     name = gnc_option_name(option);
     section = gnc_option_section(option);
 
@@ -1744,8 +1749,6 @@
                            name ? name : "(null)",
                            message ? message : "(null)");
 
-    if (message != NULL)
-      free(message);
     if (name != NULL)
       free(name);
     if (section != NULL)
@@ -1922,7 +1925,7 @@
   if (!SCM_STRINGP(value))
     return NULL;
 
-  return gh_scm2newstr(value, NULL);
+  return g_strdup(SCM_STRING_CHARS(value));
 }
 
 
@@ -2093,7 +2096,7 @@
     {
       value = scm_call_0(getter);
       if (SCM_SYMBOLP(value))
-        return gh_symbol2newstr(value, NULL);
+        return g_strdup(SCM_SYMBOL_CHARS(value));
     }
   }
 
@@ -2187,7 +2190,7 @@
             *is_relative = TRUE;
 
           if (set_rel_value != NULL)
-            *set_rel_value = gh_symbol2newstr (relative, NULL);
+            *set_rel_value = g_strdup(SCM_SYMBOL_CHARS (relative));
         }
 
         if (symbol)
@@ -2348,7 +2351,7 @@
       return default_value;
     }
 
-    list = g_slist_prepend(list, gh_symbol2newstr(item, NULL));
+    list = g_slist_prepend(list, g_strdup(SCM_SYMBOL_CHARS(item)));
   }
 
   if (!SCM_LISTP(value) || !SCM_NULLP(value))
@@ -2610,7 +2613,7 @@
   value = scm_call_1(getters.date_option_subtype, option->guile_option);
 
   if (SCM_SYMBOLP(value))
-    return gh_symbol2newstr(value, NULL);
+    return g_strdup(SCM_SYMBOL_CHARS(value));
   else
     return NULL;
 }
@@ -2633,7 +2636,7 @@
   if (!SCM_SYMBOLP (value))
     return NULL;
 
-  return gh_symbol2newstr (value, NULL);
+  return g_strdup(SCM_SYMBOL_CHARS (value));
 }
 
 /*******************************************************************\
@@ -2709,7 +2712,7 @@
                                            gboolean *years, char **custom)
 {
   SCM val;
-  char *str;
+  const char *str;
 
   if (!SCM_LISTP(value) || SCM_NULLP(value))
     return TRUE;
@@ -2721,13 +2724,12 @@
     value = SCM_CDR(value);
     if (!SCM_SYMBOLP(val))
       break;
-    str = gh_symbol2newstr (val, NULL);
+    str = SCM_SYMBOL_CHARS (val);
     if (!str)
       break;
 
     if (format) {
       if (gnc_date_string_to_dateformat(str, format)) {
-        free(str);
         break;
       }
     }
@@ -2737,13 +2739,12 @@
     value = SCM_CDR(value);
     if (!SCM_SYMBOLP(val))
       break;
-    str = gh_symbol2newstr (val, NULL);
+    str = SCM_SYMBOL_CHARS (val);
     if (!str)
       break;
 
     if (months) {
       if (gnc_date_string_to_monthformat(str, months)) {
-        free(str);
         break;
       }
     }
@@ -2766,7 +2767,7 @@
       break;
 
     if (custom)
-      *custom = gh_scm2newstr(val, NULL);
+      *custom = g_strdup(SCM_STRING_CHARS(val));
 
     return FALSE;
 
Index: gfec.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/app-utils/gfec.c,v
retrieving revision 1.1.6.1
retrieving revision 1.1.6.2
diff -Lsrc/app-utils/gfec.c -Lsrc/app-utils/gfec.c -u -r1.1.6.1 -r1.1.6.2
--- src/app-utils/gfec.c
+++ src/app-utils/gfec.c
@@ -32,16 +32,15 @@
   {
     result = scm_call_2(func, tag, throw_args);
     if (SCM_STRINGP(result))
-      msg = gh_scm2newstr(result, NULL);
+      msg = SCM_STRING_CHARS(result);
   }
 
   if (msg == NULL)
   {
-    msg = strdup("Error running guile function.");
-    assert(msg != NULL);
+    msg = "Error running guile function.";
   }
 
-  *(char**)data = msg;
+  *(char**)data = strdup(msg);
 
   return SCM_UNDEFINED;
 }
@@ -61,7 +60,7 @@
 {
   char *file = data;
 
-  return gh_eval_file(file);
+  return scm_c_primitive_load(file);
 }
 
 SCM
Index: file-utils.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/app-utils/file-utils.c,v
retrieving revision 1.1.6.4
retrieving revision 1.1.6.5
diff -Lsrc/app-utils/file-utils.c -Lsrc/app-utils/file-utils.c -u -r1.1.6.4 -r1.1.6.5
--- src/app-utils/file-utils.c
+++ src/app-utils/file-utils.c
@@ -30,7 +30,6 @@
 
 #include <glib.h>
 #include <libguile.h>
-#include "guile-mappings.h"
 
 #include "file-utils.h"
 #include "messages.h"
@@ -45,8 +44,7 @@
 char *
 gncFindFile (const char * filename) 
 {
-  char *full_filename = NULL;
-  char *g_filename;
+  const gchar *full_filename = NULL;
   SCM find_doc_file;
   SCM scm_filename;
   SCM scm_result;
@@ -59,13 +57,9 @@
   scm_result = scm_call_1(find_doc_file, scm_filename);
 
   if (SCM_STRINGP(scm_result))
-    full_filename = gh_scm2newstr(scm_result, NULL);
+    full_filename = SCM_STRING_CHARS(scm_result);
 
-  g_filename = g_strdup (full_filename);
-  if (full_filename)
-    free (full_filename);
-
-  return g_filename;
+  return g_strdup (full_filename);
 }
 
 /********************************************************************\
Index: gnc-report.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/report/report-system/gnc-report.c,v
retrieving revision 1.2.4.2
retrieving revision 1.2.4.3
diff -Lsrc/report/report-system/gnc-report.c -Lsrc/report/report-system/gnc-report.c -u -r1.2.4.2 -r1.2.4.3
--- src/report/report-system/gnc-report.c
+++ src/report/report-system/gnc-report.c
@@ -27,14 +27,13 @@
 #include <libguile.h>
 #include <stdio.h>
 #include <string.h>
-#include "guile-mappings.h"
 
 #include "gnc-report.h"
 
 gboolean
 gnc_run_report (int report_id, char ** data)
 {
-  char *free_data;
+  const gchar *free_data;
   SCM run_report;
   SCM scm_text;
 
@@ -47,9 +46,8 @@
   if (!SCM_STRINGP (scm_text))
     return FALSE;
 
-  free_data = gh_scm2newstr (scm_text, NULL);
+  free_data = SCM_STRING_CHARS (scm_text);
   *data = g_strdup (free_data);
-  if (free_data) free (free_data);
 
   return TRUE;
 }
@@ -76,14 +74,15 @@
 gnc_report_name( SCM report )
 {
   SCM    get_name = scm_c_eval_string("gnc:report-name");
-  char   * name = NULL; 
+  SCM    value;
   
-  if (report != SCM_BOOL_F)
-  {
-    name = gh_scm2newstr(scm_call_1(get_name, report),
-                         NULL);
-  }
+  if (report == SCM_BOOL_F)
+    return NULL;
 
-  return name;
+  value = scm_call_1(get_name, report);
+  if (!SCM_STRINGP(value))
+    return NULL;
+
+  return g_strdup(SCM_STRING_CHARS(value));
 }
 


More information about the gnucash-changes mailing list