projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed buglet managing entries in the recent files lists.
[pspp-builds.git]
/
src
/
ui
/
gui
/
helper.c
diff --git
a/src/ui/gui/helper.c
b/src/ui/gui/helper.c
index 1ca0df3e48dfd476fd33c1b5132c240774e50319..0203999d653b38f6b0a343c82750cea1382f0f61 100644
(file)
--- a/
src/ui/gui/helper.c
+++ b/
src/ui/gui/helper.c
@@
-165,16
+165,17
@@
extern struct dataset *the_dataset;
extern struct source_stream *the_source_stream;
extern PsppireDataStore *the_data_store;
extern struct source_stream *the_source_stream;
extern PsppireDataStore *the_data_store;
-void
+gboolean
execute_syntax (struct getl_interface *sss)
{
struct lexer *lexer;
execute_syntax (struct getl_interface *sss)
{
struct lexer *lexer;
+ gboolean retval = TRUE;
struct casereader *reader = psppire_data_store_get_reader (the_data_store);
proc_set_active_file_data (the_dataset, reader);
struct casereader *reader = psppire_data_store_get_reader (the_data_store);
proc_set_active_file_data (the_dataset, reader);
- g_return_
if_fail (proc_has_active_file (the_dataset)
);
+ g_return_
val_if_fail (proc_has_active_file (the_dataset), FALSE
);
lexer = lex_create (the_source_stream);
lexer = lex_create (the_source_stream);
@@
-182,9
+183,17
@@
execute_syntax (struct getl_interface *sss)
for (;;)
{
for (;;)
{
-
in
t result = cmd_parse (lexer, the_dataset);
+
enum cmd_resul
t result = cmd_parse (lexer, the_dataset);
- if (result == CMD_EOF || result == CMD_FINISH)
+ if ( cmd_result_is_failure (result))
+ {
+ retval = FALSE;
+ if ( source_stream_current_error_mode (the_source_stream)
+ == ERRMODE_STOP )
+ break;
+ }
+
+ if ( result == CMD_EOF || result == CMD_FINISH)
break;
}
break;
}
@@
-206,6
+215,8
@@
execute_syntax (struct getl_interface *sss)
som_flush ();
reload_the_viewer ();
som_flush ();
reload_the_viewer ();
+
+ return retval;
}
}