Removed mutual dependency between libpspp and data
authorJohn Darrington <john@darrington.wattle.id.au>
Thu, 7 Dec 2006 11:34:17 +0000 (11:34 +0000)
committerJohn Darrington <john@darrington.wattle.id.au>
Thu, 7 Dec 2006 11:34:17 +0000 (11:34 +0000)
src/libpspp/ChangeLog
src/libpspp/getl.c
src/libpspp/getl.h
src/ui/gui/psppire.c
src/ui/terminal/main.c

index c561caf67d63010dc0f22b549c7d043177e7b0ff..45158bdb356f4a0738dff62d31386e0dd7170d4e 100644 (file)
@@ -1,3 +1,8 @@
+Thu Dec  7 20:33:23 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+       * getl.c getl.h : Changed signature of create function to take a 
+       string indicating the initial include path.
+
 Sun Dec  3 11:36:10 2006  Ben Pfaff  <blp@gnu.org>
 
        * str.h (SS_LITERAL_INITIALIZER): Cast the string literal to "char
index 4a320960226d8f2db2c7ec4c43bef6a931b1376d..4a3f9debf95a9eb56e2e898a7b42ec80e7f9beb3 100644 (file)
@@ -18,7 +18,6 @@
    02110-1301, USA. */
 
 #include <stdlib.h>
-
 #include <config.h>
 
 #include "getl.h"
@@ -28,8 +27,6 @@
 #include <libpspp/version.h>
 #include <libpspp/alloc.h>
 
-#include <data/file-name.h>
-
 struct getl_source
   {
     struct getl_source *included_from; /* File that this is nested inside. */
@@ -62,12 +59,16 @@ current_source (const struct source_stream *ss)
 
 /* Initialize getl. */
 struct source_stream *
-create_source_stream (void)
+create_source_stream (const char *initial_include_path)
 {
   struct source_stream *ss = xzalloc (sizeof (*ss));
   ll_init (&ss->sources);
+#if 0
   ds_init_cstr (&ss->the_include_path,
                 fn_getenv_default ("STAT_INCLUDE_PATH", include_path));
+#endif
+  ds_init_cstr (&ss->the_include_path, initial_include_path);
+
   return ss;
 }
 
index f39f559cccc26ea5e583e6dac9b588dc011f0ab5..f0b8585f3d6c8ed040847c8564794dc78fa5454e 100644 (file)
@@ -73,7 +73,7 @@ struct getl_interface
 
 struct source_stream;
 
-struct source_stream * create_source_stream (void);
+struct source_stream * create_source_stream (const char *);
 void destroy_source_stream (struct source_stream *);
 
 void getl_clear_include_path (struct source_stream *);
index e814219952e70b0b3e00715dc64dde4d4b495225..3b4181ac71e44849145a8947651811974ebc85e3 100644 (file)
@@ -27,6 +27,7 @@
 #include <libpspp/copyleft.h>
 #include <data/format.h>
 #include <data/settings.h>
+#include <data/file-name.h>
 #include <libpspp/getl.h>
 
 #include <getopt.h>
@@ -118,7 +119,10 @@ main(int argc, char *argv[])
 
   fmt_init();
   settings_init();
-  the_source_stream = create_source_stream ();
+  the_source_stream = create_source_stream (
+                         fn_getenv_default ("STAT_INCLUDE_PATH", include_path)
+                         );
+
   message_dialog_init (the_source_stream);
 
   the_dictionary = psppire_dict_new();
@@ -138,7 +142,7 @@ main(int argc, char *argv[])
   if ( !xml ) return 1;
 
   data_editor = get_widget_assert(xml, "data_editor");
-  gtk_window_set_icon_from_file(GTK_WINDOW(data_editor), 
+  gtk_window_set_icon_from_file(GTK_WINDOW(data_editor),
                                PKGDATADIR "/psppicon.png",0);
 
   /* connect the signals in the interface */
@@ -148,7 +152,7 @@ main(int argc, char *argv[])
   data_sheet = GTK_SHEET(get_widget_assert(xml, "data_sheet"));
 
   gtk_sheet_set_model(var_sheet, G_SHEET_MODEL(var_store));
-  
+
   gtk_sheet_set_model(data_sheet, G_SHEET_MODEL(data_store));
 
   if (filename)
index f1dd21d35dd287d4195cde81fd24e05be4524cd7..15d5e46c1e17c3e3ae154b555d8735707c2f1dfa 100644 (file)
@@ -97,14 +97,17 @@ main (int argc, char **argv)
   outp_init ();
   fn_init ();
   fh_init ();
-  the_source_stream = create_source_stream ();
+  the_source_stream =
+    create_source_stream (
+                         fn_getenv_default ("STAT_INCLUDE_PATH", include_path)
+                         );
   prompt_init ();
   readln_initialize ();
   settings_init ();
   random_init ();
   the_dataset = create_dataset ();
 
-  if (parse_command_line (argc, argv, the_source_stream)) 
+  if (parse_command_line (argc, argv, the_source_stream))
     {
       msg_ui_init (the_source_stream);
       outp_read_devices ();
@@ -112,12 +115,12 @@ main (int argc, char **argv)
 
       for (;;)
         {
-          int result = cmd_parse (the_lexer, the_dataset, 
+          int result = cmd_parse (the_lexer, the_dataset,
                                  proc_has_source (the_dataset)
                                  ? CMD_STATE_DATA : CMD_STATE_INITIAL);
           if (result == CMD_EOF || result == CMD_FINISH)
             break;
-          if (result == CMD_CASCADING_FAILURE && 
+          if (result == CMD_CASCADING_FAILURE &&
              !getl_is_interactive (the_source_stream))
             {
               msg (SE, _("Stopping syntax file processing here to avoid "