#include "data/casereader.h"
#include "data/dataset.h"
#include "data/dictionary.h"
+#include "data/session.h"
#include "data/settings.h"
#include "data/variable.h"
#include "language/lexer/command-name.h"
cmd_parse_in_state (struct lexer *lexer, struct dataset *ds,
enum cmd_state state)
{
+ struct session *session = dataset_session (ds);
int result;
result = do_parse_command (lexer, ds, state);
+ ds = session_active_dataset (session);
assert (!proc_is_open (ds));
unset_cmd_algorithm ();
dict_clear_aux (dataset_dict (ds));
case S_INITIAL | S_DATA:
NOT_REACHED ();
case S_INITIAL | S_INPUT_PROGRAM:
- msg (SE, _("%s is allowed only before the active dataset has "
- "been defined or inside INPUT PROGRAM."), command->name);
+ msg (SE, _("%s is allowed only before the active dataset has been defined or inside %s."),
+ command->name, "INPUT PROGRAM");
break;
case S_INITIAL | S_FILE_TYPE:
- msg (SE, _("%s is allowed only before the active dataset has "
- "been defined or inside FILE TYPE."), command->name);
+ msg (SE, _("%s is allowed only before the active dataset has been defined or inside %s."),
+ command->name, "FILE TYPE");
break;
case S_DATA | S_INPUT_PROGRAM:
- msg (SE, _("%s is allowed only after the active dataset has "
- "been defined or inside INPUT PROGRAM."), command->name);
+ msg (SE, _("%s is allowed only after the active dataset has been defined or inside %s."),
+ command->name, "INPUT PROGRAM");
break;
case S_DATA | S_FILE_TYPE:
- msg (SE, _("%s is allowed only after the active dataset has "
- "been defined or inside FILE TYPE."), command->name);
+ msg (SE, _("%s is allowed only after the active dataset has been defined or inside %s."),
+ 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 INPUT PROGRAM or inside FILE TYPE."), command->name);
break;
/* Three allowed states. */
}
else if (state == CMD_STATE_INPUT_PROGRAM)
msg (SE, _("%s is not allowed inside %s."),
- command->name, "INPUT PROGRAM" );
+ command->name, "INPUT PROGRAM" );
else if (state == CMD_STATE_FILE_TYPE)
msg (SE, _("%s is not allowed inside %s."), command->name, "FILE TYPE");