SF.net SVN: geany:[4716] branches/gnu-regex

ntrel at users.sourceforge.net ntrel at xxxxx
Mon Mar 1 17:07:57 UTC 2010


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.



More information about the Commits mailing list