X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fsyntax-editor.c;h=4ca3dfe77532f3268c171728a6069dc1728a98a5;hb=3f159627d3b80706e58a54be2431c3edbc5333dc;hp=af6175f698e7ffe7e041a9504767e46a8d6214fb;hpb=4517b68e7248f22e7b7ed81f0d73179351a53047;p=pspp diff --git a/src/ui/gui/syntax-editor.c b/src/ui/gui/syntax-editor.c index af6175f698..4ca3dfe775 100644 --- a/src/ui/gui/syntax-editor.c +++ b/src/ui/gui/syntax-editor.c @@ -212,24 +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; - } - - getl_abort_noninteractive (the_source_stream); + execute_syntax (create_syntax_editor_source (se, start, stop)); } /* Parse and execute all the text in the buffer */ @@ -239,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 */ @@ -254,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); } @@ -281,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); } @@ -310,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); } @@ -356,12 +341,6 @@ new_syntax_editor (void) G_CALLBACK (new_data_window), e->window); - g_signal_connect (get_widget_assert (xml,"file_open_data"), - "activate", - G_CALLBACK (open_data_window), - e->window); - - g_signal_connect (get_widget_assert (xml,"help_about"), "activate", G_CALLBACK (about_new),