[gedit/wip/search-fixes] Regex search: do not unescape search text
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit/wip/search-fixes] Regex search: do not unescape search text
- Date: Wed, 28 Aug 2013 12:06:07 +0000 (UTC)
commit 9a7ed08696bbdc28686e8ae9d74fdb6059769cd2
Author: Sébastien Wilmet <swilmet gnome org>
Date: Wed Aug 28 13:55:54 2013 +0200
Regex search: do not unescape search text
\n, \t and \r are already supported by the regex search. No need to
unescape those character sequences.
gedit/gedit-replace-dialog.c | 19 +++++++++++++------
gedit/gedit-view-frame.c | 21 +++++++++++++--------
2 files changed, 26 insertions(+), 14 deletions(-)
---
diff --git a/gedit/gedit-replace-dialog.c b/gedit/gedit-replace-dialog.c
index 2e305cb..6ec132a 100644
--- a/gedit/gedit-replace-dialog.c
+++ b/gedit/gedit-replace-dialog.c
@@ -475,18 +475,25 @@ search_text_entry_changed (GtkEditable *editable,
GeditReplaceDialog *dialog)
{
const gchar *search_text;
- gchar *unescaped_search_text;
search_text = gtk_entry_get_text (GTK_ENTRY (editable));
- unescaped_search_text = gtk_source_utils_unescape_search_text (search_text);
+ if (gtk_source_search_settings_get_regex_enabled (dialog->priv->search_settings))
+ {
+ gtk_source_search_settings_set_search_text (dialog->priv->search_settings,
+ search_text);
+ }
+ else
+ {
+ gchar *unescaped_search_text = gtk_source_utils_unescape_search_text (search_text);
- gtk_source_search_settings_set_search_text (dialog->priv->search_settings,
- unescaped_search_text);
+ gtk_source_search_settings_set_search_text (dialog->priv->search_settings,
+ unescaped_search_text);
- update_responses_sensitivity (dialog);
+ g_free (unescaped_search_text);
+ }
- g_free (unescaped_search_text);
+ update_responses_sensitivity (dialog);
}
/* TODO: move in gedit-document.c and share it with gedit-view-frame */
diff --git a/gedit/gedit-view-frame.c b/gedit/gedit-view-frame.c
index f4a71de..5fe089d 100644
--- a/gedit/gedit-view-frame.c
+++ b/gedit/gedit-view-frame.c
@@ -701,20 +701,25 @@ install_update_entry_tag_idle (GeditViewFrame *frame)
static void
update_search_text (GeditViewFrame *frame)
{
- const gchar *entry_text;
- gchar *unescaped_entry_text;
-
- entry_text = gtk_entry_get_text (GTK_ENTRY (frame->priv->search_entry));
+ const gchar *entry_text = gtk_entry_get_text (GTK_ENTRY (frame->priv->search_entry));
g_free (frame->priv->search_text);
frame->priv->search_text = g_strdup (entry_text);
- unescaped_entry_text = gtk_source_utils_unescape_search_text (entry_text);
+ if (gtk_source_search_settings_get_regex_enabled (frame->priv->search_settings))
+ {
+ gtk_source_search_settings_set_search_text (frame->priv->search_settings,
+ entry_text);
+ }
+ else
+ {
+ gchar *unescaped_entry_text = gtk_source_utils_unescape_search_text (entry_text);
- gtk_source_search_settings_set_search_text (frame->priv->search_settings,
- unescaped_entry_text);
+ gtk_source_search_settings_set_search_text (frame->priv->search_settings,
+ unescaped_entry_text);
- g_free (unescaped_entry_text);
+ g_free (unescaped_entry_text);
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]