[geany/geany] 66b93d: Fix "mark all" search feature when using regular expressions

Colomban Wendling git-noreply at xxxxx
Sun Sep 2 12:47:07 UTC 2012


Branch:      refs/heads/master
Author:      Colomban Wendling <ban at herbesfolles.org>
Committer:   Colomban Wendling <ban at herbesfolles.org>
Date:        Sun, 02 Sep 2012 12:47:07
Commit:      66b93d2d8d1f60b57bd87d7250a00c3815a78bae
             https://github.com/geany/geany/commit/66b93d2d8d1f60b57bd87d7250a00c3815a78bae

Log Message:
-----------
Fix "mark all" search feature when using regular expressions

Use the proper, full-featured, regular expression engine we use
everywhere else rather than Scintilla's stripped-down one.

Closes #3564132.


Modified Paths:
--------------
    NEWS
    src/search.c

Modified: NEWS
3 files changed, 3 insertions(+), 0 deletions(-)
===================================================================
@@ -3,6 +3,9 @@ Geany 1.23 (unreleased)
     Editor
     * Update Scintilla to version 3.2.1 (#3540469).
 
+    Search
+    * 'Mark All' now also uses the fully-featured PCRE engine (#3564132).
+
 
 Geany 1.22 (June 18, 2012)
 


Modified: src/search.c
5 files changed, 4 insertions(+), 1 deletions(-)
===================================================================
@@ -1177,7 +1177,7 @@ gint search_mark_all(GeanyDocument *doc, const gchar *search_text, gint flags)
 	ttf.lpstrText = (gchar *)search_text;
 	while (TRUE)
 	{
-		pos = sci_find_text(doc->editor->sci, flags, &ttf);
+		pos = search_find_text(doc->editor->sci, flags, &ttf);
 		if (pos == -1) break;
 
 		len = ttf.chrgText.cpMax - ttf.chrgText.cpMin;
@@ -1185,6 +1185,9 @@ gint search_mark_all(GeanyDocument *doc, const gchar *search_text, gint flags)
 			editor_indicator_set_on_range(doc->editor, GEANY_INDICATOR_SEARCH, pos, pos + len);
 
 		ttf.chrg.cpMin = ttf.chrgText.cpMax;
+		/* make sure to advance even with empty matches (see find_document_usage()) */
+		if (len == 0)
+			ttf.chrg.cpMin ++;
 		count++;
 	}
 	return count;


@@ Diff output truncated at 100000 characters. @@


--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).



More information about the Commits mailing list