X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fhelper.c;h=b582298186b2cee49f68dc88dd8cfb56323dd680;hb=4c938ca6e42d409551da41486906ec70ef6fb6c0;hp=f8e3ddba23e212723e84d95aed2eeb1458faad47;hpb=92c09e564002d356d20fc1e2e131027ef89f6748;p=pspp-builds.git diff --git a/src/ui/gui/helper.c b/src/ui/gui/helper.c index f8e3ddba..b5822981 100644 --- a/src/ui/gui/helper.c +++ b/src/ui/gui/helper.c @@ -168,8 +168,13 @@ extern PsppireDataStore *the_data_store; gboolean execute_syntax (struct getl_interface *sss) { + gboolean status; struct lexer *lexer; + struct casereader *reader = psppire_data_store_get_reader (the_data_store); + + proc_set_active_file_data (the_dataset, reader); + g_return_val_if_fail (proc_has_active_file (the_dataset), FALSE); lexer = lex_create (the_source_stream); @@ -189,9 +194,20 @@ execute_syntax (struct getl_interface *sss) lex_destroy (lexer); /* GUI syntax needs this implicit EXECUTE command at the end of - every script. Otherwise commands like GET could leave the GUI without - a casefile. */ - return proc_execute (the_dataset); + every script. Otherwise commands like GET could leave the GUI + without a datasheet. */ + status = proc_execute (the_dataset); + + psppire_dict_replace_dictionary (the_data_store->dict, + dataset_dict (the_dataset)); + + { + PsppireCaseFile *pcf = psppire_case_file_new (dataset_source (the_dataset)); + + psppire_data_store_set_case_file (the_data_store, pcf); + } + + return status; }