pspp-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pspp-cvs] pspp doc/variables.texi src/language/ChangeLog ...


From: Ben Pfaff
Subject: [Pspp-cvs] pspp doc/variables.texi src/language/ChangeLog ...
Date: Fri, 22 Dec 2006 04:38:23 +0000

CVSROOT:        /cvsroot/pspp
Module name:    pspp
Changes by:     Ben Pfaff <blp> 06/12/22 04:38:23

Modified files:
        doc            : variables.texi 
        src/language   : ChangeLog command.def 
        src/language/dictionary: ChangeLog automake.mk 
        src/language/lexer: ChangeLog variable-parser.c 
        tests          : ChangeLog 
        tests/command  : rank.sh 
Added files:
        src/language/dictionary: delete-variables.c 

Log message:
        Implement DELETE VARIABLES.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/doc/variables.texi?cvsroot=pspp&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/ChangeLog?cvsroot=pspp&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/command.def?cvsroot=pspp&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/dictionary/ChangeLog?cvsroot=pspp&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/dictionary/automake.mk?cvsroot=pspp&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/dictionary/delete-variables.c?cvsroot=pspp&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/lexer/ChangeLog?cvsroot=pspp&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/lexer/variable-parser.c?cvsroot=pspp&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/pspp/tests/ChangeLog?cvsroot=pspp&r1=1.74&r2=1.75
http://cvs.savannah.gnu.org/viewcvs/pspp/tests/command/rank.sh?cvsroot=pspp&r1=1.3&r2=1.4

Patches:
Index: doc/variables.texi
===================================================================
RCS file: /cvsroot/pspp/pspp/doc/variables.texi,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- doc/variables.texi  10 Dec 2006 03:42:50 -0000      1.6
+++ doc/variables.texi  22 Dec 2006 04:38:22 -0000      1.7
@@ -6,6 +6,7 @@
 
 @menu
 * ADD VALUE LABELS::            Add value labels to variables.
+* DELETE VARIABLES::            Delete variables.
 * DISPLAY::                     Display variable names & descriptions.
 * DISPLAY VECTORS::             Display a list of vectors.
 * FORMATS::                     Set print and write formats.
@@ -25,7 +26,7 @@
 * WRITE FORMATS::               Set variable write formats.
 @end menu
 
address@hidden ADD VALUE LABELS, DISPLAY, Variable Attributes, Variable 
Attributes
address@hidden ADD VALUE LABELS, DELETE VARIABLES, Variable Attributes, 
Variable Attributes
 @section ADD VALUE LABELS
 @vindex ADD VALUE LABELS
 
@@ -38,7 +39,24 @@
 LABELS} (@pxref{VALUE LABELS}), but it does not clear value
 labels from the variables before adding the ones specified.
 
address@hidden DISPLAY, DISPLAY VECTORS, ADD VALUE LABELS, Variable Attributes
address@hidden DELETE VARIABLES, DISPLAY, ADD VALUE LABELS, Variable Attributes
address@hidden DELETE VARIABLES
address@hidden DELETE VARIABLES
+
address@hidden
+DELETE VARIABLES var_list.
address@hidden display
+
address@hidden VARIABLES} deletes the specified variables from the
+dictionary.  It may not be used to delete all variables from the
+dictionary; use @cmd{NEW FILE} to do that (@pxref{NEW FILE}).
+
address@hidden VARIABLES} should not used after defining transformations
+and before executing a procedure.  If it is used in such a context, it
+causes the data to be read.  If it is used while @cmd{TEMPORARY} is in
+effect, it causes the temporary transformations to become permanent.
+
address@hidden DISPLAY, DISPLAY VECTORS, DELETE VARIABLES, Variable Attributes
 @section DISPLAY
 @vindex DISPLAY
 

Index: src/language/ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/src/language/ChangeLog,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- src/language/ChangeLog      19 Dec 2006 14:21:53 -0000      1.17
+++ src/language/ChangeLog      22 Dec 2006 04:38:22 -0000      1.18
@@ -1,3 +1,7 @@
+Wed Dec 13 21:02:51 2006  Ben Pfaff  <address@hidden>
+
+       * command.def: Add DELETE VARS.
+
 Sat Dec 16 22:15:55 2006  Ben Pfaff  <address@hidden>
 
        Make it possible to pull cases from the active file with a

Index: src/language/command.def
===================================================================
RCS file: /cvsroot/pspp/pspp/src/language/command.def,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- src/language/command.def    20 Dec 2006 10:10:51 -0000      1.13
+++ src/language/command.def    22 Dec 2006 04:38:22 -0000      1.14
@@ -94,6 +94,7 @@
 DEF_CMD (S_DATA, 0, "CORRELATIONS", cmd_correlations)
 DEF_CMD (S_DATA, 0, "COUNT", cmd_count)
 DEF_CMD (S_DATA, 0, "CROSSTABS", cmd_crosstabs)
+DEF_CMD (S_DATA, 0, "DELETE VARIABLES", cmd_delete_variables)
 DEF_CMD (S_DATA, 0, "DESCRIPTIVES", cmd_descriptives)
 DEF_CMD (S_DATA, 0, "EXAMINE", cmd_examine)
 DEF_CMD (S_DATA, 0, "EXECUTE", cmd_execute)

