UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available 
Author Message
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Hi,

  !! a new day a new highlight !!

  "Compiler" 1.1 "amadeus" provides ...
  the BUG-FREE edition of http.tcl the TCL web-server.

  Have a look to:

    http:/home.t-online.de/home/aotto/comp-tclhttp_E.html

  for additional information.

  Includet is the BINARY and the SOURCE-CODE in C and TCL.
  The RunTime library is missing, so don't try to compile it.

mfg

  aotto :)

--
================================================================
Andreas Otto              Phone: ++49-(0)8152-399540

    Praezisionsnumerik    Web: http://www.*-*-*.com/
Ulmenstrasse 3            Skills: Unix,Sql,Tcl,Shell,Sybase...
D-34289 Zierenberg        Area: Bank, FX, MM, shares, options
=================================================================



Fri, 20 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Quote:

> Hi,

>   !! a new day a new highlight !!
> [...]

A new posting, a new nightmare.
Oh no, not again. In the beginning your daily postings were quite
amusing, but now Im really getting annoyed at the postings from you,
Mr. Otto, telling us that Tcl will die without your compiler, that we
have to buy your compiler or have to "die silly", that your compiler
detects and improves every piece of code, but you wont tell what he is
correcting, SHOUTING AT US and asking for webspace (you as a company ???
very strange) and so on, that doesnt sound like serious business to me.
Youre not going to make a lot of friends here with your strategy.

And could you post your Updates to comp.lang.tcl.announce, thats the NG
where anouncements should go (somebody correct me if that is not the
case).

Thanks a lot.

Gerhard



Fri, 20 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

If you don't blaim arround and starting reading the posting
you will read about the code.
Just start to download and see what kind of error's the
"Compiler" detect and remove.

If you don't like the posting

   DON'T READ IT

I only read ~ 10% of the postings to this newsgroup
and i will not blaim the 90% i don't read

perhaps you will understand that somebody is interrested
on a error free edition of httpd.tcl

mfg

aotto :)

--
================================================================
Andreas Otto              Phone: ++49-(0)8152-399540

    Praezisionsnumerik    Web: http://home.t-online.de/home/aotto
Ulmenstrasse 3            Skills: Unix,Sql,Tcl,Shell,Sybase...
D-34289 Zierenberg        Area: Bank, FX, MM, shares, options
=================================================================



Fri, 20 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Quote:

> If you don't blaim arround and starting reading the posting
> you will read about the code.

Cant understand that ?

Quote:
> Just start to download and see what kind of error's the
> "Compiler" detect and remove.

You should then add a correct link to your original posting,
(http:/home... is _not_ valid), you should use double slash instead,

there is no newsgroup home-t.online-de/home... )

Quote:
> If you don't like the posting

>    DON'T READ IT

Do you ever read replies to your postings or dont you understand them ?
People do not like it if you shout at them (write in uppercase letters,
for you "IN GROSSBUCHSTABEN"), so SPEAK SLOW AND CALM AND DONT SHOUT AT
ME !
If everybody would act like you, the traffic here would be even more, an
everbody spends 90% of his time for deciding weather to read or not to
read, and only 10% for answering.

Never the less you should consider to post in comp.lang.tcl.announce,
instead of posting every little change of your product several times a
day,that is ANNOYING ;) . An update once a week will do it. Im giving
you this as an advice (free, no licence required), because the number of
people, who dont like your frequent postings, is constantly growing, at
least thats what I read out of the last few threaDs.

Gerhard



Fri, 20 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Quote:

> If you don't blaim arround and starting reading the posting
> you will read about the code.
> Just start to download and see what kind of error's the
> "Compiler" detect and remove.

> If you don't like the posting

>    DON'T READ IT

> I only read ~ 10% of the postings to this newsgroup
> and i will not blaim the 90% i don't read

> perhaps you will understand that somebody is interrested
> on a error free edition of httpd.tcl

*somebody*? Yes. *everybody*? No.


Fri, 20 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Quote:
> Hi,

>   !! a new day a new highlight !!

>   "Compiler" 1.1 "amadeus" provides ...
>   the BUG-FREE edition of http.tcl the TCL web-server.

