gui: Factor out duplicated code for executing and pasting syntax.
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 5 Dec 2010 14:43:51 +0000 (06:43 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 5 Dec 2010 14:43:51 +0000 (06:43 -0800)
Reducing code duplication is good on its own.  This will also make it
easier in upcoming patches to swap out "getl_interface" with a new
structure, by eliminating most of the references to getl_interface.

36 files changed:
src/ui/gui/aggregate-dialog.c
src/ui/gui/binomial-dialog.c
src/ui/gui/chi-square-dialog.c
src/ui/gui/comments-dialog.c
src/ui/gui/compute-dialog.c
src/ui/gui/correlation-dialog.c
src/ui/gui/crosstabs-dialog.c
src/ui/gui/descriptives-dialog.c
src/ui/gui/examine-dialog.c
src/ui/gui/executor.c
src/ui/gui/executor.h
src/ui/gui/factor-dialog.c
src/ui/gui/frequencies-dialog.c
src/ui/gui/helper.c
src/ui/gui/helper.h
src/ui/gui/k-related-dialog.c
src/ui/gui/oneway-anova-dialog.c
src/ui/gui/psppire-data-editor.c
src/ui/gui/psppire-data-window.c
src/ui/gui/psppire.c
src/ui/gui/rank-dialog.c
src/ui/gui/recode-dialog.c
src/ui/gui/regression-dialog.c
src/ui/gui/reliability-dialog.c
src/ui/gui/roc-dialog.c
src/ui/gui/select-cases-dialog.c
src/ui/gui/sort-cases-dialog.c
src/ui/gui/split-file-dialog.c
src/ui/gui/t-test-independent-samples-dialog.c
src/ui/gui/t-test-one-sample.c
src/ui/gui/t-test-paired-samples.c
src/ui/gui/text-data-import-dialog.c
src/ui/gui/text-data-import-dialog.h
src/ui/gui/transpose-dialog.c
src/ui/gui/variable-info-dialog.c
src/ui/gui/weight-cases-dialog.c

index 9ab455aa72ffa0a050b937f6da924eee0dbeab5c..ced6a32c10f3b152a1f89bd0a328ac6c762017a6 100644 (file)
@@ -17,7 +17,6 @@
 #include <config.h>
 
 #include "dialog-common.h"
-#include <language/syntax-string-source.h>
 
 #include <language/stats/aggregate.h>
 
@@ -591,22 +590,10 @@ aggregate_dialog (PsppireDataWindow *dw)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&fd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&fd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&fd);
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&fd)));
       break;
     default:
       break;
index 130c3dd6d4645ad66ca20f3111013843089bac14..256b32528b774bafc3153fe359976fc4ea6343e3 100644 (file)
@@ -18,8 +18,6 @@
 
 #include "binomial-dialog.h"
 
-#include <language/syntax-string-source.h>
-
 #include "psppire-dialog.h"
 #include "psppire-var-view.h"
 #include "psppire-acr.h"
@@ -187,21 +185,10 @@ binomial_dialog (PsppireDataWindow *dw)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&bin_d);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&bin_d)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&bin_d);
-       paste_syntax_to_window (syntax);
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&bin_d)));
       break;
     default:
       break;
index 6bb42e4755c302ca5e0b702ecb8a633fe5be5a56..ccfa48ec33138dc42aed6bb29fc7e4150c653c11 100644 (file)
@@ -18,8 +18,6 @@
 
 #include "chi-square-dialog.h"
 
-#include <language/syntax-string-source.h>
-
 #include "psppire-dialog.h"
 #include "psppire-var-view.h"
 #include "psppire-acr.h"
@@ -230,21 +228,10 @@ chisquare_dialog (PsppireDataWindow *dw)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&csd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&csd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&csd);
-       paste_syntax_to_window (syntax);
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&csd)));
       break;
     default:
       break;
index 306e3b40a20846b3c0512bec74783d19b70315bb..78cc74dea61d8500cf978d5cd8fe0e291aefcfda 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007  Free Software Foundation
+   Copyright (C) 2007, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,7 +20,6 @@
 #include "helper.h"
 #include "psppire-data-window.h"
 #include "psppire-data-editor.h"
-#include <language/syntax-string-source.h>
 #include "executor.h"
 #include "psppire-var-store.h"
 #include <ui/syntax-gen.h>
