Implemented the SHOW command and massaged the SET command to fit
[pspp-builds.git] / src / command.c
index f4c76c33b32bde5d8cb9ed67f1cafad17c8ed5a3..163f9845742ee095096f8791c7d18d64d47f4a52 100644 (file)
@@ -201,7 +201,8 @@ cmd_parse (void)
 
   /* If we're in a FILE TYPE structure, only certain commands can be
      allowed. */
-  if (pgm_state == STATE_INPUT && vfm_source == &file_type_source
+  if (pgm_state == STATE_INPUT
+      && case_source_is_class (vfm_source, &file_type_source_class)
       && !FILE_TYPE_okay (cp))
     return CMD_FAILURE;
 
@@ -561,28 +562,21 @@ int
 cmd_execute (void)
 {
   lex_match_id ("EXECUTE");
-  procedure (NULL, NULL, NULL);
+  procedure (NULL, NULL);
   return lex_end_of_command ();
 }
 
-
-#define assert_not_safer() \
-  do { \
-   if (set_safer) \
-    { \
-      msg (SE, _("This command not allowed when the SAFER option is set.")); \
-      return CMD_FAILURE; \
-    } \
-} while(0) 
-
-
-
 /* Parses, performs the ERASE command. */
 int
 cmd_erase (void)
 {
 
-  assert_not_safer();
+  if ( safer_mode() ) 
+    { 
+      msg (SE, _("This command not allowed when the SAFER option is set.")); 
+      return CMD_FAILURE; 
+    } 
+
   
   lex_match_id ("ERASE");
   if (!lex_force_match_id ("FILE"))
@@ -709,8 +703,12 @@ cmd_host (void)
 {
   int code;
 
-  assert_not_safer();
-  
+  if ( safer_mode() ) 
+    { 
+      msg (SE, _("This command not allowed when the SAFER option is set.")); 
+      return CMD_FAILURE; 
+    } 
+
   lex_match_id ("HOST");
 
 #ifdef unix