>   Have a look to:

>     http:/home.t-online.de/home/aotto/comp-tclhttp_E.html

>   for additional information.

>   Includet is the BINARY and the SOURCE-CODE in C and TCL.
>   The RunTime library is missing, so don't try to compile it.

right:

  http://home.t-online.de/home/aotto/comp-tclhttp_E.html

mfg

  aotto :)

--
================================================================
Andreas Otto              Phone: ++49-(0)8152-399540

    Praezisionsnumerik    Web: http://home.t-online.de/home/aotto
Ulmenstrasse 3            Skills: Unix,Sql,Tcl,Shell,Sybase...
D-34289 Zierenberg        Area: Bank, FX, MM, shares, options
=================================================================



Fri, 20 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Quote:

> perhaps you will understand that somebody is interrested
> on a error free edition of httpd.tcl

tclhttpd is OpenSource. You're expected to post your changes here or on Ajuba's
bug form for the benefit of the whole community, rather than burried within a
2MB archive under a different license than the original. Doing that makes you
look like a thief.
--

(please note my new email adresss        ^^^^^^^^^^^^^^^^^^^^^^
---------------------------------------------------------------
"Theory may inform, but Practice convinces"
                                                    George Bain


Sat, 21 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Quote:

> tclhttpd is OpenSource. You're expected to post your changes here or on Ajuba's
> bug form for the benefit of the whole community, rather than burried within a
> 2MB archive under a different license than the original. Doing that makes you
> look like a thief.

Hi,

  it is not my intention to destroy free software or
  steal any licence from very well designed free software projects.

  The intention was to show the community the power of "Compiler"
  not more not less

mfg

aotto :)

--
================================================================
Andreas Otto              Phone: ++49-(0)8152-399540

    Praezisionsnumerik    Web: http://home.t-online.de/home/aotto
Ulmenstrasse 3            Skills: Unix,Sql,Tcl,Shell,Sybase...
D-34289 Zierenberg        Area: Bank, FX, MM, shares, options
=================================================================



Sat, 21 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Quote:

>   it is not my intention to destroy free software or
>   steal any licence from very well designed free software projects.

>   The intention was to show the community the power of "Compiler"
>   not more not less

OK. May I see the bugs now please :-)

--

(please note my new email adresss        ^^^^^^^^^^^^^^^^^^^^^^
---------------------------------------------------------------
"Theory may inform, but Practice convinces"
                                                    George Bain



Sat, 21 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Quote:

> >   it is not my intention to destroy free software or
> >   steal any licence from very well designed free software projects.

> >   The intention was to show the community the power of "Compiler"
> >   not more not less

> OK. May I see the bugs now please :-)

Hi,

  refer to:

  http://home.t-online.de/home/aotto/comp-tclhttp_E.html

  for download

mfg

aotto :)

--
================================================================
Andreas Otto              Phone: ++49-(0)8152-399540

    Praezisionsnumerik    Web: http://home.t-online.de/home/aotto
Ulmenstrasse 3            Skills: Unix,Sql,Tcl,Shell,Sybase...
D-34289 Zierenberg        Area: Bank, FX, MM, shares, options
=================================================================



Sat, 21 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Quote:


> > OK. May I see the bugs now please :-)
.....
>   refer to:

>   http://home.t-online.de/home/aotto/comp-tclhttp_E.html

>   for download

As a productive service tot the community, here is the diff between Andreas
Otto's
2.1 MByte distribution and the 0.38 Mbyte TclHttp distribution. The result
is a 48 kByte diff-file, small enough to post here ;-)

The only difference with the original source I see is the addition of a lot
of {}'s around the expressions in 'if' and 'expr' statements. According to
Andreas Otto, 3 of them are 'real' bugs. I cannot find them. Anyone?

However, a few changes seems to be 'Compiler'-specific, so I wouldn't
apply this patch blindly to the TclHttpd sources.

Regards,
--
Jan Nijtmans, CMG Oost-Nederland B.V.


url:   http://purl.oclc.org/net/nijtmans/

