X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fterminal%2Fmain.c;h=a92d6c040ff4a3ff8cdef27d72b027d32a766a3c;hb=7c56b7a982761bd1a88cb486ee66fef992d8b8a7;hp=a0ba84d898c29e09fb4246485a3991cc84b64dec;hpb=cf40a7c5308d086195265623f35b310c0b35f766;p=pspp diff --git a/src/ui/terminal/main.c b/src/ui/terminal/main.c index a0ba84d898..a92d6c040f 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-9, 2000, 2006, 2007, 2009, 2010, 2011 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" @@ -49,11 +48,9 @@ #include "math/random.h" #include "output/driver.h" #include "output/message-item.h" -#include "ui/debugger.h" #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" @@ -91,13 +88,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 (); @@ -148,7 +145,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.")); @@ -161,13 +158,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 (); @@ -194,9 +191,6 @@ bug_handler(int sig) recurse. */ signal (sig, SIG_DFL); -#if DEBUGGING - connect_debugger (); -#endif switch (sig) { case SIGABRT: @@ -230,7 +224,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