TclApps Library Source Code
Check-in [c2dfc15db5]
Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:* tkchat.tcl (::tkchat::parseStr): Render words of 10..40 characters as links to fossil artifact IDs on core.tcl.tk.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: c2dfc15db550cf8cf2a0e8f2824f3f8dd5fbac09
User & Date: rmax 2011-03-23 17:31:25
Context
2011-05-12
21:25
Make all http requests explictly ipv4 when using 8.6. There is currently a bug in the ipv6 socket handling in 8.6 where if a site has an ipv6 address and does not provide a services on that address then socket -async will return an error to tcl. A synchronous socket will try ipv6 and then ipv4 before returning to tcl. To work around this we can force http requests to use ipv4 until this is fixed so that async sockets operate like the synchronous ones. Signed-off-by: Pat Thoyts <[email protected]> check-in: 35f975c8d8 user: patthoyts tags: trunk
2011-03-23
17:31
* tkchat.tcl (::tkchat::parseStr): Render words of 10..40 characters as links to fossil artifact IDs on core.tcl.tk. check-in: c2dfc15db5 user: rmax tags: trunk
2011-01-06
17:15
Add standalone support to askleo check-in: 21449c368f user: rmax tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to apps/tkchat/ChangeLog.






1
2
3
4
5
6
7




2011-01-06  Reinhard Max  <[email protected]>

	* askleo/askleo.tcl: Complete the API adjustments and add support
	for running askleo.tcl as a standalone application.

2010-11-16  Reinhard Max  <[email protected]>

>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
2011-03-23  Reinhard Max  <[email protected]>

	* tkchat.tcl (::tkchat::parseStr): Render words of 10..40
	characters as links to fossil artifact IDs on core.tcl.tk.
	
2011-01-06  Reinhard Max  <[email protected]>

	* askleo/askleo.tcl: Complete the API adjustments and add support
	for running askleo.tcl as a standalone application.

2010-11-16  Reinhard Max  <[email protected]>

Changes to apps/tkchat/tkchat.tcl.

275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
....
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044


1045
1046
1047
1048
1049
1050
1051
1052
1053












1054
1055
1056
1057
1058
1059
1060
    }
}

namespace eval ::tkchat {
    variable chatWindowTitle "The Tcler's Chat"

    variable HEADUrl {http://tcllib.cvs.sourceforge.net/*checkout*/tcllib/tclapps/apps/tkchat/tkchat.tcl?revision=HEAD}
    variable rcsid   {$Id: tkchat.tcl,v 1.481 2010/09/17 10:13:51 rmax Exp $}

    variable MSGS
    set MSGS(entered) [list \
	    "%user% has entered the chat!" \
	    "Out of a cloud of smoke, %user% appears!" \
	    "%user% saunters in." \
	    "%user% wanders in." \
................................................................................
    }

    if {[string length $str]} {
	lappend sList $str ""
    }
    set out {}
    variable TipIndex
    # Assume any 6 or 7-digit sequence is a SF bug id and make URLs for them
    foreach {str url} $sList {
	if {[string length $url]} {
	    lappend out $str $url {}
	    continue
	}


	while {[regexp -- {^(.*?)(\m[0-9]{6,7}\M)(.*?)$} \
		    $str -> pre id post]} {
	    if {[string length $pre]} {
		lappend out $pre {} {}
	    }
	    set url "http://sourceforge.net/support/tracker.php?aid=$id"
	    lappend out $id $url $url
	    set str $post
	}












        while {[regexp -- {^(.*?)[Tt][Ii][Pp]\s?\#?(\d+)(.*?)$} $str -> pre id post]} {
            if {[string length $pre]} { lappend out $pre {} {} }
            set tt ""
            catch {
                if {[info exists TipIndex] && $id < [llength $TipIndex] && $id >= 0} {
                    array set tip [lindex $TipIndex $id]
                    set tt $tip(Title)






|







 







<





>
>









>
>
>
>
>
>
>
>
>
>
>
>







275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
....
1032
1033
1034
1035
1036
1037
1038

1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
    }
}

namespace eval ::tkchat {
    variable chatWindowTitle "The Tcler's Chat"

    variable HEADUrl {http://tcllib.cvs.sourceforge.net/*checkout*/tcllib/tclapps/apps/tkchat/tkchat.tcl?revision=HEAD}
    variable rcsid   {$Id: tkchat.tcl,v 1.482 2011/03/23 17:31:26 rmax Exp $}

    variable MSGS
    set MSGS(entered) [list \
	    "%user% has entered the chat!" \
	    "Out of a cloud of smoke, %user% appears!" \
	    "%user% saunters in." \
	    "%user% wanders in." \
................................................................................
    }

    if {[string length $str]} {
	lappend sList $str ""
    }
    set out {}
    variable TipIndex

    foreach {str url} $sList {
	if {[string length $url]} {
	    lappend out $str $url {}
	    continue
	}
        # Assume any 6 or 7-digit sequence is a SF bug id and make
        # URLs for them
	while {[regexp -- {^(.*?)(\m[0-9]{6,7}\M)(.*?)$} \
		    $str -> pre id post]} {
	    if {[string length $pre]} {
		lappend out $pre {} {}
	    }
	    set url "http://sourceforge.net/support/tracker.php?aid=$id"
	    lappend out $id $url $url
	    set str $post
	}
        # Render words of 10..40 characters as links to fossil
        # artifact IDs on core.tcl.tk
        while {[regexp -- {^(.*?)(\m[[:xdigit:]]{10,40}\M)(.*?)$} \
                    $str -> pre id post]} {
            if {[string length $pre]} {
                lappend out $pre {} {}
            }
            set url "http://core.tcl.tk/redirect?name=$id"
            lappend out $id $url $url
            set str $post
        }
        # Detect the mentioning of TIPs and link to them
        while {[regexp -- {^(.*?)[Tt][Ii][Pp]\s?\#?(\d+)(.*?)$} $str -> pre id post]} {
            if {[string length $pre]} { lappend out $pre {} {} }
            set tt ""
            catch {
                if {[info exists TipIndex] && $id < [llength $TipIndex] && $id >= 0} {
                    array set tip [lindex $TipIndex $id]
                    set tt $tip(Title)