[ diff.txt 46K ]
Only in ../../tclhttpd3.0.3/lib: CVS
Only in ../../tclhttpd3.0.3/lib: MakeIndex
diff -r -c ../../tclhttpd3.0.3/lib/admin.tcl src/admin.tcl
*** ../../tclhttpd3.0.3/lib/admin.tcl   Sat Mar 18 17:36:46 2000
--- src/admin.tcl       Mon Jul  3 16:50:46 2000
***************
*** 27,33 ****
      if {$Httpd(port) != 80} {
        append server :$Httpd(port)
      }
!     if ![regexp ^http: $new] {
        set new http://$server$new
      }

--- 27,33 ----
      if {$Httpd(port) != 80} {
        append server :$Httpd(port)
      }
!     if {![regexp ^http: $new]} {
        set new http://$server$new
      }

***************
*** 39,45 ****
           Url_Redirect $old http:$server$new"

      Url_Redirect $old $new
!     if [info exists Doc(notfound,$old)] {
        unset Doc(notfound,$old)
      }
      return <h1>ok</h1>
--- 39,45 ----
           Url_Redirect $old http:$server$new"

      Url_Redirect $old $new
!     if {[info exists Doc(notfound,$old)]} {
        unset Doc(notfound,$old)
      }
      return <h1>ok</h1>
