X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fdataset.c;h=7a5a6a4a6a08a22749baf5340b9e71d709d66c51;hb=a016af53bdf60d1ab95e680e6b31311b21518b75;hp=9c3fe8cfecffc9003781836fe616bd3dc5858bf3;hpb=97de936d25fbed47960ac4ebd9a911fdd528f9e4;p=pspp diff --git a/src/data/dataset.c b/src/data/dataset.c index 9c3fe8cfec..7a5a6a4a6a 100644 --- a/src/data/dataset.c +++ b/src/data/dataset.c @@ -746,9 +746,13 @@ proc_start_temporary_transformations (struct dataset *ds) } } -/* Converts all the temporary transformations, if any, to - permanent transformations. Further transformations will be - permanent. +/* Converts all the temporary transformations, if any, to permanent + transformations. Further transformations will be permanent. + + The FILTER command is implemented as a temporary transformation, so a + procedure that uses this function should usually use proc_open_filtering() + with FILTER false, instead of plain proc_open(). + Returns true if anything changed, false otherwise. */ bool proc_make_temporary_transformations_permanent (struct dataset *ds) @@ -759,6 +763,8 @@ proc_make_temporary_transformations_permanent (struct dataset *ds) trns_chain_splice (ds->permanent_trns_chain, ds->temporary_trns_chain); ds->temporary_trns_chain = NULL; + ds->cur_trns_chain = ds->permanent_trns_chain; + dict_destroy (ds->permanent_dict); ds->permanent_dict = NULL;