Revision: 4716 http://geany.svn.sourceforge.net/geany/?rev=4716&view=rev Author: ntrel Date: 2010-03-01 17:07:56 +0000 (Mon, 01 Mar 2010)
Log Message: ----------- Make regex search imply replacing escaped chars.
Modified Paths: -------------- branches/gnu-regex/ChangeLog branches/gnu-regex/src/search.c
Modified: branches/gnu-regex/ChangeLog =================================================================== --- branches/gnu-regex/ChangeLog 2010-02-28 15:05:47 UTC (rev 4715) +++ branches/gnu-regex/ChangeLog 2010-03-01 17:07:56 UTC (rev 4716) @@ -1,3 +1,9 @@ +2010-03-01 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com> + + * src/search.c: + Make regex search imply replacing escaped chars. + + 2010-02-26 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/document.c:
Modified: branches/gnu-regex/src/search.c =================================================================== --- branches/gnu-regex/src/search.c 2010-02-28 15:05:47 UTC (rev 4715) +++ branches/gnu-regex/src/search.c 2010-03-01 17:07:56 UTC (rev 4716) @@ -957,9 +957,12 @@ GtkWidget *check_wordstart = ui_lookup_widget(dialog, "check_wordstart"); GtkToggleButton *check_case = GTK_TOGGLE_BUTTON( ui_lookup_widget(dialog, "check_case")); + GtkWidget *check_escape = ui_lookup_widget(dialog, "check_escape"); static gboolean case_state = FALSE; /* state before regex enabled */
/* hide options that don't apply to regex searches */ + gtk_widget_set_sensitive(check_escape, ! regex_set); + if (dialog == find_dlg.dialog) gtk_widget_set_sensitive(ui_lookup_widget(dialog, "btn_previous"), ! regex_set); else @@ -1072,18 +1075,18 @@
g_free(search_data.text); search_data.text = g_strdup(gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(user_data))))); + search_data.flags = get_search_flags(find_dlg.dialog); + if (strlen(search_data.text) == 0 || - (search_replace_escape && ! utils_str_replace_escape(search_data.text))) + ((search_replace_escape || search_data.flags & SCFIND_REGEXP) && + ! utils_str_replace_escape(search_data.text))) { utils_beep(); gtk_widget_grab_focus(find_dlg.entry); return; } - ui_combo_box_add_to_history(GTK_COMBO_BOX(user_data), search_data.text);
- search_data.flags = get_search_flags(find_dlg.dialog); - switch (response) { case GEANY_RESPONSE_FIND: @@ -1212,7 +1215,7 @@ ui_combo_box_add_to_history(GTK_COMBO_BOX( gtk_widget_get_parent(replace_dlg.replace_entry)), replace);
- if (search_replace_escape_re && + if ((search_replace_escape_re || search_flags_re & SCFIND_REGEXP) && (! utils_str_replace_escape(find) || ! utils_str_replace_escape(replace))) { utils_beep();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.