diff -r -c ../../tclhttpd3.0.3/lib/auth.tcl src/auth.tcl
*** ../../tclhttpd3.0.3/lib/auth.tcl    Fri May  5 22:55:27 2000
--- src/auth.tcl        Mon Jul  3 16:50:46 2000
***************
*** 47,53 ****
      foreach component $pathlist {
        foreach {name type} {.htaccess Basic .tclaccess Tcl} {
            set file [file join $path $name]
!           if [file exists $file] {
                set cookie [list $type $file]
                # Keep looking for cookie files lower in the directory tree
            }
--- 47,53 ----
      foreach component $pathlist {
        foreach {name type} {.htaccess Basic .tclaccess Tcl} {
            set file [file join $path $name]
!           if {[file exists $file]} {
                set cookie [list $type $file]
                # Keep looking for cookie files lower in the directory tree
            }
***************
*** 85,91 ****
  proc Auth_VerifyCallback {sock realm callback} {
      upvar #0 Httpd$sock data

!     if ![info exists data(mime,authorization)] {
        set ok 0
      } else {
        set parts [split $data(mime,authorization)]
--- 85,91 ----
  proc Auth_VerifyCallback {sock realm callback} {
      upvar #0 Httpd$sock data

!     if {![info exists data(mime,authorization)]} {
        set ok 0
      } else {
        set parts [split $data(mime,authorization)]
***************
*** 101,107 ****
        }
        set ok [eval $callback {$sock $realm $user $pass}]
      }
!     if !$ok {
        Httpd_RequestAuth $sock Basic $realm
        return 0
      } else {
--- 101,107 ----
        }
        set ok [eval $callback {$sock $realm $user $pass}]
      }
!     if {!$ok} {
        Httpd_RequestAuth $sock Basic $realm
        return 0
      } else {
***************
*** 141,147 ****
  proc AuthNullCallback {sock realm user pass} {
      upvar #0 Httpd$sock data
      global auth
!     if [info exists auth($realm,$user)] {
        switch -exact -- $auth($realm,$user) \
            $pass {
                set data(session) $realm,$user
--- 141,147 ----
  proc AuthNullCallback {sock realm user pass} {
      upvar #0 Httpd$sock data
      global auth
!     if {[info exists auth($realm,$user)]} {
        switch -exact -- $auth($realm,$user) \
            $pass {
                set data(session) $realm,$user
***************
*** 174,180 ****
      AuthParseHtaccess $sock $file
      set op $data(proto)       ;# GET, POST etc.

!     if [info exists info(order,$op)] {
        if {! [AuthVerifyNet $sock $file $op]} {
            Httpd_Error $sock 403
            return 0
--- 174,180 ----
      AuthParseHtaccess $sock $file
      set op $data(proto)       ;# GET, POST etc.

!     if {[info exists info(order,$op)]} {
        if {! [AuthVerifyNet $sock $file $op]} {
            Httpd_Error $sock 403
            return 0
***************
*** 185,191 ****
        return 1
      }
      set ok 0
!     if [info exists data(mime,authorization)] {
        set ok 1
        set parts [split $data(mime,authorization)]
        set type [lindex $parts 0]
--- 185,191 ----
        return 1
      }
      set ok 0
!     if {[info exists data(mime,authorization)]} {
        set ok 1
        set parts [split $data(mime,authorization)]
        set type [lindex $parts 0]
***************
*** 228,238 ****
      upvar #0 auth$file info
      set mtime [file mtime $info(groupfile)]
      if {![info exists info(gfilemtime)] || ($mtime > $info(gfilemtime))} {
!       if [catch {open $info(groupfile)} in] {
            return 0
        }
        while {[gets $in line] >= 0} {
!           if [regexp {^([^:]+):[      ]*(.+)} $line x key value] {
                set info(group,$key) [split $value " ,"]
            }
        }
--- 228,238 ----
      upvar #0 auth$file info
      set mtime [file mtime $info(groupfile)]
      if {![info exists info(gfilemtime)] || ($mtime > $info(gfilemtime))} {
!       if {[catch {open $info(groupfile)} in]} {
            return 0
        }
        while {[gets $in line] >= 0} {
!           if {[regexp {^([^:]+):[     ]*(.+)} $line x key value]} {
                set info(group,$key) [split $value " ,"]
            }
        }
***************
*** 248,264 ****
      upvar #0 auth$file info
      set mtime [file mtime $info(userfile)]
      if {![info exists info(ufilemtime)] || ($mtime > $info(ufilemtime))} {
!       if [catch {open $info(userfile)} in] {
            return *
        }
        while {[gets $in line] >= 0} {
!           if [regexp {^([^:]+):[      ]*([^:]+)} $line x key value] {
                set info(user,$key) $value
            }
        }
        close $in
      }
!     if [info exists info(user,$user)] {
        return $info(user,$user)
      } else {
        return *
--- 248,264 ----
      upvar #0 auth$file info
      set mtime [file mtime $info(userfile)]
      if {![info exists info(ufilemtime)] || ($mtime > $info(ufilemtime))} {
!       if {[catch {open $info(userfile)} in]} {
            return *
        }
        while {[gets $in line] >= 0} {
!           if {[regexp {^([^:]+):[     ]*([^:]+)} $line x key value]} {
                set info(user,$key) $value
            }
        }
        close $in
      }
!     if {[info exists info(user,$user)]} {
        return $info(user,$user)
      } else {
        return *
***************
*** 275,281 ****
      set raddr [lindex $peer 0]
      set ok 0
      foreach way $order {
!       if ![info exists info($way,$op)] {
            continue
        }
        foreach addr $info($way,$op) {
--- 275,281 ----
      set raddr [lindex $peer 0]
      set ok 0
      foreach way $order {
!       if {![info exists info($way,$op)]} {
            continue
        }
        foreach addr $info($way,$op) {
***************
*** 316,322 ****
        set info(mtime) $mtime
        set info(userfile) {}
        set info(groupfile) {}
!       if [catch {open $file} in] {
            return 1
        }
        set state [list vars]
--- 316,322 ----
        set info(mtime) $mtime
        set info(userfile) {}
        set info(groupfile) {}
!       if {[catch {open $file} in]} {
            return 1
        }
        set state [list vars]
***************
*** 324,337 ****
            if {[regexp ^# $line] || [string length [string trim $line]] == 0} {
                continue
            }
!           if [regexp <(.+)> $line x tag] {
                set line $tag
            }
            set words [split $line]
            set cmd [string tolower [lindex $words 0]]
!           if [catch {
                eval {Ht-$cmd auth$file} [lrange $words 1 end]
!           } err] {
                Log $sock $err
            }
        }
--- 324,337 ----
            if {[regexp ^# $line] || [string length [string trim $line]] == 0} {
                continue
            }
!           if {[regexp <(.+)> $line x tag]} {
                set line $tag
            }
            set words [split $line]
            set cmd [string tolower [lindex $words 0]]
!           if {[catch {
                eval {Ht-$cmd auth$file} [lrange $words 1 end]
!           } err]} {
                Log $sock $err
            }
        }
***************
*** 370,376 ****

  proc Ht-require {infoName key value} {
      upvar #0 $infoName info
!     if ![info exists info(limit)] {
        set info(limit) {}
      }
      foreach op $info(limit) {
--- 370,376 ----

  proc Ht-require {infoName key value} {
      upvar #0 $infoName info
!     if {![info exists info(limit)]} {
        set info(limit) {}
      }
      foreach op $info(limit) {
***************
*** 380,386 ****

  proc Ht-order {infoName value} {
      upvar #0 $infoName info
!     if ![info exists info(limit)] {
        set info(limit) {}
      }
      foreach op $info(limit) {
--- 380,386 ----

  proc Ht-order {infoName value} {
      upvar #0 $infoName info
!     if {![info exists info(limit)]} {
        set info(limit) {}
      }
      foreach op $info(limit) {
***************
*** 396,409 ****
  }
  proc HtByNet {infoName how list} {
      upvar #0 $infoName info
!     if ![info exists info(limit)] {
        set info(limit) {}
      }
      if {[string compare [lindex $list 0] "from"] == 0} {
        set list [lrange $list 1 end]
      }
      foreach op $info(limit) {
!       if ![info exists info($how,$op)] {
            set info($how,$op) {}
        }
        foreach a $list {
--- 396,409 ----
  }
  proc HtByNet {infoName how list} {
      upvar #0 $infoName info
!     if {![info exists info(limit)]} {
        set info(limit) {}
      }
      if {[string compare [lindex $list 0] "from"] == 0} {
        set list [lrange $list 1 end]
      }
      foreach op $info(limit) {
!       if {![info exists info($how,$op)]} {
            set info($how,$op) {}
        }
        foreach a $list {
Only in src: base64.tcl
diff -r -c ../../tclhttpd3.0.3/lib/cgi.tcl src/cgi.tcl
*** ../../tclhttpd3.0.3/lib/cgi.tcl     Fri May 19 08:45:50 2000
--- src/cgi.tcl Mon Jul  3 16:50:46 2000
***************
*** 63,69 ****
  proc Cgi_Domain {virtual directory sock suffix} {
      global Cgi env
      # Check the path and then find the part beyond the program name.
!     if [catch {Url_PathCheck $suffix} pathlist] {
        Doc_NotFound $sock
        return
      }
--- 63,69 ----
  proc Cgi_Domain {virtual directory sock suffix} {
      global Cgi env
      # Check the path and then find the part beyond the program name.
!     if {[catch {Url_PathCheck $suffix} pathlist]} {
        Doc_NotFound $sock
        return
      }
***************
*** 421,427 ****
  proc CgiCleanup {fd sock} {
      fconfigure $sock -blocking 0 -translation auto
      set n [gets $sock line]
!     if [eof $sock] {
        CgiCancel $fd $sock
      }
  }
--- 421,427 ----
  proc CgiCleanup {fd sock} {
      fconfigure $sock -blocking 0 -translation auto
      set n [gets $sock line]
!     if {[eof $sock]} {
        CgiCancel $fd $sock
      }
  }
Only in src: cmdline.tcl
diff -r -c ...

read more »



Sat, 21 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Quote:

> The only difference with the original source I see is the addition of a lot
> of {}'s around the expressions in 'if' and 'expr' statements. According to
> Andreas Otto, 3 of them are 'real' bugs. I cannot find them. Anyone?

Found the first 'real' bug: a missing closing quote on line 178 of
safecgio.tcl

Two more to go...........

--
Jan Nijtmans, CMG Oost-Nederland B.V.


url:   http://purl.oclc.org/net/nijtmans/



Sat, 21 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Quote:



> > > OK. May I see the bugs now please :-)
> .....
> >   refer to:

> >   http://home.t-online.de/home/aotto/comp-tclhttp_E.html

> >   for download

> As a productive service tot the community, here is the diff between Andreas
> Otto's
> 2.1 MByte distribution and the 0.38 Mbyte TclHttp distribution. The result

  this is a statically linkt version which means TCL is includet

Quote:
> is a 48 kByte diff-file, small enough to post here ;-)

> The only difference with the original source I see is the addition of a lot
> of {}'s around the expressions in 'if' and 'expr' statements. According to
> Andreas Otto, 3 of them are 'real' bugs. I cannot find them. Anyone?

> However, a few changes seems to be 'Compiler'-specific, so I wouldn't
> apply this patch blindly to the TclHttpd sources.

  That's right, i split the main into main_pre and main_post

Quote:

> Regards,

Hi,

   try to search you will find the error's :

   I found all 3 error's in the diff

    1) help, non of the error's are related to the {}'s

mfg

aotto :)

--
================================================================
Andreas Otto              Phone: ++49-(0)8152-399540

    Praezisionsnumerik    Web: http://home.t-online.de/home/aotto
Ulmenstrasse 3            Skills: Unix,Sql,Tcl,Shell,Sybase...
D-34289 Zierenberg        Area: Bank, FX, MM, shares, options
=================================================================



Sat, 21 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Quote:

> Hi,

>    try to search you will find the error's :

>    I found all 3 error's in the diff

>     1) help, non of the error's are related to the {}'s

Most people on comp.lang.tcl have more important things to
do than puzzling. Can't you be a little bit more helpfull?

Regards,
--
Jan Nijtmans, CMG Oost-Nederland B.V.


url:   http://purl.oclc.org/net/nijtmans/



Sat, 21 Dec 2002 03:00:00 GMT  
 UPDATE TCL Compiler: the binaries of httpd.tcl the TCL web-server are available

Quote:

> [what is this trash, go to http://learn.to/quote and read carefully , Mr. Otto, it is in your language]

> > >   it is not my intention to destroy free software or
> > >   steal any licence from very well designed free software projects.

> > >   The intention was to show the community the power of "Compiler"
> > >   not more not less

> > OK. May I see the bugs now please :-)

Ok, the question was, where are the detected bugs, I downloaded the
tarball, and found no explanation about the 100 warnings and 3 errors
that were corrected.
There are 4 possibilities to me:
1.) you faked us, and your compiler didnt find any errors and you just
posted that to get attraction
2.) the secret of your compiler is revealed, if you tell us
3.) you dont understand our questions
4.) you dont want to understand our questions
5.) The story with the errors was just one challenge of the adventure
game "Compiler", and if youll succeed in keeping them as secret, youll
proceed to level 5, and your HP well be increased by 10 plus one bonus
life (taken from the Self-awareness subthread of UPDATE Tcl Comp - no, I
cannot even write it anymore).

So tell us, Mr. Otto, which one is true.

Sorry wrote the lines above 3 hrs ago and Jan Nijtmans has answered the
question for of Mr. Otto. That was the answer everybody wanted to hear,
but I expected more than "brace all expressions", which is a standard
procedure to _speed_ up code (in the case you dont want substitution
done twice) but _not_ a method of error correction.

Gerhard



Sat, 21 Dec 2002 03:00:00 GMT  
 
 [ 25 post ]  Go to page: [1] [2]

 Relevant Pages 

1. UPDATE Tcl-Compiler: Get tkdiff binary and source-code for download

2. UPDATE Tcl Compiler: New Links for International Web-Site

3. UPDATE TCL Compiler: TkDiff 3.05 now available

4. UPDATE: Tcl'97 Tcl Update Talk

5. Broken web site (Tcl Developer Xchange (http://www.tcl.tk/))

6. Tcl-2004 Update: More food and Tcl jobs

7. comp.lang.tcl Tcl Bibliography, Part 1/1 (Last updated: September 1, 1994)

8. new Tcl Chat available - MVC in Tcl

9. Is Tcl-DP for tcl/tk 8.0 available?

10. Extended Tcl for Tcl 6.5 and Tk 3.0 available

11. ANNOUNCE: tclhttpd 3.5.1 Tcl Web Server

 

 
Powered by phpBB® Forum Software