gnucash maint: Multiple changes pushed

Geert Janssens gjanssens at code.gnucash.org
Fri Sep 26 10:32:23 EDT 2014


Updated	 via  https://github.com/Gnucash/gnucash/commit/c652455e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/595e3593 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/32193a47 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0c31c627 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ea033016 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ba1f8cb1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2b6a6d89 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b13f3dab (commit)
	from  https://github.com/Gnucash/gnucash/commit/32105585 (commit)



commit c652455ebb0878c4346d7f0cd47d0a149a440546
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Sep 26 16:48:06 2014 +0200

    Rework assistant csv import regex code to eliminate the mandatory dummy field (#eol).
    
    This consists of a couple of changes that are heavily interdependent:
    - read the csv file entirely in one string
    - tweak the regex so it knows the difference between the end of line and a newline in one of the fields
    - leverage the g_regex code to iterate over the full string directly

diff --git a/src/import-export/csv-exp/csv-tree-export.c b/src/import-export/csv-exp/csv-tree-export.c
index 22d5ae5..147ef5e 100644
--- a/src/import-export/csv-exp/csv-tree-export.c
+++ b/src/import-export/csv-exp/csv-tree-export.c
@@ -155,8 +155,7 @@ void csv_tree_export (CsvExportInfo *info)
         header = g_strconcat (end_sep, _("type"), mid_sep, _("full_name"), mid_sep, _("name"), mid_sep,
                                 _("code"), mid_sep, _("description"), mid_sep, _("color"), mid_sep,
                                 _("notes"), mid_sep, _("commoditym"), mid_sep, _("commodityn"), mid_sep,
-                                _("hidden"), mid_sep, _("tax"), mid_sep, _("place_holder"), mid_sep, _("#eol"),
-                                 end_sep, EOLSTR, NULL);
+                                _("hidden"), mid_sep, _("tax"), mid_sep, _("place_holder"), end_sep, EOLSTR, NULL);
         DEBUG("Header String: %s", header);
 
         /* Write header line */
@@ -236,7 +235,7 @@ void csv_tree_export (CsvExportInfo *info)
             g_free (part2);
             /* Place Holder / end of line marker */
             currentSel = xaccAccountGetPlaceholder (acc) ? "T" : "F" ;
-            part2 = g_strconcat (part1, currentSel, mid_sep, _("#eol"), end_sep, EOLSTR, NULL);
+            part2 = g_strconcat (part1, currentSel, end_sep, EOLSTR, NULL);
             g_free (part1);
 
             DEBUG("Account String: %s", part2);
diff --git a/src/import-export/csv-imp/assistant-csv-account-import.c b/src/import-export/csv-imp/assistant-csv-account-import.c
index aae2d4c..7c8c95d 100644
--- a/src/import-export/csv-imp/assistant-csv-account-import.c
+++ b/src/import-export/csv-imp/assistant-csv-account-import.c
@@ -113,17 +113,25 @@ static gchar *mnemonic_escape (const gchar *source)
 }
 
 static
-void create_regex (GString regex_str, const gchar *sep)
+void create_regex (GString *regex_str, const gchar *sep)
 {
     if (!sep) return;
 
     g_string_printf (regex_str,
-            "^(?<type>[^%s]*)%s?(?<full_name>\"(?:[^\"]|\"\")*\"|[^%s]*)%s?(?<name>\"(?:[^\"]|\"\")*\"|[^%s]*)%s\
-             ?(?<code>\"(?:[^\"]|\"\")*\"|[^%s]*)%s?(?<description>\"(?:[^\"]|\"\")*\"|[^%s]*)%s?(?<color>[^%s]*)%s\
-             ?(?<notes>\"(?:[^\"]|\"\")*\"|[^%s]*)%s?(?<commoditym>\"(?:[^\"]|\"\")*\"|[^%s]*)%s?(?<commodityn>\"(?:[^\"]|\"\")*\"|[^%s]*)%s\
-             ?(?<hidden>[^%s]*)%s?(?<tax>[^%s]*)%s?(?<place_holder>[^%s]*)%s(?<endofline>[^%s]*)$",
-            sep, sep, sep, sep, sep, sep, sep, sep, sep, sep, sep, sep, sep,
-            sep, sep, sep, sep, sep, sep, sep, sep, sep, sep, sep, sep);
+            "\\G(?<type>[^%s]*)%s"
+            "(?<full_name>\"(?:[^\"]|\"\")*\"|[^%s]*)%s"
+            "(?<name>\"(?:[^\"]|\"\")*\"|[^%s]*)%s"
+            "(?<code>\"(?:[^\"]|\"\")*\"|[^%s]*)%s?"
+            "(?<description>\"(?:[^\"]|\"\")*\"|[^%s]*)%s"
+            "(?<color>[^%s]*)%s"
+            "(?<notes>\"(?:[^\"]|\"\")*\"|[^%s]*)%s"
+            "(?<commoditym>\"(?:[^\"]|\"\")*\"|[^%s]*)%s"
+            "(?<commodityn>\"(?:[^\"]|\"\")*\"|[^%s]*)%s"
+            "(?<hidden>[^%s]*)%s"
+            "(?<tax>[^%s]*)%s"
+            "(?<place_holder>[^%s[:cntrl:]]*)(?:\\R*)",
+            sep, sep, sep, sep, sep, sep, sep, sep, sep, sep, sep, sep,
+            sep, sep, sep, sep, sep, sep, sep, sep, sep, sep, sep);
 
 }
 
@@ -622,6 +630,7 @@ csv_import_assistant_create (CsvImportInfo *info)
     info->tree_view = GTK_WIDGET(gtk_builder_get_object (builder, "treeview"));
 
     /* Comma Separated file default */
+    info->regexp = g_string_new ("");
     create_regex (info->regexp, ",");
 
     /* create model and bind to view */
diff --git a/src/import-export/csv-imp/csv-account-import.c b/src/import-export/csv-imp/csv-account-import.c
index 10a02f0..2f5b6c5 100644
--- a/src/import-export/csv-imp/csv-account-import.c
+++ b/src/import-export/csv-imp/csv-account-import.c
@@ -81,30 +81,29 @@ csv_import_result
 csv_import_read_file (const gchar *filename, const gchar *parser_regexp,
                       GtkListStore *store, guint max_rows)
 {
-    FILE       *f;
-    char       *line;
-    gchar      *line_utf8;
-    gchar      *end1, *end2;
-    GMatchInfo *match_info;
+    gchar      *locale_cont, *contents;
+    GMatchInfo *match_info = NULL;
+    GRegex     *regexpat = NULL;
     GError     *err;
-    GRegex     *regexpat;
-    int         row = 0;
-    gboolean match_found = FALSE;
+    gint       row = 0;
+    gboolean   match_found = FALSE;
 
     // model
     GtkTreeIter iter;
 
-    f = g_fopen (filename, "rt");
-    if (!f)
+    if (!g_file_get_contents (filename, &locale_cont, NULL, NULL))
     {
         //gnc_error_dialog( 0, _("File %s cannot be opened."), filename );
         return RESULT_OPEN_FAILED;
     }
 
+    contents = g_locale_to_utf8 (locale_cont, -1, NULL, NULL, NULL);
+    g_free (locale_cont);
+
     // compile the regular expression and check for errors
     err = NULL;
     regexpat =
-        g_regex_new (parser_regexp, G_REGEX_EXTENDED | G_REGEX_OPTIMIZE | G_REGEX_DUPNAMES, 0, &err);
+        g_regex_new (parser_regexp, G_REGEX_OPTIMIZE, 0, &err);
     if (err != NULL)
     {
         GtkWidget *dialog;
@@ -113,7 +112,6 @@ csv_import_read_file (const gchar *filename, const gchar *parser_regexp,
         errmsg = g_strdup_printf (_("Error in regular expression '%s':\n%s"),
                                   parser_regexp, err->message);
         g_error_free (err);
-        err = NULL;
 
         dialog = gtk_message_dialog_new (NULL,
                                          GTK_DIALOG_MODAL,
@@ -122,100 +120,47 @@ csv_import_read_file (const gchar *filename, const gchar *parser_regexp,
         gtk_dialog_run (GTK_DIALOG (dialog));
         gtk_widget_destroy (dialog);
         g_free (errmsg);
-        errmsg = 0;
+        g_free (contents);
 
-        fclose (f);
         return RESULT_ERROR_IN_REGEXP;
     }
 
-    /* Setup the two different line endings */
-#ifdef G_OS_WIN32
-    end1 = g_strconcat (_("#eol"),"\"\n", NULL);
-    end2 = g_strconcat (_("#eol"),"\n", NULL);
-#else
-    end1 = g_strconcat (_("#eol"),"\"\r\n", NULL);
-    end2 = g_strconcat (_("#eol"),"\r\n", NULL);
-#endif
-
-    // start the import
-#define buffer_size 1000
-    line = g_malloc0 (buffer_size);
-    while (!feof (f))
+    g_regex_match (regexpat, contents, 0, &match_info);
+    while (g_match_info_matches (match_info))
     {
-        gchar  *currentline = NULL;
-        int l;
+        match_found = TRUE;
+        // fill in the values
+        gtk_list_store_append (store, &iter);
+        fill_model_with_match (match_info, "type", store, &iter, TYPE);
+        fill_model_with_match (match_info, "full_name", store, &iter, FULL_NAME);
+        fill_model_with_match (match_info, "name", store, &iter, NAME);
+        fill_model_with_match (match_info, "code", store, &iter, CODE);
+        fill_model_with_match (match_info, "description", store, &iter, DESCRIPTION);
+        fill_model_with_match (match_info, "color", store, &iter, COLOR);
+        fill_model_with_match (match_info, "notes", store, &iter, NOTES);
+        fill_model_with_match (match_info, "commoditym", store, &iter, COMMODITYM);
+        fill_model_with_match (match_info, "commodityn", store, &iter, COMMODITYN);
+        fill_model_with_match (match_info, "hidden", store, &iter, HIDDEN);
+        fill_model_with_match (match_info, "tax", store, &iter, TAX);
+        fill_model_with_match (match_info, "place_holder", store, &iter, PLACE_HOLDER);
+        gtk_list_store_set (store, &iter, ROW_COLOR, NULL, -1);
+
         row++;
         if (row == max_rows)
             break;
+        g_match_info_next (match_info, &err);
+    }
 
-        // read one line
-        if (!fgets (line, buffer_size, f))
-            break; // eof
-
-        currentline = g_strdup (line);
-
-        while (!(g_str_has_suffix (line, end1) || g_str_has_suffix (line, end2)))
-        {
-            // read next line
-            if (fgets (line, buffer_size, f))
-            {
-                gchar *temp_str = NULL;
-                temp_str = g_strconcat (currentline, line, NULL);
-                g_free (currentline);
-                currentline = g_strdup (temp_str);
-                g_free (temp_str);
-            }
-            else
-                break; // eof
-         }
-
-        // now strip the '\r\n' from the end of the line
-        l = strlen (currentline);
-        if ((l > 0) && (currentline[l - 1] == '\n'))
-            currentline[l - 1] = 0;
-
-        if ((l > 0) && (currentline[l - 2] == '\r'))
-            currentline[l - 2] = 0;
-
-        // convert line from locale into utf8
-        line_utf8 = g_locale_to_utf8 (currentline, -1, NULL, NULL, NULL);
-
-        // parse the line
-        match_info = NULL;	// it seems, that in contrast to documentation, match_info is not always set -> g_match_info_free will segfault
-        if (g_regex_match (regexpat, line_utf8, 0, &match_info))
-        {
-            match_found = TRUE;
-            // fill in the values
-            gtk_list_store_append (store, &iter);
-            fill_model_with_match (match_info, "type", store, &iter, TYPE);
-            fill_model_with_match (match_info, "full_name", store, &iter, FULL_NAME);
-            fill_model_with_match (match_info, "name", store, &iter, NAME);
-            fill_model_with_match (match_info, "code", store, &iter, CODE);
-            fill_model_with_match (match_info, "description", store, &iter, DESCRIPTION);
-            fill_model_with_match (match_info, "color", store, &iter, COLOR);
-            fill_model_with_match (match_info, "notes", store, &iter, NOTES);
-            fill_model_with_match (match_info, "commoditym", store, &iter, COMMODITYM);
-            fill_model_with_match (match_info, "commodityn", store, &iter, COMMODITYN);
-            fill_model_with_match (match_info, "hidden", store, &iter, HIDDEN);
-            fill_model_with_match (match_info, "tax", store, &iter, TAX);
-            fill_model_with_match (match_info, "place_holder", store, &iter, PLACE_HOLDER);
-            gtk_list_store_set (store, &iter, ROW_COLOR, NULL, -1);
-        }
+    g_match_info_free (match_info);
+    g_regex_unref (regexpat);
+    g_free (contents);
 
-        g_free (currentline);
-        g_match_info_free (match_info);
-        match_info = 0;
-        g_free (line_utf8);
-        line_utf8 = 0;
+    if (err != NULL)
+    {
+        g_printerr ("Error while matching: %s\n", err->message);
+        g_error_free (err);
     }
-    g_free (end1);
-    g_free (end2);
-    g_free (line);
-    line = 0;
 
-    g_regex_unref (regexpat);
-    regexpat = 0;
-    fclose (f);
     if (match_found == TRUE)
         return MATCH_FOUND;
     else

commit 595e359301199fde13e293f6dea5be9bd6168edb
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Sep 26 16:38:30 2014 +0200

    CSV Import transform macro into function
    
    A complex macro is difficult to debug, particularly if it uses
    variables that were defined outside of the macro.

diff --git a/src/import-export/csv-imp/csv-account-import.c b/src/import-export/csv-imp/csv-account-import.c
index 1d200ef..10a02f0 100644
--- a/src/import-export/csv-imp/csv-account-import.c
+++ b/src/import-export/csv-imp/csv-account-import.c
@@ -39,27 +39,38 @@
 /* This static indicates the debugging module that this .o belongs to.  */
 static QofLogModule log_module = GNC_MOD_ASSISTANT;
 
-/* This helper macro takes a regexp match and fills the model */
-#define FILL_IN_HELPER(match_name,column) \
-             temp = g_match_info_fetch_named (match_info, match_name); \
-             if (temp) \
-             { \
-		g_strstrip (temp); \
-                if (g_str_has_prefix (temp, "\""))\
-                { \
-                    if (strlen (temp) >= 2) \
-                    { \
-		        toptail = g_strndup (temp + 1, strlen (temp)-2); \
-                        parts = g_strsplit (toptail, "\"\"", -1); \
-                        temp = g_strjoinv ("\"", parts); \
-                        g_strfreev (parts); \
-                        g_free (toptail); \
-                    } \
-                } \
-                gtk_list_store_set (store, &iter, column, temp, -1); \
-                g_free (temp); \
-             }
+/* This helper function takes a regexp match and fills the model */
+static void
+fill_model_with_match(GMatchInfo *match_info,
+               const gchar *match_name,
+               GtkListStore *store,
+               GtkTreeIter *iterptr,
+               gint column)
+{
+    gchar *temp;
+
+    if (!match_info || !match_name)
+        return;
 
+    temp = g_match_info_fetch_named (match_info, match_name);
+    if (temp)
+    {
+        g_strstrip (temp);
+        if (g_str_has_prefix (temp, "\""))
+        {
+            if (strlen (temp) >= 2)
+            {
+                gchar *toptail = g_strndup (temp + 1, strlen (temp)-2);
+                gchar **parts = g_strsplit (toptail, "\"\"", -1);
+                temp = g_strjoinv ("\"", parts);
+                g_strfreev (parts);
+                g_free (toptail);
+            }
+        }
+        gtk_list_store_set (store, iterptr, column, temp, -1);
+        g_free (temp);
+     }
+}
 
 /*******************************************************
  * csv_import_read_file
@@ -72,8 +83,7 @@ csv_import_read_file (const gchar *filename, const gchar *parser_regexp,
 {
     FILE       *f;
     char       *line;
-    gchar      *line_utf8, *temp, *toptail;
-    gchar      **parts;
+    gchar      *line_utf8;
     gchar      *end1, *end2;
     GMatchInfo *match_info;
     GError     *err;
@@ -177,18 +187,18 @@ csv_import_read_file (const gchar *filename, const gchar *parser_regexp,
             match_found = TRUE;
             // fill in the values
             gtk_list_store_append (store, &iter);
-            FILL_IN_HELPER ("type", TYPE);
-            FILL_IN_HELPER ("full_name", FULL_NAME);
-            FILL_IN_HELPER ("name", NAME);
-            FILL_IN_HELPER ("code", CODE);
-            FILL_IN_HELPER ("description", DESCRIPTION);
-            FILL_IN_HELPER ("color", COLOR);
-            FILL_IN_HELPER ("notes", NOTES);
-            FILL_IN_HELPER ("commoditym", COMMODITYM);
-            FILL_IN_HELPER ("commodityn", COMMODITYN);
-            FILL_IN_HELPER ("hidden", HIDDEN);
-            FILL_IN_HELPER ("tax", TAX);
-            FILL_IN_HELPER ("place_holder", PLACE_HOLDER);
+            fill_model_with_match (match_info, "type", store, &iter, TYPE);
+            fill_model_with_match (match_info, "full_name", store, &iter, FULL_NAME);
+            fill_model_with_match (match_info, "name", store, &iter, NAME);
+            fill_model_with_match (match_info, "code", store, &iter, CODE);
+            fill_model_with_match (match_info, "description", store, &iter, DESCRIPTION);
+            fill_model_with_match (match_info, "color", store, &iter, COLOR);
+            fill_model_with_match (match_info, "notes", store, &iter, NOTES);
+            fill_model_with_match (match_info, "commoditym", store, &iter, COMMODITYM);
+            fill_model_with_match (match_info, "commodityn", store, &iter, COMMODITYN);
+            fill_model_with_match (match_info, "hidden", store, &iter, HIDDEN);
+            fill_model_with_match (match_info, "tax", store, &iter, TAX);
+            fill_model_with_match (match_info, "place_holder", store, &iter, PLACE_HOLDER);
             gtk_list_store_set (store, &iter, ROW_COLOR, NULL, -1);
         }
 

commit 32193a47130fc78a5966d6ba4de64f0e0342835d
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Fri Sep 26 16:26:58 2014 +0200

    CSV Export: factor out function to generate regular expression

diff --git a/src/import-export/csv-imp/assistant-csv-account-import.c b/src/import-export/csv-imp/assistant-csv-account-import.c
index 30b1d53..aae2d4c 100644
--- a/src/import-export/csv-imp/assistant-csv-account-import.c
+++ b/src/import-export/csv-imp/assistant-csv-account-import.c
@@ -112,6 +112,21 @@ static gchar *mnemonic_escape (const gchar *source)
     return dest;
 }
 
+static
+void create_regex (GString regex_str, const gchar *sep)
+{
+    if (!sep) return;
+
+    g_string_printf (regex_str,
+            "^(?<type>[^%s]*)%s?(?<full_name>\"(?:[^\"]|\"\")*\"|[^%s]*)%s?(?<name>\"(?:[^\"]|\"\")*\"|[^%s]*)%s\
+             ?(?<code>\"(?:[^\"]|\"\")*\"|[^%s]*)%s?(?<description>\"(?:[^\"]|\"\")*\"|[^%s]*)%s?(?<color>[^%s]*)%s\
+             ?(?<notes>\"(?:[^\"]|\"\")*\"|[^%s]*)%s?(?<commoditym>\"(?:[^\"]|\"\")*\"|[^%s]*)%s?(?<commodityn>\"(?:[^\"]|\"\")*\"|[^%s]*)%s\
+             ?(?<hidden>[^%s]*)%s?(?<tax>[^%s]*)%s?(?<place_holder>[^%s]*)%s(?<endofline>[^%s]*)$",
+            sep, sep, sep, sep, sep, sep, sep, sep, sep, sep, sep, sep, sep,
+            sep, sep, sep, sep, sep, sep, sep, sep, sep, sep, sep, sep);
+
+}
+
 /*************************************************************************/
 
 /**************************************************
@@ -216,6 +231,7 @@ void csv_import_sep_cb (GtkWidget *radio, gpointer user_data)
     CsvImportInfo *info = user_data;
     const gchar *name;
     gchar *temp;
+    gchar *sep = NULL;
 
     if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(radio)))
     {
@@ -224,24 +240,14 @@ void csv_import_sep_cb (GtkWidget *radio, gpointer user_data)
     }
 
     name = gtk_buildable_get_name (GTK_BUILDABLE(radio));
-
     if (g_strcmp0 (name, "radio_semi") == 0)
-        g_string_assign (info->regexp, "^(?<type>[^;]*);?(?<full_name>\"(?:[^\"]|\"\")*\"|[^;]*);?(?<name>\"(?:[^\"]|\"\")*\"|[^;]*);\
-	?(?<code>\"(?:[^\"]|\"\")*\"|[^;]*);?(?<description>\"(?:[^\"]|\"\")*\"|[^;]*);?(?<color>[^;]*);\
-	?(?<notes>\"(?:[^\"]|\"\")*\"|[^;]*);?(?<commoditym>\"(?:[^\"]|\"\")*\"|[^;]*);?(?<commodityn>\"(?:[^\"]|\"\")*\"|[^;]*);\
-	?(?<hidden>[^;]*);?(?<tax>[^;]*);?(?<place_holder>[^;]*);(?<endofline>[^;]*)$");
-
-    if (g_strcmp0 (name, "radio_colon") == 0)
-        g_string_assign (info->regexp, "^(?<type>[^:]*):?(?<full_name>\"(?:[^\"]|\"\")*\"|[^:]*):?(?<name>\"(?:[^\"]|\"\")*\"|[^:]*):\
-	?(?<code>\"(?:[^\"]|\"\")*\"|[^:]*):?(?<description>\"(?:[^\"]|\"\")*\"|[^:]*):?(?<color>[^:]*):\
-	?(?<notes>\"(?:[^\"]|\"\")*\"|[^:]*):?(?<commoditym>\"(?:[^\"]|\"\")*\"|[^:]*):?(?<commodityn>\"(?:[^\"]|\"\")*\"|[^:]*):\
-	?(?<hidden>[^:]*):?(?<tax>[^:]*):?(?<place_holder>[^:]*):(?<endofline>[^:]*)$");
-
-    if (g_strcmp0 (name, "radio_comma") == 0)
-        g_string_assign (info->regexp, "^(?<type>[^,]*),?(?<full_name>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<name>\"(?:[^\"]|\"\")*\"|[^,]*),\
-	?(?<code>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<description>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<color>[^,]*),\
-	?(?<notes>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<commoditym>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<commodityn>\"(?:[^\"]|\"\")*\"|[^,]*),\
-	?(?<hidden>[^,]*),?(?<tax>[^,]*),?(?<place_holder>[^,]*),(?<endofline>[^,]*)$");
+        sep = ";";
+    else if (g_strcmp0 (name, "radio_colon") == 0)
+        sep = ":";
+    else
+        sep = ","; /* Use as default as well */
+
+    create_regex (info->regexp, sep);
 
     if (g_strcmp0 (name, "radio_custom") == 0)
     {
@@ -616,10 +622,7 @@ csv_import_assistant_create (CsvImportInfo *info)
     info->tree_view = GTK_WIDGET(gtk_builder_get_object (builder, "treeview"));
 
     /* Comma Separated file default */
-    info->regexp = g_string_new ( "^(?<type>[^,]*),?(?<full_name>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<name>\"(?:[^\"]|\"\")*\"|[^,]*),\
-	?(?<code>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<description>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<color>[^,]*),\
-	?(?<notes>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<commoditym>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<commodityn>\"(?:[^\"]|\"\")*\"|[^,]*),\
-	?(?<hidden>[^,]*),?(?<tax>[^,]*),?(?<place_holder>[^,]*),(?<endofline>[^,]*)$");
+    create_regex (info->regexp, ",");
 
     /* create model and bind to view */
     info->store = gtk_list_store_new (N_COLUMNS,

commit 0c31c6275380a04464cb8dca09f497225781f377
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Thu Sep 25 21:17:19 2014 +0200

    Refactor OS-specific ifdef to reduce code duplication
    
    Which results in reduced risk on typos in either branch

diff --git a/src/import-export/csv-exp/csv-transactions-export.c b/src/import-export/csv-exp/csv-transactions-export.c
index 360c581..78cd294 100644
--- a/src/import-export/csv-exp/csv-transactions-export.c
+++ b/src/import-export/csv-exp/csv-transactions-export.c
@@ -42,6 +42,15 @@
 /* This static indicates the debugging module that this .o belongs to.  */
 static QofLogModule log_module = GNC_MOD_ASSISTANT;
 
+/* CSV spec requires CRLF line endings. Tweak the end-of-line string so this
+ * true for each platform */
+#ifdef G_OS_WIN32
+# define EOLSTR "\n"
+#else
+# define EOLSTR "\r\n"
+#endif
+
+
 /*******************************************************************/
 
 /*******************************************************
@@ -256,11 +265,7 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
         g_free (part1);
 
         /* From Number Only */
-#ifdef G_OS_WIN32
-        part1 = g_strconcat (part2, "", mid_sep, "", mid_sep, "", end_sep, "\n", NULL);
-#else
-        part1 = g_strconcat (part2, "", mid_sep, "", mid_sep, "", end_sep, "\r\n", NULL);
-#endif
+        part1 = g_strconcat (part2, "", mid_sep, "", mid_sep, "", end_sep, EOLSTR, NULL);
         g_free (part2);
 
         /* Write to file */
@@ -350,17 +355,9 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
             split_amount = xaccPrintAmount (xaccSplitGetSharePrice (t_split), gnc_split_amount_print_info (t_split, FALSE));
             str_temp = csv_txn_test_field_string (info, split_amount);
             if (xaccSplitGetAccount (t_split) == acc)
-#ifdef G_OS_WIN32
-                part2 = g_strconcat (part1,  str_temp, mid_sep, end_sep, "\n", NULL);
-#else
-                part2 = g_strconcat (part1,  str_temp, mid_sep, end_sep, "\r\n", NULL);
-#endif
+                part2 = g_strconcat (part1,  str_temp, mid_sep, end_sep, EOLSTR, NULL);
              else
-#ifdef G_OS_WIN32
-                part2 = g_strconcat (part1, mid_sep, str_temp, end_sep, "\n", NULL);
-#else
-                part2 = g_strconcat (part1, mid_sep, str_temp, end_sep, "\r\n", NULL);
-#endif
+                part2 = g_strconcat (part1, mid_sep, str_temp, end_sep, EOLSTR, NULL);
             g_free (str_temp);
             g_free (part1);
 
@@ -427,11 +424,7 @@ void csv_transactions_export (CsvExportInfo *info)
                                _("To With Sym"), mid_sep, _("From With Sym"), mid_sep,
                                _("To Num."), mid_sep, _("From Num."), mid_sep,
                                _("To Rate/Price"), mid_sep, _("From Rate/Price"),
-#ifdef G_OS_WIN32
-                               end_sep, "\n", NULL);
-#else
-                               end_sep, "\r\n", NULL);
-#endif
+                               end_sep, EOLSTR, NULL);
         DEBUG("Header String: %s", header);
 
         /* Write header line */
diff --git a/src/import-export/csv-exp/csv-tree-export.c b/src/import-export/csv-exp/csv-tree-export.c
index 61c4cd3..22d5ae5 100644
--- a/src/import-export/csv-exp/csv-tree-export.c
+++ b/src/import-export/csv-exp/csv-tree-export.c
@@ -38,6 +38,14 @@
 /* This static indicates the debugging module that this .o belongs to.  */
 static QofLogModule log_module = GNC_MOD_ASSISTANT;
 
+/* CSV spec requires CRLF line endings. Tweak the end-of-line string so this
+ * true for each platform */
+#ifdef G_OS_WIN32
+# define EOLSTR "\n"
+#else
+# define EOLSTR "\r\n"
+#endif
+
 /******************************************************************/
 
 /*******************************************************
@@ -144,19 +152,11 @@ void csv_tree_export (CsvExportInfo *info)
         }
 
         /* Header string, 'eol = end of line marker' */
-#ifdef G_OS_WIN32
-        header = g_strconcat (end_sep, _("type"), mid_sep, _("full_name"), mid_sep, _("name"), mid_sep,
-                                _("code"), mid_sep, _("description"), mid_sep, _("color"), mid_sep,
-                                _("notes"), mid_sep, _("commoditym"), mid_sep, _("commodityn"), mid_sep,
-                                _("hidden"), mid_sep, _("tax"), mid_sep, _("place_holder"), mid_sep, _("#eol"),
-                                 end_sep, "\n", NULL);
-#else
         header = g_strconcat (end_sep, _("type"), mid_sep, _("full_name"), mid_sep, _("name"), mid_sep,
                                 _("code"), mid_sep, _("description"), mid_sep, _("color"), mid_sep,
                                 _("notes"), mid_sep, _("commoditym"), mid_sep, _("commodityn"), mid_sep,
                                 _("hidden"), mid_sep, _("tax"), mid_sep, _("place_holder"), mid_sep, _("#eol"),
-                                 end_sep, "\r\n", NULL);
-#endif
+                                 end_sep, EOLSTR, NULL);
         DEBUG("Header String: %s", header);
 
         /* Write header line */
@@ -236,11 +236,7 @@ void csv_tree_export (CsvExportInfo *info)
             g_free (part2);
             /* Place Holder / end of line marker */
             currentSel = xaccAccountGetPlaceholder (acc) ? "T" : "F" ;
-#ifdef G_OS_WIN32
-            part2 = g_strconcat (part1, currentSel, mid_sep, _("#eol"), end_sep, "\n", NULL);
-#else
-            part2 = g_strconcat (part1, currentSel, mid_sep, _("#eol"), end_sep, "\r\n", NULL);
-#endif
+            part2 = g_strconcat (part1, currentSel, mid_sep, _("#eol"), end_sep, EOLSTR, NULL);
             g_free (part1);
 
             DEBUG("Account String: %s", part2);

commit ea0330165198a01a102420ab783345fac4aa55d0
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Sep 19 16:30:28 2014 +0100

    This patch just changes the white space to be of a consistent format.

diff --git a/src/import-export/csv-exp/assistant-csv-export.c b/src/import-export/csv-exp/assistant-csv-export.c
index b4ddb05..db9aba2 100644
--- a/src/import-export/csv-exp/assistant-csv-export.c
+++ b/src/import-export/csv-exp/assistant-csv-export.c
@@ -65,9 +65,9 @@ void csv_export_assistant_file_page_prepare (GtkAssistant *assistant, gpointer u
 void csv_export_assistant_finish_page_prepare (GtkAssistant *assistant, gpointer user_data);
 void csv_export_assistant_summary_page_prepare (GtkAssistant *assistant, gpointer user_data);
 
-void csv_export_quote_cb (GtkToggleButton *button, gpointer user_data );
-void csv_export_sep_cb (GtkWidget *radio, gpointer user_data );
-void csv_export_custom_entry_cb (GtkWidget *widget, gpointer user_data );
+void csv_export_quote_cb (GtkToggleButton *button, gpointer user_data);
+void csv_export_sep_cb (GtkWidget *radio, gpointer user_data);
+void csv_export_custom_entry_cb (GtkWidget *widget, gpointer user_data);
 
 void csv_export_show_range_cb (GtkRadioButton *button, gpointer user_data);
 void csv_export_start_date_cb (GtkWidget *radio, gpointer user_data);
@@ -115,11 +115,11 @@ csv_export_file_chooser_confirm_cb (GtkWidget *button, CsvExportInfo *info)
 
     gtk_assistant_set_page_complete (assistant, page, FALSE);
 
-    file_name = gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER(info->file_chooser ));
+    file_name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER(info->file_chooser));
 
     if (file_name)
     {
-        if (g_file_test(file_name, G_FILE_TEST_EXISTS ))
+        if (g_file_test (file_name, G_FILE_TEST_EXISTS))
         {
             const char *format = _("The file %s already exists. "
                                    "Are you sure you want to overwrite it?");
@@ -129,25 +129,25 @@ csv_export_file_chooser_confirm_cb (GtkWidget *button, CsvExportInfo *info)
                 return;
         }
 
-        info->file_name = g_strdup(file_name);
+        info->file_name = g_strdup (file_name);
         gtk_assistant_set_page_complete (assistant, page, TRUE);
     }
 
     if (file_name)
     {
-        gchar *filepath = gnc_uri_get_path ( file_name );
-        gchar *filedir = g_path_get_dirname( filepath );
-        info->starting_dir = g_strdup(filedir);
-        g_free ( filedir );
-        g_free ( filepath );
+        gchar *filepath = gnc_uri_get_path (file_name);
+        gchar *filedir = g_path_get_dirname (filepath);
+        info->starting_dir = g_strdup (filedir);
+        g_free (filedir);
+        g_free (filepath);
     }
-    g_free(file_name);
+    g_free (file_name);
 
     DEBUG("file_name selected is %s", info->file_name);
     DEBUG("starting directory is %s", info->starting_dir);
 
     /* Step to next page if page is complete */
-    if(gtk_assistant_get_page_complete(assistant, page))
+    if(gtk_assistant_get_page_complete (assistant, page))
         gtk_assistant_set_current_page (assistant, num + 1);
 }
 
