X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fsyntax-editor.c;h=469ee4f6983b9940b3ae639d9f2df74a829f38a9;hb=8f157150f5fe225224e407161fb7f899d34b8b18;hp=a9564cb1a563fc959cee8f5c9dc80fe40d914f84;hpb=ecd26ec19e9f8a58079a1c5fa06b39484787ab7e;p=pspp diff --git a/src/ui/gui/syntax-editor.c b/src/ui/gui/syntax-editor.c index a9564cb1a5..469ee4f698 100644 --- a/src/ui/gui/syntax-editor.c +++ b/src/ui/gui/syntax-editor.c @@ -212,22 +212,10 @@ on_quit (GtkMenuItem *menuitem, gpointer user_data) } static void -execute_syntax (const struct syntax_editor *se, GtkTextIter start, +editor_execute_syntax (const struct syntax_editor *se, GtkTextIter start, GtkTextIter stop) { - g_return_if_fail (proc_has_source (the_dataset)); - - getl_append_source (the_source_stream, - create_syntax_editor_source (se, start, stop)); - for (;;) - { - const struct dictionary *dict = dataset_dict (the_dataset); - int result = cmd_parse (se->lexer, the_dataset, - dict_get_var_cnt (dict) > 0 ? - CMD_STATE_DATA : CMD_STATE_INITIAL); - if (result == CMD_EOF || result == CMD_FINISH) - break; - } + execute_syntax (create_syntax_editor_source (se, start, stop)); } /* Parse and execute all the text in the buffer */ @@ -237,11 +225,10 @@ on_run_all (GtkMenuItem *menuitem, gpointer user_data) GtkTextIter begin, end; struct syntax_editor *se = user_data; - gtk_text_buffer_get_iter_at_line (se->buffer, &begin, 0); - gtk_text_buffer_get_iter_at_line (se->buffer, &end, -1); - + gtk_text_buffer_get_iter_at_offset (se->buffer, &begin, 0); + gtk_text_buffer_get_iter_at_offset (se->buffer, &end, -1); - execute_syntax (se, begin, end); + editor_execute_syntax (se, begin, end); } /* Parse and execute the currently selected text */ @@ -252,7 +239,7 @@ on_run_selection (GtkMenuItem *menuitem, gpointer user_data) struct syntax_editor *se = user_data; if ( gtk_text_buffer_get_selection_bounds (se->buffer, &begin, &end) ) - execute_syntax (se, begin, end); + editor_execute_syntax (se, begin, end); } @@ -279,7 +266,7 @@ on_run_current_line (GtkMenuItem *menuitem, gpointer user_data) gtk_text_buffer_get_iter_at_line (se->buffer, &begin, line); gtk_text_buffer_get_iter_at_line (se->buffer, &end, line + 1); - execute_syntax (se, begin, end); + editor_execute_syntax (se, begin, end); } @@ -308,7 +295,7 @@ on_run_to_end (GtkMenuItem *menuitem, gpointer user_data) gtk_text_buffer_get_iter_at_line (se->buffer, &begin, line); gtk_text_buffer_get_iter_at_line (se->buffer, &end, -1); - execute_syntax (se, begin, end); + editor_execute_syntax (se, begin, end); }