#include <config.h>
-#include <assert.h>
#include <gsl/gsl_errno.h>
#include <gtk/gtk.h>
#include <libintl.h>
#include "output/driver.h"
#include "output/journal.h"
#include "output/message-item.h"
+#include "output/spv/spv.h"
#include "ui/gui/dict-display.h"
#include "ui/gui/executor.h"
bind_textdomain_codeset (PACKAGE, "UTF-8");
break;
case 8:
- if ( ! gtk_parse_args (is->argc, is->argv) )
+ if (! gtk_parse_args (is->argc, is->argv))
{
perror ("Error parsing arguments");
exit (1);
m.first_column = lex_get_first_column (lexer, 0);
m.last_column = lex_get_last_column (lexer, 0);
}
+ m.command_name = output_get_command_name ();
message_item_submit (message_item_create (&m));
+
+ free (m.command_name);
}
void
GtkWindow *
-psppire_preload_file (const gchar *file)
+psppire_preload_file (const gchar *file, GtkWindow *victim)
{
const gchar *local_encoding = "UTF-8";
-
+
struct file_handle *fh = fh_create_file (NULL,
file,
local_encoding,
fh_default_properties ());
const char *filename = fh_get_file_name (fh);
-
+
int retval = any_reader_detect (fh, NULL);
GtkWindow *w = NULL;
/* Check to see if the file is a .sav or a .por file. If not
assume that it is a syntax file */
if (retval == 1)
- w = open_data_window (NULL, filename, NULL, NULL);
+ w = open_data_window (PSPPIRE_WINDOW (victim), filename, NULL, NULL);
else if (retval == 0)
{
- create_data_window ();
- w = open_syntax_window (filename, NULL);
+ char *error = spv_detect (filename);
+ if (!error)
+ read_spv_file (filename);
+ else
+ {
+ free (error);
+ create_data_window ();
+ open_syntax_window (filename, NULL);
+ }
}
fh_unref (fh);