g_free(td);
}
-static gint tab_completion_emit_enter_signal(TabCompData *td)
+static gchar *tab_completion_get_text(TabCompData *td)
{
gchar *text;
- if (!td->enter_func) return FALSE;
text = g_strdup(gtk_entry_get_text(GTK_ENTRY(td->entry)));
g_free(t);
}
+ return text;
+}
+
+static gint tab_completion_emit_enter_signal(TabCompData *td)
+{
+ gchar *text;
+ if (!td->enter_func) return FALSE;
+
+ text = tab_completion_get_text(td);
td->enter_func(text, td->enter_data);
g_free(text);
gchar *text;
if (!td->tab_func) return;
- text = g_strdup(gtk_entry_get_text(GTK_ENTRY(td->entry)));
-
- if (text[0] == '~')
- {
- gchar *t = text;
- text = expand_tilde(text);
- g_free(t);
- }
-
+ text = tab_completion_get_text(td);
td->tab_func(text, td->tab_data);
g_free(text);
}