@@ -157,7 +157,7 @@ csv_export_file_chooser_confirm_cb (GtkWidget *button, CsvExportInfo *info)
  *
  * call back for type of separartor required
  *******************************************************/
-void csv_export_sep_cb (GtkWidget *radio, gpointer user_data )
+void csv_export_sep_cb (GtkWidget *radio, gpointer user_data)
 {
     CsvExportInfo *info = user_data;
     const gchar *name;
@@ -166,28 +166,28 @@ void csv_export_sep_cb (GtkWidget *radio, gpointer user_data )
     gint num = gtk_assistant_get_current_page (assistant);
     GtkWidget *page = gtk_assistant_get_nth_page (assistant, num);
 
-    if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(radio)))
+    if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(radio)))
     {
         LEAVE("1st callback of pair. Defer to 2nd callback.");
         return;
     }
 
-    name = gtk_buildable_get_name(GTK_BUILDABLE(radio));
+    name = gtk_buildable_get_name (GTK_BUILDABLE(radio));
 
-    gtk_widget_set_sensitive(info->custom_entry, FALSE);
+    gtk_widget_set_sensitive (info->custom_entry, FALSE);
     info->use_custom = FALSE;
     gtk_assistant_set_page_complete (assistant, page, TRUE);
 
-    if (g_strcmp0(name, "comma_radio") == 0)
+    if (g_strcmp0 (name, "comma_radio") == 0)
         info->separator_str = ",";
-    if (g_strcmp0(name, "colon_radio") == 0)
+    if (g_strcmp0 (name, "colon_radio") == 0)
         info->separator_str = ":";
-    if (g_strcmp0(name, "semicolon_radio") == 0)
+    if (g_strcmp0 (name, "semicolon_radio") == 0)
         info->separator_str = ";";
 
-    if (g_strcmp0(name, "custom_radio") == 0)
+    if (g_strcmp0 (name, "custom_radio") == 0)
     {
-        gtk_widget_set_sensitive(info->custom_entry, TRUE);
+        gtk_widget_set_sensitive (info->custom_entry, TRUE);
         info->use_custom = TRUE;
         if (gtk_entry_get_text_length (GTK_ENTRY(info->custom_entry)) == 0)
             gtk_assistant_set_page_complete (assistant, page, FALSE);
@@ -200,11 +200,11 @@ void csv_export_sep_cb (GtkWidget *radio, gpointer user_data )
  *
  * call back for use of quotes
  *******************************************************/
-void csv_export_quote_cb (GtkToggleButton *button, gpointer user_data )
+void csv_export_quote_cb (GtkToggleButton *button, gpointer user_data)
 {
     CsvExportInfo *info = user_data;
 
-    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)))
+    if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(button)))
         info->use_quotes = TRUE;
     else
         info->use_quotes = FALSE;
@@ -216,7 +216,7 @@ void csv_export_quote_cb (GtkToggleButton *button, gpointer user_data )
  *
  * call back for custom separator
  *******************************************************/
-void csv_export_custom_entry_cb (GtkWidget *widget, gpointer user_data )
+void csv_export_custom_entry_cb (GtkWidget *widget, gpointer user_data)
 {
     CsvExportInfo *info = user_data;
     const gchar *custom_str;
@@ -225,8 +225,8 @@ void csv_export_custom_entry_cb (GtkWidget *widget, gpointer user_data )
     gint num = gtk_assistant_get_current_page (assistant);
     GtkWidget *page = gtk_assistant_get_nth_page (assistant, num);
 
-    custom_str = gtk_entry_get_text(GTK_ENTRY(info->custom_entry));
-    info->separator_str = strdup(custom_str);
+    custom_str = gtk_entry_get_text (GTK_ENTRY(info->custom_entry));
+    info->separator_str = strdup (custom_str);
 
     if (info->use_custom == TRUE && gtk_entry_get_text_length (GTK_ENTRY(info->custom_entry)) == 0)
 
@@ -250,7 +250,7 @@ void load_settings (CsvExportInfo *info)
     info->starting_dir = NULL;
 
     /* The default directory for the user to select files. */
-    info->starting_dir = gnc_get_default_directory(GNC_PREFS_GROUP);
+    info->starting_dir = gnc_get_default_directory (GNC_PREFS_GROUP);
 }
 
 /* =============================================================== */
@@ -272,11 +272,11 @@ csv_export_cursor_changed_cb (GtkWidget *widget, gpointer user_data)
     account = gnc_tree_view_account_get_cursor_account (account_tree);
     if (!account)
     {
-        gtk_widget_set_sensitive(info->csva.select_button, FALSE);
+        gtk_widget_set_sensitive (info->csva.select_button, FALSE);
         return;
     }
-    num_children = gnc_tree_view_account_count_children(account_tree, account);
-    gtk_widget_set_sensitive(info->csva.select_button, num_children > 0);
+    num_children = gnc_tree_view_account_count_children (account_tree, account);
+    gtk_widget_set_sensitive (info->csva.select_button, num_children > 0);
 }
 
 
@@ -318,7 +318,7 @@ show_acct_type_accounts (CsvExportInfo *info)
             Viewinfo.include_type[type] = FALSE;
     }
     gnc_tree_view_account_set_view_info (tree, &Viewinfo);
-    csv_export_cursor_changed_cb(GTK_WIDGET(tree), info);
+    csv_export_cursor_changed_cb (GTK_WIDGET(tree), info);
 }
 
 
@@ -482,40 +482,32 @@ get_filter_times (CsvExportInfo *info)
 {
     time64 time_val;
 
-    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(info->csvd.start_date_choose)))
+    if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(info->csvd.start_date_choose)))
     {
-        time_val = gnc_date_edit_get_date(GNC_DATE_EDIT(info->csvd.start_date));
-        time_val = gnc_time64_get_day_start(time_val);
+        time_val = gnc_date_edit_get_date (GNC_DATE_EDIT(info->csvd.start_date));
+        time_val = gnc_time64_get_day_start (time_val);
         info->csvd.start_time = time_val;
     }
     else
     {
-        if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(info->csvd.start_date_today)))
-        {
+        if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(info->csvd.start_date_today)))
             info->csvd.start_time = gnc_time64_get_today_start();
-        }
         else
-        {
             info->csvd.start_time = 0;
-        }
     }
 
-    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(info->csvd.end_date_choose)))
+    if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(info->csvd.end_date_choose)))
     {
-        time_val = gnc_date_edit_get_date(GNC_DATE_EDIT(info->csvd.end_date));
-        time_val = gnc_time64_get_day_end(time_val);
+        time_val = gnc_date_edit_get_date (GNC_DATE_EDIT(info->csvd.end_date));
+        time_val = gnc_time64_get_day_end (time_val);
         info->csvd.end_time = time_val;
     }
     else
     {
-        if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(info->csvd.start_date_today)))
-        {
+        if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(info->csvd.start_date_today)))
             info->csvd.end_time = gnc_time64_get_today_end();
-        }
         else
-        {
             info->csvd.end_time = gnc_time (NULL);
-        }
     }
 }
 
@@ -531,10 +523,10 @@ csv_export_show_range_cb (GtkRadioButton *button, gpointer user_data)
     CsvExportInfo *info = user_data;
     gboolean active;
 
-    g_return_if_fail(GTK_IS_RADIO_BUTTON(button));
+    g_return_if_fail (GTK_IS_RADIO_BUTTON(button));
 
-    active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
-    gtk_widget_set_sensitive(info->csvd.table, active);
+    active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(button));
+    gtk_widget_set_sensitive (info->csvd.table, active);
 }
 
 
@@ -548,7 +540,7 @@ csv_export_date_changed_cb (GtkWidget *w, gpointer user_data)
 {
     CsvExportInfo *info = user_data;
 
-    get_filter_times(info);
+    get_filter_times (info);
 }
 
 
@@ -564,18 +556,18 @@ csv_export_start_date_cb (GtkWidget *radio, gpointer user_data)
     const gchar *name;
     gboolean active;
 
-    g_return_if_fail(GTK_IS_RADIO_BUTTON(radio));
+    g_return_if_fail (GTK_IS_RADIO_BUTTON(radio));
 
-    if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(radio)))
+    if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(radio)))
     {
         LEAVE("1st callback of pair. Defer to 2nd callback.");
         return;
     }
 
-    name = gtk_buildable_get_name(GTK_BUILDABLE(radio));
-    active = ( g_strcmp0(name, g_strdup("start_date_choose")) == 0 ? 1 : 0 );
-    gtk_widget_set_sensitive(info->csvd.start_date, active);
-    get_filter_times(info);
+    name = gtk_buildable_get_name (GTK_BUILDABLE(radio));
+    active = (g_strcmp0 (name, "start_date_choose") == 0 ? 1 : 0 );
+    gtk_widget_set_sensitive (info->csvd.start_date, active);
+    get_filter_times (info);
 }
 
 
@@ -591,18 +583,18 @@ csv_export_end_date_cb (GtkWidget *radio, gpointer user_data)
     const gchar *name;
     gboolean active;
 
-    g_return_if_fail(GTK_IS_RADIO_BUTTON(radio));
+    g_return_if_fail (GTK_IS_RADIO_BUTTON(radio));
 
-    if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(radio)))
+    if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(radio)))
     {
         LEAVE("1st callback of pair. Defer to 2nd callback.");
         return;
     }
 
-    name = gtk_buildable_get_name(GTK_BUILDABLE(radio));
-    active = ( g_strcmp0(name, g_strdup("end_date_choose")) == 0 ? 1 : 0 );
-    gtk_widget_set_sensitive(info->csvd.end_date, active);
-    get_filter_times(info);
+    name = gtk_buildable_get_name (GTK_BUILDABLE(radio));
+    active = (g_strcmp0 (name, "end_date_choose") == 0 ? 1 : 0 );
+    gtk_widget_set_sensitive (info->csvd.end_date, active);
+    get_filter_times (info);
 }
 
 
@@ -621,8 +613,8 @@ get_earliest_in_book (QofBook *book)
     GList *res;
     time64 earliest;
 
-    q = qof_query_create_for(GNC_ID_SPLIT);
-    qof_query_set_max_results(q, 1);
+    q = qof_query_create_for (GNC_ID_SPLIT);
+    qof_query_set_max_results (q, 1);
     qof_query_set_book (q, book);
 
     /* Sort by transaction date */
@@ -703,7 +695,7 @@ csv_export_assistant_file_page_prepare (GtkAssistant *assistant,
 
     /* Set the default directory */
     if (info->starting_dir)
-        gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(info->file_chooser), info->starting_dir);
+        gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(info->file_chooser), info->starting_dir);
     gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER(info->file_chooser), "");
 
     /* Disable the Forward Assistant Button */
@@ -727,7 +719,7 @@ csv_export_assistant_finish_page_prepare (GtkAssistant *assistant,
         text = g_strdup_printf (gettext (finish_trans_string), info->file_name, info->csva.num_accounts);
 
     gtk_label_set_text (GTK_LABEL(info->finish_label), text);
-    g_free(text);
+    g_free (text);
 
     /* Enable the Assistant Buttons */
     gtk_assistant_set_page_complete (assistant, page, TRUE);
@@ -740,7 +732,7 @@ csv_export_assistant_summary_page_prepare (GtkAssistant *assistant,
 {
     CsvExportInfo *info = user_data;
     gchar *text, *mtext;
-    gnc_set_default_directory(GNC_PREFS_GROUP, info->starting_dir);
+    gnc_set_default_directory (GNC_PREFS_GROUP, info->starting_dir);
 
     if (info->failed)
         text = _("There was a problem with the export, this could be due to lack of space, "
@@ -749,11 +741,11 @@ csv_export_assistant_summary_page_prepare (GtkAssistant *assistant,
     else
         text = _("File exported successfully!\n");
 
-    mtext = g_strdup_printf("<span size=\"medium\"><b>%s</b></span>", text);
+    mtext = g_strdup_printf ("<span size=\"medium\"><b>%s</b></span>", text);
 
-    gtk_label_set_markup(GTK_LABEL(info->summary_label), mtext);
+    gtk_label_set_markup (GTK_LABEL(info->summary_label), mtext);
 
-    g_free(mtext);
+    g_free (mtext);
 }
 
 
@@ -819,10 +811,10 @@ csv_export_close_handler (gpointer user_data)
 {
     CsvExportInfo *info = user_data;
 
-    g_free(info->file_name);
-    g_free(info->starting_dir);
+    g_free (info->file_name);
+    g_free (info->starting_dir);
 
-    gnc_save_window_size(GNC_PREFS_GROUP, GTK_WINDOW(info->window));
+    gnc_save_window_size (GNC_PREFS_GROUP, GTK_WINDOW(info->window));
     gtk_widget_destroy (info->window);
 }
 
@@ -854,7 +846,7 @@ csv_export_assistant_create (CsvExportInfo *info)
     info->start_page = GTK_WIDGET(gtk_builder_get_object(builder, "start_page"));
     info->start_label = GTK_WIDGET(gtk_builder_get_object(builder, "start_label"));
     info->custom_entry = GTK_WIDGET(gtk_builder_get_object(builder, "custom_entry"));
-    gtk_widget_set_sensitive(info->custom_entry, FALSE);
+    gtk_widget_set_sensitive (info->custom_entry, FALSE);
 
     /* Account Page */
     info->account_page = GTK_WIDGET(gtk_builder_get_object(builder, "account_page"));
@@ -878,15 +870,15 @@ csv_export_assistant_create (CsvExportInfo *info)
 
         selection = gtk_tree_view_get_selection (tree_view);
         gtk_tree_selection_set_mode (selection, GTK_SELECTION_EXTENDED);
-        g_signal_connect (G_OBJECT (selection), "changed",
-                          G_CALLBACK (csv_export_account_changed_cb), info);
+        g_signal_connect (G_OBJECT(selection), "changed",
+                          G_CALLBACK(csv_export_account_changed_cb), info);
 
         gtk_widget_show (info->csva.account_treeview);
         box = GTK_WIDGET(gtk_builder_get_object (builder, "account_scroll"));
-        gtk_container_add (GTK_CONTAINER (box), info->csva.account_treeview);
+        gtk_container_add (GTK_CONTAINER(box), info->csva.account_treeview);
 
         label = GTK_WIDGET(gtk_builder_get_object (builder, "accounts_label"));
-        gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(tree_view));
+        gtk_label_set_mnemonic_widget (GTK_LABEL(label), GTK_WIDGET(tree_view));
 
         income_radio = GTK_WIDGET(gtk_builder_get_object (builder, "income_radio"));
         expense_radio = GTK_WIDGET(gtk_builder_get_object (builder, "expense_radio"));
@@ -896,25 +888,25 @@ csv_export_assistant_create (CsvExportInfo *info)
         liab_eq_radio = GTK_WIDGET(gtk_builder_get_object (builder, "liab_eq_radio"));
         info->csva.liab_eq_radio = liab_eq_radio;
         info->csva.account_type = ACCT_TYPE_EXPENSE;
-        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(expense_radio), TRUE);
+        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(expense_radio), TRUE);
 
-        g_signal_connect (G_OBJECT (income_radio), "toggled",
-                          G_CALLBACK  (csv_export_info_acct_type_cb), info);
-        g_signal_connect (G_OBJECT (expense_radio), "toggled",
-                          G_CALLBACK  (csv_export_info_acct_type_cb), info);
-        g_signal_connect (G_OBJECT (asset_radio), "toggled",
-                          G_CALLBACK  (csv_export_info_acct_type_cb), info);
-        g_signal_connect (G_OBJECT (liab_eq_radio), "toggled",
-                          G_CALLBACK  (csv_export_info_acct_type_cb), info);
+        g_signal_connect (G_OBJECT(income_radio), "toggled",
+                          G_CALLBACK(csv_export_info_acct_type_cb), info);
+        g_signal_connect (G_OBJECT(expense_radio), "toggled",
+                          G_CALLBACK(csv_export_info_acct_type_cb), info);
+        g_signal_connect (G_OBJECT(asset_radio), "toggled",
+                          G_CALLBACK(csv_export_info_acct_type_cb), info);
+        g_signal_connect (G_OBJECT(liab_eq_radio), "toggled",
+                          G_CALLBACK(csv_export_info_acct_type_cb), info);
 
         /* select subaccounts button */
         button = GTK_WIDGET(gtk_builder_get_object (builder, "select_subaccounts_button"));
         info->csva.select_button = button;
 
-        g_signal_connect (G_OBJECT (button), "clicked",
-                          G_CALLBACK  (csv_export_select_subaccounts_clicked_cb), info);
-        g_signal_connect (G_OBJECT (info->csva.account_treeview), "cursor_changed",
-                          G_CALLBACK  (csv_export_cursor_changed_cb), info);
+        g_signal_connect (G_OBJECT(button), "clicked",
+                          G_CALLBACK(csv_export_select_subaccounts_clicked_cb), info);
+        g_signal_connect (G_OBJECT(info->csva.account_treeview), "cursor_changed",
+                          G_CALLBACK(csv_export_cursor_changed_cb), info);
 
         /* Set the date info */
         button = GTK_WIDGET(gtk_builder_get_object (builder, "show_range"));
@@ -925,11 +917,11 @@ csv_export_assistant_create (CsvExportInfo *info)
 
         info->csvd.start_time = start_time;
         info->csvd.end_time = end_time;
-        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
+        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(button), FALSE);
 
         table = GTK_WIDGET(gtk_builder_get_object (builder, "select_range_table"));
         info->csvd.table = table;
-        gtk_widget_set_sensitive(GTK_WIDGET(table), FALSE);
+        gtk_widget_set_sensitive (GTK_WIDGET(table), FALSE);
 
         info->csvd.start_date_choose = GTK_WIDGET(gtk_builder_get_object (builder, "start_date_choose"));
         info->csvd.start_date_today = GTK_WIDGET(gtk_builder_get_object (builder, "start_date_today"));
@@ -939,16 +931,16 @@ csv_export_assistant_create (CsvExportInfo *info)
         /* Start date info */
         info->csvd.start_date = gnc_date_edit_new (gnc_time (NULL), FALSE, FALSE);
         hbox = GTK_WIDGET(gtk_builder_get_object (builder, "start_date_hbox"));
-        gtk_box_pack_start (GTK_BOX (hbox), info->csvd.start_date, TRUE, TRUE, 0);
+        gtk_box_pack_start (GTK_BOX(hbox), info->csvd.start_date, TRUE, TRUE, 0);
         gtk_widget_show (info->csvd.start_date);
         gnc_date_edit_set_time (GNC_DATE_EDIT(info->csvd.start_date), start_time);
-        g_signal_connect (G_OBJECT (info->csvd.start_date), "date-changed",
-                        G_CALLBACK (csv_export_date_changed_cb), info);
+        g_signal_connect (G_OBJECT(info->csvd.start_date), "date-changed",
+                        G_CALLBACK(csv_export_date_changed_cb), info);
 
         /* End date info */
         info->csvd.end_date = gnc_date_edit_new (gnc_time (NULL), FALSE, FALSE);
         hbox = GTK_WIDGET(gtk_builder_get_object (builder, "end_date_hbox"));
-        gtk_box_pack_start (GTK_BOX (hbox), info->csvd.end_date, TRUE, TRUE, 0);
+        gtk_box_pack_start (GTK_BOX(hbox), info->csvd.end_date, TRUE, TRUE, 0);
         gtk_widget_show (info->csvd.end_date);
         gnc_date_edit_set_time (GNC_DATE_EDIT(info->csvd.end_date), end_time);
         g_signal_connect (G_OBJECT (info->csvd.end_date), "date-changed",
@@ -962,37 +954,37 @@ csv_export_assistant_create (CsvExportInfo *info)
     /* File chooser Page */
     info->file_page = GTK_WIDGET(gtk_builder_get_object(builder, "file_page"));
     info->file_chooser = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_SAVE);
-    button = gtk_button_new_from_stock(GTK_STOCK_OK);
+    button = gtk_button_new_from_stock (GTK_STOCK_OK);
     gtk_widget_set_size_request (button, 100, -1);
     gtk_widget_show (button);
-    h_box = gtk_hbox_new(TRUE, 0);
+    h_box = gtk_hbox_new (TRUE, 0);
     gtk_box_pack_start(GTK_BOX(h_box), button, FALSE, FALSE, 0);
     gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(info->file_chooser), h_box);
-    g_signal_connect (G_OBJECT (button), "clicked",
-                      G_CALLBACK (csv_export_file_chooser_confirm_cb), info);
+    g_signal_connect (G_OBJECT(button), "clicked",
+                      G_CALLBACK(csv_export_file_chooser_confirm_cb), info);
 
-    box = GTK_WIDGET(gtk_builder_get_object(builder, "file_page"));
+    box = GTK_WIDGET(gtk_builder_get_object (builder, "file_page"));
     gtk_box_pack_start (GTK_BOX (box), info->file_chooser, TRUE, TRUE, 6);
     gtk_widget_show (info->file_chooser);
 
     /* Finish Page */
-    info->finish_label = GTK_WIDGET(gtk_builder_get_object(builder, "end_page"));
+    info->finish_label = GTK_WIDGET(gtk_builder_get_object (builder, "end_page"));
 
     /* Summary Page */
-    info->summary_label = GTK_WIDGET(gtk_builder_get_object(builder, "summary_page"));
+    info->summary_label = GTK_WIDGET(gtk_builder_get_object (builder, "summary_page"));
 
     g_signal_connect (G_OBJECT(window), "destroy",
-                      G_CALLBACK (csv_export_assistant_destroy_cb), info);
+                      G_CALLBACK(csv_export_assistant_destroy_cb), info);
 
     gnc_restore_window_size (GNC_PREFS_GROUP, GTK_WINDOW(info->window));
-    if (gnc_prefs_get_bool(GNC_PREFS_GROUP_GENERAL, GNC_PREF_SAVE_GEOMETRY))
+    if (gnc_prefs_get_bool (GNC_PREFS_GROUP_GENERAL, GNC_PREF_SAVE_GEOMETRY))
     {
         GObject *object = gtk_builder_get_object (builder, "paned");
         gnc_prefs_bind (GNC_PREFS_GROUP, GNC_PREF_PANED_POS, object, "position");
     }
 
-    gtk_builder_connect_signals(builder, info);
-    g_object_unref(G_OBJECT(builder));
+    gtk_builder_connect_signals (builder, info);
+    g_object_unref (G_OBJECT(builder));
     return window;
 }
 
diff --git a/src/import-export/csv-exp/csv-transactions-export.c b/src/import-export/csv-exp/csv-transactions-export.c
index b09d785..360c581 100644
--- a/src/import-export/csv-exp/csv-transactions-export.c
+++ b/src/import-export/csv-exp/csv-transactions-export.c
@@ -57,10 +57,10 @@ gboolean write_line_to_file (FILE *fh, char * line)
     DEBUG("Account String: %s", line);
 
     /* Write account line */
-    len = strlen( line );
-    written = fwrite( line, 1, len, fh );
+    len = strlen (line);
+    written = fwrite (line, 1, len, fh);
 
-    if ( written != len )
+    if (written != len)
         return FALSE;
     else
         return TRUE;
@@ -121,7 +121,7 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
     gchar   *end_sep;
     gchar   *mid_sep;
 
-    q = qof_query_create_for(GNC_ID_SPLIT);
+    q = qof_query_create_for (GNC_ID_SPLIT);
     book = gnc_get_current_book();
     qof_query_set_book (q, book);
 
@@ -129,12 +129,12 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
     if (info->use_quotes)
     {
         end_sep = "\"";
-        mid_sep = g_strconcat ( "\"", info->separator_str, "\"", NULL);
+        mid_sep = g_strconcat ("\"", info->separator_str, "\"", NULL);
     }
     else
     {
         end_sep = "";
-        mid_sep = g_strconcat ( info->separator_str, NULL);
+        mid_sep = g_strconcat (info->separator_str, NULL);
     }
 
     /* Sort by transaction date */
@@ -147,7 +147,7 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
     xaccQueryAddDateMatchTT (q, TRUE, info->csvd.start_time, TRUE, info->csvd.end_time, QOF_QUERY_AND);
 
     /* Run the query */
-    for (splits = qof_query_run(q); splits; splits = splits->next)
+    for (splits = qof_query_run (q); splits; splits = splits->next)
     {
         Split       *split;
         Transaction *trans;
@@ -164,9 +164,9 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
         gchar       *str_temp = NULL;
 
         split = splits->data;
-        trans = xaccSplitGetParent(split);
-        nSplits = xaccTransCountSplits(trans);
-        s_list = xaccTransGetSplitList(trans);
+        trans = xaccSplitGetParent (split);
+        nSplits = xaccTransCountSplits (trans);
+        s_list = xaccTransGetSplitList (trans);
 
         /* Date */
         date = qof_print_date (xaccTransGetDate (trans));
@@ -274,12 +274,12 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
         /* Loop through the list of splits for the Transcation */
         node = s_list;
         cnt = 0;
-        while ( (cnt < nSplits) && (info->failed == FALSE))
+        while ((cnt < nSplits) && (info->failed == FALSE))
         {
             t_split = node->data;
 
             /* Start of line */
-            part1 = g_strconcat ( end_sep, mid_sep, mid_sep, mid_sep, mid_sep, mid_sep, NULL);
+            part1 = g_strconcat (end_sep, mid_sep, mid_sep, mid_sep, mid_sep, mid_sep, NULL);
 
             /* Memo */
             currentSel = xaccSplitGetMemo (t_split) ? xaccSplitGetMemo (t_split) : "" ;
@@ -396,8 +396,8 @@ void csv_transactions_export (CsvExportInfo *info)
     info->failed = FALSE;
 
     /* Open File for writing */
-    fh = g_fopen( info->file_name, "w" );
-    if ( fh != NULL )
+    fh = g_fopen (info->file_name, "w" );
+    if (fh != NULL)
     {
         gchar *header;
         gchar *end_sep;
@@ -408,16 +408,16 @@ void csv_transactions_export (CsvExportInfo *info)
         if (info->use_quotes)
         {
             end_sep = "\"";
-            mid_sep = g_strconcat ( "\"", info->separator_str, "\"", NULL);
+            mid_sep = g_strconcat ("\"", info->separator_str, "\"", NULL);
         }
         else
         {
             end_sep = "";
-            mid_sep = g_strconcat ( info->separator_str, NULL);
+            mid_sep = g_strconcat (info->separator_str, NULL);
         }
 
         /* Header string */
-        header = g_strconcat ( end_sep, _("Date"), mid_sep, _("Account Name"), mid_sep,
+        header = g_strconcat (end_sep, _("Date"), mid_sep, _("Account Name"), mid_sep,
                                (num_action ? _("Transaction Number") : _("Number")),
                                mid_sep, _("Description"), mid_sep, _("Notes"),
                                mid_sep, _("Memo"), mid_sep, _("Category"), mid_sep,
@@ -435,21 +435,21 @@ void csv_transactions_export (CsvExportInfo *info)
         DEBUG("Header String: %s", header);
 
         /* Write header line */
-        if (!write_line_to_file(fh, header))
+        if (!write_line_to_file (fh, header))
         {
             info->failed = TRUE;
-            g_free(mid_sep);
-            g_free(header);
+            g_free (mid_sep);
+            g_free (header);
             return;
         }
-        g_free(mid_sep);
-        g_free(header);
+        g_free (mid_sep);
+        g_free (header);
 
         /* Go through list of accounts */
         for (ptr = info->csva.account_list, i = 0; ptr; ptr = g_list_next(ptr), i++)
         {
             acc = ptr->data;
-            DEBUG("Account being processed is : %s", xaccAccountGetName(acc));
+            DEBUG("Account being processed is : %s", xaccAccountGetName (acc));
             account_splits (info, acc, fh);
         }
     }
diff --git a/src/import-export/csv-exp/csv-tree-export.c b/src/import-export/csv-exp/csv-tree-export.c
index da4ab74..61c4cd3 100644
--- a/src/import-export/csv-exp/csv-tree-export.c
+++ b/src/import-export/csv-exp/csv-tree-export.c
@@ -47,16 +47,16 @@ static QofLogModule log_module = GNC_MOD_ASSISTANT;
  * successfull.
  *******************************************************/
 static
-gboolean write_line_to_file ( FILE *fh, char * line)
+gboolean write_line_to_file (FILE *fh, char * line)
 {
     int len, written;
     DEBUG("Account String: %s", line);
 
     /* Write account line */
-    len = strlen( line );
-    written = fwrite( line, 1, len, fh );
+    len = strlen (line);
+    written = fwrite (line, 1, len, fh);
 
-    if ( written != len )
+    if (written != len)
         return FALSE;
     else
         return TRUE;
@@ -114,13 +114,13 @@ void csv_tree_export (CsvExportInfo *info)
     DEBUG("File name is : %s", info->file_name);
 
     /* Get list of Accounts */
-    root = gnc_book_get_root_account( gnc_get_current_book() );
-    accts = gnc_account_get_descendants_sorted( root );
+    root = gnc_book_get_root_account (gnc_get_current_book());
+    accts = gnc_account_get_descendants_sorted (root);
     info->failed = FALSE;
 
     /* Open File for writing */
-    fh = g_fopen( info->file_name, "w" );
-    if ( fh != NULL )
+    fh = g_fopen (info->file_name, "w");
+    if (fh != NULL)
     {
         gchar *header;
         gchar *part1;
@@ -135,12 +135,12 @@ void csv_tree_export (CsvExportInfo *info)
         if (info->use_quotes)
         {
             end_sep = "\"";
-            mid_sep = g_strconcat ( "\"", info->separator_str, "\"", NULL);
+            mid_sep = g_strconcat ("\"", info->separator_str, "\"", NULL);
         }
         else
         {
             end_sep = "";
-            mid_sep = g_strconcat ( info->separator_str, NULL);
+            mid_sep = g_strconcat (info->separator_str, NULL);
         }
 
         /* Header string, 'eol = end of line marker' */
@@ -160,22 +160,22 @@ void csv_tree_export (CsvExportInfo *info)
         DEBUG("Header String: %s", header);
 
         /* Write header line */
-        if (!write_line_to_file(fh, header))
+        if (!write_line_to_file (fh, header))
         {
             info->failed = TRUE;
-            g_free(mid_sep);
-            g_free(header);
+            g_free (mid_sep);
+            g_free (header);
             return;
         }
-        g_free(header);
+        g_free (header);
 
         /* Go through list of accounts */
-        for (ptr = accts, i = 0; ptr; ptr = g_list_next(ptr), i++)
+        for (ptr = accts, i = 0; ptr; ptr = g_list_next (ptr), i++)
         {
             gchar *fullname = NULL;
             gchar *str_temp = NULL;
             acc = ptr->data;
-            DEBUG("Account being processed is : %s", xaccAccountGetName(acc));
+            DEBUG("Account being processed is : %s", xaccAccountGetName (acc));
             /* Type */
             currentSel = xaccAccountTypeEnumAsString (xaccAccountGetType (acc));
             part1 = g_strconcat (end_sep, currentSel, mid_sep, NULL);
@@ -246,21 +246,21 @@ void csv_tree_export (CsvExportInfo *info)
             DEBUG("Account String: %s", part2);
 
             /* Write to file */
-            if (!write_line_to_file(fh, part2))
+            if (!write_line_to_file (fh, part2))
             {
                 info->failed = TRUE;
                 break;
             }
-            g_free(part2);
+            g_free (part2);
         }
-        g_free(mid_sep);
+        g_free (mid_sep);
     }
     else
         info->failed = TRUE;
     if (fh)
         fclose (fh);
 
-    g_list_free( accts );
+    g_list_free (accts);
     LEAVE("");
 }
 
diff --git a/src/import-export/csv-imp/assistant-csv-account-import.c b/src/import-export/csv-imp/assistant-csv-account-import.c
index 9d23ab7..30b1d53 100644
--- a/src/import-export/csv-imp/assistant-csv-account-import.c
+++ b/src/import-export/csv-imp/assistant-csv-account-import.c
@@ -131,17 +131,17 @@ csv_import_file_chooser_confirm_cb (GtkWidget *button, CsvImportInfo *info)
 
     gtk_assistant_set_page_complete (assistant, page, FALSE);
 
-    file_name = gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER(info->file_chooser ));
+    file_name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER(info->file_chooser));
 
     if (file_name)
     {
-        gchar *filepath = gnc_uri_get_path ( file_name );
-        gchar *filedir = g_path_get_dirname( filepath );
-        info->starting_dir = g_strdup(filedir);
-        g_free ( filedir );
-        g_free ( filepath );
+        gchar *filepath = gnc_uri_get_path (file_name);
+        gchar *filedir = g_path_get_dirname (filepath);
+        info->starting_dir = g_strdup (filedir);
+        g_free (filedir);
+        g_free (filepath);
 
-        info->file_name = g_strdup(file_name);
+        info->file_name = g_strdup (file_name);
 
         // generate preview
         gtk_list_store_clear (info->store);
@@ -153,13 +153,13 @@ csv_import_file_chooser_confirm_cb (GtkWidget *button, CsvImportInfo *info)
         else if (res == MATCH_FOUND)
             gtk_assistant_set_page_complete (assistant, page, TRUE);
     }
-    g_free(file_name);
+    g_free (file_name);
 
     DEBUG("file_name selected is %s", info->file_name);
     DEBUG("starting directory is %s", info->starting_dir);
 
     /* Step to next page if page is complete */
-    if(gtk_assistant_get_page_complete(assistant, page))
+    if(gtk_assistant_get_page_complete (assistant, page))
         gtk_assistant_set_current_page (assistant, num + 1);
 
 }
@@ -170,7 +170,7 @@ csv_import_file_chooser_confirm_cb (GtkWidget *button, CsvImportInfo *info)
  *
  * call back for the start row / number of header rows
  *******************************************************/
-void csv_import_hrows_cb (GtkWidget *spin, gpointer user_data )
+void csv_import_hrows_cb (GtkWidget *spin, gpointer user_data)
 {
     CsvImportInfo *info = user_data;
 
@@ -182,12 +182,12 @@ void csv_import_hrows_cb (GtkWidget *spin, gpointer user_data )
     info->header_rows = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spin));
 
     /* Get number of rows displayed */
