summaryrefslogtreecommitdiffstats
path: root/tcl8.6/library/word.tcl
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2018-01-02 20:34:49 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2018-01-02 20:34:49 (GMT)
commit89c1ac99d375fbd73892aa659f06ef5e2c5ea56e (patch)
treee76ce80d68d11f1ea137bc33a42f71a1d1f32028 /tcl8.6/library/word.tcl
parent01e4cd2ef2ff59418766b2259fbc99771646aba6 (diff)
downloadblt-89c1ac99d375fbd73892aa659f06ef5e2c5ea56e.zip
blt-89c1ac99d375fbd73892aa659f06ef5e2c5ea56e.tar.gz
blt-89c1ac99d375fbd73892aa659f06ef5e2c5ea56e.tar.bz2
upgrade to tcl/tk 8.6.8
Diffstat (limited to 'tcl8.6/library/word.tcl')
-rw-r--r--tcl8.6/library/word.tcl152
1 files changed, 0 insertions, 152 deletions
diff --git a/tcl8.6/library/word.tcl b/tcl8.6/library/word.tcl
deleted file mode 100644
index 3e4bc3a..0000000
--- a/tcl8.6/library/word.tcl
+++ /dev/null
@@ -1,152 +0,0 @@
-# word.tcl --
-#
-# This file defines various procedures for computing word boundaries in
-# strings. This file is primarily needed so Tk text and entry widgets behave
-# properly for different platforms.
-#
-# Copyright (c) 1996 by Sun Microsystems, Inc.
-# Copyright (c) 1998 by Scritpics Corporation.
-#
-# See the file "license.terms" for information on usage and redistribution
-# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-
-# The following variables are used to determine which characters are
-# interpreted as white space.
-
-if {$::tcl_platform(platform) eq "windows"} {
- # Windows style - any but a unicode space char
- if {![info exists ::tcl_wordchars]} {
- set ::tcl_wordchars {\S}
- }
- if {![info exists ::tcl_nonwordchars]} {
- set ::tcl_nonwordchars {\s}
- }
-} else {
- # Motif style - any unicode word char (number, letter, or underscore)
- if {![info exists ::tcl_wordchars]} {
- set ::tcl_wordchars {\w}
- }
- if {![info exists ::tcl_nonwordchars]} {
- set ::tcl_nonwordchars {\W}
- }
-}
-
-# Arrange for caches of the real matcher REs to be kept, which enables the REs
-# themselves to be cached for greater performance (and somewhat greater
-# clarity too).
-
-namespace eval ::tcl {
- variable WordBreakRE
- array set WordBreakRE {}
-
- proc UpdateWordBreakREs args {
- # Ignores the arguments
- global tcl_wordchars tcl_nonwordchars
- variable WordBreakRE
-
- # To keep the RE strings short...
- set letter $tcl_wordchars
- set space $tcl_nonwordchars
-
- set WordBreakRE(after) "$letter$space|$space$letter"
- set WordBreakRE(before) "^.*($letter$space|$space$letter)"
- set WordBreakRE(end) "$space*$letter+$space"
- set WordBreakRE(next) "$letter*$space+$letter"
- set WordBreakRE(previous) "$space*($letter+)$space*\$"
- }
-
- # Initialize the cache
- UpdateWordBreakREs
- trace add variable ::tcl_wordchars write ::tcl::UpdateWordBreakREs
- trace add variable ::tcl_nonwordchars write ::tcl::UpdateWordBreakREs
-}
-
-# tcl_wordBreakAfter --
-#
-# This procedure returns the index of the first word boundary after the
-# starting point in the given string, or -1 if there are no more boundaries in
-# the given string. The index returned refers to the first character of the
-# pair that comprises a boundary.
-#
-# Arguments:
-# str - String to search.
-# start - Index into string specifying starting point.
-
-proc tcl_wordBreakAfter {str start} {
- variable ::tcl::WordBreakRE
- set result {-1 -1}
- regexp -indices -start $start -- $WordBreakRE(after) $str result
- return [lindex $result 1]
-}
-
-# tcl_wordBreakBefore --
-#
-# This procedure returns the index of the first word boundary before the
-# starting point in the given string, or -1 if there are no more boundaries in
-# the given string. The index returned refers to the second character of the
-# pair that comprises a boundary.
-#
-# Arguments:
-# str - String to search.
-# start - Index into string specifying starting point.
-
-proc tcl_wordBreakBefore {str start} {
- variable ::tcl::WordBreakRE
- set result {-1 -1}
- regexp -indices -- $WordBreakRE(before) [string range $str 0 $start] result
- return [lindex $result 1]
-}
-
-# tcl_endOfWord --
-#
-# This procedure returns the index of the first end-of-word location after a
-# starting index in the given string. An end-of-word location is defined to be
-# the first whitespace character following the first non-whitespace character
-# after the starting point. Returns -1 if there are no more words after the
-# starting point.
-#
-# Arguments:
-# str - String to search.
-# start - Index into string specifying starting point.
-
-proc tcl_endOfWord {str start} {
- variable ::tcl::WordBreakRE
- set result {-1 -1}
- regexp -indices -start $start -- $WordBreakRE(end) $str result
- return [lindex $result 1]
-}
-
-# tcl_startOfNextWord --
-#
-# This procedure returns the index of the first start-of-word location after a
-# starting index in the given string. A start-of-word location is defined to
-# be a non-whitespace character following a whitespace character. Returns -1
-# if there are no more start-of-word locations after the starting point.
-#
-# Arguments:
-# str - String to search.
-# start - Index into string specifying starting point.
-
-proc tcl_startOfNextWord {str start} {
- variable ::tcl::WordBreakRE
- set result {-1 -1}
- regexp -indices -start $start -- $WordBreakRE(next) $str result
- return [lindex $result 1]
-}
-
-# tcl_startOfPreviousWord --
-#
-# This procedure returns the index of the first start-of-word location before
-# a starting index in the given string.
-#
-# Arguments:
-# str - String to search.
-# start - Index into string specifying starting point.
-
-proc tcl_startOfPreviousWord {str start} {
- variable ::tcl::WordBreakRE
- set word {-1 -1}
- regexp -indices -- $WordBreakRE(previous) [string range $str 0 $start-1] \
- result word
- return [lindex $word 0]
-}