@@ -164,23 +163,10 @@ comments_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&cd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&cd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&cd);
-
-       paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&cd)));
       break;
     default:
       break;
index 1154b5125581abc203ef04ace7ba202d2a5448b3..89a64563630dbde933d166a02f75ec15580ec51f 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007  Free Software Foundation
+   Copyright (C) 2007, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -27,7 +27,6 @@
 #include <libpspp/i18n.h>
 
 #include <language/expressions/public.h>
-#include <language/syntax-string-source.h>
 #include "executor.h"
 
 static void function_list_populate (GtkTreeView *tv);
@@ -435,23 +434,10 @@ compute_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&scd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&scd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&scd);
-
-       paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&scd)));
       break;
     default:
       break;
index afc23447a7af3636e58b1b69b28f3864951e5b48..e0dfd89fe1251204f5c22198e4cde8d6dc23dc3c 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2009  Free Software Foundation
+   Copyright (C) 2009, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,7 +17,6 @@
 #include <config.h>
 
 #include "dialog-common.h"
-#include <language/syntax-string-source.h>
 #include <ui/syntax-gen.h>
 #include <libpspp/str.h>
 
@@ -118,22 +117,10 @@ correlation_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&rd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&rd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&rd);
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&rd)));
       break;
     default:
       break;
index 7d94e375c0ab3042e91edb9e7ee239a1f6f15a01..d3903437b2c25d5fe537c8889d0258c3eac8c379 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2008  Free Software Foundation
+   Copyright (C) 2008, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -23,7 +23,6 @@
 #include <gtk/gtk.h>
 #include <stdlib.h>
 
-#include <language/syntax-string-source.h>
 #include <ui/gui/psppire-data-window.h>
 #include <ui/gui/dialog-common.h>
 #include <ui/gui/dict-display.h>
@@ -464,23 +463,10 @@ crosstabs_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&cd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&cd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&cd);
-
-       paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&cd)));
       break;
     default:
       break;
index 5a774902556e43e36e21e8a39cd3c90df6e5703f..ef77246891f0549a4406ea336aa94b5fd1b45bef 100644 (file)
@@ -23,7 +23,6 @@
 #include <gtk/gtk.h>
 #include <stdlib.h>
 
-#include <language/syntax-string-source.h>
 #include <ui/gui/psppire-data-window.h>
 #include <ui/gui/dialog-common.h>
 #include <ui/gui/dict-display.h>
@@ -258,21 +257,10 @@ descriptives_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&scd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&scd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&scd);
-       paste_syntax_to_window (syntax);
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&scd)));
       break;
     default:
       break;
index 87a048acfe3d4e07bd6f2697cfd9b692fa660ef7..931c0461ff4ee5ec64aceeca195db395ab88683c 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007, 2008, 2009  Free Software Foundation
+   Copyright (C) 2007, 2008, 2009, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,7 +22,6 @@
 #include <gtk/gtk.h>
 #include <stdlib.h>
 
-#include <language/syntax-string-source.h>
 #include <ui/gui/psppire-data-window.h>
 #include <ui/gui/dialog-common.h>
 #include <ui/gui/dict-display.h>
@@ -301,22 +300,10 @@ examine_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&ex_d);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&ex_d)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&ex_d);
-       paste_syntax_to_window (syntax);
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&ex_d)));
       break;
     default:
       break;
index 7b4d10cf9f3e06f59bf1439dd9891cc6a859e227..24b80db2443d3163ee5978ba02b8417341fac102 100644 (file)
 
 #include <config.h>
 
-#include "executor.h"
-#include "psppire-data-store.h"
-#include <data/lazy-casereader.h>
-#include <data/procedure.h>
-#include <libpspp/getl.h>
-#include <language/lexer/lexer.h>
-#include <language/command.h>
-#include <output/driver.h>
-#include "psppire-output-window.h"
+#include "ui/gui/executor.h"
+
+#include "data/lazy-casereader.h"
+#include "data/procedure.h"
+#include "language/command.h"
+#include "language/lexer/lexer.h"
+#include "language/syntax-string-source.h"
+#include "libpspp/cast.h"
+#include "libpspp/getl.h"
+#include "output/driver.h"
+#include "ui/gui/psppire-data-store.h"
+#include "ui/gui/psppire-output-window.h"
 
 extern struct dataset *the_dataset;
 extern struct source_stream *the_source_stream;