-    num_rows = gtk_tree_model_iter_n_children(GTK_TREE_MODEL(info->store), NULL);
+    num_rows = gtk_tree_model_iter_n_children (GTK_TREE_MODEL(info->store), NULL);
 
     /* Modify background color for header rows */
     if (info->header_rows == 0)
     {
-        valid = gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(info->store), &iter, NULL, 0 );
+        valid = gtk_tree_model_iter_nth_child (GTK_TREE_MODEL(info->store), &iter, NULL, 0 );
         if (valid)
             gtk_list_store_set (info->store, &iter, ROW_COLOR, NULL, -1);
     }
@@ -195,7 +195,7 @@ void csv_import_hrows_cb (GtkWidget *spin, gpointer user_data )
     {
         if (info->header_rows - 1 < num_rows)
         {
-            valid = gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(info->store), &iter, NULL, info->header_rows - 1 );
+            valid = gtk_tree_model_iter_nth_child (GTK_TREE_MODEL(info->store), &iter, NULL, info->header_rows - 1 );
             if (valid)
                 gtk_list_store_set (info->store, &iter, ROW_COLOR, "pink", -1);
             valid = gtk_tree_model_iter_next (GTK_TREE_MODEL(info->store), &iter);
@@ -211,19 +211,19 @@ void csv_import_hrows_cb (GtkWidget *spin, gpointer user_data )
  *
  * call back for type of separartor required
  *******************************************************/
-void csv_import_sep_cb (GtkWidget *radio, gpointer user_data )
+void csv_import_sep_cb (GtkWidget *radio, gpointer user_data)
 {
     CsvImportInfo *info = user_data;
     const gchar *name;
     gchar *temp;
 
-    if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(radio)))
+    if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(radio)))
     {
         LEAVE("1st callback of pair. Defer to 2nd callback.");
         return;
     }
 
-    name = gtk_buildable_get_name(GTK_BUILDABLE(radio));
+    name = gtk_buildable_get_name (GTK_BUILDABLE(radio));
 
     if (g_strcmp0 (name, "radio_semi") == 0)
         g_string_assign (info->regexp, "^(?<type>[^;]*);?(?<full_name>\"(?:[^\"]|\"\")*\"|[^;]*);?(?<name>\"(?:[^\"]|\"\")*\"|[^;]*);\
@@ -256,13 +256,13 @@ void csv_import_sep_cb (GtkWidget *radio, gpointer user_data )
     /* Generate preview */
     gtk_list_store_clear (info->store);
 
-    if (csv_import_read_file (info->file_name, info->regexp->str, info->store, 11 ) == MATCH_FOUND)
+    if (csv_import_read_file (info->file_name, info->regexp->str, info->store, 11) == MATCH_FOUND)
         gtk_widget_set_sensitive (info->header_row_spin, TRUE);
     else
         gtk_widget_set_sensitive (info->header_row_spin, FALSE);
 
     /* Reset Header spin to 0 */
-    gtk_spin_button_set_value( GTK_SPIN_BUTTON(info->header_row_spin), 0 );
+    gtk_spin_button_set_value (GTK_SPIN_BUTTON(info->header_row_spin), 0);
 }
 
 
@@ -281,7 +281,7 @@ void load_settings (CsvImportInfo *info)
     info->error = "";
 
     /* The default directory for the user to select files. */
-    info->starting_dir = gnc_get_default_directory(GNC_PREFS_GROUP);
+    info->starting_dir = gnc_get_default_directory (GNC_PREFS_GROUP);
 }
 
 
@@ -313,28 +313,28 @@ gnc_input_dialog (GtkWidget *parent, const gchar *title, const gchar *msg, const
     GtkTextIter start, end;
 
     /* Create the widgets */
-    dialog = gtk_dialog_new_with_buttons (title, GTK_WINDOW (parent),
+    dialog = gtk_dialog_new_with_buttons (title, GTK_WINDOW(parent),
                                           GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
                                           GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
                                           GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT,
                                           NULL);
 
-    content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+    content_area = gtk_dialog_get_content_area (GTK_DIALOG(dialog));
 
     // add a label
     label = gtk_label_new (msg);
-    gtk_container_add (GTK_CONTAINER (content_area), label);
+    gtk_container_add (GTK_CONTAINER(content_area), label);
 
     // add a textview
     view = gtk_text_view_new ();
-    gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (view), GTK_WRAP_WORD_CHAR);
-    buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
+    gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW(view), GTK_WRAP_WORD_CHAR);
+    buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(view));
     gtk_text_buffer_set_text (buffer, default_input, -1);
-    gtk_container_add (GTK_CONTAINER (content_area), view);
+    gtk_container_add (GTK_CONTAINER(content_area), view);
 
     // run the dialog
     gtk_widget_show_all (dialog);
-    result = gtk_dialog_run (GTK_DIALOG (dialog));
+    result = gtk_dialog_run (GTK_DIALOG(dialog));
 
     if (result == GTK_RESPONSE_REJECT)
         user_input = 0;
@@ -380,7 +380,7 @@ csv_import_assistant_file_page_prepare (GtkAssistant *assistant,
 
     /* Set the default directory */
     if (info->starting_dir)
-        gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(info->file_chooser), info->starting_dir);
+        gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(info->file_chooser), info->starting_dir);
 
     /* Disable the Forward Assistant Button */
     gtk_assistant_set_page_complete (assistant, page, FALSE);
@@ -423,10 +423,10 @@ csv_import_assistant_finish_page_prepare (GtkAssistant *assistant,
         text = g_strdup_printf (gettext (finish_tree_string), info->file_name);
     }
     gtk_label_set_text (GTK_LABEL(info->finish_label), text);
-    g_free(text);
+    g_free (text);
 
     /* Save the Window size and directory */
-    gnc_set_default_directory(GNC_PREFS_GROUP, info->starting_dir);
+    gnc_set_default_directory (GNC_PREFS_GROUP, info->starting_dir);
 
     /* Enable the Assistant Buttons */
     gtk_assistant_set_page_complete (assistant, page, TRUE);
@@ -443,29 +443,29 @@ csv_import_assistant_summary_page_prepare (GtkAssistant *assistant,
     /* Before creating accounts, if this is a new book, let user specify
      * book options, since they affect how transactions are created */
     if (info->new_book)
-        info->new_book = gnc_new_book_option_display(info->window);
+        info->new_book = gnc_new_book_option_display (info->window);
 
-    if (!g_strcmp0(info->error, "") == 0)
+    if (!g_strcmp0 (info->error, "") == 0)
     {
         GtkTextBuffer *buffer;
 
-        buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (info->summary_error_view));
-        text = g_strdup_printf(gettext ("Import completed but with errors!\n\nThe number of Accounts added was %u and "
+        buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(info->summary_error_view));
+        text = g_strdup_printf (gettext ("Import completed but with errors!\n\nThe number of Accounts added was %u and "
                                         "updated was %u.\n\nSee below for errors..." ), info->num_new, info->num_updates );
-        errtext = g_strdup_printf ( "%s", info->error);
+        errtext = g_strdup_printf ("%s", info->error);
         gtk_text_buffer_set_text (buffer, errtext, -1);
-        g_free(errtext);
-        g_free(info->error);
+        g_free (errtext);
+        g_free (info->error);
     }
     else
-        text = g_strdup_printf(gettext ("Import completed successfully!\n\nThe number of Accounts added was %u and "
+        text = g_strdup_printf (gettext ("Import completed successfully!\n\nThe number of Accounts added was %u and "
                                         "updated was %u.\n" ), info->num_new, info->num_updates );
 
-    mtext = g_strdup_printf("<span size=\"medium\"><b>%s</b></span>", text);
-    gtk_label_set_markup(GTK_LABEL(info->summary_label), mtext);
+    mtext = g_strdup_printf ("<span size=\"medium\"><b>%s</b></span>", text);
+    gtk_label_set_markup (GTK_LABEL(info->summary_label), mtext);
 
-    g_free(text);
-    g_free(mtext);
+    g_free (text);
+    g_free (mtext);
 }
 
 
@@ -473,7 +473,7 @@ void
 csv_import_assistant_prepare (GtkAssistant *assistant, GtkWidget *page,
                               gpointer user_data)
 {
-    gint currentpage = gtk_assistant_get_current_page(assistant);
+    gint currentpage = gtk_assistant_get_current_page (assistant);
 
     switch (currentpage)
     {
@@ -541,11 +541,11 @@ csv_import_close_handler (gpointer user_data)
 {
     CsvImportInfo *info = user_data;
 
-    g_free(info->starting_dir);
-    g_free(info->file_name);
-    g_string_free(info->regexp, TRUE);
+    g_free (info->starting_dir);
+    g_free (info->file_name);
+    g_string_free (info->regexp, TRUE);
 
-    gnc_save_window_size(GNC_PREFS_GROUP, GTK_WINDOW(info->window));
+    gnc_save_window_size (GNC_PREFS_GROUP, GTK_WINDOW(info->window));
     gtk_widget_destroy (info->window);
 }
 
@@ -564,8 +564,8 @@ csv_import_assistant_create (CsvImportInfo *info)
     gchar *mnemonic_desc = NULL;
 
     builder = gtk_builder_new();
-    gnc_builder_add_from_file  (builder , "assistant-csv-account-import.glade", "num_hrows_adj");
-    gnc_builder_add_from_file  (builder , "assistant-csv-account-import.glade", "CSV Account Import Assistant");
+    gnc_builder_add_from_file  (builder, "assistant-csv-account-import.glade", "num_hrows_adj");
+    gnc_builder_add_from_file  (builder, "assistant-csv-account-import.glade", "CSV Account Import Assistant");
     window = GTK_WIDGET(gtk_builder_get_object (builder, "CSV Account Import Assistant"));
     info->window = window;
 
@@ -576,19 +576,19 @@ csv_import_assistant_create (CsvImportInfo *info)
     load_settings (info);
 
     /* Enable buttons on all page. */
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
+    gtk_assistant_set_page_complete (GTK_ASSISTANT(window),
                                      GTK_WIDGET(gtk_builder_get_object(builder, "start_page")),
                                      TRUE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
+    gtk_assistant_set_page_complete (GTK_ASSISTANT(window),
                                      GTK_WIDGET(gtk_builder_get_object(builder, "file_page")),
                                      FALSE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
+    gtk_assistant_set_page_complete (GTK_ASSISTANT(window),
                                      GTK_WIDGET(gtk_builder_get_object(builder, "import_tree_page")),
                                      TRUE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
+    gtk_assistant_set_page_complete (GTK_ASSISTANT(window),
                                      GTK_WIDGET(gtk_builder_get_object(builder, "end_page")),
                                      FALSE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
+    gtk_assistant_set_page_complete (GTK_ASSISTANT(window),
                                      GTK_WIDGET(gtk_builder_get_object(builder, "summary_page")),
                                      TRUE);
 
@@ -596,19 +596,19 @@ csv_import_assistant_create (CsvImportInfo *info)
 
     /* File chooser Page */
     info->file_chooser = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_OPEN);
-    g_signal_connect (G_OBJECT (info->file_chooser), "file-activated",
-                      G_CALLBACK (csv_import_file_chooser_confirm_cb), info);
-    button = gtk_button_new_from_stock(GTK_STOCK_OK);
+    g_signal_connect (G_OBJECT(info->file_chooser), "file-activated",
+                      G_CALLBACK(csv_import_file_chooser_confirm_cb), info);
+    button = gtk_button_new_from_stock (GTK_STOCK_OK);
     gtk_widget_set_size_request (button, 100, -1);
     gtk_widget_show (button);
-    h_box = gtk_hbox_new(TRUE, 0);
-    gtk_box_pack_start(GTK_BOX(h_box), button, FALSE, FALSE, 0);
+    h_box = gtk_hbox_new (TRUE, 0);
+    gtk_box_pack_start (GTK_BOX(h_box), button, FALSE, FALSE, 0);
     gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(info->file_chooser), h_box);
-    g_signal_connect (G_OBJECT (button), "clicked",
-                      G_CALLBACK (csv_import_file_chooser_confirm_cb), info);
+    g_signal_connect (G_OBJECT(button), "clicked",
+                      G_CALLBACK(csv_import_file_chooser_confirm_cb), info);
 
     box = GTK_WIDGET(gtk_builder_get_object(builder, "file_page"));
-    gtk_box_pack_start (GTK_BOX (box), info->file_chooser, TRUE, TRUE, 6);
+    gtk_box_pack_start (GTK_BOX(box), info->file_chooser, TRUE, TRUE, 6);
     gtk_widget_show (info->file_chooser);
 
     /* Account Tree Page */
@@ -625,14 +625,14 @@ csv_import_assistant_create (CsvImportInfo *info)
     info->store = gtk_list_store_new (N_COLUMNS,
                                       G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,
                                       G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
-    gtk_tree_view_set_model( GTK_TREE_VIEW(info->tree_view), GTK_TREE_MODEL(info->store) );
+    gtk_tree_view_set_model (GTK_TREE_VIEW(info->tree_view), GTK_TREE_MODEL(info->store));
 #define CREATE_COLUMN(description,column_id) \
   renderer = gtk_cell_renderer_text_new (); \
-  mnemonic_desc = mnemonic_escape(_(description)); \
+  mnemonic_desc = mnemonic_escape (_(description)); \
   column = gtk_tree_view_column_new_with_attributes (mnemonic_desc, renderer, "text", column_id, NULL); \
-  gtk_tree_view_column_add_attribute(column, renderer, "background", ROW_COLOR); \
+  gtk_tree_view_column_add_attribute (column, renderer, "background", ROW_COLOR); \
   gtk_tree_view_column_set_resizable (column, TRUE); \
-  gtk_tree_view_append_column (GTK_TREE_VIEW (info->tree_view), column); \
+  gtk_tree_view_append_column (GTK_TREE_VIEW(info->tree_view), column); \
   g_free (mnemonic_desc);
     CREATE_COLUMN ("type", TYPE);
     CREATE_COLUMN ("full_name", FULL_NAME);
@@ -648,18 +648,18 @@ csv_import_assistant_create (CsvImportInfo *info)
     CREATE_COLUMN ("place_holder", PLACE_HOLDER);
 
     /* Finish Page */
-    info->finish_label = GTK_WIDGET(gtk_builder_get_object(builder, "end_page"));
+    info->finish_label = GTK_WIDGET(gtk_builder_get_object (builder, "end_page"));
     /* Summary Page */
-    info->summary_label = GTK_WIDGET(gtk_builder_get_object(builder, "summary_label"));
-    info->summary_error_view = GTK_WIDGET(gtk_builder_get_object(builder, "summary_error_view"));
+    info->summary_label = GTK_WIDGET(gtk_builder_get_object (builder, "summary_label"));
+    info->summary_error_view = GTK_WIDGET(gtk_builder_get_object (builder, "summary_error_view"));
 
     g_signal_connect (G_OBJECT(window), "destroy",
-                      G_CALLBACK (csv_import_assistant_destroy_cb), info);
+                      G_CALLBACK(csv_import_assistant_destroy_cb), info);
 
     gnc_restore_window_size (GNC_PREFS_GROUP, GTK_WINDOW(info->window));
 
-    gtk_builder_connect_signals(builder, info);
-    g_object_unref(G_OBJECT(builder));
+    gtk_builder_connect_signals (builder, info);
+    g_object_unref (G_OBJECT(builder));
     return window;
 }
 
diff --git a/src/import-export/csv-imp/assistant-csv-trans-import.c b/src/import-export/csv-imp/assistant-csv-trans-import.c
index 9ec281d..5864c29 100644
--- a/src/import-export/csv-imp/assistant-csv-trans-import.c
+++ b/src/import-export/csv-imp/assistant-csv-trans-import.c
@@ -146,7 +146,7 @@ void csv_import_trans_erow_cb (GtkWidget *spin, gpointer user_data );
 void csv_import_trans_auto_cb (GtkWidget *cb, gpointer user_data );
 void csv_import_trans_file_chooser_confirm_cb (GtkWidget *button, CsvImportTrans *info);
 
-static void gnc_csv_preview_update_assist(CsvImportTrans* info);
+static void gnc_csv_preview_update_assist (CsvImportTrans* info);
 gboolean preview_settings_valid (CsvImportTrans *info);
 
 /*************************************************************************/
@@ -168,27 +168,27 @@ csv_import_trans_file_chooser_confirm_cb (GtkWidget *button, CsvImportTrans *inf
 
     gtk_assistant_set_page_complete (assistant, page, FALSE);
 
-    file_name = gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER(info->file_chooser ));
+    file_name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER(info->file_chooser));
 
     if (file_name)
     {
-        gchar *filepath = gnc_uri_get_path ( file_name );
-        gchar *filedir = g_path_get_dirname( filepath );
-        info->starting_dir = g_strdup(filedir);
-        g_free ( filedir );
-        g_free ( filepath );
+        gchar *filepath = gnc_uri_get_path (file_name);
+        gchar *filedir = g_path_get_dirname (filepath);
+        info->starting_dir = g_strdup (filedir);
+        g_free (filedir);
+        g_free (filepath);
 
-        info->file_name = g_strdup(file_name);
+        info->file_name = g_strdup (file_name);
         error = NULL;
         /* Load the file into parse_data. */
         parse_data = gnc_csv_new_parse_data();
-        if (gnc_csv_load_file(parse_data, file_name, &error))
+        if (gnc_csv_load_file (parse_data, file_name, &error))
         {
             /* If we couldn't load the file ... */
-            gnc_error_dialog(NULL, "%s", error->message);
+            gnc_error_dialog (NULL, "%s", error->message);
             if (error->code == GNC_CSV_FILE_OPEN_ERR)
             {
-                gnc_csv_parse_data_free(parse_data);
+                gnc_csv_parse_data_free (parse_data);
                 return;
             }
             /* If we couldn't guess the encoding, we are content with just
@@ -198,11 +198,11 @@ csv_import_trans_file_chooser_confirm_cb (GtkWidget *button, CsvImportTrans *inf
         else
         {
             /* Parse the data. */
-            if (gnc_csv_parse(parse_data, TRUE, &error))
+            if (gnc_csv_parse (parse_data, TRUE, &error))
             {
                 /* If we couldn't parse the data ... */
-                gnc_error_dialog(NULL, "%s", error->message);
-                gnc_csv_parse_data_free(parse_data);
+                gnc_error_dialog (NULL, "%s", error->message);
+                gnc_csv_parse_data_free (parse_data);
             }
             else
             {
@@ -213,13 +213,13 @@ csv_import_trans_file_chooser_confirm_cb (GtkWidget *button, CsvImportTrans *inf
             }
         }
     }
-    g_free(file_name);
+    g_free (file_name);
 
     DEBUG("file_name selected is %s", info->file_name);
     DEBUG("starting directory is %s", info->starting_dir);
 
     /* Step to next page if page is complete */
-    if(gtk_assistant_get_page_complete(assistant, page))
+    if(gtk_assistant_get_page_complete (assistant, page))
         gtk_assistant_set_current_page (assistant, num + 1);
 }
 
@@ -237,20 +237,20 @@ void row_selection_update (CsvImportTrans* info)
     gboolean valid;
     int i;
 
-    store = GTK_LIST_STORE( gtk_tree_view_get_model(info->treeview));
+    store = GTK_LIST_STORE(gtk_tree_view_get_model (info->treeview));
 
     for ( i = 0; i <= info->start_row; i++)
     {
         /* Modify background color of rows less than start row */
         if (info->start_row == i)
         {
-            valid = gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store), &iter, NULL, i );
+            valid = gtk_tree_model_iter_nth_child (GTK_TREE_MODEL(store), &iter, NULL, i );
             if (valid)
                 gtk_list_store_set (store, &iter, 0, NULL, -1);
         }
         else
         {
-            valid = gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store), &iter, NULL, i );
+            valid = gtk_tree_model_iter_nth_child (GTK_TREE_MODEL(store), &iter, NULL, i );
             if (valid)
                 gtk_list_store_set (store, &iter, 0, "pink", -1);
             valid = gtk_tree_model_iter_next (GTK_TREE_MODEL(store), &iter);
@@ -263,18 +263,18 @@ void row_selection_update (CsvImportTrans* info)
     for ( i = info->num_of_rows - 1; i >= info->end_row; i--)
     {
         /* Modify background color of rows more than end row */
-        if ( i == info->end_row )
+        if (i == info->end_row)
         {
-            valid = gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store), &iter, NULL, i );
+            valid = gtk_tree_model_iter_nth_child (GTK_TREE_MODEL(store), &iter, NULL, i);
             if (valid)
                 gtk_list_store_set (store, &iter, 0, NULL, -1);
         }
         else
         {
-            valid = gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store), &iter, NULL, i );
+            valid = gtk_tree_model_iter_nth_child (GTK_TREE_MODEL(store), &iter, NULL, i);
             if (valid)
                 gtk_list_store_set (store, &iter, 0, "pink", -1);
-            valid = gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store), &iter, NULL, i - 1 );
+            valid = gtk_tree_model_iter_nth_child (GTK_TREE_MODEL(store), &iter, NULL, i - 1);
             if (valid)
                 gtk_list_store_set (store, &iter, 0, NULL, -1);
         }
@@ -287,7 +287,7 @@ void row_selection_update (CsvImportTrans* info)
  *
  * call back for import start row
  *******************************************************/
-void csv_import_trans_srow_cb (GtkWidget *spin, gpointer user_data )
+void csv_import_trans_srow_cb (GtkWidget *spin, gpointer user_data)
 {
     CsvImportTrans *info = user_data;
     GtkAdjustment *adj;
@@ -297,8 +297,8 @@ void csv_import_trans_srow_cb (GtkWidget *spin, gpointer user_data )
 
     info->parse_data->start_row = info->start_row;
 
-    adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(info->end_row_spin));
-    gtk_adjustment_set_lower(adj, info->start_row + 1 );
+    adj = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON(info->end_row_spin));
+    gtk_adjustment_set_lower (adj, info->start_row + 1 );
 
     /* Refresh the row highlighting */
     row_selection_update (info);
@@ -310,7 +310,7 @@ void csv_import_trans_srow_cb (GtkWidget *spin, gpointer user_data )
  *
  * call back for import end row
  *******************************************************/
-void csv_import_trans_erow_cb (GtkWidget *spin, gpointer user_data )
+void csv_import_trans_erow_cb (GtkWidget *spin, gpointer user_data)
 {
     CsvImportTrans *info = user_data;
     GtkAdjustment *adj;
@@ -320,8 +320,8 @@ void csv_import_trans_erow_cb (GtkWidget *spin, gpointer user_data )
 
     info->parse_data->end_row = info->end_row + 1;
 
-    adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(info->start_row_spin));
-    gtk_adjustment_set_upper(adj, info->end_row + 1 );
+    adj = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON(info->start_row_spin));
+    gtk_adjustment_set_upper (adj, info->end_row + 1 );
 
     /* Refresh the row highlighting */
     row_selection_update (info);
@@ -333,11 +333,11 @@ void csv_import_trans_erow_cb (GtkWidget *spin, gpointer user_data )
  *
  * call back for auto create account / Skip Errors
  *******************************************************/
-void csv_import_trans_auto_cb (GtkWidget *cb, gpointer user_data )
+void csv_import_trans_auto_cb (GtkWidget *cb, gpointer user_data)
 {
     CsvImportTrans *info = user_data;
 
-    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cb)))
+    if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(cb)))
     {
         if (info->previewing_errors == TRUE)
             info->approved = TRUE;
@@ -359,12 +359,12 @@ void csv_import_trans_auto_cb (GtkWidget *cb, gpointer user_data )
  * @param col The number of the column whose cell renderer is being retrieved
  * @return The cell renderer of column number col
  */
-static GtkCellRenderer* gnc_csv_preview_get_cell_renderer(CsvImportTrans* info, int col)
+static GtkCellRenderer* gnc_csv_preview_get_cell_renderer (CsvImportTrans* info, int col)
 {
-    GList* renderers = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(gtk_tree_view_get_column(info->treeview, col)));
+    GList* renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT(gtk_tree_view_get_column (info->treeview, col)));
 
     GtkCellRenderer* cell = GTK_CELL_RENDERER(renderers->data);
-    g_list_free(renderers);
+    g_list_free (renderers);
     return cell;
 }
 
@@ -376,7 +376,7 @@ static GtkCellRenderer* gnc_csv_preview_get_cell_renderer(CsvImportTrans* info,
  * @param widget The widget that was changed
  * @param info The data that is being configured
  */
-static void sep_button_clicked(GtkWidget* widget, CsvImportTrans* info)
+static void sep_button_clicked (GtkWidget* widget, CsvImportTrans* info)
 {
     int i;
     char* stock_separator_characters[] = {" ", "\t", ",", ":", ";", "-"};
@@ -387,50 +387,50 @@ static void sep_button_clicked(GtkWidget* widget, CsvImportTrans* info)
      * button that is checked. */
     for (i = 0; i < SEP_NUM_OF_TYPES; i++)
     {
-        if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(info->sep_buttons[i])))
-            checked_separators = g_slist_append(checked_separators, stock_separator_characters[i]);
+        if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(info->sep_buttons[i])))
+            checked_separators = g_slist_append (checked_separators, stock_separator_characters[i]);
     }
 
     /* Add the custom separator if the user checked its button. */
-    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(info->custom_cbutton)))
+    if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(info->custom_cbutton)))
     {
-        char* custom_sep = (char*)gtk_entry_get_text(info->custom_entry);
+        char* custom_sep = (char*)gtk_entry_get_text (info->custom_entry);
         if (custom_sep[0] != '\0') /* Don't add a blank separator (bad things will happen!). */
-            checked_separators = g_slist_append(checked_separators, custom_sep);
+            checked_separators = g_slist_append (checked_separators, custom_sep);
     }
 
     /* Set the parse options using the checked_separators list. */
-    stf_parse_options_csv_set_separators(info->parse_data->options, NULL, checked_separators);
-    g_slist_free(checked_separators);
+    stf_parse_options_csv_set_separators (info->parse_data->options, NULL, checked_separators);
+    g_slist_free (checked_separators);
 
     /* Parse the data using the new options. We don't want to reguess
      * the column types because we want to leave the user's
      * configurations in tact. */
