diff options
author | vincentdarley <vincentdarley@noemail.net> | 2004-06-09 22:39:08 (GMT) |
---|---|---|
committer | vincentdarley <vincentdarley@noemail.net> | 2004-06-09 22:39:08 (GMT) |
commit | b5237a35194f2c151e823c79905f8102b7d437e6 (patch) | |
tree | d0729dae13127ef0b0bc2c86feacecfa3e6a00a1 | |
parent | 42d280db6bedc7414ab883c2fb6b8071f24d3d24 (diff) | |
download | tk-b5237a35194f2c151e823c79905f8102b7d437e6.zip tk-b5237a35194f2c151e823c79905f8102b7d437e6.tar.gz tk-b5237a35194f2c151e823c79905f8102b7d437e6.tar.bz2 |
multiline text widget regexp search fix
FossilOrigin-Name: 9fcec4192f52b4c7d2890da0bf8a2a75dcf86f02
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | generic/tkText.c | 4 | ||||
-rw-r--r-- | tests/text.test | 31 |
3 files changed, 39 insertions, 3 deletions
@@ -1,3 +1,10 @@ +2004-06-09 Vince Darley <vincentdarley@users.sourceforge.net> + + * generic/tkText.c: + * tests/text.test: fix to multi-line regexp search bugs in text + widget (reported against Alphatk editor, not on sf). + Addded 3 new tests. + 2004-06-09 Donal K. Fellows <donal.k.fellows@man.ac.uk> * generic/tkUndo.c (TkUndoSetDepth): Delete the unlinked element and diff --git a/generic/tkText.c b/generic/tkText.c index 01a09f9..fecbdb0 100644 --- a/generic/tkText.c +++ b/generic/tkText.c @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkText.c,v 1.50 2004/06/04 10:51:18 vincentdarley Exp $ + * RCS: @(#) $Id: tkText.c,v 1.51 2004/06/09 22:39:08 vincentdarley Exp $ */ #include "default.h" @@ -4612,7 +4612,7 @@ SearchCore(interp, searchSpecPtr, patObj) */ if (!match || ((info.extendStart == info.matches[0].start) - && (info.matches[0].end == lastOffset))) { + && (info.matches[0].end == (lastOffset - firstOffset)))) { int extraLines = 1; int prevFullLine; /* diff --git a/tests/text.test b/tests/text.test index 2d0ee93..16a6083 100644 --- a/tests/text.test +++ b/tests/text.test @@ -6,7 +6,7 @@ # Copyright (c) 1998-1999 by Scriptics Corporation. # All rights reserved. # -# RCS: @(#) $Id: text.test,v 1.29 2004/03/17 18:15:50 das Exp $ +# RCS: @(#) $Id: text.test,v 1.30 2004/06/09 22:39:08 vincentdarley Exp $ package require tcltest 2.1 eval tcltest::configure $argv @@ -2563,6 +2563,35 @@ test text-20.172 {TextSearchCmd, regexp search multi-line} {knownBug} { # Should match at 1.0 for a true greedy match } {1.0} +test text-20.173 {TextSearchCmd, regexp search multi-line} { + deleteWindows + pack [text .t2] + .t2 insert 1.0 "\naaaxxx\nyyy\n" + set res {} + lappend res [.t2 search -count c -regexp -- {x*\ny*} 2.0] $c + lappend res [.t2 search -count c -regexp -- {x*\ny*} 2.1] $c + set res +} {2.3 7 2.3 7} + +test text-20.174 {TextSearchCmd, regexp search multi-line} { + deleteWindows + pack [text .t2] + .t2 insert 1.0 "\naaa\n\n\n\n\nxxx\n" + set res {} + lappend res [.t2 search -count c -regexp -- {\n+} 2.0] $c + lappend res [.t2 search -count c -regexp -- {\n+} 2.1] $c + set res +} {2.3 5 2.3 5} + +test text-20.175 {TextSearchCmd, regexp search multi-line} { + deleteWindows + pack [text .t2] + .t2 insert 1.0 "\naaa\n\n\t \n\t\t\t \n\nxxx\n" + set res {} + lappend res [.t2 search -count c -regexp -- {(\n+(\t+ *)*)+} 2.0] $c + set res +} {2.3 13} + deleteWindows text .t2 -highlightthickness 0 -bd 0 -relief flat -padx 0 -width 100 pack .t2 |