@@ -108,3 +111,19 @@ execute_syntax (struct getl_interface *sss)
 
   return retval;
 }
+
+/* Executes null-terminated string SYNTAX as syntax.
+   Returns SYNTAX. */
+gchar *
+execute_syntax_string (gchar *syntax)
+{
+  execute_const_syntax_string (syntax);
+  return syntax;
+}
+
+/* Executes null-terminated string SYNTAX as syntax. */
+void
+execute_const_syntax_string (const gchar *syntax)
+{
+  execute_syntax (create_syntax_string_source (syntax));
+}
index 40925beeae6842887341549d0178342ff3934766..81ece2b8223f9ba6e85fefba905600ccb5fe49a3 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007, 2009  Free Software Foundation
+   Copyright (C) 2007, 2009, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -23,6 +23,7 @@
 struct getl_interface;
 
 gboolean execute_syntax (struct getl_interface *sss);
-
+gchar *execute_syntax_string (gchar *syntax);
+void execute_const_syntax_string (const gchar *syntax);
 
 #endif
index 61427cc23285f25a928afdae15a664af0a8f120e..e0b9f4fa381aeef158fd549f900dfdf5fb47d56b 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2009  Free Software Foundation
+   Copyright (C) 2009, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,7 +17,6 @@
 #include <config.h>
 
 #include "dialog-common.h"
-#include <language/syntax-string-source.h>
 #include <ui/syntax-gen.h>
 #include <libpspp/str.h>
 
@@ -400,22 +399,10 @@ factor_dialog (PsppireDataWindow *dw)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&fd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&fd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&fd);
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&fd)));
       break;
     default:
       break;
index 2bbb5546cdd9bc9dec38664bdab5d4df9f7fc146..3378d819ef8620de67e653599e4dce5f493b9f8f 100644 (file)
@@ -23,7 +23,6 @@
 #include <gtk/gtk.h>
 #include <stdlib.h>
 
-#include <language/syntax-string-source.h>
 #include <ui/gui/psppire-data-window.h>
 #include <ui/gui/dialog-common.h>
 #include <ui/gui/dict-display.h>
@@ -570,21 +569,10 @@ frequencies_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&fd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&fd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&fd);
-       paste_syntax_to_window (syntax);
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&fd)));
       break;
     default:
       break;
index 1ad77bc96ebf0190a633ca02b70179970980e3fb..a68c0c2b80468de894d8b13780d57b0f43ce21ea 100644 (file)
@@ -282,8 +282,8 @@ on_delete (GtkWindow *window, GdkEvent *e, GtkWindow **addr)
   return FALSE;
 }
 
-void
-paste_syntax_to_window (const gchar *syntax)
+char *
+paste_syntax_to_window (gchar *syntax)
 {
   static GtkWidget *the_syntax_pasteboard = NULL;
 
@@ -304,6 +304,8 @@ paste_syntax_to_window (const gchar *syntax)
   gtk_text_buffer_end_user_action (buffer);
 
   gtk_widget_show (the_syntax_pasteboard);
+
+  return syntax;
 }
 
 
index 77abc1d8742214046c794f8ba96fc7694eaa5dce..f7660dc43b8332f674e664202dfe76fdc198e418 100644 (file)
@@ -29,7 +29,7 @@
 
 #include "gl/configmake.h"
 
-void paste_syntax_to_window (const gchar *syntax);
+gchar *paste_syntax_to_window (gchar *syntax);
 
 struct fmt_spec;
 
index 1f5d382ab371df362cb681c9503e99cfe855186f..c7f48a9bd16fd0b44309818d67ce603c7209f43c 100644 (file)
@@ -18,8 +18,6 @@
 
 #include "k-related-dialog.h"
 
-#include <language/syntax-string-source.h>
-
 #include "psppire-dialog.h"
 #include "psppire-var-view.h"
 #include "psppire-acr.h"
@@ -162,21 +160,10 @@ k_related_dialog (PsppireDataWindow *dw)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&krd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&krd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&krd);
-       paste_syntax_to_window (syntax);
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&krd)));
       break;
     default:
       break;
index 0d6f5aa546694fddf4c404427d2582119f61db60..9919a59897efef6557960e122ef1e9ddeb7ac81a 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007  Free Software Foundation
+   Copyright (C) 2007, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -29,7 +29,6 @@
 #include "psppire-selector.h"
 #include "dict-display.h"
 
