X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fterminal%2Fmain.c;h=26a6a316e0757c1947e44172702b3c304fb11630;hb=3b03678858485b01277d7488323613fb28691834;hp=3f4139b85d377dc8b5dc3254a5c0d5e4a166df2f;hpb=407aabda7c2d395e521b7e003e8e12d9822f3ce0;p=pspp diff --git a/src/ui/terminal/main.c b/src/ui/terminal/main.c index 3f4139b85d..26a6a316e0 100644 --- a/src/ui/terminal/main.c +++ b/src/ui/terminal/main.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 1997-2000, 2006-2007, 2009-2012 Free Software Foundation, Inc. + Copyright (C) 1997-2000, 2006-2007, 2009-2014 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 @@ -33,7 +33,6 @@ #include "data/dataset.h" #include "data/dictionary.h" #include "data/file-handle-def.h" -#include "data/file-name.h" #include "data/session.h" #include "data/settings.h" #include "data/variable.h" @@ -52,7 +51,6 @@ #include "ui/source-init-opts.h" #include "ui/terminal/terminal-opts.h" #include "ui/terminal/terminal-reader.h" -#include "ui/terminal/terminal.h" #include "gl/fatal-signal.h" #include "gl/progname.h" @@ -82,6 +80,9 @@ main (int argc, char **argv) set_program_name (argv[0]); + prepare_fatal_error_message (); + prepare_diagnostic_information (); + signal (SIGABRT, bug_handler); signal (SIGSEGV, bug_handler); signal (SIGFPE, bug_handler); @@ -90,13 +91,13 @@ main (int argc, char **argv) fpu_init (); gsl_set_error_handler_off (); + output_engine_push (); fh_init (); settings_init (); - terminal_check_size (); random_init (); lexer = lex_create (); - the_session = session_create (); + the_session = session_create (NULL); dataset_create (the_session, ""); parser = argv_parser_create (); @@ -147,7 +148,7 @@ main (int argc, char **argv) lex_discard_noninteractive (lexer); } else if (result == CMD_CASCADING_FAILURE - && lex_get_error_mode (lexer) != LEX_ERROR_INTERACTIVE) + && lex_get_error_mode (lexer) != LEX_ERROR_TERMINAL) { msg (SE, _("Stopping syntax file processing here to avoid " "a cascade of dependent command failures.")); @@ -160,13 +161,13 @@ main (int argc, char **argv) } + output_engine_pop (); session_destroy (the_session); random_done (); settings_done (); fh_done (); lex_destroy (lexer); - output_close (); i18n_done (); return msg_ui_any_errors (); @@ -226,7 +227,11 @@ output_msg (const struct msg *m_, void *lexer_) m.last_line = lex_get_last_line_number (lexer, 0); } + m.command_name = output_get_command_name (); + message_item_submit (message_item_create (&m)); + + free (m.command_name); } static void