-    if (gnc_csv_parse(info->parse_data, FALSE, &error))
+    if (gnc_csv_parse (info->parse_data, FALSE, &error))
     {
         /* Warn the user there was a problem and try to undo what caused
          * the error. (This will cause a reparsing and ideally a usable
          * configuration.) */
-        gnc_error_dialog(NULL, "Error in parsing");
+        gnc_error_dialog (NULL, "Error in parsing");
         /* If the user changed the custom separator, erase that custom separator. */
         if (widget == GTK_WIDGET(info->custom_entry))
         {
-            gtk_entry_set_text(GTK_ENTRY(widget), "");
+            gtk_entry_set_text (GTK_ENTRY(widget), "");
         }
         /* If the user checked a checkbutton, toggle that checkbutton back. */
         else
         {
-            gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget),
-                                         !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
+            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(widget),
+                                         !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget)));
         }
         return;
     }
 
     /* If we parsed successfully, redisplay the data. */
-    gnc_csv_preview_update_assist(info);
+    gnc_csv_preview_update_assist (info);
 
     /* Refresh the row highlighting */
-    row_selection_update(info);
+    row_selection_update (info);
 }
 
 
@@ -439,32 +439,32 @@ static void sep_button_clicked(GtkWidget* widget, CsvImportTrans* info)
  * @param csv_button The "Separated" radio button
  * @param info The display of the data being imported
  */
-static void separated_or_fixed_selected(GtkToggleButton* csv_button, CsvImportTrans* info)
+static void separated_or_fixed_selected (GtkToggleButton* csv_button, CsvImportTrans* info)
 {
     GError* error = NULL;
     /* Set the parsing type correctly. */
-    if (gtk_toggle_button_get_active(csv_button)) /* If we're in CSV mode ... */
+    if (gtk_toggle_button_get_active (csv_button)) /* If we're in CSV mode ... */
     {
-        stf_parse_options_set_type(info->parse_data->options, PARSE_TYPE_CSV);
+        stf_parse_options_set_type (info->parse_data->options, PARSE_TYPE_CSV);
     }
     else /* If we're in fixed-width mode ... */
     {
-        stf_parse_options_set_type(info->parse_data->options, PARSE_TYPE_FIXED);
+        stf_parse_options_set_type (info->parse_data->options, PARSE_TYPE_FIXED);
     }
 
     /* Reparse the data. */
-    if (gnc_csv_parse(info->parse_data, FALSE, &error))
+    if (gnc_csv_parse (info->parse_data, FALSE, &error))
     {
         /* Show an error dialog explaining the problem. */
-        gnc_error_dialog(NULL, "%s", error->message);
+        gnc_error_dialog (NULL, "%s", error->message);
         return;
     }
 
     /* Show the new data. */
-    gnc_csv_preview_update_assist(info);
+    gnc_csv_preview_update_assist (info);
 
     /* Refresh the row highlighting */
-    row_selection_update(info);
+    row_selection_update (info);
 }
 
 
