static gboolean tooltip_launch(gpointer gdata) { GeanyDocument *doc = document_get_current(); if (doc && utils_source_document(doc) && doc->editor == gdata && (debug_state() & DS_SENDABLE)) { ScintillaObject *sci = doc->editor->sci; gchar *expr = sci_get_selection_mode(sci) == SC_SEL_STREAM && peek_pos >= sci_get_selection_start(sci) && peek_pos < sci_get_selection_end(sci) ? editor_get_default_selection(doc->editor, FALSE, NULL) : editor_get_word_at_pos(doc->editor, peek_pos, NULL); if ((expr = utils_verify_selection(expr)) != NULL) { g_free(input); input = debug_send_evaluate('3', scid_gen, expr); g_free(expr); } else tooltip_set(NULL); } else tooltip_set(NULL); query_id = 0; return FALSE; }
static void on_popup_evaluate(const MenuItem *menu_item) { gchar *expr = utils_get_default_selection(); g_free(input); eval_mr_mode = menu_item ? MR_MODIFY : MR_MODSTR; input = debug_send_evaluate('8', ++scid_gen, expr); g_free(expr); }