-#include <language/syntax-string-source.h>
 #include "executor.h"
 
 
@@ -211,22 +210,10 @@ oneway_anova_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&ow);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&ow)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&ow);
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&ow)));
       break;
     default:
       break;
index 036b9b7746cbabd9cf878662cdc63a435a84e877..094a4f6988ada771e840e81b037be42e9b5203db 100644 (file)
@@ -21,7 +21,6 @@
 #include "psppire-data-editor.h"
 #include "psppire-var-sheet.h"
 
-#include <language/syntax-string-source.h>
 #include "psppire-data-store.h"
 #include <libpspp/i18n.h>
 #include <ui/gui/sheet/psppire-axis.h>
@@ -1249,21 +1248,13 @@ popup_cases_menu (PsppireSheet *sheet, gint row,
 static void
 do_sort (PsppireDataStore *ds, int var, gboolean descend)
 {
-  GString *string = g_string_new ("SORT CASES BY ");
-
   const struct variable *v =
     psppire_dict_get_variable (ds->dict, var);
+  gchar *syntax;
 
-  g_string_append_printf (string, "%s", var_get_name (v));
-
-  if ( descend )
-    g_string_append (string, " (D)");
-
-  g_string_append (string, ".");
-
-  execute_syntax (create_syntax_string_source (string->str));
-
-  g_string_free (string, TRUE);
+  syntax = g_strdup_printf ("SORT CASES BY %s%s.",
+                            var_get_name (v), descend ? " (D)" : "");
+  g_free (execute_syntax_string (syntax));
 }
 
 
index e024fb94d3c366caa2b87b299eae172b5f086d1c..b01582bb8f0969be2352b2614babcfd132e1ff86 100644 (file)
@@ -187,9 +187,7 @@ set_cut_copy_menuitem_sensitivity (PsppireDataWindow *de, gboolean x)
 static void
 execute (void)
 {
-  struct getl_interface *sss = create_syntax_string_source ("EXECUTE.");
-
-  execute_syntax (sss);
+  execute_const_syntax_string ("EXECUTE.");
 }
 
 static void
@@ -503,9 +501,9 @@ save_file (PsppireWindow *w)
   gchar *native_file_name = NULL;
   gchar *file_name = NULL;
   GString *fnx;
-  struct getl_interface *sss;
   struct string filename ;
   PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (w);
+  gchar *syntax;
 
   g_object_get (w, "filename", &file_name, NULL);
 
@@ -529,20 +527,13 @@ save_file (PsppireWindow *w)
   syntax_gen_string (&filename, ss_cstr (native_file_name));
   g_free (native_file_name);
 
-  if ( de->save_as_portable )
-    {
-      sss = create_syntax_format_source ("EXPORT OUTFILE=%s.",
-                                        ds_cstr (&filename));
-    }
-  else
-    {
-      sss = create_syntax_format_source ("SAVE OUTFILE=%s.",
-                                        ds_cstr (&filename));
-    }
+  syntax = g_strdup_printf ("%s OUTFILE=%s.",
+                            de->save_as_portable ? "EXPORT" : "SAVE",
+                            ds_cstr (&filename));
 
   ds_destroy (&filename);
 
-  execute_syntax (sss);
+  g_free (execute_syntax_string (syntax));
 }
 
 
@@ -562,11 +553,7 @@ on_insert_variable (PsppireDataWindow *dw)
 static void
 display_dict (PsppireDataWindow *de)
 {
-
-  struct getl_interface *sss =
-    create_syntax_string_source ("DISPLAY DICTIONARY.");
-
-  execute_syntax (sss);
+  execute_const_syntax_string ("DISPLAY DICTIONARY.");
 }
 
 static void
@@ -577,22 +564,22 @@ sysfile_info (PsppireDataWindow *de)
   if  ( GTK_RESPONSE_ACCEPT == gtk_dialog_run (GTK_DIALOG (dialog)))
     {
       struct string filename;
-      struct getl_interface *sss;
       gchar *file_name =
        gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
 
       gchar *native_file_name =
        convert_glib_filename_to_system_filename (file_name, NULL);
 
+      gchar *syntax;
+
       ds_init_empty (&filename);
 
       syntax_gen_string (&filename, ss_cstr (native_file_name));
 
       g_free (native_file_name);
 
-      sss = create_syntax_format_source ("SYSFILE INFO %s.",
-                                        ds_cstr (&filename));
-      execute_syntax (sss);
+      syntax = g_strdup_printf ("SYSFILE INFO %s.", ds_cstr (&filename));
+      g_free (execute_syntax_string (syntax));
     }
 
   gtk_widget_destroy (dialog);