@@ -475,7 +475,7 @@ static void separated_or_fixed_selected(GtkToggleButton* csv_button, CsvImportTr
  * @param encoding The encoding that the user selected
  * @param info The display of the data being imported
  */
-static void encoding_selected(GOCharmapSel* selector, const char* encoding,
+static void encoding_selected (GOCharmapSel* selector, const char* encoding,
                               CsvImportTrans* info)
 {
     /* This gets called twice everytime a new encoding is selected. The
@@ -495,17 +495,17 @@ static void encoding_selected(GOCharmapSel* selector, const char* encoding,
         const char* previous_encoding = info->parse_data->encoding;
         GError* error = NULL;
         /* Try converting the new encoding and reparsing. */
-        if (gnc_csv_convert_encoding(info->parse_data, encoding, &error) ||
-                gnc_csv_parse(info->parse_data, FALSE, &error))
+        if (gnc_csv_convert_encoding (info->parse_data, encoding, &error) ||
+                gnc_csv_parse (info->parse_data, FALSE, &error))
         {
             /* If it fails, change back to the old encoding. */
-            gnc_error_dialog(NULL, "%s", _("Invalid encoding selected"));
+            gnc_error_dialog (NULL, "%s", _("Invalid encoding selected"));
             info->encoding_selected_called = FALSE;
-            go_charmap_sel_set_encoding(selector, previous_encoding);
+            go_charmap_sel_set_encoding (selector, previous_encoding);
             return;
         }
 
-        gnc_csv_preview_update_assist(info);
+        gnc_csv_preview_update_assist (info);
         info->encoding_selected_called = FALSE;
     }
     else /* If this is the first call of the function ... */
@@ -519,9 +519,9 @@ static void encoding_selected(GOCharmapSel* selector, const char* encoding,
  * @param format_selector The combo box for selecting date formats
  * @param info The display of the data being imported
  */
-static void date_format_selected(GtkComboBoxText* format_selector, CsvImportTrans* info)
+static void date_format_selected (GtkComboBoxText* format_selector, CsvImportTrans* info)
 {
-    info->parse_data->date_format = gtk_combo_box_get_active(GTK_COMBO_BOX(format_selector));
+    info->parse_data->date_format = gtk_combo_box_get_active (GTK_COMBO_BOX(format_selector));
 }
 
 
@@ -529,9 +529,9 @@ static void date_format_selected(GtkComboBoxText* format_selector, CsvImportTran
  * @param currency_selector The combo box for selecting currency formats
  * @param info The display of the data being imported
  */
-static void currency_format_selected(GtkComboBoxText* currency_selector, CsvImportTrans* info)
+static void currency_format_selected (GtkComboBoxText* currency_selector, CsvImportTrans* info)
 {
-    info->parse_data->currency_format = gtk_combo_box_get_active(GTK_COMBO_BOX(currency_selector));
+    info->parse_data->currency_format = gtk_combo_box_get_active (GTK_COMBO_BOX(currency_selector));
 }
 
 
@@ -604,7 +604,7 @@ make_new_column (CsvImportTrans* info, int col, int dx, gboolean test_only)
     PangoLayout *layout;
     PangoFontDescription *font_desc;
     int charindex, width;
-    GtkCellRenderer *cell =	gnc_csv_preview_get_cell_renderer(info, col);
+    GtkCellRenderer *cell =	gnc_csv_preview_get_cell_renderer (info, col);
     int colstart, colend;
     GError* error = NULL;
 
@@ -613,8 +613,8 @@ make_new_column (CsvImportTrans* info, int col, int dx, gboolean test_only)
                : stf_parse_options_fixed_splitpositions_nth (info->parse_data->options, col - 1);
     colend = stf_parse_options_fixed_splitpositions_nth (info->parse_data->options, col);
 
-    g_object_get (G_OBJECT (cell), "font_desc", &font_desc, NULL);
-    layout = gtk_widget_create_pango_layout (GTK_WIDGET (info->treeview), "x");
+    g_object_get (G_OBJECT(cell), "font_desc", &font_desc, NULL);
+    layout = gtk_widget_create_pango_layout (GTK_WIDGET(info->treeview), "x");
     pango_layout_set_font_description (layout, font_desc);
     pango_layout_get_pixel_size (layout, &width, NULL);
     if (width < 1) width = 1;
@@ -628,9 +628,9 @@ make_new_column (CsvImportTrans* info, int col, int dx, gboolean test_only)
     if (!test_only)
     {
         stf_parse_options_fixed_splitpositions_add (info->parse_data->options, charindex);
-        if (gnc_csv_parse(info->parse_data, FALSE, &error))
+        if (gnc_csv_parse (info->parse_data, FALSE, &error))
         {
-            gnc_error_dialog(NULL, "%s", error->message);
+            gnc_error_dialog (NULL, "%s", error->message);
             return FALSE;
         }
         gnc_csv_preview_update_assist (info);
@@ -662,9 +662,9 @@ widen_column (CsvImportTrans* info, int col, gboolean test_only)
     {
         stf_parse_options_fixed_splitpositions_remove (info->parse_data->options, nextstart);
         stf_parse_options_fixed_splitpositions_add (info->parse_data->options, nextstart + 1);
-        if (gnc_csv_parse(info->parse_data, FALSE, &error))
+        if (gnc_csv_parse (info->parse_data, FALSE, &error))
         {
-            gnc_error_dialog(NULL, "%s", error->message);
+            gnc_error_dialog (NULL, "%s", error->message);
             return FALSE;
         }
         gnc_csv_preview_update_assist (info);
@@ -694,9 +694,9 @@ narrow_column (CsvImportTrans* info, int col, gboolean test_only)
     {
         stf_parse_options_fixed_splitpositions_remove (info->parse_data->options, nextstart);
         stf_parse_options_fixed_splitpositions_add (info->parse_data->options, nextstart - 1);
-        if (gnc_csv_parse(info->parse_data, FALSE, &error))
+        if (gnc_csv_parse (info->parse_data, FALSE, &error))
         {
-            gnc_error_dialog(NULL, "%s", error->message);
+            gnc_error_dialog (NULL, "%s", error->message);
             return FALSE;
         }
         gnc_csv_preview_update_assist (info);
@@ -716,9 +716,9 @@ delete_column (CsvImportTrans* info, int col, gboolean test_only)
     {
         int nextstart = stf_parse_options_fixed_splitpositions_nth (info->parse_data->options, col);
         stf_parse_options_fixed_splitpositions_remove (info->parse_data->options, nextstart);
-        if (gnc_csv_parse(info->parse_data, FALSE, &error))
+        if (gnc_csv_parse (info->parse_data, FALSE, &error))
         {
-            gnc_error_dialog(NULL, "%s", error->message);
+            gnc_error_dialog (NULL, "%s", error->message);
             return FALSE;
         }
         gnc_csv_preview_update_assist (info);
@@ -806,7 +806,7 @@ fixed_context_menu (CsvImportTrans* info, GdkEventButton *event,
  * @param allocation The size of the data treeview
  * @param info The display of the data being imported
  */
-static void treeview_resized(GtkWidget* widget, GtkAllocation* allocation, CsvImportTrans* info)
+static void treeview_resized (GtkWidget* widget, GtkAllocation* allocation, CsvImportTrans* info)
 {
     /* ncols is the number of columns in the data. */
     int i, ncols = info->parse_data->column_types->len;
@@ -822,18 +822,18 @@ static void treeview_resized(GtkWidget* widget, GtkAllocation* allocation, CsvIm
         GtkTreeViewColumn* ccol; /* The corresponding column in info->ctreeview. */
 
         /* Get the width. */
-        col_width = gtk_tree_view_column_get_width(gtk_tree_view_get_column(info->treeview, i));
+        col_width = gtk_tree_view_column_get_width (gtk_tree_view_get_column (info->treeview, i));
         /* Set the minumum width for a column so that drop down selector can be seen. */
         if (col_width < MIN_COL_WIDTH)
         {
             col_width = MIN_COL_WIDTH;
         }
-        pcol = gtk_tree_view_get_column(info->treeview, i);
-        gtk_tree_view_column_set_min_width(pcol, col_width);
+        pcol = gtk_tree_view_get_column (info->treeview, i);
+        gtk_tree_view_column_set_min_width (pcol, col_width);
         /* Set ccol's width the same. */
-        ccol = gtk_tree_view_get_column(info->ctreeview, i);
-        gtk_tree_view_column_set_min_width(ccol, col_width);
-        gtk_tree_view_column_set_max_width(ccol, col_width);
+        ccol = gtk_tree_view_get_column (info->ctreeview, i);
+        gtk_tree_view_column_set_min_width (ccol, col_width);
+        gtk_tree_view_column_set_max_width (ccol, col_width);
     }
 }
 
@@ -847,24 +847,24 @@ static void treeview_resized(GtkWidget* widget, GtkAllocation* allocation, CsvIm
  * @param new_text The text the user selected
  * @param info The display of the data being imported
  */
-static void column_type_changed(GtkCellRenderer* renderer, gchar* path,
+static void column_type_changed (GtkCellRenderer* renderer, gchar* path,
                                 GtkTreeIter* new_text_iter, CsvImportTrans* info)
 {
     /* ncols is the number of columns in the data. */
     int i, ncols = info->parse_data->column_types->len;
     /* store has the actual strings that appear in info->ctreeview. */
-    GtkTreeModel* store = gtk_tree_view_get_model(info->ctreeview);
+    GtkTreeModel* store = gtk_tree_view_get_model (info->ctreeview);
     GtkTreeModel* model;
     gint textColumn;
     GtkTreeIter iter;
     gchar* new_text;
 
     /* Get the new text */
-    g_object_get(renderer, "model", &model, "text-column", &textColumn, NULL);
-    gtk_tree_model_get(model, new_text_iter, textColumn, &new_text, -1);
+    g_object_get (renderer, "model", &model, "text-column", &textColumn, NULL);
+    gtk_tree_model_get (model, new_text_iter, textColumn, &new_text, -1);
 
     /* Get an iterator for the first (and only) row. */
-    gtk_tree_model_get_iter_first(store, &iter);
+    gtk_tree_model_get_iter_first (store, &iter);
 
     /* Go through each column. */
     for (i = 0; i < ncols; i++)
@@ -873,12 +873,12 @@ static void column_type_changed(GtkCellRenderer* renderer, gchar* path,
          * this was the column that was changed. */
         GtkCellRenderer* col_renderer; /* The renderer for this column. */
         /* The column in the treeview we are looking at */
-        GtkTreeViewColumn* col = gtk_tree_view_get_column(info->ctreeview, i);
+        GtkTreeViewColumn* col = gtk_tree_view_get_column (info->ctreeview, i);
         /* The list of renderers for col */
-        GList* rend_list = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(col));
+        GList* rend_list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT(col));
         /* rend_list has only one entry, which we put in col_renderer. */
         col_renderer = rend_list->data;
-        g_list_free(rend_list);
+        g_list_free (rend_list);
 
         /* If this is not the column that was changed ... */
         if (col_renderer != renderer)
@@ -891,20 +891,20 @@ static void column_type_changed(GtkCellRenderer* renderer, gchar* path,
              * model 0, string 0, model 1, string 1, ..., model ncols, string ncols. */
             gtk_tree_model_get(store, &iter, 2 * i + 1, &contents, -1);
             /* If this column has the same string that the user selected ... */
-            if (!g_strcmp0(contents, new_text))
+            if (!g_strcmp0 (contents, new_text))
             {
                 /* ... set this column to the "None" type. (We can't allow duplicate types.) */
-                gtk_list_store_set(GTK_LIST_STORE(store), &iter, 2 * i + 1,
+                gtk_list_store_set (GTK_LIST_STORE(store), &iter, 2 * i + 1,
                                    _(gnc_csv_column_type_strs[GNC_CSV_NONE]), -1);
             }
-            g_free(contents);
+            g_free (contents);
         }
         else /* If this is the column that was changed ... */
         {
             /* Set the text for this column to what the user selected. (See
              * comment above "Get the type string. ..." for why we set
              * column 2*i+1 in store.) */
-            gtk_list_store_set(GTK_LIST_STORE(store), &iter, 2 * i + 1, new_text, -1);
+            gtk_list_store_set (GTK_LIST_STORE(store), &iter, 2 * i + 1, new_text, -1);
         }
     }
 }
@@ -917,7 +917,7 @@ static void column_type_changed(GtkCellRenderer* renderer, gchar* path,
  * @param event The event that happened (where the user clicked)
  * @param info The data being configured
  */
-static void header_button_press_handler(GtkWidget* button, GdkEventButton* event,
+static void header_button_press_handler (GtkWidget* button, GdkEventButton* event,
                                         CsvImportTrans* info)
 {
     /* col is the number of the column that was clicked, and offset is
@@ -943,12 +943,12 @@ static void header_button_press_handler(GtkWidget* button, GdkEventButton* event
     /* Double clicks can split columns. */
     if (event->type == GDK_2BUTTON_PRESS && event->button == 1)
     {
-        make_new_column(info, col, (int)event->x - offset, FALSE);
+        make_new_column (info, col, (int)event->x - offset, FALSE);
     }
     /* Right clicking brings up a context menu. */
     else if (event->type == GDK_BUTTON_PRESS && event->button == 3)
     {
-        fixed_context_menu(info, event, col, (int)event->x - offset);
+        fixed_context_menu (info, event, col, (int)event->x - offset);
     }
 }
 
@@ -967,15 +967,15 @@ gboolean preview_settings_valid (CsvImportTrans* info)
     int weight = 0;
     gboolean valid = TRUE;
     /* store contains the actual strings appearing in the column types treeview. */
-    GtkTreeModel* store = gtk_tree_view_get_model(info->ctreeview);
+    GtkTreeModel* store = gtk_tree_view_get_model (info->ctreeview);
     /* datastore contains the actual strings appearing in the preview treeview. */
-    GtkTreeModel* datastore = gtk_tree_view_get_model(info->treeview);
+    GtkTreeModel* datastore = gtk_tree_view_get_model (info->treeview);
     GtkTreeIter iter, iter2;
     /* Get an iterator for the first (and only) row. */
-    gtk_tree_model_get_iter_first(store, &iter);
+    gtk_tree_model_get_iter_first (store, &iter);
 
     /* Get an iterator for the first required row in the data store. */
-    gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(datastore), &iter2, NULL, info->start_row );
+    gtk_tree_model_iter_nth_child (GTK_TREE_MODEL(datastore), &iter2, NULL, info->start_row );
 
     /* Go through each of the columns. */
     for (i = 0; i < ncols; i++)
@@ -988,13 +988,13 @@ gboolean preview_settings_valid (CsvImportTrans* info)
          * columns is a pair of the model used for the combobox and the
          * string that appears, so that store looks like:
          * model 0, string 0, model 1, string 1, ..., model ncols, string ncols. */
-        gtk_tree_model_get(store, &iter, 2 * i + 1, &contents, -1);
+        gtk_tree_model_get (store, &iter, 2 * i + 1, &contents, -1);
 
         /* Go through each column type until ... */
         for (type = 0; type < GNC_CSV_NUM_COL_TYPES; type++)
         {
             /* ... we find one that matches with what's in the column. */
-            if (!g_strcmp0(contents, _(gnc_csv_column_type_strs[type])))
+            if (!g_strcmp0 (contents, _(gnc_csv_column_type_strs[type])))
             {
                 /* Set the column_types array appropriately and quit. */
                 column_types->data[i] = type;
@@ -1003,9 +1003,9 @@ gboolean preview_settings_valid (CsvImportTrans* info)
                 {
                 case GNC_CSV_DATE:
                     weight = weight + 1000;
-                    gtk_tree_model_get(datastore, &iter2, i + 1, &prevstr, -1);
+                    gtk_tree_model_get (datastore, &iter2, i + 1, &prevstr, -1);
 
-                    if (parse_date(prevstr, info->parse_data->date_format) == -1)
+                    if (parse_date (prevstr, info->parse_data->date_format) == -1)
                         valid = FALSE;
                     break;
 
@@ -1025,17 +1025,17 @@ gboolean preview_settings_valid (CsvImportTrans* info)
                     break;
                 case GNC_CSV_ACCOUNT:
                     weight = weight + 1;
-                    gtk_tree_model_get(datastore, &iter2, i + 1, &accstr, -1);
-                    info->account_picker->account_online_id_value = strdup(accstr);
+                    gtk_tree_model_get (datastore, &iter2, i + 1, &accstr, -1);
+                    info->account_picker->account_online_id_value = strdup (accstr);
                     break;
                 }
                 break;
             }
         }
         /* Free the type string created by gtk_tree_model_get() */
-        g_free(contents);
-        g_free(prevstr);
-        g_free(accstr);
+        g_free (contents);
+        g_free (prevstr);
+        g_free (accstr);
     }
     if (weight < 1109 || valid == FALSE)
         return FALSE;
@@ -1049,7 +1049,7 @@ gboolean preview_settings_valid (CsvImportTrans* info)
  * (e.g. the first time this function is called on a preview).
  * @param info The data being previewed
  */
-static void gnc_csv_preview_update_assist(CsvImportTrans* info)
+static void gnc_csv_preview_update_assist (CsvImportTrans* info)
 {
     /* store has the data from the file being imported. cstores is an
      * array of stores that hold the combo box entries for each
@@ -1063,10 +1063,10 @@ static void gnc_csv_preview_update_assist(CsvImportTrans* info)
               max_str_len = info->parse_data->file_str.end - info->parse_data->file_str.begin;
 
     /* store contains only strings. */
-    GType* types = g_new(GType, 2 * ncols);
+    GType* types = g_new (GType, 2 * ncols);
     for (i = 0; i <  ncols + 1; i++)
         types[i] = G_TYPE_STRING;
-    store = gtk_list_store_newv(ncols + 1, types);
+    store = gtk_list_store_newv (ncols + 1, types);
 
     /* ctstore is arranged as follows:
      * model 0, text 0, model 1, text 1, ..., model ncols, text ncols. */
@@ -1075,43 +1075,43 @@ static void gnc_csv_preview_update_assist(CsvImportTrans* info)
         types[i] = GTK_TYPE_TREE_MODEL;
         types[i+1] = G_TYPE_STRING;
     }
-    ctstore = gtk_list_store_newv(2 * ncols, types);
+    ctstore = gtk_list_store_newv (2 * ncols, types);
 
-    g_free(types);
+    g_free (types);
 
     /* Each element in cstores is a single column model. */
-    cstores = g_new(GtkListStore*, ncols);
+    cstores = g_new (GtkListStore*, ncols);
     for (i = 0; i < ncols; i++)
     {
-        cstores[i] = gtk_list_store_new(1, G_TYPE_STRING);
+        cstores[i] = gtk_list_store_new (1, G_TYPE_STRING);
         /* Add all of the possible entries to the combo box. */
         for (j = 0; j < GNC_CSV_NUM_COL_TYPES; j++)
         {
-            gtk_list_store_append(cstores[i], &iter);
-            gtk_list_store_set(cstores[i], &iter, 0, _(gnc_csv_column_type_strs[j]), -1);
+            gtk_list_store_append (cstores[i], &iter);
+            gtk_list_store_set (cstores[i], &iter, 0, _(gnc_csv_column_type_strs[j]), -1);
         }
     }
 
     if (info->not_empty)
     {
         GList *tv_columns, *tv_columns_begin, *ctv_columns, *ctv_columns_begin;
-        tv_columns = tv_columns_begin = gtk_tree_view_get_columns(info->treeview);
-        ctv_columns = ctv_columns_begin = gtk_tree_view_get_columns(info->ctreeview);
+        tv_columns = tv_columns_begin = gtk_tree_view_get_columns (info->treeview);
+        ctv_columns = ctv_columns_begin = gtk_tree_view_get_columns (info->ctreeview);
         /* Clear out exisiting columns in info->treeview. */
         while (tv_columns != NULL)
         {
-            gtk_tree_view_remove_column(info->treeview, GTK_TREE_VIEW_COLUMN(tv_columns->data));
-            tv_columns = g_list_next(tv_columns);
+            gtk_tree_view_remove_column (info->treeview, GTK_TREE_VIEW_COLUMN(tv_columns->data));
+            tv_columns = g_list_next (tv_columns);
         }
         /* Do the same in info->ctreeview. */
         while (ctv_columns != NULL)
         {
-            gtk_tree_view_remove_column(info->ctreeview, GTK_TREE_VIEW_COLUMN(ctv_columns->data));
-            ctv_columns = g_list_next(ctv_columns);
+            gtk_tree_view_remove_column (info->ctreeview, GTK_TREE_VIEW_COLUMN(ctv_columns->data));
+            ctv_columns = g_list_next (ctv_columns);
         }
-        g_list_free(tv_columns_begin);
-        g_list_free(ctv_columns_begin);
-        g_free(info->treeview_buttons);
+        g_list_free (tv_columns_begin);
+        g_list_free (ctv_columns_begin);
+        g_free (info->treeview_buttons);
     }
 
     /* Fill the data treeview with data from the file. */
@@ -1125,7 +1125,7 @@ static void gnc_csv_preview_update_assist(CsvImportTrans* info)
         {
             int this_line_length = 0;
             i = GPOINTER_TO_INT(error_lines->data);
-            gtk_list_store_append(store, &iter);
+            gtk_list_store_append (store, &iter);
 
             /* Row Color column */
             gtk_list_store_set (store, &iter, 0, NULL, -1);
@@ -1135,13 +1135,13 @@ static void gnc_csv_preview_update_assist(CsvImportTrans* info)
                 /* Add this cell's length to the row's length and set the value of the list store. */
                 gchar* cell_string = (gchar*)((GPtrArray*)(info->parse_data->orig_lines->pdata[i]))->pdata[j];
                 this_line_length += g_utf8_strlen(cell_string, max_str_len);
-                gtk_list_store_set(store, &iter, j + 1, cell_string, -1);
+                gtk_list_store_set (store, &iter, j + 1, cell_string, -1);
             }
 
             if (this_line_length > info->longest_line)
                 info->longest_line = this_line_length;
 
-            error_lines = g_list_next(error_lines);
+            error_lines = g_list_next (error_lines);
         }
     }
     else /* Otherwise, put in all of the data. */
@@ -1149,7 +1149,7 @@ static void gnc_csv_preview_update_assist(CsvImportTrans* info)
         for (i = 0; i < info->parse_data->orig_lines->len; i++)
         {
             int this_line_length = 0;
-            gtk_list_store_append(store, &iter);
+            gtk_list_store_append (store, &iter);
 
             /* Row Color column */
             gtk_list_store_set (store, &iter, 0, NULL, -1);
@@ -1159,7 +1159,7 @@ static void gnc_csv_preview_update_assist(CsvImportTrans* info)
                 /* Add this cell's length to the row's length and set the value of the list store. */
                 gchar* cell_string = (gchar*)((GPtrArray*)(info->parse_data->orig_lines->pdata[i]))->pdata[j];
                 this_line_length += g_utf8_strlen(cell_string, max_str_len);
-                gtk_list_store_set(store, &iter, j + 1, cell_string, -1);
+                gtk_list_store_set (store, &iter, j + 1, cell_string, -1);
             }
 
             if (this_line_length > info->longest_line)
@@ -1171,16 +1171,16 @@ static void gnc_csv_preview_update_assist(CsvImportTrans* info)
     }
 
     /* Set all the column types to what's in the parse data. */
-    gtk_list_store_append(ctstore, &iter);
-    gtk_list_store_set(ctstore, &iter, 0, NULL, -1); /* Dummy Column to match row color */
+    gtk_list_store_append (ctstore, &iter);
+    gtk_list_store_set (ctstore, &iter, 0, NULL, -1); /* Dummy Column to match row color */
     for (i = 0; i < ncols; i++)
     {
-        gtk_list_store_set(ctstore, &iter, 2 * i, cstores[i], 2 * i + 1,
+        gtk_list_store_set (ctstore, &iter, 2 * i, cstores[i], 2 * i + 1,
                            _(gnc_csv_column_type_strs[(int)(info->parse_data->column_types->data[i])]),
                            -1);
     }
 
-    info->treeview_buttons = g_new(GtkWidget*, ncols);
+    info->treeview_buttons = g_new (GtkWidget*, ncols);
     /* Insert columns into the data and column type treeviews. */
     for (i = 0; i < ncols ; i++)
     {
@@ -1190,64 +1190,64 @@ static void gnc_csv_preview_update_assist(CsvImportTrans* info)
         GtkCellRenderer* renderer = gtk_cell_renderer_text_new(),
                          *crenderer = gtk_cell_renderer_combo_new();
         /* We want a monospace font for the data in case of fixed-width data. */
-        g_object_set(G_OBJECT(renderer), "family", "monospace", NULL);
+        g_object_set (G_OBJECT(renderer), "family", "monospace", NULL);
         /* We are using cstores for the combo box entries, and we don't
          * want the user to be able to manually enter their own column
          * types. */
-        g_object_set(G_OBJECT(crenderer), "model", cstores[i], "text-column", 0,
+        g_object_set (G_OBJECT(crenderer), "model", cstores[i], "text-column", 0,
                      "editable", TRUE, "has-entry", FALSE, NULL);
-        g_signal_connect(G_OBJECT(crenderer), "changed",
+        g_signal_connect (G_OBJECT(crenderer), "changed",
                          G_CALLBACK(column_type_changed), (gpointer)info);
 
         /* Add a single column for the treeview. */
-        col = gtk_tree_view_column_new_with_attributes("", renderer, "text", i + 1, NULL);
+        col = gtk_tree_view_column_new_with_attributes ("", renderer, "text", i + 1, NULL);
 
         /* Add the Color column 0 to the renderer */
-        gtk_tree_view_column_add_attribute(col, renderer, "background", 0);
+        gtk_tree_view_column_add_attribute (col, renderer, "background", 0);
 
-        gtk_tree_view_insert_column(info->treeview, col, -1);
+        gtk_tree_view_insert_column (info->treeview, col, -1);
         /* Enable resizing of the columns. */
-        gtk_tree_view_column_set_resizable(col, TRUE);
+        gtk_tree_view_column_set_resizable (col, TRUE);
         /* Use the alternating model and text entries from ctstore in
          * info->ctreeview. */
-        gtk_tree_view_insert_column_with_attributes(info->ctreeview,
+        gtk_tree_view_insert_column_with_attributes (info->ctreeview,
                 -1, "", crenderer, "model", 2 * i,
                 "text", 2 * i + 1, NULL);
 
         /* We need to allow clicking on the column headers for fixed-width
          * column splitting and merging. */
-        g_object_set(G_OBJECT(col), "clickable", TRUE, NULL);
-        g_signal_connect(G_OBJECT(col->button), "button_press_event",
+        g_object_set (G_OBJECT(col), "clickable", TRUE, NULL);
+        g_signal_connect (G_OBJECT(col->button), "button_press_event",
                          G_CALLBACK(header_button_press_handler), (gpointer)info);
         info->treeview_buttons[i] = col->button;
     }
 
     /* Set the treeviews to use the models. */
-    gtk_tree_view_set_model(info->treeview, GTK_TREE_MODEL(store));
-    gtk_tree_view_set_model(info->ctreeview, GTK_TREE_MODEL(ctstore));
+    gtk_tree_view_set_model (info->treeview, GTK_TREE_MODEL(store));
+    gtk_tree_view_set_model (info->ctreeview, GTK_TREE_MODEL(ctstore));
 
     /* Select the header row */
-    gtk_tree_model_get_iter_first(GTK_TREE_MODEL(ctstore), &iter);
+    gtk_tree_model_get_iter_first (GTK_TREE_MODEL(ctstore), &iter);
     selection = gtk_tree_view_get_selection (info->ctreeview);
-    gtk_tree_selection_select_iter ( selection, &iter);
+    gtk_tree_selection_select_iter (selection, &iter);
 
     /* Free the memory for the stores. */
-    g_object_unref(GTK_TREE_MODEL(store));
-    g_object_unref(GTK_TREE_MODEL(ctstore));
+    g_object_unref (GTK_TREE_MODEL(store));
+    g_object_unref (GTK_TREE_MODEL(ctstore));
     for (i = 0; i < ncols; i++)
-        g_object_unref(GTK_TREE_MODEL(cstores[i]));
+        g_object_unref (GTK_TREE_MODEL(cstores[i]));
 
     /* Make the things actually appear. */
-    gtk_widget_show_all(GTK_WIDGET(info->treeview));
-    gtk_widget_show_all(GTK_WIDGET(info->ctreeview));
+    gtk_widget_show_all (GTK_WIDGET(info->treeview));
+    gtk_widget_show_all (GTK_WIDGET(info->ctreeview));
 
     /* Set the encoding selector to the right encoding. */
     info->code_encoding_calls = 2;
-    go_charmap_sel_set_encoding(info->encselector, info->parse_data->encoding);
+    go_charmap_sel_set_encoding (info->encselector, info->parse_data->encoding);
 
     /* Set the date format to what's in the combo box (since we don't
      * necessarily know if this will always be the same). */
-    info->parse_data->date_format = gtk_combo_box_get_active(GTK_COMBO_BOX(info->date_format_combo));
+    info->parse_data->date_format = gtk_combo_box_get_active (GTK_COMBO_BOX(info->date_format_combo));
 
     /* It's now been filled with some stuff. */
     info->not_empty = TRUE;
@@ -1270,7 +1270,7 @@ void load_settings (CsvImportTrans *info)
     info->starting_dir = NULL;
 
     /* The default directory for the user to select files. */
-    info->starting_dir = gnc_get_default_directory(GNC_PREFS_GROUP);
+    info->starting_dir = gnc_get_default_directory (GNC_PREFS_GROUP);
 }
 
 /*======================================================================*/
@@ -1305,7 +1305,7 @@ csv_import_trans_assistant_file_page_prepare (GtkAssistant *assistant,
 
     /* Set the default directory */
     if (info->starting_dir)
-        gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(info->file_chooser), info->starting_dir);
+        gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(info->file_chooser), info->starting_dir);
 
     /* Disable the Forward Assistant Button */
     gtk_assistant_set_page_complete (assistant, page, FALSE);
@@ -1319,7 +1319,7 @@ csv_import_trans_assistant_preview_page_prepare (GtkAssistant *assistant,
     CsvImportTrans *info = user_data;
     GtkAdjustment *adj;
 
-    g_signal_connect(G_OBJECT(info->treeview), "size-allocate",
+    g_signal_connect (G_OBJECT(info->treeview), "size-allocate",
                      G_CALLBACK(treeview_resized), (gpointer)info);
 
     if (info->previewing_errors == TRUE)
@@ -1330,35 +1330,35 @@ csv_import_trans_assistant_preview_page_prepare (GtkAssistant *assistant,
         /* Block going back */
         gtk_assistant_commit (GTK_ASSISTANT(info->window));
 
-        gtk_image_get_stock(info->instructions_image, &name, &size);
-        gtk_image_set_from_stock(info->instructions_image, GTK_STOCK_DIALOG_ERROR, size);
-        gtk_label_set_text(info->instructions_label,
+        gtk_image_get_stock (info->instructions_image, &name, &size);
+        gtk_image_set_from_stock (info->instructions_image, GTK_STOCK_DIALOG_ERROR, size);
+        gtk_label_set_text (info->instructions_label,
                            _("The rows displayed below had errors which are in the last column. You can attempt to correct them by changing the configuration."));
-        gtk_widget_show(GTK_WIDGET(info->instructions_image));
-        gtk_widget_show(GTK_WIDGET(info->instructions_label));
+        gtk_widget_show (GTK_WIDGET(info->instructions_image));
+        gtk_widget_show (GTK_WIDGET(info->instructions_label));
 
         /* Set spin buttons not sensative */
         gtk_widget_set_sensitive (info->start_row_spin, FALSE);
         gtk_widget_set_sensitive (info->end_row_spin, FALSE);
 
         /* Set check button label */
-        gtk_label_set_text(GTK_LABEL(info->check_label), _("Skip Errors"));
+        gtk_label_set_text (GTK_LABEL(info->check_label), _("Skip Errors"));
         gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(info->check_butt), FALSE);
     }
 
     /* Load the data into the treeview. */
-    gnc_csv_preview_update_assist(info);
+    gnc_csv_preview_update_assist (info);
 
     /* Set the upper limit of spin button to number of rows */
-    adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(info->end_row_spin));
-    if (gtk_adjustment_get_upper(adj) != info->num_of_rows)
+    adj = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON(info->end_row_spin));
+    if (gtk_adjustment_get_upper (adj) != info->num_of_rows)
     {
         gtk_adjustment_set_upper (adj, info->num_of_rows);
         gtk_spin_button_set_value (GTK_SPIN_BUTTON(info->end_row_spin), info->num_of_rows);
     }
 
     /* Update the row selection highlight */
-    row_selection_update(info);
+    row_selection_update (info);
 }
 
 
@@ -1372,24 +1372,24 @@ csv_import_trans_assistant_account_page_prepare (GtkAssistant *assistant,
     gchar *text, *mtext;
     Account * account = NULL;
 
-    if (!preview_settings_valid(info) && (info->approved == FALSE))
+    if (!preview_settings_valid (info) && (info->approved == FALSE))
     {
-        text = g_strdup_printf(gettext ("There are problems with the import settings!\nThe date format could be wrong "
+        text = g_strdup_printf (gettext ("There are problems with the import settings!\nThe date format could be wrong "
                                         "or there are not enough columns set..."));
-        mtext = g_strdup_printf("<span size=\"medium\" color=\"red\"><b>%s</b></span>", text);
-        gtk_label_set_markup(GTK_LABEL(info->account_label), mtext);
-        g_free(mtext);
-        g_free(text);
+        mtext = g_strdup_printf ("<span size=\"medium\" color=\"red\"><b>%s</b></span>", text);
+        gtk_label_set_markup (GTK_LABEL(info->account_label), mtext);
+        g_free (mtext);
+        g_free (text);
 
         gtk_widget_set_sensitive (info->account_page, FALSE);
     }
     else
     {
-        text = g_strdup_printf(gettext ("To Change the account, double click on the required account, click Forward to proceed."));
-        mtext = g_strdup_printf("<span size=\"medium\" color=\"red\"><b>%s</b></span>", text);
-        gtk_label_set_markup(GTK_LABEL(info->account_label), mtext );
-        g_free(mtext);
-        g_free(text);
+        text = g_strdup_printf (gettext ("To Change the account, double click on the required account, click Forward to proceed."));
+        mtext = g_strdup_printf ("<span size=\"medium\" color=\"red\"><b>%s</b></span>", text);
+        gtk_label_set_markup (GTK_LABEL(info->account_label), mtext);
+        g_free (mtext);
+        g_free (text);
 
         gtk_widget_set_sensitive (info->account_page, TRUE);
 
@@ -1423,9 +1423,9 @@ csv_import_trans_assistant_doc_page_prepare (GtkAssistant *assistant,
         /* Add the Cancel button for the matcher */
         info->cancel_button = gtk_button_new_with_mnemonic (_("_Cancel"));
         gtk_assistant_add_action_widget (assistant, info->cancel_button);
-        g_signal_connect(info->cancel_button, "clicked",
+        g_signal_connect (info->cancel_button, "clicked",
                          G_CALLBACK(csv_import_trans_assistant_cancel), info);
-        gtk_widget_show(GTK_WIDGET(info->cancel_button));
+        gtk_widget_show (GTK_WIDGET(info->cancel_button));
     }
 }
 
@@ -1445,16 +1445,16 @@ csv_import_trans_assistant_match_page_prepare (GtkAssistant *assistant,
     /* Before creating transactions, if this is a new book, let user specify
      * book options, since they affect how transactions are created */
     if (info->new_book)
-        info->new_book = gnc_new_book_option_display(info->window);
+        info->new_book = gnc_new_book_option_display (info->window);
 
     /* Create transactions from the parsed data, first time with FALSE
        Subsequent times with TRUE */
     if ( info->match_parse_run == FALSE)
     {
-        gnc_csv_parse_to_trans(info->parse_data, info->account_picker->retAccount, FALSE);
+        gnc_csv_parse_to_trans (info->parse_data, info->account_picker->retAccount, FALSE);
     }
     else
-        gnc_csv_parse_to_trans(info->parse_data, info->account_picker->retAccount, TRUE);
+        gnc_csv_parse_to_trans (info->parse_data, info->account_picker->retAccount, TRUE);
     info->match_parse_run = TRUE;
 
     /* if there are errors, we jump back to preview to correct */
@@ -1469,9 +1469,9 @@ csv_import_trans_assistant_match_page_prepare (GtkAssistant *assistant,
         GList* transactions; /* A list of the transactions we create */
 
         text =  _("Double click on rows to change, then click on Apply to Import");
-        mtext = g_strdup_printf("<span size=\"medium\" color=\"red\"><b>%s</b></span>", text);
-        gtk_label_set_markup(GTK_LABEL(info->match_label), mtext);
-        g_free(mtext);
+        mtext = g_strdup_printf ("<span size=\"medium\" color=\"red\"><b>%s</b></span>", text);
+        gtk_label_set_markup (GTK_LABEL(info->match_label), mtext);
+        g_free (mtext);
 
         if (info->gnc_csv_importer_gui == NULL)
         {
@@ -1481,9 +1481,9 @@ csv_import_trans_assistant_match_page_prepare (GtkAssistant *assistant,
             /* Add the help button for the matcher */
             info->help_button = gtk_button_new_with_mnemonic (_("_Help"));
             gtk_assistant_add_action_widget (assistant, info->help_button);
-            g_signal_connect(info->help_button, "clicked",
+            g_signal_connect (info->help_button, "clicked",
                              G_CALLBACK(on_matcher_help_clicked), info->gnc_csv_importer_gui);
-            gtk_widget_show(GTK_WIDGET(info->help_button));
+            gtk_widget_show (GTK_WIDGET(info->help_button));
 
             /* Get the list of the transactions that were created. */
             transactions = info->parse_data->transactions;
@@ -1491,10 +1491,10 @@ csv_import_trans_assistant_match_page_prepare (GtkAssistant *assistant,
             while (transactions != NULL)
             {
                 GncCsvTransLine* trans_line = transactions->data;
-                gnc_gen_trans_list_add_trans(info->gnc_csv_importer_gui, trans_line->trans);
-                transactions = g_list_next(transactions);
+                gnc_gen_trans_list_add_trans (info->gnc_csv_importer_gui, trans_line->trans);
+                transactions = g_list_next (transactions);
             }
-            g_list_free(transactions);
+            g_list_free (transactions);
         }
     }
     /* Enable the Forward Assistant Button */
@@ -1510,17 +1510,17 @@ csv_import_trans_assistant_summary_page_prepare (GtkAssistant *assistant,
     gchar *text, *mtext;
 
     /* Save the Window size and directory */
-    gnc_set_default_directory(GNC_PREFS_GROUP, info->starting_dir);
+    gnc_set_default_directory (GNC_PREFS_GROUP, info->starting_dir);
 
     /* Remove the added button */
     gtk_assistant_remove_action_widget (assistant, info->help_button);
     gtk_assistant_remove_action_widget (assistant, info->cancel_button);
 
-    text = g_strdup_printf(gettext ("The transactions were imported from the file '%s'."), info->file_name);
-    mtext = g_strdup_printf("<span size=\"medium\"><b>%s</b></span>", text);
-    gtk_label_set_markup(GTK_LABEL(info->summary_label), mtext);
-    g_free(text);
-    g_free(mtext);
+    text = g_strdup_printf (gettext ("The transactions were imported from the file '%s'."), info->file_name);
+    mtext = g_strdup_printf ("<span size=\"medium\"><b>%s</b></span>", text);
+    gtk_label_set_markup (GTK_LABEL(info->summary_label), mtext);
+    g_free (text);
+    g_free (mtext);
 }
 
 
@@ -1528,7 +1528,7 @@ void
 csv_import_trans_assistant_prepare (GtkAssistant *assistant, GtkWidget *page,
                                     gpointer user_data)
 {
-    gint currentpage = gtk_assistant_get_current_page(assistant);
+    gint currentpage = gtk_assistant_get_current_page (assistant);
 
     switch (currentpage)
     {
@@ -1596,9 +1596,9 @@ csv_import_trans_assistant_finish (GtkAssistant *assistant, gpointer user_data)
 
     /* Start the import */
     if (info->parse_data->transactions != NULL)
-        gnc_gen_trans_assist_start(info->gnc_csv_importer_gui);
+        gnc_gen_trans_assist_start (info->gnc_csv_importer_gui);
     else
-        gnc_gen_trans_list_delete(info->gnc_csv_importer_gui);
+        gnc_gen_trans_list_delete (info->gnc_csv_importer_gui);
 }
 
 static void
@@ -1611,7 +1611,7 @@ csv_import_trans_close_handler (gpointer user_data)
 
     /* Free the memory we allocated. */
     if (!(info->parse_data == NULL))
-        gnc_csv_parse_data_free(info->parse_data);
+        gnc_csv_parse_data_free (info->parse_data);
 
     if (!(info->account_picker == NULL))
         info->account_picker = NULL;
@@ -1619,7 +1619,7 @@ csv_import_trans_close_handler (gpointer user_data)
     if (!(info->gnc_csv_importer_gui == NULL))
         info->gnc_csv_importer_gui = NULL;
 
-    gnc_save_window_size(GNC_PREFS_GROUP, GTK_WINDOW(info->window));
+    gnc_save_window_size (GNC_PREFS_GROUP, GTK_WINDOW(info->window));
     gtk_widget_destroy (info->window);
 }
 
@@ -1648,45 +1648,45 @@ csv_import_trans_assistant_create (CsvImportTrans *info)
     load_settings (info);
 
     /* Enable buttons on all page. */
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
-                                     GTK_WIDGET(gtk_builder_get_object(builder, "start_page")),
+    gtk_assistant_set_page_complete (GTK_ASSISTANT(window),
+                                     GTK_WIDGET(gtk_builder_get_object (builder, "start_page")),
                                      TRUE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
-                                     GTK_WIDGET(gtk_builder_get_object(builder, "file_page")),
+    gtk_assistant_set_page_complete (GTK_ASSISTANT(window),
+                                     GTK_WIDGET(gtk_builder_get_object (builder, "file_page")),
                                      FALSE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
-                                     GTK_WIDGET(gtk_builder_get_object(builder, "preview_page")),
+    gtk_assistant_set_page_complete (GTK_ASSISTANT(window),
+                                     GTK_WIDGET(gtk_builder_get_object (builder, "preview_page")),
                                      TRUE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
-                                     GTK_WIDGET(gtk_builder_get_object(builder, "account_page")),
+    gtk_assistant_set_page_complete (GTK_ASSISTANT(window),
+                                     GTK_WIDGET(gtk_builder_get_object (builder, "account_page")),
                                      FALSE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
-                                     GTK_WIDGET(gtk_builder_get_object(builder, "doc_page")),
+    gtk_assistant_set_page_complete (GTK_ASSISTANT(window),
+                                     GTK_WIDGET(gtk_builder_get_object (builder, "doc_page")),
                                      TRUE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
-                                     GTK_WIDGET(gtk_builder_get_object(builder, "match_page")),
+    gtk_assistant_set_page_complete (GTK_ASSISTANT(window),
+                                     GTK_WIDGET(gtk_builder_get_object (builder, "match_page")),
                                      FALSE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
-                                     GTK_WIDGET(gtk_builder_get_object(builder, "summary_page")),
+    gtk_assistant_set_page_complete (GTK_ASSISTANT(window),
+                                     GTK_WIDGET(gtk_builder_get_object (builder, "summary_page")),
                                      TRUE);
 
     /* Start Page */
 
     /* File chooser Page */
     info->file_chooser = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_OPEN);
-    g_signal_connect (G_OBJECT (info->file_chooser), "file-activated",
-                      G_CALLBACK (csv_import_trans_file_chooser_confirm_cb), info);
-    button = gtk_button_new_from_stock(GTK_STOCK_OK);
+    g_signal_connect (G_OBJECT(info->file_chooser), "file-activated",
+                      G_CALLBACK(csv_import_trans_file_chooser_confirm_cb), info);
+    button = gtk_button_new_from_stock (GTK_STOCK_OK);
     gtk_widget_set_size_request (button, 100, -1);
     gtk_widget_show (button);
-    h_box = gtk_hbox_new(TRUE, 0);
-    gtk_box_pack_start(GTK_BOX(h_box), button, FALSE, FALSE, 0);
+    h_box = gtk_hbox_new (TRUE, 0);
+    gtk_box_pack_start (GTK_BOX(h_box), button, FALSE, FALSE, 0);
     gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(info->file_chooser), h_box);
-    g_signal_connect (G_OBJECT (button), "clicked",
-                      G_CALLBACK (csv_import_trans_file_chooser_confirm_cb), info);
+    g_signal_connect (G_OBJECT(button), "clicked",
+                      G_CALLBACK(csv_import_trans_file_chooser_confirm_cb), info);
 
     box = GTK_WIDGET(gtk_builder_get_object(builder, "file_page"));
-    gtk_box_pack_start (GTK_BOX (box), info->file_chooser, TRUE, TRUE, 6);
+    gtk_box_pack_start (GTK_BOX(box), info->file_chooser, TRUE, TRUE, 6);
     gtk_widget_show (info->file_chooser);
 
     /* Preview Settings Page */
@@ -1711,7 +1711,7 @@ csv_import_trans_assistant_create (CsvImportTrans *info)
 
         info->encselector = GO_CHARMAP_SEL(go_charmap_sel_new(GO_CHARMAP_SEL_TO_UTF8));
         /* Connect the selector to the encoding_selected event handler. */
-        g_signal_connect(G_OBJECT(info->encselector), "charmap_changed",
+        g_signal_connect (G_OBJECT(info->encselector), "charmap_changed",
                          G_CALLBACK(encoding_selected), (gpointer)info);
 
         /* Load the separator buttons from the glade builder file into the
@@ -1721,7 +1721,7 @@ csv_import_trans_assistant_create (CsvImportTrans *info)
             info->sep_buttons[i]
                 = (GtkCheckButton*)GTK_WIDGET(gtk_builder_get_object (builder, sep_button_names[i]));
             /* Connect them to the sep_button_clicked event handler. */
-            g_signal_connect(G_OBJECT(info->sep_buttons[i]), "toggled",
+            g_signal_connect (G_OBJECT(info->sep_buttons[i]), "toggled",
                              G_CALLBACK(sep_button_clicked), (gpointer)info);
         }
 
@@ -1729,21 +1729,21 @@ csv_import_trans_assistant_create (CsvImportTrans *info)
          * as the other separator buttons. */
         info->custom_cbutton
             = (GtkCheckButton*)GTK_WIDGET(gtk_builder_get_object (builder, "custom_cbutton"));
-        g_signal_connect(G_OBJECT(info->custom_cbutton), "clicked",
+        g_signal_connect (G_OBJECT(info->custom_cbutton), "clicked",
                          G_CALLBACK(sep_button_clicked), (gpointer)info);
 
         /* Load the entry for the custom separator entry. Connect it to the
          * sep_button_clicked event handler as well. */
         info->custom_entry = (GtkEntry*)GTK_WIDGET(gtk_builder_get_object (builder, "custom_entry"));
-        g_signal_connect(G_OBJECT(info->custom_entry), "changed",
+        g_signal_connect (G_OBJECT(info->custom_entry), "changed",
                          G_CALLBACK(sep_button_clicked), (gpointer)info);
 
         /* Get the table from the Glade builder file. */
         enctable = GTK_TABLE(gtk_builder_get_object (builder, "enctable"));
         /* Put the selector in at the top. */
-        gtk_table_attach_defaults(enctable, GTK_WIDGET(info->encselector), 1, 2, 0, 1);
+        gtk_table_attach_defaults (enctable, GTK_WIDGET(info->encselector), 1, 2, 0, 1);
         /* Show the table in all its glory. */
-        gtk_widget_show_all(GTK_WIDGET(enctable));
+        gtk_widget_show_all (GTK_WIDGET(enctable));
 
         /* The instructions label and image */
         info->instructions_label = GTK_LABEL(gtk_builder_get_object (builder, "instructions_label"));
@@ -1753,36 +1753,36 @@ csv_import_trans_assistant_create (CsvImportTrans *info)
         info->date_format_combo = GTK_COMBO_BOX_TEXT(gtk_combo_box_text_new());
         for (i = 0; i < num_date_formats; i++)
         {
-            gtk_combo_box_text_append_text(info->date_format_combo, _(date_format_user[i]));
+            gtk_combo_box_text_append_text (info->date_format_combo, _(date_format_user[i]));
         }
-        gtk_combo_box_set_active(GTK_COMBO_BOX(info->date_format_combo), 0);
-        g_signal_connect(G_OBJECT(info->date_format_combo), "changed",
+        gtk_combo_box_set_active (GTK_COMBO_BOX(info->date_format_combo), 0);
+        g_signal_connect (G_OBJECT(info->date_format_combo), "changed",
                          G_CALLBACK(date_format_selected), (gpointer)info);
 
         /* Add it to the assistant. */
         date_format_container = GTK_CONTAINER(gtk_builder_get_object (builder, "date_format_container"));
-        gtk_container_add(date_format_container, GTK_WIDGET(info->date_format_combo));
-        gtk_widget_show_all(GTK_WIDGET(date_format_container));
+        gtk_container_add (date_format_container, GTK_WIDGET(info->date_format_combo));
+        gtk_widget_show_all (GTK_WIDGET(date_format_container));
 
         /* Add in the currency format combo box and hook it up to an event handler. */
         info->currency_format_combo = GTK_COMBO_BOX_TEXT(gtk_combo_box_text_new());
         for (i = 0; i < num_currency_formats; i++)
         {
-            gtk_combo_box_text_append_text(info->currency_format_combo, _(currency_format_user[i]));
+            gtk_combo_box_text_append_text (info->currency_format_combo, _(currency_format_user[i]));
         }
         /* Default will the locale */
-        gtk_combo_box_set_active(GTK_COMBO_BOX(info->currency_format_combo), 0);
-        g_signal_connect(G_OBJECT(info->currency_format_combo), "changed",
+        gtk_combo_box_set_active (GTK_COMBO_BOX(info->currency_format_combo), 0);
+        g_signal_connect (G_OBJECT(info->currency_format_combo), "changed",
                          G_CALLBACK(currency_format_selected), (gpointer)info);
 
         /* Add it to the assistant. */
         currency_format_container = GTK_CONTAINER(gtk_builder_get_object (builder, "currency_format_container"));
-        gtk_container_add(currency_format_container, GTK_WIDGET(info->currency_format_combo));
-        gtk_widget_show_all(GTK_WIDGET(currency_format_container));
+        gtk_container_add (currency_format_container, GTK_WIDGET(info->currency_format_combo));
+        gtk_widget_show_all (GTK_WIDGET(currency_format_container));
 
         /* Connect the CSV/Fixed-Width radio button event handler. */
         csv_button = GTK_WIDGET(gtk_builder_get_object (builder, "csv_button"));
-        g_signal_connect(csv_button, "toggled",
+        g_signal_connect (csv_button, "toggled",
                          G_CALLBACK(separated_or_fixed_selected), (gpointer)info);
 
         /* Load the data treeview and connect it to its resizing event handler. */
@@ -1802,7 +1802,7 @@ csv_import_trans_assistant_create (CsvImportTrans *info)
     /* Account page */
     /* Initialise the Account Picker and add to the Assistant */
     info->account_page  = GTK_WIDGET(gtk_builder_get_object (builder, "account_page"));
-    info->account_picker = gnc_import_account_assist_setup(info->account_page);
+    info->account_picker = gnc_import_account_assist_setup (info->account_page);
     info->account_label = GTK_WIDGET(gtk_builder_get_object (builder, "account_label"));
 
     /* Matcher page */
@@ -1817,8 +1817,8 @@ csv_import_trans_assistant_create (CsvImportTrans *info)
 
     gnc_restore_window_size (GNC_PREFS_GROUP, GTK_WINDOW(info->window));
 
-    gtk_builder_connect_signals(builder, info);
-    g_object_unref(G_OBJECT(builder));
+    gtk_builder_connect_signals (builder, info);
+    g_object_unref (G_OBJECT(builder));
     return window;
 }
 
diff --git a/src/import-export/csv-imp/csv-account-import.c b/src/import-export/csv-imp/csv-account-import.c
index 58e62d4..1d200ef 100644
--- a/src/import-export/csv-imp/csv-account-import.c
+++ b/src/import-export/csv-imp/csv-account-import.c
@@ -68,7 +68,7 @@ static QofLogModule log_module = GNC_MOD_ASSISTANT;
  *******************************************************/
 csv_import_result
 csv_import_read_file (const gchar *filename, const gchar *parser_regexp,
-                      GtkListStore *store, guint max_rows )
+                      GtkListStore *store, guint max_rows)
 {
     FILE       *f;
     char       *line;
@@ -232,14 +232,14 @@ csv_account_import (CsvImportInfo *info)
 
     ENTER("");
     book = gnc_get_current_book();
-    root = gnc_book_get_root_account(book);
+    root = gnc_book_get_root_account (book);
 
     info->num_new = 0;
     info->num_updates = 0;
 
     /* Move to the first valid entry in store */
     row = info->header_rows;
-    valid = gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(info->store), &iter, NULL, row );
+    valid = gtk_tree_model_iter_nth_child (GTK_TREE_MODEL(info->store), &iter, NULL, row );
     while (valid)
     {
         /* Walk through the list, reading each row */
@@ -258,13 +258,13 @@ csv_account_import (CsvImportInfo *info)
                             PLACE_HOLDER, &place_holder, -1);
 
         /* See if we can find the account by full name */
-        acc = gnc_account_lookup_by_full_name(root, full_name);
+        acc = gnc_account_lookup_by_full_name (root, full_name);
 
         DEBUG("Row is %u and full name is %s", row, full_name);
         if (acc == NULL)
         {
             /* Account does not exist, Lets try and add it */
-            if (g_strrstr(full_name, name) != NULL)
+            if (g_strrstr (full_name, name) != NULL)
             {
                 gint string_position;
                 gnc_commodity *commodity;
@@ -272,21 +272,21 @@ csv_account_import (CsvImportInfo *info)
                 gchar *full_parent;
 
                 /* Get full name of parent account, allow for separator */
-                string_position = strlen(full_name) - strlen(name) - 1;
+                string_position = strlen (full_name) - strlen (name) - 1;
 
                 if (string_position == -1)
-                    full_parent = g_strdup(full_name);
+                    full_parent = g_strdup (full_name);
                 else
-                    full_parent = g_strndup(full_name, string_position);
+                    full_parent = g_strndup (full_name, string_position);
 
-                parent = gnc_account_lookup_by_full_name(root, full_parent);
+                parent = gnc_account_lookup_by_full_name (root, full_parent);
                 g_free (full_parent);
 
                 if (parent == NULL && string_position != -1)
                 {
-                    gchar *text = g_strdup_printf( gettext("Row %u, path to account %s not found, added as top level\n"), row + 1, name );
-                    info->error = g_strconcat(info->error, text, NULL);
-                    g_free(text);
+                    gchar *text = g_strdup_printf (gettext("Row %u, path to account %s not found, added as top level\n"), row + 1, name);
+                    info->error = g_strconcat (info->error, text, NULL);
+                    g_free (text);
                     PINFO("Unable to import Row %u for account %s, path not found!", row, name);
                 }
 
@@ -295,7 +295,7 @@ csv_account_import (CsvImportInfo *info)
 
                 /* Do we have a valid commodity */
                 table = gnc_commodity_table_get_table (book);
-                commodity = gnc_commodity_table_lookup( table, commodityn, commoditym);
+                commodity = gnc_commodity_table_lookup (table, commodityn, commoditym);
 
                 if (commodity)
                 {
@@ -305,27 +305,27 @@ csv_account_import (CsvImportInfo *info)
                     acc = xaccMallocAccount (book);
                     xaccAccountBeginEdit (acc);
                     xaccAccountSetName (acc, name);
-                    xaccAccountSetType(acc, xaccAccountStringToEnum (type));
+                    xaccAccountSetType (acc, xaccAccountStringToEnum (type));
 
-                    if (!g_strcmp0(notes, "") == 0)
+                    if (!g_strcmp0 (notes, "") == 0)
                         xaccAccountSetNotes (acc, notes);
-                    if (!g_strcmp0(description, "") == 0)
+                    if (!g_strcmp0 (description, "") == 0)
                         xaccAccountSetDescription (acc, description);
-                    if (!g_strcmp0(code, "") == 0)
+                    if (!g_strcmp0 (code, "") == 0)
                         xaccAccountSetCode (acc, code);
 
-                    if (!g_strcmp0(color, "") == 0)
+                    if (!g_strcmp0 (color, "") == 0)
                     {
-                        if (gdk_color_parse(color, &testcolor))
+                        if (gdk_color_parse (color, &testcolor))
                             xaccAccountSetColor (acc, color);
                     }
 
-                    if (g_strcmp0(hidden, "T") == 0)
+                    if (g_strcmp0 (hidden, "T") == 0)
                         xaccAccountSetHidden (acc, TRUE);
-                    if (g_strcmp0(place_holder, "T") == 0)
+                    if (g_strcmp0 (place_holder, "T") == 0)
                         xaccAccountSetPlaceholder (acc, TRUE);
 
-                    xaccAccountSetCommodity(acc, commodity);
+                    xaccAccountSetCommodity (acc, commodity);
                     xaccAccountBeginEdit (parent);
                     gnc_account_append_child (parent, acc);
                     xaccAccountCommitEdit (parent);
@@ -334,18 +334,18 @@ csv_account_import (CsvImportInfo *info)
                 }
                 else
                 {
-                    gchar *err_string = g_strdup_printf( gettext("Row %u, commodity %s / %s not found\n"), row + 1,
+                    gchar *err_string = g_strdup_printf (gettext("Row %u, commodity %s / %s not found\n"), row + 1,
                                                          commoditym, commodityn);
-                    info->error = g_strconcat(info->error, err_string, NULL);
-                    g_free(err_string);
+                    info->error = g_strconcat (info->error, err_string, NULL);
+                    g_free (err_string);
                     PINFO("Unable to import Row %u for account %s, commodity!", row, full_name);
                 }
             }
             else
             {
-                gchar *err_string = g_strdup_printf( gettext("Row %u, account %s not in %s\n"), row + 1, name, full_name);
-                info->error = g_strconcat(info->error, err_string, NULL);
-                g_free(err_string);
+                gchar *err_string = g_strdup_printf (gettext("Row %u, account %s not in %s\n"), row + 1, name, full_name);
+                info->error = g_strconcat (info->error, err_string, NULL);
+                g_free (err_string);
                 PINFO("Unable to import Row %u for account %s, name!", row, full_name);
             }
         }
@@ -354,19 +354,19 @@ csv_account_import (CsvImportInfo *info)
             /* Lets try and update the color, notes, description, code entries */
             DEBUG("Existing account, will try and update account %s", full_name);
             info->num_updates = info->num_updates + 1;
-            if (!g_strcmp0(color, "") == 0)
+            if (!g_strcmp0 (color, "") == 0)
             {
-                if (gdk_color_parse(color, &testcolor))
+                if (gdk_color_parse (color, &testcolor))
                     xaccAccountSetColor (acc, color);
             }
 
-            if (!g_strcmp0(notes, "") == 0)
+            if (!g_strcmp0 (notes, "") == 0)
                 xaccAccountSetNotes (acc, notes);
 
-            if (!g_strcmp0(description, "") == 0)
+            if (!g_strcmp0 (description, "") == 0)
                 xaccAccountSetDescription (acc, description);
 
-            if (!g_strcmp0(code, "") == 0)
+            if (!g_strcmp0 (code, "") == 0)
                 xaccAccountSetCode (acc, code);
         }
         valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (info->store), &iter);
diff --git a/src/import-export/csv-imp/csv-account-import.h b/src/import-export/csv-imp/csv-account-import.h
index 00cdee1..4ef09fc 100644
--- a/src/import-export/csv-imp/csv-account-import.h
+++ b/src/import-export/csv-imp/csv-account-import.h
@@ -44,7 +44,7 @@ typedef enum _csv_import_result csv_import_result;
 csv_import_result
 csv_import_read_file (const gchar *filename, const gchar *parser_regexp, GtkListStore *store, guint max_rows );
 
-void csv_account_import(CsvImportInfo *info);
+void csv_account_import (CsvImportInfo *info);
 
 #endif /* CSV_ACCOUNT_IMPORT_H */
 
diff --git a/src/import-export/csv-imp/gnc-csv-model.c b/src/import-export/csv-imp/gnc-csv-model.c
index 3bc5da2..41a4ab6 100644
--- a/src/import-export/csv-imp/gnc-csv-model.c
+++ b/src/import-export/csv-imp/gnc-csv-model.c
@@ -55,11 +55,11 @@ gchar* gnc_csv_column_type_strs[GNC_CSV_NUM_COL_TYPES] = {N_("None"),
 /** A set of sensible defaults for parsing CSV files.
  * @return StfParseOptions_t* for parsing a file with comma separators
  */
-static StfParseOptions_t* default_parse_options(void)
+static StfParseOptions_t* default_parse_options (void)
 {
     StfParseOptions_t* options = stf_parse_options_new();
-    stf_parse_options_set_type(options, PARSE_TYPE_CSV);
-    stf_parse_options_csv_set_separators(options, ",", NULL);
+    stf_parse_options_set_type (options, PARSE_TYPE_CSV);
+    stf_parse_options_csv_set_separators (options, ",", NULL);
     return options;
 }
 
@@ -70,7 +70,7 @@ static StfParseOptions_t* default_parse_options(void)
  * @param format An index specifying a format in date_format_user
  * @return The parsed value of date_str on success or -1 on failure
  */
-static time64 parse_date_with_year(const char* date_str, int format)
+static time64 parse_date_with_year (const char* date_str, int format)
 {
     time64 rawtime; /* The integer time */
     struct tm retvalue, test_retvalue; /* The time in a broken-down structure */
@@ -90,9 +90,9 @@ static time64 parse_date_with_year(const char* date_str, int format)
     const char* regex = "^ *([0-9]+) *[-/.'] *([0-9]+) *[-/.'] *([0-9]+).*$|^ *([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]).*$";
 
     /* We get our matches using the regular expression. */
-    regcomp(&preg, regex, REG_EXTENDED);
-    regexec(&preg, date_str, 4, pmatch, 0);
-    regfree(&preg);
+    regcomp (&preg, regex, REG_EXTENDED);
+    regexec (&preg, date_str, 4, pmatch, 0);
+    regfree (&preg);
 
     /* If there wasn't a match, there was an error. */
     if (pmatch[0].rm_eo == 0)
@@ -148,7 +148,7 @@ static time64 parse_date_with_year(const char* date_str, int format)
             /* Copy the matching substring into date_segment so that we can
              * convert it into an integer. */
             mem_length = pmatch[j].rm_eo - pmatch[j].rm_so;
-            memcpy(date_segment, date_str + pmatch[j].rm_so, mem_length);
+            memcpy (date_segment, date_str + pmatch[j].rm_so, mem_length);
             date_segment[mem_length] = '\0';
 
             /* Set the appropriate member of retvalue. Save the original
@@ -157,7 +157,7 @@ static time64 parse_date_with_year(const char* date_str, int format)
             switch (segment_type)
             {
             case 'y':
-                retvalue.tm_year = atoi(date_segment);
+                retvalue.tm_year = atoi (date_segment);
 
                 /* Handle two-digit years. */
                 if (retvalue.tm_year < 100)
@@ -172,11 +172,11 @@ static time64 parse_date_with_year(const char* date_str, int format)
                 break;
 
             case 'm':
-                orig_month = retvalue.tm_mon = atoi(date_segment) - 1;
+                orig_month = retvalue.tm_mon = atoi (date_segment) - 1;
                 break;
 
             case 'd':
-                orig_day = retvalue.tm_mday = atoi(date_segment);
+                orig_day = retvalue.tm_mday = atoi (date_segment);
                 break;
             }
             j++;
@@ -211,7 +211,7 @@ static time64 parse_date_with_year(const char* date_str, int format)
  * @param format An index specifying a format in date_format_user
  * @return The parsed value of date_str on success or -1 on failure
  */
-static time64 parse_date_without_year(const char* date_str, int format)
+static time64 parse_date_without_year (const char* date_str, int format)
 {
     time64 rawtime; /* The integer time */
     struct tm retvalue, test_retvalue; /* The time in a broken-down structure */
@@ -231,9 +231,9 @@ static time64 parse_date_without_year(const char* date_str, int format)
     const char* regex = "^ *([0-9]+) *[-/.'] *([0-9]+).*$";
 
     /* We get our matches using the regular expression. */
-    regcomp(&preg, regex, REG_EXTENDED);
-    regexec(&preg, date_str, 3, pmatch, 0);
-    regfree(&preg);
+    regcomp (&preg, regex, REG_EXTENDED);
+    regexec (&preg, date_str, 3, pmatch, 0);
+    regfree (&preg);
 
     /* If there wasn't a match, there was an error. */
     if (pmatch[0].rm_eo == 0)
@@ -259,7 +259,7 @@ static time64 parse_date_without_year(const char* date_str, int format)
             /* Copy the matching substring into date_segment so that we can
              * convert it into an integer. */
             mem_length = pmatch[j].rm_eo - pmatch[j].rm_so;
-            date_segment = g_new(gchar, mem_length);
+            date_segment = g_new (gchar, mem_length);
             memcpy(date_segment, date_str + pmatch[j].rm_so, mem_length);
             date_segment[mem_length] = '\0';
 
@@ -269,14 +269,14 @@ static time64 parse_date_without_year(const char* date_str, int format)
             switch (segment_type)
             {
             case 'm':
-                orig_month = retvalue.tm_mon = atoi(date_segment) - 1;
+                orig_month = retvalue.tm_mon = atoi (date_segment) - 1;
                 break;
 
             case 'd':
-                orig_day = retvalue.tm_mday = atoi(date_segment);
+                orig_day = retvalue.tm_mday = atoi (date_segment);
                 break;
             }
-            g_free(date_segment);
+            g_free (date_segment);
             j++;
         }
     }
@@ -310,18 +310,18 @@ static time64 parse_date_without_year(const char* date_str, int format)
  * @param format An index specifying a format in date_format_user
  * @return The parsed value of date_str on success or -1 on failure
  */
-time64 parse_date(const char* date_str, int format)
+time64 parse_date (const char* date_str, int format)
 {
-    if (strchr(date_format_user[format], 'y'))
-        return parse_date_with_year(date_str, format);
+    if (strchr (date_format_user[format], 'y'))
+        return parse_date_with_year (date_str, format);
     else
-        return parse_date_without_year(date_str, format);
+        return parse_date_without_year (date_str, format);
 }
 
 /** Constructor for GncCsvParseData.
  * @return Pointer to a new GncCSvParseData
  */
-GncCsvParseData* gnc_csv_new_parse_data(void)
+GncCsvParseData* gnc_csv_new_parse_data (void)
 {
     GncCsvParseData* parse_data = g_new(GncCsvParseData, 1);
     parse_data->encoding = "UTF-8";
@@ -346,32 +346,32 @@ GncCsvParseData* gnc_csv_new_parse_data(void)
 /** Destructor for GncCsvParseData.
  * @param parse_data Parse data whose memory will be freed
  */
-void gnc_csv_parse_data_free(GncCsvParseData* parse_data)
+void gnc_csv_parse_data_free (GncCsvParseData* parse_data)
 {
     /* All non-NULL pointers have been initialized and must be freed. */
 
     if (parse_data->raw_mapping != NULL)
     {
-        g_mapped_file_unref(parse_data->raw_mapping);
+        g_mapped_file_unref (parse_data->raw_mapping);
     }
 
     if (parse_data->file_str.begin != NULL)
-        g_free(parse_data->file_str.begin);
+        g_free (parse_data->file_str.begin);
 
     if (parse_data->orig_lines != NULL)
-        stf_parse_general_free(parse_data->orig_lines);
+        stf_parse_general_free (parse_data->orig_lines);
 
     if (parse_data->orig_row_lengths != NULL)
-        g_array_free(parse_data->orig_row_lengths, FALSE);
+        g_array_free (parse_data->orig_row_lengths, FALSE);
 
     if (parse_data->options != NULL)
-        stf_parse_options_free(parse_data->options);
+        stf_parse_options_free (parse_data->options);
 
     if (parse_data->column_types != NULL)
-        g_array_free(parse_data->column_types, TRUE);
+        g_array_free (parse_data->column_types, TRUE);
 
     if (parse_data->error_lines != NULL)
-        g_list_free(parse_data->error_lines);
+        g_list_free (parse_data->error_lines);
 
     if (parse_data->transactions != NULL)
     {
@@ -380,15 +380,15 @@ void gnc_csv_parse_data_free(GncCsvParseData* parse_data)
          * the list before freeing the entire list. */
         do
         {
-            g_free(transactions->data);
-            transactions = g_list_next(transactions);
+            g_free (transactions->data);
+            transactions = g_list_next (transactions);
         }
         while (transactions != NULL);
-        g_list_free(parse_data->transactions);
+        g_list_free (parse_data->transactions);
     }
 
-    g_free(parse_data->chunk);
-    g_free(parse_data);
+    g_free (parse_data->chunk);
+    g_free (parse_data);
 }
 
 /** Converts raw file data using a new encoding. This function must be
@@ -399,7 +399,7 @@ void gnc_csv_parse_data_free(GncCsvParseData* parse_data)
  * @param error Will point to an error on failure
  * @return 0 on success, 1 on failure
  */
-int gnc_csv_convert_encoding(GncCsvParseData* parse_data, const char* encoding,
+int gnc_csv_convert_encoding (GncCsvParseData* parse_data, const char* encoding,
                              GError** error)
 {
     gsize bytes_read, bytes_written;
@@ -412,7 +412,7 @@ int gnc_csv_convert_encoding(GncCsvParseData* parse_data, const char* encoding,
         g_free(parse_data->file_str.begin);
 
     /* Do the actual translation to UTF-8. */
-    parse_data->file_str.begin = g_convert(parse_data->raw_str.begin,
+    parse_data->file_str.begin = g_convert (parse_data->raw_str.begin,
                                            parse_data->raw_str.end - parse_data->raw_str.begin,
                                            "UTF-8", encoding, &bytes_read, &bytes_written,
                                            error);
@@ -439,43 +439,43 @@ int gnc_csv_convert_encoding(GncCsvParseData* parse_data, const char* encoding,
  * @param error Will contain an error if there is a failure
  * @return 0 on success, 1 on failure
  */
-int gnc_csv_load_file(GncCsvParseData* parse_data, const char* filename,
+int gnc_csv_load_file (GncCsvParseData* parse_data, const char* filename,
                       GError** error)
 {
     const char* guess_enc = NULL;
 
     /* Get the raw data first and handle an error if one occurs. */
-    parse_data->raw_mapping = g_mapped_file_new(filename, FALSE, error);
+    parse_data->raw_mapping = g_mapped_file_new (filename, FALSE, error);
     if (parse_data->raw_mapping == NULL)
     {
         /* TODO Handle file opening errors more specifically,
          * e.g. inexistent file versus no read permission. */
         parse_data->raw_str.begin = NULL;
         g_clear_error (error);
-        g_set_error(error, 0, GNC_CSV_FILE_OPEN_ERR, "%s", _("File opening failed."));
+        g_set_error (error, 0, GNC_CSV_FILE_OPEN_ERR, "%s", _("File opening failed."));
         return 1;
     }
 
     /* Copy the mapping's contents into parse-data->raw_str. */
-    parse_data->raw_str.begin = g_mapped_file_get_contents(parse_data->raw_mapping);
-    parse_data->raw_str.end = parse_data->raw_str.begin + g_mapped_file_get_length(parse_data->raw_mapping);
+    parse_data->raw_str.begin = g_mapped_file_get_contents (parse_data->raw_mapping);
+    parse_data->raw_str.end = parse_data->raw_str.begin + g_mapped_file_get_length (parse_data->raw_mapping);
 
     /* Make a guess at the encoding of the data. */
-    if (!g_mapped_file_get_length(parse_data->raw_mapping) == 0)
-        guess_enc = go_guess_encoding((const char*)(parse_data->raw_str.begin),
+    if (!g_mapped_file_get_length (parse_data->raw_mapping) == 0)
+        guess_enc = go_guess_encoding ((const char*)(parse_data->raw_str.begin),
                                       (size_t)(parse_data->raw_str.end - parse_data->raw_str.begin),
                                       "UTF-8", NULL);
     if (guess_enc == NULL)
     {
-        g_set_error(error, 0, GNC_CSV_ENCODING_ERR, "%s", _("Unknown encoding."));
+        g_set_error (error, 0, GNC_CSV_ENCODING_ERR, "%s", _("Unknown encoding."));
         return 1;
     }
     /* Convert using the guessed encoding into parse_data->file_str and
      * handle any errors that occur. */
-    gnc_csv_convert_encoding(parse_data, guess_enc, error);
+    gnc_csv_convert_encoding (parse_data, guess_enc, error);
     if (parse_data->file_str.begin == NULL)
     {
-        g_set_error(error, 0, GNC_CSV_ENCODING_ERR, "%s", _("Unknown encoding."));
+        g_set_error (error, 0, GNC_CSV_ENCODING_ERR, "%s", _("Unknown encoding."));
         return 1;
     }
     else
@@ -494,21 +494,21 @@ int gnc_csv_load_file(GncCsvParseData* parse_data, const char* filename,
  * @param error Will contain an error if there is a failure
  * @return 0 on success, 1 on failure
  */
-int gnc_csv_parse(GncCsvParseData* parse_data, gboolean guessColTypes, GError** error)
+int gnc_csv_parse (GncCsvParseData* parse_data, gboolean guessColTypes, GError** error)
 {
     /* max_cols is the number of columns in the row with the most columns. */
     int i, max_cols = 0;
 
     if (parse_data->orig_lines != NULL)
     {
-        stf_parse_general_free(parse_data->orig_lines);
+        stf_parse_general_free (parse_data->orig_lines);
     }
 
     /* If everything is fine ... */
     if (parse_data->file_str.begin != NULL)
     {
         /* Do the actual parsing. */
-        parse_data->orig_lines = stf_parse_general(parse_data->options, parse_data->chunk,
+        parse_data->orig_lines = stf_parse_general (parse_data->options, parse_data->chunk,
                                  parse_data->file_str.begin,
                                  parse_data->file_str.end);
     }
@@ -520,12 +520,12 @@ int gnc_csv_parse(GncCsvParseData* parse_data, gboolean guessColTypes, GError**
 
     /* Record the original row lengths of parse_data->orig_lines. */
     if (parse_data->orig_row_lengths != NULL)
-        g_array_free(parse_data->orig_row_lengths, FALSE);
+        g_array_free (parse_data->orig_row_lengths, FALSE);
 
     parse_data->orig_row_lengths =
-        g_array_sized_new(FALSE, FALSE, sizeof(int), parse_data->orig_lines->len);
+        g_array_sized_new (FALSE, FALSE, sizeof(int), parse_data->orig_lines->len);
 
-    g_array_set_size(parse_data->orig_row_lengths, parse_data->orig_lines->len);
+    g_array_set_size (parse_data->orig_row_lengths, parse_data->orig_lines->len);
     parse_data->orig_max_row = 0;
     for (i = 0; i < parse_data->orig_lines->len; i++)
     {
@@ -538,7 +538,7 @@ int gnc_csv_parse(GncCsvParseData* parse_data, gboolean guessColTypes, GError**
     /* If it failed, generate an error. */
     if (parse_data->orig_lines == NULL)
     {
-        g_set_error(error, 0, 0, "Parsing failed.");
+        g_set_error (error, 0, 0, "Parsing failed.");
         return 1;
     }
 
@@ -553,13 +553,13 @@ int gnc_csv_parse(GncCsvParseData* parse_data, gboolean guessColTypes, GError**
     {
         /* Free parse_data->column_types if it's already been created. */
         if (parse_data->column_types != NULL)
-            g_array_free(parse_data->column_types, TRUE);
+            g_array_free (parse_data->column_types, TRUE);
 
         /* Create parse_data->column_types and fill it with guesses based
          * on the contents of each column. */
-        parse_data->column_types = g_array_sized_new(FALSE, FALSE, sizeof(int),
+        parse_data->column_types = g_array_sized_new (FALSE, FALSE, sizeof(int),
                                    max_cols);
-        g_array_set_size(parse_data->column_types, max_cols);
+        g_array_set_size (parse_data->column_types, max_cols);
         /* TODO Make it actually guess. */
         for (i = 0; i < parse_data->column_types->len; i++)
         {
@@ -574,7 +574,7 @@ int gnc_csv_parse(GncCsvParseData* parse_data, gboolean guessColTypes, GError**
          * parse_data->column_types should have already been
          * initialized, so we don't check for it being NULL. */
         int i = parse_data->column_types->len;
-        g_array_set_size(parse_data->column_types, max_cols);
+        g_array_set_size (parse_data->column_types, max_cols);
         for (; i < parse_data->column_types->len; i++)
         {
             parse_data->column_types->data[i] = GNC_CSV_NONE;
@@ -605,9 +605,9 @@ typedef struct
 /** Constructor for TransProperty.
  * @param type The type of the new property (see TransProperty.type for possible values)
  */
-static TransProperty* trans_property_new(int type, TransPropertyList* list)
+static TransProperty* trans_property_new (int type, TransPropertyList* list)
 {
-    TransProperty* prop = g_new(TransProperty, 1);
+    TransProperty* prop = g_new (TransProperty, 1);
     prop->type = type;
     prop->list = list;
     prop->value = NULL;
@@ -617,7 +617,7 @@ static TransProperty* trans_property_new(int type, TransPropertyList* list)
 /** Destructor for TransProperty.
  * @param prop The property to be freed
  */
-static void trans_property_free(TransProperty* prop)
+static void trans_property_free (TransProperty* prop)
 {
     switch (prop->type)
     {
@@ -632,7 +632,7 @@ static void trans_property_free(TransProperty* prop)
             g_free(prop->value);
         break;
     }
-    g_free(prop);
+    g_free (prop);
 }
 
 /** Sets the value of the property by parsing str. Note: this should
@@ -642,7 +642,7 @@ static void trans_property_free(TransProperty* prop)
  * @param str The string to be parsed
  * @return TRUE on success, FALSE on failure
  */
-static gboolean trans_property_set(TransProperty* prop, char* str)
+static gboolean trans_property_set (TransProperty* prop, char* str)
 {
     char *endptr, *possible_currency_symbol, *str_dupe;
     gnc_numeric val;
@@ -656,37 +656,37 @@ static gboolean trans_property_set(TransProperty* prop, char* str)
     case GNC_CSV_DESCRIPTION:
     case GNC_CSV_NOTES:
     case GNC_CSV_NUM:
-        prop->value = g_strdup(str);
+        prop->value = g_strdup (str);
         return TRUE;
 
     case GNC_CSV_BALANCE:
     case GNC_CSV_DEPOSIT:
     case GNC_CSV_WITHDRAWAL:
-        str_dupe = g_strdup(str); /* First, we make a copy so we can't mess up real data. */
+        str_dupe = g_strdup (str); /* First, we make a copy so we can't mess up real data. */
         /* If a cell is empty make its value = 0.0 */
-        if ( strcmp(str_dupe, "") == 0)
+        if (strcmp (str_dupe, "") == 0)
         { 
-            g_free(str_dupe);
-            str_dupe = g_strdup("0.0");
+            g_free (str_dupe);
+            str_dupe = g_strdup ("0.0");
         }
         /* Go through str_dupe looking for currency symbols. */
         for (possible_currency_symbol = str_dupe; *possible_currency_symbol;
-                possible_currency_symbol = g_utf8_next_char(possible_currency_symbol))
+                possible_currency_symbol = g_utf8_next_char (possible_currency_symbol))
         {
-            if (g_unichar_type(g_utf8_get_char(possible_currency_symbol)) == G_UNICODE_CURRENCY_SYMBOL)
+            if (g_unichar_type (g_utf8_get_char (possible_currency_symbol)) == G_UNICODE_CURRENCY_SYMBOL)
             {
                 /* If we find a currency symbol, save the position just ahead
                  * of the currency symbol (next_symbol), and find the null
                  * terminator of the string (last_symbol). */
-                char *next_symbol = g_utf8_next_char(possible_currency_symbol), *last_symbol = next_symbol;
+                char *next_symbol = g_utf8_next_char (possible_currency_symbol), *last_symbol = next_symbol;
                 while (*last_symbol)
-                    last_symbol = g_utf8_next_char(last_symbol);
+                    last_symbol = g_utf8_next_char (last_symbol);
 
                 /* Move all of the string (including the null byte, which is
                  * why we have +1 in the size parameter) following the
                  * currency symbol back one character, thereby overwriting the
                  * currency symbol. */
-                memmove(possible_currency_symbol, next_symbol, last_symbol - next_symbol + 1);
+                memmove (possible_currency_symbol, next_symbol, last_symbol - next_symbol + 1);
                 break;
             }
         }
@@ -696,33 +696,33 @@ static gboolean trans_property_set(TransProperty* prop, char* str)
         {
         case 0:
             /* Currancy locale */
-            if (!(xaccParseAmount(str_dupe, TRUE, &val, &endptr)))
+            if (!(xaccParseAmount (str_dupe, TRUE, &val, &endptr)))
             {
-                g_free(str_dupe);
+                g_free (str_dupe);
                 return FALSE;
             }
             break;
         case 1:
             /* Currancy decimal period */
-            if (!(xaccParseAmountExtended(str_dupe, TRUE, '-', '.', ',', "\003\003", "$+", &val, &endptr)))
+            if (!(xaccParseAmountExtended (str_dupe, TRUE, '-', '.', ',', "\003\003", "$+", &val, &endptr)))
             {
-                g_free(str_dupe);
+                g_free (str_dupe);
                 return FALSE;
             }
             break;
         case 2:
             /* Currancy decimal comma */
-            if (!(xaccParseAmountExtended(str_dupe, TRUE, '-', ',', '.', "\003\003", "$+", &val, &endptr)))
+            if (!(xaccParseAmountExtended (str_dupe, TRUE, '-', ',', '.', "\003\003", "$+", &val, &endptr)))
             {
-                g_free(str_dupe);
+                g_free (str_dupe);
                 return FALSE;
             }
             break;
         }
 
-        prop->value = g_new(gnc_numeric, 1);
+        prop->value = g_new (gnc_numeric, 1);
         *((gnc_numeric*)(prop->value)) = val;
-        g_free(str_dupe);
+        g_free (str_dupe);
         return TRUE;
 
     }
@@ -734,9 +734,9 @@ static gboolean trans_property_set(TransProperty* prop, char* str)
  * @param date_format An index from date_format_user for how date properties should be parsed
  * @return A pointer to a new TransPropertyList
  */
-static TransPropertyList* trans_property_list_new(Account* account, int date_format, int currency_format)
+static TransPropertyList* trans_property_list_new (Account* account, int date_format, int currency_format)
 {
-    TransPropertyList* list = g_new(TransPropertyList, 1);
+    TransPropertyList* list = g_new (TransPropertyList, 1);
     list->account = account;
     list->date_format = date_format;
     list->currency_format = currency_format;
@@ -747,17 +747,17 @@ static TransPropertyList* trans_property_list_new(Account* account, int date_for
 /** Destructor for TransPropertyList.
  * @param list The list to be freed
  */
-static void trans_property_list_free(TransPropertyList* list)
+static void trans_property_list_free (TransPropertyList* list)
 {
     /* Free all of the properties in this list before freeeing the list itself. */
     GList* properties_begin = list->properties;
     while (list->properties != NULL)
     {
-        trans_property_free((TransProperty*)(list->properties->data));
-        list->properties = g_list_next(list->properties);
+        trans_property_free ((TransProperty*)(list->properties->data));
+        list->properties = g_list_next (list->properties);
     }
-    g_list_free(properties_begin);
-    g_free(list);
+    g_list_free (properties_begin);
+    g_free (list);
 }
 
 /** Adds a property to the list it's linked with.
@@ -765,9 +765,9 @@ static void trans_property_list_free(TransPropertyList* list)
  * associated with a list when it's constructed.)
  * @param property The property to be added to its list
  */
-static void trans_property_list_add(TransProperty* property)
+static void trans_property_list_add (TransProperty* property)
 {
-    property->list->properties = g_list_append(property->list->properties, property);
+    property->list->properties = g_list_append (property->list->properties, property);
 }
 
 /** Adds a split to a transaction.
@@ -776,16 +776,16 @@ static void trans_property_list_add(TransProperty* property)
  * @param book The book where the split should be stored
  * @param amount The amount of the split
  */
-static void trans_add_split(Transaction* trans, Account* account, QofBook* book,
+static void trans_add_split (Transaction* trans, Account* account, QofBook* book,
                             gnc_numeric amount, const char *num)
 {
-    Split* split = xaccMallocSplit(book);
-    xaccSplitSetAccount(split, account);
-    xaccSplitSetParent(split, trans);
-    xaccSplitSetAmount(split, amount);
-    xaccSplitSetValue(split, amount);
+    Split* split = xaccMallocSplit (book);
+    xaccSplitSetAccount (split, account);
+    xaccSplitSetParent (split, trans);
+    xaccSplitSetAmount (split, amount);
+    xaccSplitSetValue (split, amount);
     /* set tran-num and/or split-action per book option */
-    gnc_set_num_action(trans, split, num, NULL);
+    gnc_set_num_action (trans, split, num, NULL);
 }
 
 /** Tests a TransPropertyList for having enough essential properties.
@@ -795,7 +795,7 @@ static void trans_add_split(Transaction* trans, Account* account, QofBook* book,
  * @param error Contains an error message on failure
  * @return TRUE if there are enough essentials; FALSE otherwise
  */
-static gboolean trans_property_list_verify_essentials(TransPropertyList* list, gchar** error)
+static gboolean trans_property_list_verify_essentials (TransPropertyList* list, gchar** error)
 {
     int i;
     /* possible_errors lists the ways in which a list can fail this test. */
@@ -823,7 +823,7 @@ static gboolean trans_property_list_verify_essentials(TransPropertyList* list, g
             possible_errors[NO_AMOUNT] = NULL;
             break;
         }
-        list->properties = g_list_next(list->properties);
+        list->properties = g_list_next (list->properties);
     }
     list->properties = properties_begin;
 
@@ -832,10 +832,10 @@ static gboolean trans_property_list_verify_essentials(TransPropertyList* list, g
     {
         if (possible_errors[i] != NULL)
         {
-            errors_list = g_list_append(errors_list, GINT_TO_POINTER(i));
+            errors_list = g_list_append (errors_list, GINT_TO_POINTER(i));
             /* Since we added an error, we want to also store its length for
              * when we construct the full error string. */
-            possible_error_lengths[i] = strlen(_(possible_errors[i]));
+            possible_error_lengths[i] = strlen (_(possible_errors[i]));
         }
     }
 
@@ -854,12 +854,12 @@ static gboolean trans_property_list_verify_essentials(TransPropertyList* list, g
         {
             /* We add an extra 1 to account for spaces in between messages. */
             full_error_size += possible_error_lengths[GPOINTER_TO_INT(errors_list->data)] + 1;
-            errors_list = g_list_next(errors_list);
+            errors_list = g_list_next (errors_list);
         }
         errors_list = errors_list_begin;
 
         /* Append the error messages one after another. */
-        error_message = error_message_begin = g_new(gchar, full_error_size);
+        error_message = error_message_begin = g_new (gchar, full_error_size);
         while (errors_list)
         {
             i = GPOINTER_TO_INT(errors_list->data);
@@ -871,10 +871,10 @@ static gboolean trans_property_list_verify_essentials(TransPropertyList* list, g
             *error_message = ' ';
             error_message++;
 
-            errors_list = g_list_next(errors_list);
+            errors_list = g_list_next (errors_list);
         }
         *error_message = '\0'; /* Replace the last space with the null byte. */
-        g_list_free(errors_list_begin);
+        g_list_free (errors_list_begin);
 
         *error = error_message_begin;
         return FALSE;
@@ -886,13 +886,13 @@ static gboolean trans_property_list_verify_essentials(TransPropertyList* list, g
  * @param error Contains an error on failure
  * @return On success, a GncCsvTransLine; on failure, the trans pointer is NULL
  */
-static GncCsvTransLine* trans_property_list_to_trans(TransPropertyList* list, gchar** error)
+static GncCsvTransLine* trans_property_list_to_trans (TransPropertyList* list, gchar** error)
 {
-    GncCsvTransLine* trans_line = g_new(GncCsvTransLine, 1);
+    GncCsvTransLine* trans_line = g_new (GncCsvTransLine, 1);
     GList* properties_begin = list->properties;
-    QofBook* book = gnc_account_get_book(list->account);
-    gnc_commodity* currency = xaccAccountGetCommodity(list->account);
-    gnc_numeric amount = double_to_gnc_numeric(0.0, xaccAccountGetCommoditySCU(list->account),
+    QofBook* book = gnc_account_get_book (list->account);
+    gnc_commodity* currency = xaccAccountGetCommodity (list->account);
+    gnc_numeric amount = double_to_gnc_numeric (0.0, xaccAccountGetCommoditySCU (list->account),
                          GNC_HOW_RND_ROUND_HALF_UP);
     gchar *num = NULL;
 
@@ -910,15 +910,15 @@ static GncCsvTransLine* trans_property_list_to_trans(TransPropertyList* list, gc
     trans_line->line_no = -1;
 
     /* Make sure this is a transaction with all the columns we need. */
-    if (!trans_property_list_verify_essentials(list, error))
+    if (!trans_property_list_verify_essentials (list, error))
     {
         g_free(trans_line);
         return NULL;
     }
 
-    trans_line->trans = xaccMallocTransaction(book);
-    xaccTransBeginEdit(trans_line->trans);
-    xaccTransSetCurrency(trans_line->trans, currency);
+    trans_line->trans = xaccMallocTransaction (book);
+    xaccTransBeginEdit (trans_line->trans);
+    xaccTransSetCurrency (trans_line->trans, currency);
 
     /* Go through each of the properties and edit the transaction accordingly. */
     list->properties = properties_begin;
@@ -928,15 +928,15 @@ static GncCsvTransLine* trans_property_list_to_trans(TransPropertyList* list, gc
         switch (prop->type)
         {
         case GNC_CSV_DATE:
-            xaccTransSetDatePostedSecsNormalized(trans_line->trans, *((time64*)(prop->value)));
+            xaccTransSetDatePostedSecsNormalized (trans_line->trans, *((time64*)(prop->value)));
             break;
 
         case GNC_CSV_DESCRIPTION:
-            xaccTransSetDescription(trans_line->trans, (char*)(prop->value));
+            xaccTransSetDescription (trans_line->trans, (char*)(prop->value));
             break;
 
         case GNC_CSV_NOTES:
-            xaccTransSetNotes(trans_line->trans, (char*)(prop->value));
+            xaccTransSetNotes (trans_line->trans, (char*)(prop->value));
             break;
 
         case GNC_CSV_NUM:
@@ -953,9 +953,9 @@ static GncCsvTransLine* trans_property_list_to_trans(TransPropertyList* list, gc
         case GNC_CSV_DEPOSIT: /* Add deposits to the existing amount. */
             if (prop->value != NULL)
             {
-                amount = gnc_numeric_add(*((gnc_numeric*)(prop->value)),
+                amount = gnc_numeric_add (*((gnc_numeric*)(prop->value)),
                                          amount,
-                                         xaccAccountGetCommoditySCU(list->account),
+                                         xaccAccountGetCommoditySCU (list->account),
                                          GNC_HOW_RND_ROUND_HALF_UP);
                 amount_set = TRUE;
                 /* We will use the "Deposit" and "Withdrawal" columns in preference to "Balance". */
@@ -966,9 +966,9 @@ static GncCsvTransLine* trans_property_list_to_trans(TransPropertyList* list, gc
         case GNC_CSV_WITHDRAWAL: /* Withdrawals are just negative deposits. */
             if (prop->value != NULL)
             {
-                amount = gnc_numeric_add(gnc_numeric_neg(*((gnc_numeric*)(prop->value))),
+                amount = gnc_numeric_add (gnc_numeric_neg(*((gnc_numeric*)(prop->value))),
                                          amount,
-                                         xaccAccountGetCommoditySCU(list->account),
+                                         xaccAccountGetCommoditySCU (list->account),
                                          GNC_HOW_RND_ROUND_HALF_UP);
                 amount_set = TRUE;
                 /* We will use the "Deposit" and "Withdrawal" columns in preference to "Balance". */
@@ -986,13 +986,13 @@ static GncCsvTransLine* trans_property_list_to_trans(TransPropertyList* list, gc
             }
             break;
         }
-        list->properties = g_list_next(list->properties);
+        list->properties = g_list_next (list->properties);
     }
 
     /* Add a split with the cumulative amount value. */
-    trans_add_split(trans_line->trans, list->account, book, amount, num);
+    trans_add_split (trans_line->trans, list->account, book, amount, num);
     if (num)
-        g_free(num);
+        g_free (num);
 
     return trans_line;
 }
@@ -1007,7 +1007,7 @@ static GncCsvTransLine* trans_property_list_to_trans(TransPropertyList* list, gc
  * @param redo_errors TRUE to convert only error data, FALSE for all data
  * @return 0 on success, 1 on failure
  */
-int gnc_csv_parse_to_trans(GncCsvParseData* parse_data, Account* account,
+int gnc_csv_parse_to_trans (GncCsvParseData* parse_data, Account* account,
                            gboolean redo_errors)
 {
     gboolean hasBalanceColumn;
@@ -1033,7 +1033,7 @@ int gnc_csv_parse_to_trans(GncCsvParseData* parse_data, Account* account,
         }
         if (parse_data->transactions != NULL)
         {
-            g_list_free(parse_data->transactions);
+            g_list_free (parse_data->transactions);
         }
     }
     parse_data->error_lines = NULL;
@@ -1048,9 +1048,9 @@ int gnc_csv_parse_to_trans(GncCsvParseData* parse_data, Account* account,
         {
             /* Move last_transaction to the end. */
             last_transaction = parse_data->transactions;
-            while (g_list_next(last_transaction) != NULL)
+            while (g_list_next (last_transaction) != NULL)
             {
-                last_transaction = g_list_next(last_transaction);
+                last_transaction = g_list_next (last_transaction);
             }
         }
         /* ... we use only the lines in error_lines. */
@@ -1077,7 +1077,7 @@ int gnc_csv_parse_to_trans(GncCsvParseData* parse_data, Account* account,
         /* This flag is TRUE if there are any errors in this row. */
         gboolean errors = FALSE;
         gchar* error_message = NULL;
-        TransPropertyList* list = trans_property_list_new(account, parse_data->date_format, parse_data->currency_format );
+        TransPropertyList* list = trans_property_list_new (account, parse_data->date_format, parse_data->currency_format );
         GncCsvTransLine* trans_line = NULL;
 
         for (j = 0; j < line->len; j++)
@@ -1086,20 +1086,20 @@ int gnc_csv_parse_to_trans(GncCsvParseData* parse_data, Account* account,
             if ((column_types->data[j] != GNC_CSV_NONE) && (column_types->data[j] != GNC_CSV_ACCOUNT))
             {
                 /* Affect the transaction appropriately. */
-                TransProperty* property = trans_property_new(column_types->data[j], list);
-                gboolean succeeded = trans_property_set(property, line->pdata[j]);
+                TransProperty* property = trans_property_new (column_types->data[j], list);
+                gboolean succeeded = trans_property_set (property, line->pdata[j]);
 
                 /* TODO Maybe move error handling to within TransPropertyList functions? */
                 if (succeeded)
                 {
-                    trans_property_list_add(property);
+                    trans_property_list_add (property);
                 }
                 else
                 {
                     errors = TRUE;
-                    error_message = g_strdup_printf(_("%s column could not be understood."),
+                    error_message = g_strdup_printf (_("%s column could not be understood."),
                                                     _(gnc_csv_column_type_strs[property->type]));
-                    trans_property_free(property);
+                    trans_property_free (property);
                     break;
                 }
             }
@@ -1108,16 +1108,16 @@ int gnc_csv_parse_to_trans(GncCsvParseData* parse_data, Account* account,
         /* If we had success, add the transaction to parse_data->transaction. */
         if (!errors)
         {
-            trans_line = trans_property_list_to_trans(list, &error_message);
+            trans_line = trans_property_list_to_trans (list, &error_message);
             errors = trans_line == NULL;
         }
 
-        trans_property_list_free(list);
+        trans_property_list_free (list);
 
         /* If there were errors, add this line to parse_data->error_lines. */
         if (errors)
         {
-            parse_data->error_lines = g_list_append(parse_data->error_lines,
+            parse_data->error_lines = g_list_append (parse_data->error_lines,
                                                     GINT_TO_POINTER(i));
             /* If there's already an error message, we need to replace it. */
             if (line->len > (int)(parse_data->orig_row_lengths->data[i]))
@@ -1128,7 +1128,7 @@ int gnc_csv_parse_to_trans(GncCsvParseData* parse_data, Account* account,
             else
             {
                 /* Put the error message at the end of the line. */
-                g_ptr_array_add(line, error_message);
+                g_ptr_array_add (line, error_message);
             }
         }
         else
@@ -1143,32 +1143,32 @@ int gnc_csv_parse_to_trans(GncCsvParseData* parse_data, Account* account,
 
             /* If we can just put it at the end, do so and increment last_transaction. */
             if (last_transaction == NULL ||
-                    xaccTransGetDate(((GncCsvTransLine*)(last_transaction->data))->trans) <= xaccTransGetDate(trans_line->trans))
+                    xaccTransGetDate (((GncCsvTransLine*)(last_transaction->data))->trans) <= xaccTransGetDate (trans_line->trans))
             {
-                parse_data->transactions = g_list_append(parse_data->transactions, trans_line);
+                parse_data->transactions = g_list_append (parse_data->transactions, trans_line);
                 /* If this is the first transaction, we need to get last_transaction on track. */
                 if (last_transaction == NULL)
                     last_transaction = parse_data->transactions;
                 else /* Otherwise, we can just continue. */
-                    last_transaction = g_list_next(last_transaction);
+                    last_transaction = g_list_next (last_transaction);
             }
             /* Otherwise, search backward for the correct spot. */
             else
             {
                 GList* insertion_spot = last_transaction;
                 while (insertion_spot != NULL &&
-                        xaccTransGetDate(((GncCsvTransLine*)(insertion_spot->data))->trans) > xaccTransGetDate(trans_line->trans))
+                        xaccTransGetDate (((GncCsvTransLine*)(insertion_spot->data))->trans) > xaccTransGetDate (trans_line->trans))
                 {
-                    insertion_spot = g_list_previous(insertion_spot);
+                    insertion_spot = g_list_previous (insertion_spot);
                 }
                 /* Move insertion_spot one location forward since we have to
                  * use the g_list_insert_before function. */
                 if (insertion_spot == NULL) /* We need to handle the case of inserting at the beginning of the list. */
                     insertion_spot = parse_data->transactions;
                 else
-                    insertion_spot = g_list_next(insertion_spot);
+                    insertion_spot = g_list_next (insertion_spot);
 
-                parse_data->transactions = g_list_insert_before(parse_data->transactions, insertion_spot, trans_line);
+                parse_data->transactions = g_list_insert_before (parse_data->transactions, insertion_spot, trans_line);
             }
         }
 
@@ -1176,7 +1176,7 @@ int gnc_csv_parse_to_trans(GncCsvParseData* parse_data, Account* account,
         if (redo_errors)
         {
             /* Move to the next error line in the list. */
-            error_lines = g_list_next(error_lines);
+            error_lines = g_list_next (error_lines);
             if (error_lines == NULL)
                 i = parse_data->orig_lines->len; /* Don't continue the for loop. */
             else
@@ -1207,53 +1207,53 @@ int gnc_csv_parse_to_trans(GncCsvParseData* parse_data, Account* account,
          * differs from what it will be after the transactions are
          * imported. This will be sum of all the previous transactions for
          * any given transaction. */
-        gnc_numeric balance_offset = double_to_gnc_numeric(0.0,
-                                     xaccAccountGetCommoditySCU(account),
+        gnc_numeric balance_offset = double_to_gnc_numeric (0.0,
+                                     xaccAccountGetCommoditySCU (account),
                                      GNC_HOW_RND_ROUND_HALF_UP);
         while (transactions != NULL)
         {
             GncCsvTransLine* trans_line = (GncCsvTransLine*)transactions->data;
             if (trans_line->balance_set)
             {
-                time64 date = xaccTransGetDate(trans_line->trans);
+                time64 date = xaccTransGetDate (trans_line->trans);
                 /* Find what the balance should be by adding the offset to the actual balance. */
-                gnc_numeric existing_balance = gnc_numeric_add(balance_offset,
-                                               xaccAccountGetBalanceAsOfDate(account, date),
-                                               xaccAccountGetCommoditySCU(account),
+                gnc_numeric existing_balance = gnc_numeric_add (balance_offset,
+                                               xaccAccountGetBalanceAsOfDate (account, date),
+                                               xaccAccountGetCommoditySCU (account),
                                                GNC_HOW_RND_ROUND_HALF_UP);
 
                 /* The amount of the transaction is the difference between the new and existing balance. */
-                gnc_numeric amount = gnc_numeric_sub(trans_line->balance,
+                gnc_numeric amount = gnc_numeric_sub (trans_line->balance,
                                                      existing_balance,
-                                                     xaccAccountGetCommoditySCU(account),
+                                                     xaccAccountGetCommoditySCU (account),
                                                      GNC_HOW_RND_ROUND_HALF_UP);
 
-                SplitList* splits = xaccTransGetSplitList(trans_line->trans);
+                SplitList* splits = xaccTransGetSplitList (trans_line->trans);
                 while (splits)
                 {
-                    SplitList* next_splits = g_list_next(splits);
-                    xaccSplitDestroy((Split*)splits->data);
+                    SplitList* next_splits = g_list_next (splits);
+                    xaccSplitDestroy ((Split*)splits->data);
                     splits = next_splits;
                 }
 
-                trans_add_split(trans_line->trans, account,
-                                gnc_account_get_book(account), amount, trans_line->num);
+                trans_add_split (trans_line->trans, account,
+                                gnc_account_get_book (account), amount, trans_line->num);
                 if (trans_line->num)
-                    g_free(trans_line->num);
+                    g_free (trans_line->num);
 
                 /* This new transaction needs to be added to the balance offset. */
-                balance_offset = gnc_numeric_add(balance_offset,
+                balance_offset = gnc_numeric_add (balance_offset,
                                                  amount,
-                                                 xaccAccountGetCommoditySCU(account),
+                                                 xaccAccountGetCommoditySCU (account),
                                                  GNC_HOW_RND_ROUND_HALF_UP);
             }
-            transactions = g_list_next(transactions);
+            transactions = g_list_next (transactions);
         }
     }
 
     if (redo_errors) /* Now that we're at the end, we do the freeing. */
     {
-        g_list_free(begin_error_lines);
+        g_list_free (begin_error_lines);
     }
 
     /* We need to resize parse_data->column_types since errors may have added columns. */
@@ -1263,7 +1263,7 @@ int gnc_csv_parse_to_trans(GncCsvParseData* parse_data, Account* account,
             max_cols = ((GPtrArray*)(parse_data->orig_lines->pdata[i]))->len;
     }
     i = parse_data->column_types->len;
-    parse_data->column_types = g_array_set_size(parse_data->column_types, max_cols);
+    parse_data->column_types = g_array_set_size (parse_data->column_types, max_cols);
     for (; i < max_cols; i++)
     {
         parse_data->column_types->data[i] = GNC_CSV_NONE;
diff --git a/src/import-export/csv-imp/gnc-csv-model.h b/src/import-export/csv-imp/gnc-csv-model.h
index 390682a..ba8f6da 100644
--- a/src/import-export/csv-imp/gnc-csv-model.h
+++ b/src/import-export/csv-imp/gnc-csv-model.h
@@ -118,19 +118,19 @@ typedef struct
     int currency_format;        /**< The currency format, 0 for locale, 1 for comma dec and 2 for period */
 } GncCsvParseData;
 
-GncCsvParseData* gnc_csv_new_parse_data(void);
+GncCsvParseData* gnc_csv_new_parse_data (void);
 
-void gnc_csv_parse_data_free(GncCsvParseData* parse_data);
+void gnc_csv_parse_data_free (GncCsvParseData* parse_data);
 
-int gnc_csv_load_file(GncCsvParseData* parse_data, const char* filename,
+int gnc_csv_load_file (GncCsvParseData* parse_data, const char* filename,
                       GError** error);
 
-int gnc_csv_convert_encoding(GncCsvParseData* parse_data, const char* encoding, GError** error);
+int gnc_csv_convert_encoding (GncCsvParseData* parse_data, const char* encoding, GError** error);
 
-int gnc_csv_parse(GncCsvParseData* parse_data, gboolean guessColTypes, GError** error);
+int gnc_csv_parse (GncCsvParseData* parse_data, gboolean guessColTypes, GError** error);
 
-int gnc_csv_parse_to_trans(GncCsvParseData* parse_data, Account* account, gboolean redo_errors);
+int gnc_csv_parse_to_trans (GncCsvParseData* parse_data, Account* account, gboolean redo_errors);
 
-time64 parse_date(const char* date_str, int format);
+time64 parse_date (const char* date_str, int format);
 
 #endif

commit ba1f8cb1c62ff8a335c6499b8aa1bdddb5b24030
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Sep 19 14:06:59 2014 +0100

    Part Bug fix for 729476, this changes the line endings to \r\n to make it more compatible with CSV format.

diff --git a/src/import-export/csv-exp/csv-transactions-export.c b/src/import-export/csv-exp/csv-transactions-export.c
index 4be3c84..b09d785 100644
--- a/src/import-export/csv-exp/csv-transactions-export.c
+++ b/src/import-export/csv-exp/csv-transactions-export.c
@@ -256,7 +256,11 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
         g_free (part1);
 
         /* From Number Only */
+#ifdef G_OS_WIN32
         part1 = g_strconcat (part2, "", mid_sep, "", mid_sep, "", end_sep, "\n", NULL);
+#else
+        part1 = g_strconcat (part2, "", mid_sep, "", mid_sep, "", end_sep, "\r\n", NULL);
+#endif
         g_free (part2);
 
         /* Write to file */
@@ -346,9 +350,17 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
             split_amount = xaccPrintAmount (xaccSplitGetSharePrice (t_split), gnc_split_amount_print_info (t_split, FALSE));
             str_temp = csv_txn_test_field_string (info, split_amount);
             if (xaccSplitGetAccount (t_split) == acc)
+#ifdef G_OS_WIN32
                 part2 = g_strconcat (part1,  str_temp, mid_sep, end_sep, "\n", NULL);
-            else
+#else
+                part2 = g_strconcat (part1,  str_temp, mid_sep, end_sep, "\r\n", NULL);
+#endif
+             else
+#ifdef G_OS_WIN32
                 part2 = g_strconcat (part1, mid_sep, str_temp, end_sep, "\n", NULL);
+#else
+                part2 = g_strconcat (part1, mid_sep, str_temp, end_sep, "\r\n", NULL);
+#endif
             g_free (str_temp);
             g_free (part1);
 
@@ -415,7 +427,11 @@ void csv_transactions_export (CsvExportInfo *info)
                                _("To With Sym"), mid_sep, _("From With Sym"), mid_sep,
                                _("To Num."), mid_sep, _("From Num."), mid_sep,
                                _("To Rate/Price"), mid_sep, _("From Rate/Price"),
+#ifdef G_OS_WIN32
                                end_sep, "\n", NULL);
+#else
+                               end_sep, "\r\n", NULL);
+#endif
         DEBUG("Header String: %s", header);
 
         /* Write header line */
diff --git a/src/import-export/csv-exp/csv-tree-export.c b/src/import-export/csv-exp/csv-tree-export.c
index f07b49c..da4ab74 100644
--- a/src/import-export/csv-exp/csv-tree-export.c
+++ b/src/import-export/csv-exp/csv-tree-export.c
@@ -144,12 +144,19 @@ void csv_tree_export (CsvExportInfo *info)
         }
 
         /* Header string, 'eol = end of line marker' */
-        header = g_strconcat ( end_sep, _("type"), mid_sep, _("full_name"), mid_sep,
-                               _("name"), mid_sep, _("code"), mid_sep,
-                               _("description"), mid_sep, _("color"), mid_sep, _("notes"), mid_sep,
-                               _("commoditym"), mid_sep, _("commodityn"), mid_sep,
-                               _("hidden"), mid_sep, _("tax"), mid_sep, _("place_holder"), mid_sep,
-                               _("#eol"), end_sep, "\n", NULL);
+#ifdef G_OS_WIN32
+        header = g_strconcat (end_sep, _("type"), mid_sep, _("full_name"), mid_sep, _("name"), mid_sep,
+                                _("code"), mid_sep, _("description"), mid_sep, _("color"), mid_sep,
+                                _("notes"), mid_sep, _("commoditym"), mid_sep, _("commodityn"), mid_sep,
+                                _("hidden"), mid_sep, _("tax"), mid_sep, _("place_holder"), mid_sep, _("#eol"),
+                                 end_sep, "\n", NULL);
+#else
+        header = g_strconcat (end_sep, _("type"), mid_sep, _("full_name"), mid_sep, _("name"), mid_sep,
+                                _("code"), mid_sep, _("description"), mid_sep, _("color"), mid_sep,
+                                _("notes"), mid_sep, _("commoditym"), mid_sep, _("commodityn"), mid_sep,
+                                _("hidden"), mid_sep, _("tax"), mid_sep, _("place_holder"), mid_sep, _("#eol"),
+                                 end_sep, "\r\n", NULL);
+#endif
         DEBUG("Header String: %s", header);
 
         /* Write header line */
@@ -229,7 +236,11 @@ void csv_tree_export (CsvExportInfo *info)
             g_free (part2);
             /* Place Holder / end of line marker */
             currentSel = xaccAccountGetPlaceholder (acc) ? "T" : "F" ;
+#ifdef G_OS_WIN32
             part2 = g_strconcat (part1, currentSel, mid_sep, _("#eol"), end_sep, "\n", NULL);
+#else
+            part2 = g_strconcat (part1, currentSel, mid_sep, _("#eol"), end_sep, "\r\n", NULL);
+#endif
             g_free (part1);
 
             DEBUG("Account String: %s", part2);
diff --git a/src/import-export/csv-imp/csv-account-import.c b/src/import-export/csv-imp/csv-account-import.c
index 68e73a8..58e62d4 100644
--- a/src/import-export/csv-imp/csv-account-import.c
+++ b/src/import-export/csv-imp/csv-account-import.c
@@ -119,8 +119,13 @@ csv_import_read_file (const gchar *filename, const gchar *parser_regexp,
     }
 
     /* Setup the two different line endings */
+#ifdef G_OS_WIN32
     end1 = g_strconcat (_("#eol"),"\"\n", NULL);
     end2 = g_strconcat (_("#eol"),"\n", NULL);
+#else
+    end1 = g_strconcat (_("#eol"),"\"\r\n", NULL);
+    end2 = g_strconcat (_("#eol"),"\r\n", NULL);
+#endif
 
     // start the import
 #define buffer_size 1000
@@ -154,11 +159,14 @@ csv_import_read_file (const gchar *filename, const gchar *parser_regexp,
                 break; // eof
          }
 
-        // now strip the '\n' from the end of the line
+        // now strip the '\r\n' from the end of the line
         l = strlen (currentline);
         if ((l > 0) && (currentline[l - 1] == '\n'))
             currentline[l - 1] = 0;
 
+        if ((l > 0) && (currentline[l - 2] == '\r'))
+            currentline[l - 2] = 0;
+
         // convert line from locale into utf8
         line_utf8 = g_locale_to_utf8 (currentline, -1, NULL, NULL, NULL);
 

commit 2b6a6d896caf83ebcb2a42bcbbcdad698c4d8b53
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Sep 19 11:36:21 2014 +0100

    Part Bug fix for 729476, this fixes the quoting of quotes, newlines and separator to make it more compatible with CSV format.

diff --git a/src/import-export/csv-exp/csv-transactions-export.c b/src/import-export/csv-exp/csv-transactions-export.c
index c794af6..4be3c84 100644
--- a/src/import-export/csv-exp/csv-transactions-export.c
+++ b/src/import-export/csv-exp/csv-transactions-export.c
@@ -68,6 +68,43 @@ gboolean write_line_to_file (FILE *fh, char * line)
 
 
 /*******************************************************
+ * csv_txn_test_field_string
+ *
+ * Test the field string for ," and new lines
+ *******************************************************/
+static
+gchar *csv_txn_test_field_string (CsvExportInfo *info, const gchar *string_in)
+{
+    gboolean need_quote = FALSE;
+    gchar **parts;
+    gchar *string_parts;
+    gchar *string_out;
+
+    /* Check for " and then "" them */
+    parts = g_strsplit (string_in, "\"", -1);
+    string_parts = g_strjoinv ("\"\"", parts);
+    g_strfreev (parts);
+
+    /* Check for separator string and \n and " in field,
+       if so quote field if not allready quoted */
+    if (g_strrstr (string_parts, info->separator_str) != NULL)
+        need_quote = TRUE;
+    if (g_strrstr (string_parts, "\n") != NULL)
+        need_quote = TRUE;
+    if (g_strrstr (string_parts, "\"") != NULL)
+        need_quote = TRUE;
+
+    if (!info->use_quotes && need_quote)
+        string_out = g_strconcat ("\"", string_parts, "\"", NULL);
+    else
+        string_out = g_strdup (string_parts);
+
+    g_free (string_parts);
+    return string_out;
+}
+
+
+/*******************************************************
  * account_splits
  *
  * gather the splits / transactions for an account and
@@ -124,6 +161,7 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
         gchar       *date;
         const gchar *currentSel;
         const gchar *split_amount;
+        gchar       *str_temp = NULL;
 
         split = splits->data;
         trans = xaccSplitGetParent(split);
@@ -131,40 +169,51 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
         s_list = xaccTransGetSplitList(trans);
 
         /* Date */
-        date = qof_print_date ( xaccTransGetDate(trans));
-        part1 = g_strconcat ( end_sep, date, mid_sep, NULL);
-        g_free(date);
+        date = qof_print_date (xaccTransGetDate (trans));
+        part1 = g_strconcat (end_sep, date, mid_sep, NULL);
+        g_free (date);
         /* Name */
-        currentSel = xaccAccountGetName(acc);
-        part2 = g_strconcat ( part1, currentSel, mid_sep, NULL);
-        g_free(part1);
+        currentSel = xaccAccountGetName (acc);
+        str_temp = csv_txn_test_field_string (info, currentSel);
+        part2 = g_strconcat (part1, str_temp, mid_sep, NULL);
+        g_free (str_temp);
+        g_free (part1);
         /* Number */
-        currentSel = gnc_get_num_action(trans, NULL);
-        part1 = g_strconcat ( part2, currentSel, mid_sep, NULL);
-        g_free(part2);
+        currentSel = gnc_get_num_action (trans, NULL);
+        str_temp = csv_txn_test_field_string (info, currentSel);
+        part1 = g_strconcat (part2, str_temp, mid_sep, NULL);
+        g_free (str_temp);
+        g_free (part2);
         /* Description */
-        currentSel = xaccTransGetDescription(trans);
-        part2 = g_strconcat ( part1, currentSel, mid_sep, NULL);
-        g_free(part1);
+        currentSel = xaccTransGetDescription (trans) ? xaccTransGetDescription (trans) : "" ;
+        str_temp = csv_txn_test_field_string (info, currentSel);
+        part2 = g_strconcat (part1, str_temp, mid_sep, NULL);
+        g_free (str_temp);
+        g_free (part1);
         /* Notes */
-        currentSel = xaccTransGetNotes(trans);
-        if (currentSel == NULL)
-            part1 = g_strconcat ( part2, mid_sep, NULL);
-        else
-            part1 = g_strconcat ( part2, currentSel, mid_sep, NULL);
-        g_free(part2);
+        currentSel = xaccTransGetNotes (trans) ? xaccTransGetNotes (trans) : "" ;
+        str_temp = csv_txn_test_field_string (info, currentSel);
+        part1 = g_strconcat (part2, str_temp, mid_sep, NULL);
+        g_free (str_temp);
+        g_free (part2);
         /* Memo */
-        currentSel = xaccSplitGetMemo(split);
-        part2 = g_strconcat ( part1, currentSel, mid_sep, NULL);
-        g_free(part1);
+        currentSel = xaccSplitGetMemo (split) ? xaccSplitGetMemo (split) : "" ;
+        str_temp = csv_txn_test_field_string (info, currentSel);
+        part2 = g_strconcat (part1, str_temp, mid_sep, NULL);
+        g_free (str_temp);
+        g_free (part1);
         /* Category */
-        currentSel = xaccSplitGetCorrAccountName(split);
-        part1 = g_strconcat ( part2, currentSel, mid_sep, "T", mid_sep, NULL);
-        g_free(part2);
+        currentSel = xaccSplitGetCorrAccountName (split);
+        str_temp = csv_txn_test_field_string (info, currentSel);
+        part1 = g_strconcat (part2, str_temp, mid_sep, "T", mid_sep, NULL);
+        g_free (str_temp);
+        g_free (part2);
         /* Action */
-        currentSel =  gnc_get_num_action(NULL, split);
-        part2 = g_strconcat ( part1, currentSel, mid_sep, NULL);
-        g_free(part1);
+        currentSel = gnc_get_num_action (NULL, split);
+        str_temp = csv_txn_test_field_string (info, currentSel);
+        part2 = g_strconcat (part1, str_temp, mid_sep, NULL);
+        g_free (str_temp);
+        g_free (part1);
         /* Reconcile */
         switch (xaccSplitGetReconcile (split))
         {
@@ -186,25 +235,29 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
         default:
             currentSel = "N";
         }
-        part1 = g_strconcat ( part2, currentSel, mid_sep, NULL);
-        g_free(part2);
+        part1 = g_strconcat (part2, currentSel, mid_sep, NULL);
+        g_free (part2);
         /* To with Symbol */
-        split_amount = xaccPrintAmount(xaccSplitGetAmount(split), gnc_split_amount_print_info(split, TRUE));
-        part2 = g_strconcat ( part1, split_amount, mid_sep, NULL);
-        g_free(part1);
+        split_amount = xaccPrintAmount (xaccSplitGetAmount (split), gnc_split_amount_print_info (split, TRUE));
+        str_temp = csv_txn_test_field_string (info, split_amount);
+        part2 = g_strconcat (part1, str_temp, mid_sep, NULL);
+        g_free (str_temp);
+        g_free (part1);
 
         /* From with Symbol */
-        part1 = g_strconcat ( part2, "", mid_sep, NULL);
-        g_free(part2);
+        part1 = g_strconcat (part2, "", mid_sep, NULL);
+        g_free (part2);
 
         /* To Number Only */
-        split_amount = xaccPrintAmount(xaccSplitGetAmount(split), gnc_split_amount_print_info(split, FALSE));
-        part2 = g_strconcat ( part1, split_amount, mid_sep, NULL);
-        g_free(part1);
+        split_amount = xaccPrintAmount (xaccSplitGetAmount (split), gnc_split_amount_print_info (split, FALSE));
+        str_temp = csv_txn_test_field_string (info, split_amount);
+        part2 = g_strconcat (part1, str_temp, mid_sep, NULL);
+        g_free (str_temp);
+        g_free (part1);
 
         /* From Number Only */
-        part1 = g_strconcat ( part2, "", mid_sep, "", mid_sep, "", end_sep, "\n", NULL);
-        g_free(part2);
+        part1 = g_strconcat (part2, "", mid_sep, "", mid_sep, "", end_sep, "\n", NULL);
+        g_free (part2);
 
         /* Write to file */
         if (!write_line_to_file(fh, part1))
@@ -212,7 +265,7 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
             info->failed = TRUE;
             break;
         }
-        g_free(part1);
+        g_free (part1);
 
         /* Loop through the list of splits for the Transcation */
         node = s_list;
@@ -225,19 +278,25 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
             part1 = g_strconcat ( end_sep, mid_sep, mid_sep, mid_sep, mid_sep, mid_sep, NULL);
 
             /* Memo */
-            currentSel = xaccSplitGetMemo(t_split);
-            part2 = g_strconcat ( part1, currentSel, mid_sep, NULL);
-            g_free(part1);
+            currentSel = xaccSplitGetMemo (t_split) ? xaccSplitGetMemo (t_split) : "" ;
+            str_temp = csv_txn_test_field_string (info, currentSel);
+            part2 = g_strconcat (part1, str_temp, mid_sep, NULL);
+            g_free (str_temp);
+            g_free (part1);
 
             /* Account */
-            currentSel = xaccAccountGetName( xaccSplitGetAccount(t_split));
-            part1 = g_strconcat ( part2, currentSel, mid_sep, "S", mid_sep, NULL);
-            g_free(part2);
+            currentSel = xaccAccountGetName (xaccSplitGetAccount (t_split));
+            str_temp = csv_txn_test_field_string (info, currentSel);
+            part1 = g_strconcat (part2, str_temp, mid_sep, "S", mid_sep, NULL);
+            g_free (str_temp);
+            g_free (part2);
 
             /* Action */
-            currentSel = gnc_get_num_action(NULL, t_split);
-            part2 = g_strconcat ( part1, currentSel, mid_sep, NULL);
-            g_free(part1);
+            currentSel = gnc_get_num_action (NULL, t_split);
+            str_temp = csv_txn_test_field_string (info, currentSel);
+            part2 = g_strconcat (part1, str_temp, mid_sep, NULL);
+            g_free (str_temp);
+            g_free (part1);
 
             /* Reconcile */
             switch (xaccSplitGetReconcile (split))
@@ -260,44 +319,50 @@ void account_splits (CsvExportInfo *info, Account *acc, FILE *fh )
             default:
                 currentSel = "N";
             }
-            part1 = g_strconcat ( part2, currentSel, mid_sep, NULL);
-            g_free(part2);
+            part1 = g_strconcat (part2, currentSel, mid_sep, NULL);
+            g_free (part2);
 
             /* From / To with Symbol */
-            split_amount = xaccPrintAmount(xaccSplitGetAmount(t_split), gnc_split_amount_print_info(t_split, TRUE));
+            split_amount = xaccPrintAmount (xaccSplitGetAmount (t_split), gnc_split_amount_print_info (t_split, TRUE));
+            str_temp = csv_txn_test_field_string (info, split_amount);
             if (xaccSplitGetAccount(t_split) == acc)
-                part2 = g_strconcat ( part1,  split_amount, mid_sep, mid_sep, NULL);
+                part2 = g_strconcat (part1,  str_temp, mid_sep, mid_sep, NULL);
             else
-                part2 = g_strconcat ( part1, mid_sep, split_amount, mid_sep, NULL);
-            g_free(part1);
+                part2 = g_strconcat (part1, mid_sep, str_temp, mid_sep, NULL);
+            g_free (str_temp);
+            g_free (part1);
 
             /* From / To Numbers only */
-            split_amount = xaccPrintAmount(xaccSplitGetAmount(t_split), gnc_split_amount_print_info(t_split, FALSE));
-            if (xaccSplitGetAccount(t_split) == acc)
-                part1 = g_strconcat ( part2,  split_amount, mid_sep, mid_sep, NULL);
+            split_amount = xaccPrintAmount (xaccSplitGetAmount (t_split), gnc_split_amount_print_info (t_split, FALSE));
+            str_temp = csv_txn_test_field_string (info, split_amount);
+            if (xaccSplitGetAccount (t_split) == acc)
+                part1 = g_strconcat (part2,  str_temp, mid_sep, mid_sep, NULL);
             else
-                part1 = g_strconcat ( part2, mid_sep, split_amount, mid_sep, NULL);
-            g_free(part2);
+                part1 = g_strconcat (part2, mid_sep, str_temp, mid_sep, NULL);
+            g_free (str_temp);
+            g_free (part2);
 
             /* From / To - Share Price / Conversion factor */
-            split_amount = xaccPrintAmount(xaccSplitGetSharePrice(t_split), gnc_split_amount_print_info(t_split, FALSE));
-            if (xaccSplitGetAccount(t_split) == acc)
-                part2 = g_strconcat ( part1,  split_amount, mid_sep, end_sep, "\n", NULL);
+            split_amount = xaccPrintAmount (xaccSplitGetSharePrice (t_split), gnc_split_amount_print_info (t_split, FALSE));
+            str_temp = csv_txn_test_field_string (info, split_amount);
+            if (xaccSplitGetAccount (t_split) == acc)
+                part2 = g_strconcat (part1,  str_temp, mid_sep, end_sep, "\n", NULL);
             else
-                part2 = g_strconcat ( part1, mid_sep, split_amount, end_sep, "\n", NULL);
-            g_free(part1);
+                part2 = g_strconcat (part1, mid_sep, str_temp, end_sep, "\n", NULL);
+            g_free (str_temp);
+            g_free (part1);
 
-            if (!write_line_to_file(fh, part2))
+            if (!write_line_to_file (fh, part2))
                 info->failed = TRUE;
 
-            g_free(part2);
+            g_free (part2);
             cnt++;
             node = node->next;
         }
     }
-    g_free(mid_sep);
+    g_free (mid_sep);
     qof_query_destroy (q);
-    g_list_free( splits );
+    g_list_free (splits);
 }
 
 
diff --git a/src/import-export/csv-exp/csv-tree-export.c b/src/import-export/csv-exp/csv-tree-export.c
index 92a2850..f07b49c 100644
--- a/src/import-export/csv-exp/csv-tree-export.c
+++ b/src/import-export/csv-exp/csv-tree-export.c
@@ -62,6 +62,41 @@ gboolean write_line_to_file ( FILE *fh, char * line)
         return TRUE;
 }
 
+/*******************************************************
+ * csv_test_field_string
+ *
+ * Test the field string for ," and new lines
+ *******************************************************/
+static
+gchar *csv_test_field_string (CsvExportInfo *info, const gchar *string_in)
+{
+    gboolean need_quote = FALSE;
+    gchar **parts;
+    gchar *string_parts;
+    gchar *string_out;
+
+    /* Check for " and then "" them */
+    parts = g_strsplit (string_in, "\"", -1);
+    string_parts = g_strjoinv ("\"\"", parts);
+    g_strfreev (parts);
+
+    /* Check for separator string and \n and " in field,
+       if so quote field if not allready quoted */
+    if (g_strrstr (string_parts, info->separator_str) != NULL)
+        need_quote = TRUE;
+    if (g_strrstr (string_parts, "\n") != NULL)
+        need_quote = TRUE;
+    if (g_strrstr (string_parts, "\"") != NULL)
+        need_quote = TRUE;
+
+    if (!info->use_quotes && need_quote)
+        string_out = g_strconcat ("\"", string_parts, "\"", NULL);
+    else
+        string_out = g_strdup (string_parts);
+
+    g_free (string_parts);
+    return string_out;
+}
 
 /*******************************************************
  * csv_tree_export
@@ -108,12 +143,13 @@ void csv_tree_export (CsvExportInfo *info)
             mid_sep = g_strconcat ( info->separator_str, NULL);
         }
 
-        /* Header string */
+        /* Header string, 'eol = end of line marker' */
         header = g_strconcat ( end_sep, _("type"), mid_sep, _("full_name"), mid_sep,
                                _("name"), mid_sep, _("code"), mid_sep,
                                _("description"), mid_sep, _("color"), mid_sep, _("notes"), mid_sep,
                                _("commoditym"), mid_sep, _("commodityn"), mid_sep,
-                               _("hidden"), mid_sep, _("tax"), mid_sep, _("place_holder"), end_sep, "\n", NULL);
+                               _("hidden"), mid_sep, _("tax"), mid_sep, _("place_holder"), mid_sep,
+                               _("#eol"), end_sep, "\n", NULL);
         DEBUG("Header String: %s", header);
 
         /* Write header line */
@@ -130,67 +166,71 @@ void csv_tree_export (CsvExportInfo *info)
         for (ptr = accts, i = 0; ptr; ptr = g_list_next(ptr), i++)
         {
             gchar *fullname = NULL;
-            gchar *notes_out = NULL;
+            gchar *str_temp = NULL;
             acc = ptr->data;
             DEBUG("Account being processed is : %s", xaccAccountGetName(acc));
             /* Type */
-            currentSel = xaccAccountTypeEnumAsString( xaccAccountGetType (acc));
-            part1 = g_strconcat ( end_sep, currentSel, mid_sep, NULL);
+            currentSel = xaccAccountTypeEnumAsString (xaccAccountGetType (acc));
+            part1 = g_strconcat (end_sep, currentSel, mid_sep, NULL);
             /* Full Name */
-            fullname = gnc_account_get_full_name(acc);
-            part2 = g_strconcat ( part1, fullname, mid_sep, NULL);
-            g_free(fullname);
-            g_free(part1);
+            fullname = gnc_account_get_full_name (acc);
+            str_temp = csv_test_field_string (info, fullname);
+            part2 = g_strconcat (part1, str_temp, mid_sep, NULL);
+            g_free (str_temp);
+            g_free (fullname);
+            g_free (part1);
             /* Name */
-            currentSel = xaccAccountGetName(acc);
-            part1 = g_strconcat ( part2, currentSel, mid_sep, NULL);
-            g_free(part2);
+            currentSel = xaccAccountGetName (acc);
+            str_temp = csv_test_field_string (info, currentSel);
+            part1 = g_strconcat (part2, str_temp, mid_sep, NULL);
+            g_free (str_temp);
+            g_free (part2);
             /* Code */
-            currentSel = xaccAccountGetCode(acc) ? xaccAccountGetCode(acc) : "" ;
-            part2 = g_strconcat ( part1, currentSel, mid_sep, NULL);
-            g_free(part1);
+            currentSel = xaccAccountGetCode (acc) ? xaccAccountGetCode (acc) : "";
+            str_temp = csv_test_field_string (info, currentSel);
+            part2 = g_strconcat (part1, str_temp, mid_sep, NULL);
+            g_free (str_temp);
+            g_free (part1);
             /* Description */
-            currentSel = xaccAccountGetDescription(acc) ? xaccAccountGetDescription(acc) : "" ;
-            part1 = g_strconcat ( part2, currentSel, mid_sep, NULL);
-            g_free(part2);
+            currentSel = xaccAccountGetDescription (acc) ? xaccAccountGetDescription (acc) : "";
+            str_temp = csv_test_field_string (info, currentSel);
+            part1 = g_strconcat (part2, str_temp, mid_sep, NULL);
+            g_free (str_temp);
+            g_free (part2);
             /* Color */
-            currentSel = xaccAccountGetColor(acc) ? xaccAccountGetColor(acc) : "" ;
-            part2 = g_strconcat ( part1, currentSel, mid_sep, NULL);
-            g_free(part1);
+            currentSel = xaccAccountGetColor (acc) ? xaccAccountGetColor (acc) : "" ;
+            part2 = g_strconcat (part1, currentSel, mid_sep, NULL);
+            g_free (part1);
             /* Notes */
-            currentSel = xaccAccountGetNotes(acc) ? xaccAccountGetNotes(acc) : "" ;
-            if (!g_strcmp0(currentSel, "") == 0)
-            {
-                /* Check for multiple lines */
-                gchar **parts;
-                parts = g_strsplit(currentSel, "\n", -1);
-                notes_out = g_strjoinv("\\n", parts);
-                currentSel = notes_out;
-                g_strfreev(parts);
-            }
-            part1 = g_strconcat ( part2, currentSel, mid_sep, NULL);
-            g_free(part2);
-            g_free(notes_out);
+            currentSel = xaccAccountGetNotes (acc) ? xaccAccountGetNotes (acc) : "" ;
+            str_temp = csv_test_field_string (info, currentSel);
+            part1 = g_strconcat (part2, str_temp, mid_sep, NULL);
+            g_free (str_temp);
+            g_free (part2);
             /* Commodity Mnemonic */
-            currentSel = gnc_commodity_get_mnemonic(xaccAccountGetCommodity (acc));
-            part2 = g_strconcat ( part1, currentSel, mid_sep, NULL);
-            g_free(part1);
+            currentSel = gnc_commodity_get_mnemonic (xaccAccountGetCommodity (acc));
+            str_temp = csv_test_field_string (info, currentSel);
+            part2 = g_strconcat (part1, str_temp, mid_sep, NULL);
+            g_free (str_temp);
+            g_free (part1);
             /* Commodity Namespace */
-            currentSel = gnc_commodity_get_namespace(xaccAccountGetCommodity (acc));
-            part1 = g_strconcat ( part2, currentSel, mid_sep, NULL);
-            g_free(part2);
+            currentSel = gnc_commodity_get_namespace (xaccAccountGetCommodity (acc));
+            str_temp = csv_test_field_string (info, currentSel);
+            part1 = g_strconcat (part2, str_temp, mid_sep, NULL);
+            g_free (str_temp);
+            g_free (part2);
             /* Hidden */
-            currentSel = xaccAccountGetHidden(acc) ? "T" : "F" ;
-            part2 = g_strconcat ( part1, currentSel, mid_sep, NULL);
-            g_free(part1);
+            currentSel = xaccAccountGetHidden (acc) ? "T" : "F" ;
+            part2 = g_strconcat (part1, currentSel, mid_sep, NULL);
+            g_free (part1);
             /* Tax */
-            currentSel = xaccAccountGetTaxRelated(acc) ? "T" : "F" ;
-            part1 = g_strconcat ( part2, currentSel, mid_sep, NULL);
-            g_free(part2);
-            /* Place Holder */
-            currentSel = xaccAccountGetPlaceholder(acc) ? "T" : "F" ;
-            part2 = g_strconcat ( part1, currentSel, end_sep, "\n", NULL);
-            g_free(part1);
+            currentSel = xaccAccountGetTaxRelated (acc) ? "T" : "F" ;
+            part1 = g_strconcat (part2, currentSel, mid_sep, NULL);
+            g_free (part2);
+            /* Place Holder / end of line marker */
+            currentSel = xaccAccountGetPlaceholder (acc) ? "T" : "F" ;
+            part2 = g_strconcat (part1, currentSel, mid_sep, _("#eol"), end_sep, "\n", NULL);
+            g_free (part1);
 
             DEBUG("Account String: %s", part2);
 
diff --git a/src/import-export/csv-imp/assistant-csv-account-import.c b/src/import-export/csv-imp/assistant-csv-account-import.c
index 4fc3398..9d23ab7 100644
--- a/src/import-export/csv-imp/assistant-csv-account-import.c
+++ b/src/import-export/csv-imp/assistant-csv-account-import.c
@@ -225,19 +225,25 @@ void csv_import_sep_cb (GtkWidget *radio, gpointer user_data )
 
     name = gtk_buildable_get_name(GTK_BUILDABLE(radio));
 
-    if (g_strcmp0(name, g_strdup("radio_semi")) == 0)
-        g_string_assign (info->regexp, "^(?<type>[^;]*);(?<full_name>[^;]*);(?<name>[^;]*);(?<code>[^;]*);?(?<description>[^;]*);?(?<color>[^;]*);?(?<notes>[^;]*);?(?<commoditym>[^;]*);?(?<commodityn>[^;]*);?(?<hidden>[^;]*);?(?<tax>[^;]*);?(?<place_holder>[^;]*)$");
-
-    if (g_strcmp0(name, g_strdup("radio_comma")) == 0)
-        g_string_assign (info->regexp, "^(?<type>[^,]*),(?<full_name>[^,]*),(?<name>[^,]*),(?<code>[^,]*),?(?<description>[^,]*),?(?<color>[^,]*),?(?<notes>[^,]*),?(?<commoditym>[^,]*),?(?<commodityn>[^,]*),?(?<hidden>[^,]*),?(?<tax>[^,]*),?(?<place_holder>[^,]*)$");
-
-    if (g_strcmp0(name, g_strdup("radio_semiq")) == 0)
-        g_string_assign (info->regexp, "^((?<type>[^\";]*)|\"(?<type>[^\"]*)\");((?<full_name>[^\";]*)|\"(?<full_name>[^\"]*)\");((?<name>[^\";]*)|\"(?<name>[^\"]*)\");((?<code>[^\";]*)|\"(?<code>[^\"]*)\");((?<description>[^\";]*)|\"(?<description>[^\"]*)\");((?<color>[^\";]*)|\"(?<color>[^\"]*)\");((?<notes>[^\";]*)|\"(?<notes>[^\"]*)\");((?<commoditym>[^\";]*)|\"(?<commoditym>[^\"]*)\");((?<commodityn>[^\";]*)|\"(?<commodityn>[^\"]*)\");((?<hidden>[^\";]*)|\"(?<hidden>[^\"]*)\");((?<tax>[^\";]*)|\"(?<tax>[^\"]*)\");((?<place_holder>[^\";]*)|\"(?<place_holder>[^\"]*)\")$");
-
-    if (g_strcmp0(name, g_strdup("radio_commaq")) == 0)
-        g_string_assign (info->regexp, "^((?<type>[^\",]*)|\"(?<type>[^\"]*)\"),((?<full_name>[^\",]*)|\"(?<full_name>[^\"]*)\"),((?<name>[^\",]*)|\"(?<name>[^\"]*)\"),((?<code>[^\",]*)|\"(?<code>[^\"]*)\"),((?<description>[^\",]*)|\"(?<description>[^\"]*)\"),((?<color>[^\",]*)|\"(?<color>[^\"]*)\"),((?<notes>[^\",]*)|\"(?<notes>[^\"]*)\"),((?<commoditym>[^\",]*)|\"(?<commoditym>[^\"]*)\"),((?<commodityn>[^\",]*)|\"(?<commodityn>[^\"]*)\"),((?<hidden>[^\",]*)|\"(?<hidden>[^\"]*)\"),((?<tax>[^\",]*)|\"(?<tax>[^\"]*)\"),((?<place_holder>[^\",]*)|\"(?<place_holder>[^\"]*)\")$");
-
-    if (g_strcmp0(name, g_strdup("radio_custom")) == 0)
+    if (g_strcmp0 (name, "radio_semi") == 0)
+        g_string_assign (info->regexp, "^(?<type>[^;]*);?(?<full_name>\"(?:[^\"]|\"\")*\"|[^;]*);?(?<name>\"(?:[^\"]|\"\")*\"|[^;]*);\
+	?(?<code>\"(?:[^\"]|\"\")*\"|[^;]*);?(?<description>\"(?:[^\"]|\"\")*\"|[^;]*);?(?<color>[^;]*);\
+	?(?<notes>\"(?:[^\"]|\"\")*\"|[^;]*);?(?<commoditym>\"(?:[^\"]|\"\")*\"|[^;]*);?(?<commodityn>\"(?:[^\"]|\"\")*\"|[^;]*);\
+	?(?<hidden>[^;]*);?(?<tax>[^;]*);?(?<place_holder>[^;]*);(?<endofline>[^;]*)$");
+
+    if (g_strcmp0 (name, "radio_colon") == 0)
+        g_string_assign (info->regexp, "^(?<type>[^:]*):?(?<full_name>\"(?:[^\"]|\"\")*\"|[^:]*):?(?<name>\"(?:[^\"]|\"\")*\"|[^:]*):\
+	?(?<code>\"(?:[^\"]|\"\")*\"|[^:]*):?(?<description>\"(?:[^\"]|\"\")*\"|[^:]*):?(?<color>[^:]*):\
+	?(?<notes>\"(?:[^\"]|\"\")*\"|[^:]*):?(?<commoditym>\"(?:[^\"]|\"\")*\"|[^:]*):?(?<commodityn>\"(?:[^\"]|\"\")*\"|[^:]*):\
+	?(?<hidden>[^:]*):?(?<tax>[^:]*):?(?<place_holder>[^:]*):(?<endofline>[^:]*)$");
+
+    if (g_strcmp0 (name, "radio_comma") == 0)
+        g_string_assign (info->regexp, "^(?<type>[^,]*),?(?<full_name>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<name>\"(?:[^\"]|\"\")*\"|[^,]*),\
+	?(?<code>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<description>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<color>[^,]*),\
+	?(?<notes>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<commoditym>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<commodityn>\"(?:[^\"]|\"\")*\"|[^,]*),\
+	?(?<hidden>[^,]*),?(?<tax>[^,]*),?(?<place_holder>[^,]*),(?<endofline>[^,]*)$");
+
+    if (g_strcmp0 (name, "radio_custom") == 0)
     {
         temp = gnc_input_dialog (0, _("Adjust regular expression used for import"), _("This regular expression is used to parse the import file. Modify according to your needs.\n"), info->regexp->str);
         if (temp)
@@ -555,6 +561,7 @@ csv_import_assistant_create (CsvImportInfo *info)
     GtkWidget *button;
     GtkCellRenderer *renderer;
     GtkTreeViewColumn *column;
+    gchar *mnemonic_desc = NULL;
 
     builder = gtk_builder_new();
     gnc_builder_add_from_file  (builder , "assistant-csv-account-import.glade", "num_hrows_adj");
@@ -608,7 +615,11 @@ csv_import_assistant_create (CsvImportInfo *info)
     info->header_row_spin = GTK_WIDGET(gtk_builder_get_object (builder, "num_hrows"));
     info->tree_view = GTK_WIDGET(gtk_builder_get_object (builder, "treeview"));
 
-    info->regexp = g_string_new ( "^(?<type>[^;]*);(?<full_name>[^;]*);(?<name>[^;]*);(?<code>[^;]*);?(?<description>[^;]*);?(?<color>[^;]*);?(?<notes>[^;]*);?(?<commoditym>[^;]*);?(?<commodityn>[^;]*);?(?<hidden>[^;]*);?(?<tax>[^;]*);?(?<place_holder>[^;]*)$");
+    /* Comma Separated file default */
+    info->regexp = g_string_new ( "^(?<type>[^,]*),?(?<full_name>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<name>\"(?:[^\"]|\"\")*\"|[^,]*),\
+	?(?<code>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<description>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<color>[^,]*),\
+	?(?<notes>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<commoditym>\"(?:[^\"]|\"\")*\"|[^,]*),?(?<commodityn>\"(?:[^\"]|\"\")*\"|[^,]*),\
+	?(?<hidden>[^,]*),?(?<tax>[^,]*),?(?<place_holder>[^,]*),(?<endofline>[^,]*)$");
 
     /* create model and bind to view */
     info->store = gtk_list_store_new (N_COLUMNS,
@@ -617,10 +628,12 @@ csv_import_assistant_create (CsvImportInfo *info)
     gtk_tree_view_set_model( GTK_TREE_VIEW(info->tree_view), GTK_TREE_MODEL(info->store) );
 #define CREATE_COLUMN(description,column_id) \
   renderer = gtk_cell_renderer_text_new (); \
-  column = gtk_tree_view_column_new_with_attributes (mnemonic_escape(_(description)), renderer, "text", column_id, NULL); \
+  mnemonic_desc = mnemonic_escape(_(description)); \
+  column = gtk_tree_view_column_new_with_attributes (mnemonic_desc, renderer, "text", column_id, NULL); \
   gtk_tree_view_column_add_attribute(column, renderer, "background", ROW_COLOR); \
   gtk_tree_view_column_set_resizable (column, TRUE); \
-  gtk_tree_view_append_column (GTK_TREE_VIEW (info->tree_view), column);
+  gtk_tree_view_append_column (GTK_TREE_VIEW (info->tree_view), column); \
+  g_free (mnemonic_desc);
     CREATE_COLUMN ("type", TYPE);
     CREATE_COLUMN ("full_name", FULL_NAME);
     CREATE_COLUMN ("name", NAME);
diff --git a/src/import-export/csv-imp/assistant-csv-account-import.glade b/src/import-export/csv-imp/assistant-csv-account-import.glade
index d9132be..70dc74c 100644
--- a/src/import-export/csv-imp/assistant-csv-account-import.glade
+++ b/src/import-export/csv-imp/assistant-csv-account-import.glade
@@ -135,11 +135,11 @@ Enter file name and location for the Import...
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
-                <property name="n_rows">4</property>
-                <property name="n_columns">4</property>
+                <property name="n_rows">3</property>
+                <property name="n_columns">3</property>
                 <child>
-                  <object class="GtkRadioButton" id="radio_semi">
-                    <property name="label" translatable="yes">Semicolon Separated</property>
+                  <object class="GtkRadioButton" id="radio_comma">
+                    <property name="label" translatable="yes">Comma Separated</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
@@ -150,104 +150,53 @@ Enter file name and location for the Import...
                   </object>
                 </child>
                 <child>
-                  <object class="GtkRadioButton" id="radio_semiq">
-                    <property name="label" translatable="yes">Semicolon Separated with Quotes</property>
+                  <object class="GtkRadioButton" id="radio_semi">
+                    <property name="label" translatable="yes">Semicolon Separated</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="use_action_appearance">False</property>
                     <property name="draw_indicator">True</property>
-                    <property name="group">radio_semi</property>
+                    <property name="group">radio_comma</property>
                     <signal name="toggled" handler="csv_import_sep_cb" swapped="no"/>
                   </object>
                   <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkRadioButton" id="radio_comma">
-                    <property name="label" translatable="yes">Comma Separated</property>
+                  <object class="GtkRadioButton" id="radio_custom">
+                    <property name="label" translatable="yes">Custom regular Expression</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="use_action_appearance">False</property>
                     <property name="draw_indicator">True</property>
-                    <property name="group">radio_semi</property>
+                    <property name="group">radio_comma</property>
                     <signal name="toggled" handler="csv_import_sep_cb" swapped="no"/>
                   </object>
                   <packing>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkRadioButton" id="radio_commaq">
-                    <property name="label" translatable="yes">Comma Separated with Quotes</property>
+                  <object class="GtkRadioButton" id="radio_colon">
+                    <property name="label" translatable="yes">Colon Separated</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
                     <property name="use_action_appearance">False</property>
                     <property name="draw_indicator">True</property>
-                    <property name="group">radio_semi</property>
+                    <property name="group">radio_comma</property>
                     <signal name="toggled" handler="csv_import_sep_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
                     <property name="right_attach">3</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
                   </packing>
                 </child>
-                <child>
-                  <object class="GtkRadioButton" id="radio_custom">
-                    <property name="label" translatable="yes">Custom regular Expression</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="draw_indicator">True</property>
-                    <property name="group">radio_semi</property>
-                    <signal name="toggled" handler="csv_import_sep_cb" swapped="no"/>
-                  </object>
-                  <packing>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
               </object>
             </child>
             <child type="label">
diff --git a/src/import-export/csv-imp/csv-account-import.c b/src/import-export/csv-imp/csv-account-import.c
index dd6f3cb..68e73a8 100644
--- a/src/import-export/csv-imp/csv-account-import.c
+++ b/src/import-export/csv-imp/csv-account-import.c
@@ -41,13 +41,24 @@ static QofLogModule log_module = GNC_MOD_ASSISTANT;
 
 /* This helper macro takes a regexp match and fills the model */
 #define FILL_IN_HELPER(match_name,column) \
-            temp = g_match_info_fetch_named (match_info, match_name); \
-            if (temp) \
-            { \
-		g_strstrip( temp ); \
+             temp = g_match_info_fetch_named (match_info, match_name); \
+             if (temp) \
+             { \
+		g_strstrip (temp); \
+                if (g_str_has_prefix (temp, "\""))\
+                { \
+                    if (strlen (temp) >= 2) \
+                    { \
+		        toptail = g_strndup (temp + 1, strlen (temp)-2); \
+                        parts = g_strsplit (toptail, "\"\"", -1); \
+                        temp = g_strjoinv ("\"", parts); \
+                        g_strfreev (parts); \
+                        g_free (toptail); \
+                    } \
+                } \
                 gtk_list_store_set (store, &iter, column, temp, -1); \
                 g_free (temp); \
-            }
+             }
 
 
 /*******************************************************
@@ -61,7 +72,9 @@ csv_import_read_file (const gchar *filename, const gchar *parser_regexp,
 {
     FILE       *f;
     char       *line;
-    gchar      *line_utf8, *temp;
+    gchar      *line_utf8, *temp, *toptail;
+    gchar      **parts;
+    gchar      *end1, *end2;
     GMatchInfo *match_info;
     GError     *err;
     GRegex     *regexpat;
@@ -105,25 +118,49 @@ csv_import_read_file (const gchar *filename, const gchar *parser_regexp,
         return RESULT_ERROR_IN_REGEXP;
     }
 
+    /* Setup the two different line endings */
+    end1 = g_strconcat (_("#eol"),"\"\n", NULL);
+    end2 = g_strconcat (_("#eol"),"\n", NULL);
+
     // start the import
 #define buffer_size 1000
     line = g_malloc0 (buffer_size);
     while (!feof (f))
     {
+        gchar  *currentline = NULL;
         int l;
         row++;
         if (row == max_rows)
             break;
+
         // read one line
         if (!fgets (line, buffer_size, f))
-            break;			// eof
+            break; // eof
+
+        currentline = g_strdup (line);
+
+        while (!(g_str_has_suffix (line, end1) || g_str_has_suffix (line, end2)))
+        {
+            // read next line
+            if (fgets (line, buffer_size, f))
+            {
+                gchar *temp_str = NULL;
+                temp_str = g_strconcat (currentline, line, NULL);
+                g_free (currentline);
+                currentline = g_strdup (temp_str);
+                g_free (temp_str);
+            }
+            else
+                break; // eof
+         }
+
         // now strip the '\n' from the end of the line
-        l = strlen (line);
-        if ((l > 0) && (line[l - 1] == '\n'))
-            line[l - 1] = 0;
+        l = strlen (currentline);
+        if ((l > 0) && (currentline[l - 1] == '\n'))
+            currentline[l - 1] = 0;
 
         // convert line from locale into utf8
-        line_utf8 = g_locale_to_utf8 (line, -1, NULL, NULL, NULL);
+        line_utf8 = g_locale_to_utf8 (currentline, -1, NULL, NULL, NULL);
 
         // parse the line
         match_info = NULL;	// it seems, that in contrast to documentation, match_info is not always set -> g_match_info_free will segfault
@@ -147,11 +184,14 @@ csv_import_read_file (const gchar *filename, const gchar *parser_regexp,
             gtk_list_store_set (store, &iter, ROW_COLOR, NULL, -1);
         }
 
+        g_free (currentline);
         g_match_info_free (match_info);
         match_info = 0;
         g_free (line_utf8);
         line_utf8 = 0;
     }
+    g_free (end1);
+    g_free (end2);
     g_free (line);
     line = 0;
 
@@ -313,17 +353,11 @@ csv_account_import (CsvImportInfo *info)
             }
 
             if (!g_strcmp0(notes, "") == 0)
-            {
-                /* Check for multiple lines */
-                gchar **parts;
-                parts = g_strsplit(notes, "\\n", -1);
-                notes = g_strjoinv("\n", parts);
-                g_strfreev(parts);
-            }
-            xaccAccountSetNotes (acc, notes);
+                xaccAccountSetNotes (acc, notes);
 
             if (!g_strcmp0(description, "") == 0)
                 xaccAccountSetDescription (acc, description);
+
             if (!g_strcmp0(code, "") == 0)
                 xaccAccountSetCode (acc, code);
         }

commit b13f3dab2fd665cf00e8fc1fe90d73666c19accf
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Sep 19 13:24:00 2014 +0100

    This patch fixes bug 731519. The fix sets the upper limit before it sets the value of the end row spin button.

diff --git a/src/import-export/csv-imp/assistant-csv-trans-import.c b/src/import-export/csv-imp/assistant-csv-trans-import.c
index 66fd910..9ec281d 100644
--- a/src/import-export/csv-imp/assistant-csv-trans-import.c
+++ b/src/import-export/csv-imp/assistant-csv-trans-import.c
@@ -1353,8 +1353,8 @@ csv_import_trans_assistant_preview_page_prepare (GtkAssistant *assistant,
     adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(info->end_row_spin));
     if (gtk_adjustment_get_upper(adj) != info->num_of_rows)
     {
+        gtk_adjustment_set_upper (adj, info->num_of_rows);
         gtk_spin_button_set_value (GTK_SPIN_BUTTON(info->end_row_spin), info->num_of_rows);
-        gtk_adjustment_set_upper(adj, info->num_of_rows);
     }
 
     /* Update the row selection highlight */



Summary of changes:
 src/import-export/csv-exp/assistant-csv-export.c   | 212 +++++----
 .../csv-exp/csv-transactions-export.c              | 264 +++++++----
 src/import-export/csv-exp/csv-tree-export.c        | 194 +++++---
 .../csv-imp/assistant-csv-account-import.c         | 193 ++++----
 .../csv-imp/assistant-csv-account-import.glade     |  85 +---
 .../csv-imp/assistant-csv-trans-import.c           | 504 ++++++++++-----------
 src/import-export/csv-imp/csv-account-import.c     | 215 +++++----
 src/import-export/csv-imp/csv-account-import.h     |   2 +-
 src/import-export/csv-imp/gnc-csv-model.c          | 334 +++++++-------
 src/import-export/csv-imp/gnc-csv-model.h          |  14 +-
 10 files changed, 1050 insertions(+), 967 deletions(-)



More information about the gnucash-changes mailing list