Index: src/language/dictionary/ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/src/language/dictionary/ChangeLog,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- src/language/dictionary/ChangeLog   11 Dec 2006 15:39:23 -0000      1.8
+++ src/language/dictionary/ChangeLog   22 Dec 2006 04:38:22 -0000      1.9
@@ -1,3 +1,10 @@
+Wed Dec 13 20:59:54 2006  Ben Pfaff  <address@hidden>
+
+       * automake.mk: Add delete-variables.c
+
+       * delete-variables.c (cmd_delete_variables): New function, in new
+       file.
+       
 Sun Dec 10 13:55:58 2006  Ben Pfaff  <address@hidden>
 
        * sys-file-info.c (cmd_sysfile_info): Report floating-point format

Index: src/language/dictionary/automake.mk
===================================================================
RCS file: /cvsroot/pspp/pspp/src/language/dictionary/automake.mk,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- src/language/dictionary/automake.mk 14 Dec 2006 10:45:19 -0000      1.4
+++ src/language/dictionary/automake.mk 22 Dec 2006 04:38:22 -0000      1.5
@@ -2,6 +2,7 @@
 
 language_dictionary_sources = \
  src/language/dictionary/apply-dictionary.c \
+ src/language/dictionary/delete-variables.c \
  src/language/dictionary/formats.c \
  src/language/dictionary/missing-values.c \
  src/language/dictionary/modify-variables.c \

Index: src/language/lexer/ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/src/language/lexer/ChangeLog,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- src/language/lexer/ChangeLog        10 Dec 2006 03:42:51 -0000      1.20
+++ src/language/lexer/ChangeLog        22 Dec 2006 04:38:23 -0000      1.21
@@ -1,3 +1,8 @@
+Wed Dec 13 21:00:24 2006  Ben Pfaff  <address@hidden>
+
+       * variable-parser.c (parse_variables): If not successful, set
+       output pointer to NULL and output count to 0.
+
 Sat Dec  9 18:46:11 2006  Ben Pfaff  <address@hidden>
 
        * variable-parser.h: New PV_SAME_WIDTH variable parsing option.

Index: src/language/lexer/variable-parser.c
===================================================================
RCS file: /cvsroot/pspp/pspp/src/language/lexer/variable-parser.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- src/language/lexer/variable-parser.c        15 Dec 2006 00:16:02 -0000      
1.14
+++ src/language/lexer/variable-parser.c        22 Dec 2006 04:38:23 -0000      
1.15
@@ -107,7 +107,11 @@
   vs = var_set_create_from_dict (d);
   success = parse_var_set_vars (lexer, vs, var, cnt, opts);
   if ( success == 0 )
+    {
      free ( *var ) ;
+      *var = NULL;
+      *cnt = 0;
+    }
   var_set_destroy (vs);
   return success;
 }

Index: tests/ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/tests/ChangeLog,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -b -r1.74 -r1.75
--- tests/ChangeLog     20 Dec 2006 16:09:45 -0000      1.74
+++ tests/ChangeLog     22 Dec 2006 04:38:23 -0000      1.75
@@ -1,3 +1,8 @@
+Wed Dec 13 21:00:46 2006  Ben Pfaff  <address@hidden>
+
+       * command/rank.sh (activity): Use DELETE VAR (which is new)
+       instead of MODIFY VARS.
+
 Tue Dec 19 08:17:28 2006  Ben Pfaff  <address@hidden>
 
        * command/loop.sh: Test all the possible combinations of clauses.

Index: tests/command/rank.sh
===================================================================
RCS file: /cvsroot/pspp/pspp/tests/command/rank.sh,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- tests/command/rank.sh       16 Dec 2006 22:01:19 -0000      1.3
+++ tests/command/rank.sh       22 Dec 2006 04:38:23 -0000      1.4
@@ -520,7 +520,7 @@
 
 RANK x.
 
-MODIFY VARS /drop ran001 TO ran999.
+DELETE VAR ran001 TO ran999.
 
 LIST.
 

Index: src/language/dictionary/delete-variables.c
===================================================================
RCS file: src/language/dictionary/delete-variables.c
diff -N src/language/dictionary/delete-variables.c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ src/language/dictionary/delete-variables.c  22 Dec 2006 04:38:22 -0000      
1.1
@@ -0,0 +1,64 @@
+/* PSPP - computes sample statistics.
+   Copyright (C) 2006 Free Software Foundation, Inc.
+   Written by Ben Pfaff <address@hidden>.
+
+   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 the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include <data/dictionary.h>
+#include <data/procedure.h>
+#include <language/command.h>
+#include <language/lexer/variable-parser.h>
+#include <libpspp/message.h>
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+
+/* Performs DELETE VARIABLES command. */
+int
+cmd_delete_variables (struct lexer *lexer, struct dataset *ds)
+{
+  struct variable **vars;
+  size_t var_cnt;
+
+  if (proc_make_temporary_transformations_permanent (ds))
+    msg (SE, _("DELETE VARIABLES may not be used after TEMPORARY.  "
+               "Temporary transformations will be made permanent."));
+
+  if (!parse_variables (lexer, dataset_dict (ds), &vars, &var_cnt, PV_NONE))
+    goto error;
+  if (var_cnt == dict_get_var_cnt (dataset_dict (ds)))
+    {
+      msg (SE, _("DELETE VARIABLES may not be used to delete all variables "
+                 "from the active file dictionary.  Use NEW FILE instead."));
+      goto error;
+    }
+
+  if (!procedure (ds, NULL, NULL))
+    goto error;
+  
+  dict_delete_vars (dataset_dict (ds), vars, var_cnt);
+  free (vars);
+  
+  return CMD_SUCCESS;
+
+ error:
+  free (vars);
+  return CMD_CASCADING_FAILURE;
+}




reply via email to

[Prev in Thread] Current Thread [Next in Thread]