@@ -703,11 +690,7 @@ data_save (PsppireWindow *de)
 static void
 new_file (PsppireDataWindow *de)
 {
-  struct getl_interface *sss =
-    create_syntax_string_source ("NEW FILE.");
-
-  execute_syntax (sss);
-
+  execute_const_syntax_string ("NEW FILE.");
   psppire_window_set_filename (PSPPIRE_WINDOW (de), NULL);
 }
 
index 621814cd9239163731f9c690157a52a221418a94..bb6006d111be872bb67aa29a9c0716bc4d2c6a50 100644 (file)
@@ -134,7 +134,7 @@ initialize (struct source_stream *ss, const char *data_file)
   if (data_file != NULL)
     load_data_file (data_file);
 
-  execute_syntax (create_syntax_string_source (""));
+  execute_const_syntax_string ("");
 
   gtk_widget_show (the_data_window);
 }
index fa998b47116b0c5d4ffff0d1e9b821f3b009cd83..a092cab7c6ea025b3d860d04b292039aad4e1893 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007  Free Software Foundation
+   Copyright (C) 2007, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -21,7 +21,6 @@
 #include <gtk/gtk.h>
 #include <stdlib.h>
 
-#include <language/syntax-string-source.h>
 #include <ui/gui/psppire-data-window.h>
 #include <ui/gui/dialog-common.h>
 #include <ui/gui/dict-display.h>
@@ -322,21 +321,10 @@ rank_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&rd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&rd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&rd);
-       paste_syntax_to_window (syntax);
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&rd)));
       break;
     default:
       break;
index 27f6972557bcb350e9ecfebacc8ba83a9b7e5915..8c44c4447e16274f3f063fc4465c3f05e36b8930 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007, 2009  Free Software Foundation
+   Copyright (C) 2007, 2009, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -31,7 +31,6 @@
 #include <gtk/gtk.h>
 
 #include <xalloc.h>
-#include <language/syntax-string-source.h>
 #include <ui/gui/psppire-data-window.h>
 #include <ui/gui/dialog-common.h>
 #include <ui/gui/dict-display.h>
@@ -1060,22 +1059,10 @@ recode_dialog (PsppireDataWindow *de, gboolean diff)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&rd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&rd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&rd);
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&rd)));
       break;
     default:
       break;
index d6997f74e716d6065b3477db92d95cfbc3934b7a..062d69e4546573a39afd45d8756c38ba95a3a2f7 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2008  Free Software Foundation
+   Copyright (C) 2008, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -23,7 +23,6 @@
 #include <gtk/gtk.h>
 #include <stdlib.h>
 
-#include <language/syntax-string-source.h>
 #include <ui/gui/psppire-data-window.h>
 #include <ui/gui/dialog-common.h>
 #include <ui/gui/dict-display.h>
@@ -288,22 +287,10 @@ regression_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&rd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&rd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&rd);
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&rd)));
       break;
     default:
       break;
index 957d9e11ca2da65d6bf439e24a398f7d09518a62..431a9c0e694389969d5ae73199919f1a098b35ab 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2009  Free Software Foundation
+   Copyright (C) 2009, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,7 +17,6 @@
 #include <config.h>
 
 #include "dialog-common.h"
-#include <language/syntax-string-source.h>
 #include "reliability-dialog.h"
 #include "psppire-selector.h"
 #include "psppire-dictview.h"
@@ -167,22 +166,10 @@ reliability_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&rd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&rd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&rd);
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&rd)));
       break;
     default:
       break;
index 45972d547640d19a7fa1c8437efecebb66239ca0..2e57830ab9f31b42016d23d46893474bbce936a2 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2009  Free Software Foundation
+   Copyright (C) 2009, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,7 +17,6 @@
 #include <config.h>
 
 #include "dialog-common.h"
-#include <language/syntax-string-source.h>
 #include <ui/syntax-gen.h>
 #include <libpspp/str.h>
 
@@ -162,22 +161,10 @@ roc_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&rd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&rd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&rd);
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&rd)));
       break;
     default:
       break;
