X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fcommand.c;h=cfe4ecf14bc6ae1c8451fed256bcac33a17dc506;hb=b1fc57ddc57637e5c8bb87b478cbe585b6b4cf84;hp=78fd5f00b00fe6cba1bd77806ac976c7fd2fedcd;hpb=c91f650b47f33cfbd4b7ed45dbfa7eb012c7e6fb;p=pspp diff --git a/src/language/command.c b/src/language/command.c index 78fd5f00b0..cfe4ecf14b 100644 --- a/src/language/command.c +++ b/src/language/command.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 1997-9, 2000, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. + Copyright (C) 1997-9, 2000, 2009, 2010, 2011, 2012, 2013, 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 @@ -36,9 +36,8 @@ #include "libpspp/i18n.h" #include "libpspp/message.h" #include "libpspp/str.h" -#include "output/text-item.h" +#include "output/group-item.h" -#include "xalloc.h" #include "xmalloca.h" #include "gettext.h" @@ -199,7 +198,8 @@ do_parse_command (struct lexer *lexer, result = CMD_FAILURE; goto finish; } - text_item_submit (text_item_create (TEXT_ITEM_COMMAND_OPEN, command->name)); + group_open_item_submit (group_open_item_create_nocopy ( + utf8_to_title (command->name))); opened = true; if (command->function == NULL) @@ -242,12 +242,12 @@ finish: result = lex_end_of_command (lexer); lex_discard_rest_of_command (lexer); - while (lex_token (lexer) == T_ENDCMD) - lex_get (lexer); + if (result != CMD_EOF && result != CMD_FINISH) + while (lex_token (lexer) == T_ENDCMD) + lex_get (lexer); if (opened) - text_item_submit (text_item_create (TEXT_ITEM_COMMAND_CLOSE, - command->name)); + group_close_item_submit (group_close_item_create ()); return result; } @@ -385,11 +385,11 @@ report_state_mismatch (const struct command *command, enum cmd_state state) "been defined."), command->name); break; case S_INPUT_PROGRAM: - msg (SE, _("%s is allowed only inside INPUT PROGRAM."), - command->name); + msg (SE, _("%s is allowed only inside %s."), + command->name, "INPUT PROGRAM"); break; case S_FILE_TYPE: - msg (SE, _("%s is allowed only inside FILE TYPE."), command->name); + msg (SE, _("%s is allowed only inside %s."), command->name, "FILE TYPE"); break; /* Two allowed states. */ @@ -412,7 +412,8 @@ report_state_mismatch (const struct command *command, enum cmd_state state) command->name, "FILE TYPE"); break; case S_INPUT_PROGRAM | S_FILE_TYPE: - msg (SE, _("%s is allowed only inside INPUT PROGRAM or inside FILE TYPE."), command->name); + msg (SE, _("%s is allowed only inside %s or inside %s."), command->name, + "INPUT PROGRAM", "FILE TYPE"); break; /* Three allowed states. */ @@ -525,7 +526,7 @@ cmd_erase (struct lexer *lexer, struct dataset *ds UNUSED) if (settings_get_safer_mode ()) { - msg (SE, _("This command not allowed when the SAFER option is set.")); + msg (SE, _("This command not allowed when the %s option is set."), "SAFER"); return CMD_FAILURE; }