diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | library/text.tcl | 4 | ||||
-rw-r--r-- | tests/textIndex.test | 13 |
3 files changed, 19 insertions, 3 deletions
@@ -1,3 +1,8 @@ +2005-05-10 Vince Darley <vincentdarley@users.sourceforge.net> + + * library/text.tcl: test and fix to TextPrevPara to avoid infinite loop + * tests/textIndex.test: at start of widget [Bug 1191895] + 2005-05-06 Jeff Hobbs <jeffh@ActiveState.com> * unix/configure: regen diff --git a/library/text.tcl b/library/text.tcl index cf40c38..3b2a5ab 100644 --- a/library/text.tcl +++ b/library/text.tcl @@ -3,7 +3,7 @@ # This file defines the default bindings for Tk text widgets and provides # procedures that help in implementing the bindings. # -# RCS: @(#) $Id: text.tcl,v 1.24.2.5 2004/12/06 19:42:11 hobbs Exp $ +# RCS: @(#) $Id: text.tcl,v 1.24.2.6 2005/05/13 13:48:21 vincentdarley Exp $ # # Copyright (c) 1992-1994 The Regents of the University of California. # Copyright (c) 1994-1997 Sun Microsystems, Inc. @@ -888,7 +888,7 @@ proc ::tk::TextPrevPara {w pos} { dummy index]} { set pos [$w index "$pos + [lindex $index 0] chars"] } - if {[$w compare $pos != insert] || [string equal $pos 1.0]} { + if {[$w compare $pos != insert] || [lindex [split $pos .] 0] == 1} { return $pos } } diff --git a/tests/textIndex.test b/tests/textIndex.test index 98f81bb..12eada2 100644 --- a/tests/textIndex.test +++ b/tests/textIndex.test @@ -6,7 +6,7 @@ # Copyright (c) 1998-1999 by Scriptics Corporation. # All rights reserved. # -# RCS: @(#) $Id: textIndex.test,v 1.7 2002/07/13 20:28:35 dgp Exp $ +# RCS: @(#) $Id: textIndex.test,v 1.7.2.1 2005/05/13 13:48:21 vincentdarley Exp $ package require tcltest 2.1 namespace import -force tcltest::configure @@ -667,6 +667,17 @@ test testIndex-16.2 {TkTextPrintIndex} { catch {destroy $t} } 0 +test textIndex-23.1 {text paragraph start} { + pack [text .t2] + .t2 insert end " Text" + set res 2.0 + for {set i 0} {$i < 2} {incr i} { + lappend res [::tk::TextPrevPara .t2 [lindex $res end]] + } + destroy .t2 + set res +} {2.0 1.1 1.1} + # cleanup rename textimage {} catch {destroy .t} |