index 0f50c91a3f96cf8dcbe60049cdfaa4158c74efb1..04fcf0dd52142bc8d628b5c17e4cb5ed9ee7770c 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -25,7 +25,6 @@
 #include "dict-display.h"
 #include "dialog-common.h"
 #include "widget-io.h"
-#include <language/syntax-string-source.h>
 #include "helper.h"
 #include <xalloc.h>
 
@@ -348,22 +347,10 @@ select_cases_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&scd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&scd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&scd);
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&scd)));
       break;
     default:
       break;
index 8252e3208f1d6c3362a2414940a8921287801d85..50624ad009ce74d32d197e6ea53cb2d724d93b3f 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007  Free Software Foundation
+   Copyright (C) 2007, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -26,7 +26,6 @@
 #include "dict-display.h"
 #include "psppire-var-view.h"
 
-#include <language/syntax-string-source.h>
 #include "helper.h"
 
 static void
@@ -129,22 +128,10 @@ sort_cases_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&scd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&scd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&scd);
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&scd)));
       break;
     default:
       break;
index 1748651a0bcf8e54556e17d90b93ba46fbc3e267..9aacdffd4c80e578f4d578b9c390ee1e1bf197d7 100644 (file)
@@ -22,7 +22,6 @@
 #include "executor.h"
 #include "psppire-data-window.h"
 #include "dict-display.h"
-#include <language/syntax-string-source.h>
 #include "helper.h"
 #include <data/dictionary.h>
 
@@ -200,22 +199,10 @@ split_file_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&sfd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&sfd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&sfd);
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&sfd)));
       break;
     default:
       break;
index 93102c058166f6785e685448ab790a6ae7c3b47f..2da218e529058762dff7fe321848b4bb317189ff 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007, 2009  Free Software Foundation
+   Copyright (C) 2007, 2009, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -31,7 +31,6 @@
 #include "t-test-options.h"
 #include <ui/syntax-gen.h>
 
-#include <language/syntax-string-source.h>
 #include "helper.h"
 
 #include <gl/xalloc.h>
@@ -455,21 +454,10 @@ t_test_independent_samples_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&tt_d);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&tt_d)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&tt_d);
-        paste_syntax_to_window (syntax);
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&tt_d)));
       break;
     default:
       break;
index ea92a9212946f05a5fdf9a932751c80616a496de..79168714e552ea0976b542958f73eddff58fb0ac 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007  Free Software Foundation
+   Copyright (C) 2007, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -31,7 +31,6 @@
 #include "executor.h"
 
 #include "t-test-options.h"
-#include <language/syntax-string-source.h>
 
 #include <gettext.h>
 #define _(msgid) gettext (msgid)
@@ -166,23 +165,10 @@ t_test_one_sample_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&tt_d);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&tt_d)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&tt_d);
-
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&tt_d)));
       break;
     default:
       break;
index 5f226d4e194a2963881d5ac05c09f3835ca04558..1b1c25113ba7c77034ea6d482a469d61211f1639 100644 (file)
@@ -17,7 +17,6 @@
 
 #include <config.h>
 #include <gtk/gtk.h>
-#include <language/syntax-string-source.h>
 
 #include "psppire-data-window.h"
 #include "psppire-selector.h"
@@ -210,22 +209,10 @@ t_test_paired_samples_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&tt_d);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&tt_d)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&tt_d);
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&tt_d)));
       break;
     default:
       break;
index 4db2d8ca6fe88432c9872ced331c281fd29a211e..8eb4f3c7972d714f42e96d6991c91aa378277be7 100644 (file)
 
 #include <config.h>
 
-#include <gtk/gtk.h>
-
-
-#include "widget-io.h"
-#include "checkbox-treeview.h"
-#include "descriptives-dialog.h"
+#include "ui/gui/text-data-import-dialog.h"
 
 #include <errno.h>
-
 #include <gtk-contrib/psppire-sheet.h>
+#include <gtk/gtk.h>
 #include <limits.h>
 #include <stdlib.h>
 #include <sys/stat.h>
 
