Use lex_error_expecting() in more places.
[pspp] / src / language / dictionary / weight.c
index 7e25a64602511bba21b7e605767f30f7cfe7e139..d99c2acb0cb04703eefb57b5e74f43a414c2c0a6 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997-9, 2000, 2010, 2011 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
 
 #include <stdio.h>
 
-#include <data/procedure.h>
-#include <data/dictionary.h>
-#include <data/variable.h>
-#include <language/command.h>
-#include <language/lexer/lexer.h>
-#include <language/lexer/variable-parser.h>
-#include <libpspp/message.h>
-#include <libpspp/str.h>
+#include "data/dataset.h"
+#include "data/dictionary.h"
+#include "data/variable.h"
+#include "language/command.h"
+#include "language/lexer/lexer.h"
+#include "language/lexer/variable-parser.h"
+#include "libpspp/message.h"
+#include "libpspp/str.h"
 
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
@@ -46,17 +46,19 @@ cmd_weight (struct lexer *lexer, struct dataset *ds)
        return CMD_CASCADING_FAILURE;
       if (var_is_alpha (v))
        {
-         msg (SE, _("The weighting variable must be numeric."));
+         lex_next_error (lexer, -1, -1,
+                          _("The weighting variable must be numeric."));
          return CMD_CASCADING_FAILURE;
        }
       if (dict_class_from_id (var_get_name (v)) == DC_SCRATCH)
        {
-         msg (SE, _("The weighting variable may not be scratch."));
+         lex_next_error (lexer, -1, -1,
+                          _("The weighting variable may not be scratch."));
          return CMD_CASCADING_FAILURE;
        }
 
       dict_set_weight (dict, v);
     }
 
-  return lex_end_of_command (lexer);
+  return CMD_SUCCESS;
 }