-#include <data/data-in.h>
-#include <data/data-out.h>
-#include <data/format-guesser.h>
-#include <data/value-labels.h>
-#include <language/data-io/data-parser.h>
-#include <language/syntax-string-source.h>
-#include <libpspp/assertion.h>
-#include <libpspp/message.h>
-#include <ui/syntax-gen.h>
-#include <ui/gui/psppire-data-window.h>
-#include <ui/gui/dialog-common.h>
-#include <ui/gui/helper.h>
-#include <ui/gui/psppire-dialog.h>
-#include <ui/gui/psppire-var-sheet.h>
-#include <ui/gui/psppire-var-store.h>
-#include "executor.h"
-
-#include "error.h"
-#include "xalloc.h"
+#include "data/data-in.h"
+#include "data/data-out.h"
+#include "data/format-guesser.h"
+#include "data/value-labels.h"
+#include "language/data-io/data-parser.h"
+#include "language/lexer/lexer.h"
+#include "libpspp/assertion.h"
+#include "libpspp/message.h"
+#include "ui/gui/checkbox-treeview.h"
+#include "ui/gui/descriptives-dialog.h"
+#include "ui/gui/dialog-common.h"
+#include "ui/gui/executor.h"
+#include "ui/gui/helper.h"
+#include "ui/gui/psppire-data-window.h"
+#include "ui/gui/psppire-dialog.h"
+#include "ui/gui/psppire-var-sheet.h"
+#include "ui/gui/psppire-var-store.h"
+#include "ui/gui/widget-io.h"
+#include "ui/syntax-gen.h"
+
+#include "gl/error.h"
+#include "gl/xalloc.h"
 
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
@@ -259,18 +257,10 @@ text_data_import_assistant (GtkWindow *parent_window)
   switch (ia->asst.response)
     {
     case GTK_RESPONSE_APPLY:
-      {
-       char *syntax = generate_syntax (ia);
-       execute_syntax (create_syntax_string_source (syntax));
-       free (syntax);
-      }
+      free (execute_syntax_string (generate_syntax (ia)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       char *syntax = generate_syntax (ia);
-        paste_syntax_to_window (syntax);
-       free (syntax);
-      }
+      free (paste_syntax_to_window (generate_syntax (ia)));
       break;
     default:
       break;
index f770dfac25f6ce3c9e4cf2f43299dc91edbb5e4f..1aeaee988dce3db0f87af4749034960d3eb04b72 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2008  Free Software Foundation
+   Copyright (C) 2008, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,8 +17,8 @@
 #ifndef TEXT_DATA_IMPORT_DIALOG_H
 #define TEXT_DATA_IMPORT_DIALOG_H
 
-#include <glib-object.h>
+#include <gtk/gtk.h>
 
-void text_data_import_assistant (GObject *o, gpointer data);
+void text_data_import_assistant (GtkWindow *parent_window);
 
 #endif
index ebc34bd8546f253d97a0c72d4ad3e61e48e99d38..c2169a53763432e1f0295a74adb627ea4940692c 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007  Free Software Foundation
+   Copyright (C) 2007, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -23,7 +23,6 @@
 #include "executor.h"
 #include "psppire-data-window.h"
 #include "dict-display.h"
-#include <language/syntax-string-source.h>
 #include "helper.h"
 
 #include "dialog-common.h"
@@ -111,14 +110,7 @@ transpose_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (dict, xml);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (dict, xml)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
       {
index 16a5f462945e2c957ee7a783f1c93f58723b3143..d0b3eeaebf37e99b953537f208e8f8ce26c4f9fd 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007, 2009  Free Software Foundation
+   Copyright (C) 2007, 2009, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,7 +20,6 @@
 #include <data/variable.h>
 #include <data/format.h>
 #include <data/value-labels.h>
-#include <language/syntax-string-source.h>
 #include <libpspp/i18n.h>
 
 #include "variable-info-dialog.h"
index fc50aea944b56889a7dd31009a31047fbbee4df2..066c5e54e1b27d9a2e5d2278d56f4cd7a82a5cf3 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007  Free Software Foundation
+   Copyright (C) 2007, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,7 +22,6 @@
 #include "executor.h"
 #include "psppire-data-window.h"
 #include "dict-display.h"
-#include <language/syntax-string-source.h>
 #include "helper.h"
 
 #include <gtk/gtk.h>
@@ -153,20 +152,10 @@ weight_cases_dialog (PsppireDataWindow *de)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&wcd);
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (generate_syntax (&wcd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&wcd);
-        paste_syntax_to_window (syntax);
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&wcd)));
       break;
     default:
       break;