HDTenEightyP/NetNews huggingface dataset:
From: shmdgljd@rchland.vnet.ibm.com (Jay Schmidgall)
Subject: tkfonts, a font browser in tk
Date: Thu, 19 Nov 1992 15:05:54 GMT
Reply-To: jay@vnet.ibm.com
Disclaimer: This posting represents the poster's views, not necessarily those of IBM
Organization: IBM Rochester, MN

Uses xlsfonts to get a list of available fonts.  Kludgy, but it works.
Took a while to figure out how to insert the list of fonts into a listbox
all at once rather than iterating over the list (which took a long time).
Simple once I figured it out.

Only shows characters I could easily type in the selected font.
--------- Cut ---------------------------------------------------------
#!/usr/contrib/bin/wish -f

proc showfont { t args } {
    global text
    set w ".d$t"
    toplevel $w
    wm title $w $args
    set pos [expr [winfo x .]+[winfo width .]]+[winfo y .]
    wm geometry $w 400x200+$pos
    wm maxsize $w 1024 1024
    button $w.close -text Close -command "destroy $w"

    scrollbar $w.yscroll \
        -command "$w.t1 yview" \
        -relief raised
    text $w.t1 -font $args \
        -yscrollcommand "$w.yscroll set"
    $w.t1 insert end $text

    pack  append $w \
        $w.close {top fillx} \
        $w.yscroll {left filly} \
        $w.t1 {top expand fill}
}

wm maxsize . 1024 1024
wm geometry . 460x400

button .quit -text Quit -command { destroy . }

frame .frame

scrollbar .frame.yscroll \
    -command ".frame.list yview" \
    -relief raised

scrollbar .frame.xscroll \
    -command ".frame.list xview" \
    -relief raised \
    -orient horizontal

listbox .frame.list \
    -yscrollcommand ".frame.yscroll set" \
    -xscrollcommand ".frame.xscroll set" \
    -font 7x13b \
    -relief flat

tk_listboxSingleSelect .frame.list
bind .frame.list <ButtonRelease-1> \
    { showfont %t [%W get [%W curselection]] }

pack append .frame \
    .frame.yscroll {left filly} \
    .frame.xscroll {bottom fillx} \
    .frame.list    {expand fill}

set text \
"~!@#\$%^&*()_+-={}|:\"<>?[]\\;',./`\n\
1234567890\n\
abcdefghijklmnopqrstuvwxyz\n\
ABCDEFGHIJKLMNOPQRSTUVWXYZ"

pack append .\
    .quit   {top fillx} \
    .frame  {top expand fill}

# Have to wrap {} around font names for cases
# where the name contains spaces
catch { exec xlsfonts | awk {{ print "{"$0"}" }} } fonts
regsub -all \n $fonts " " fonts
eval .frame.list insert end $fonts
------------- Cut -------------------------------------------------------
-- 
: jay          jay@vnet.ibm.com    My opinions and ideas, not my employer's.
: shmdgljd@rchland.vnet.ibm.com    (c) Copyright 1992.  All rights reserved.
Newsgroups: comp.lang.tcl
From: trones@dxcern.cern.ch (Jostein Lodve Trones)
Subject: Scrollable buttons?
Reply-To: trones@dxcern.cern.ch (Jostein Lodve Trones)
Organization: CERN, European Laboratory for Particle Physics, Geneva
Date: Tue, 17 Nov 1992 10:26:54 GMT


Any possibilities to get buttons part of a scrolling canvas?

I have a lot of buttons to be displayed, and would like a scrollbar-feature
to deal with this. But buttons on a canvas is no good, is it?
I guess I could use rectangles on the canvas instead, but I kind of like the
3D appearance of the buttons.

I do not need to use a canvas of course, a frame will also do, but is it possible to scroll this?

Thank you for any and all replies!

Cheers
	Jostein
From: m1nss01@fed.frb.gov (Neil S. Seftor)
Newsgroups: comp.lang.tcl
Subject: Problem with an "exec" in a bind statement
Date: 23 Nov 92 16:26:28 GMT
Reply-To: m1nss01@fed.frb.gov (Neil S. Seftor)
Organization: Federal Reserve Board, Wash, DC

I'm having a problem getting an exec to work inside of a bind statement:

    bind $w.frame.list <Double-Button-1> \
      "exec copier restore \[lindex \[selection get\] 0\]"

where copier is a script with restore and the selection as parameters.
Just in case it didn't like this, I tried an echo as the first line of the
script, and got nothing.  I then tried a simple 'ls -l' of the selection,
and got nothing.  It appears that it's not even doing the exec.  I've tried
various and sundry combinations of ['s ('s and quotes, but nothing seems
to work.  Any ideas?  Followup or reply as desired ... thanks.

	- Neil
--
"Give light and the people will find their own way."
From: karl@NeoSoft.com (Karl Lehenbauer)
Newsgroups: comp.lang.tcl
Subject: Re: Can <Tab> be used to change focus in forms?
Date: 18 Nov 92 15:46:48 GMT
Article-I.D.: NeoSoft.Bxx562.B3K
Organization: NeoSoft Communications Services -- (713) 684-5900

In article <1992Nov18.044237.24882@sinkhole.unf.edu> shite@sinkhole.unf.edu (Stephen Hite) writes:
>    When creating a dialog using the Tk Toolkit (with wish), is
>it easy to get the <Tab> key to act as a focus changer so a user
>could easily go from one field to the next without using the
>mouse?  That is, I'm looking for the functionality you'd get in a dialog
>with Microsoft Windows.  

The bind command lets you associate keystrokes with actions in Tk.

Tk is becoming more and more Motif-like in this area.  For instance,
If you call tk_menus on all of your menu top-levels along with 
Tk_bindForTraversal on your window, you'll get Motif menu keystrokes --
F10 to pull down, arrow keys to traverse, escape key, ccelerators, etc.

It's all done with procs, demand loaded from (by default) /usr/local/lib/tk.
-- 
-- Email info@NeoSoft.com for info on getting interactive Internet access.
"Turn on your hot tub by email now.  Ask me how."
Newsgroups: comp.lang.tcl
From: mathew@elroy.Jpl.Nasa.Gov (Mathew Yeates)
Subject: what is "map" in a wish script?
Organization: Image Analysis Systems Group, JPL
Date: Wed, 18 Nov 1992 03:54:26 GMT

I want to try my hand at writing a Wish application. I am studying
the arTCL's program to get a feel for things but I've got a problem.
In the main routine is the line
map .
This bombs and I can find no reference to "map" in the manpages although
it is mentioned once as a keyword under MapWindow.

?

Mathew Yeates

Newsgroups: comp.lang.tcl
From: "David Herron" <david@twg.com>
Subject: Re: evalling a string
Sensitivity: Personal
Encoding:  18 TEXT , 4 TEXT 
Conversion: Prohibited
Organization: The Wollongong Group, Inc., Palo Alto, CA
Conversion-With-Loss: Prohibited
Date: Wed, 18 Nov 1992 00:26:02 GMT

In article <9211171516.AA26302@valiant.src.honeywell.com>,
jkimball@src.honeywell.com (John Kimball) writes:
>I can't simply eval the string, because eval wants stuff-stuff to be a
>command name.  If I use lindex to tease apart the top-level chunks, I lose
>the information about which chunks were wrapped in double quotes and which
>ones were wrapped in curly braces.  As a workaround, I can define a proc
>stuff-stuff, but that seems unusually perverse.
>
>What am I missing?

Instead of hacking on `unknown' like Gerald suggested (you might want
to keep unknown's ability to automagically pull in functions) it
would be easy enough to write a new C function which did the variable
references but otherwise left the string alone.  I can't think of a
good name, so call it Tcl_ExpandThoseVariableReferences() for now.

Implementation might be as simple as a call to Tcl_ParseWords() but
would, in any case, start by examining Tcl_Eval() itself.

<- David Herron <david@twg.com> (work) <david@davids.mmdf.com> (home)
<-
<- During the '80s Usenet's mantra was: "Not all the world's a VAX".
<- During the '90s I hope it becomes:   "Not all the world's DOS (ick)".
From: black@mpd.tandem.com (David C. Black)
Newsgroups: comp.lang.tcl
Subject: Re: Tcl-on-the-Mac mailing list?
Date: 17 Nov 92 12:24:00 GMT
Reply-To: black@io.UUCP (David C. Black)
Organization: /etc/organization

Another interested Mac TCL user.  Interested in TCL on Think C 5.x too!
-- 
| David C. Black               Electrical Engineer (hardware/software)|
| Tandem Computers Inc.        Guardian: SMTPGATE@AUSTIN(black@tzone) |
| 14231 Tandem Blvd.           Internet: black@mpd.tandem.com         |
|_Austin, Texas 78728-6699_____Phone: 512/244-8321__FAX_512/244-8247__|
From: libes@cme.nist.gov (Don Libes)
Newsgroups: comp.lang.tcl
Subject: Re: Expect: Why doesn't interact have the -re flag?
Date: 20 Nov 92 19:06:30 GMT
Organization: National Institute of Standards and Technology

In article <1992Nov16.023611.24765@midway.uchicago.edu> pynq@midway.uchicago.edu writes:
>I would like to be able to either match strings with reg exps in
>interact (and be able to check back to see exactly what was matched)
>a la expect (with -re).  I could see no way to do this.

I'm actually working on this right now.  It's tricky because you have
to consider the possibility of matching if more characters might
arrive later.  Interact already does this with fixed strings, but it's
more challenging with regular expressions.

Imagine the pattern "a.*c|b" with input of "ab".  With the "usual"
regexp interpretation, this would match the second branch.  However,
if we waited for a "c" to arrive, then the first branch would match.
Note that the first branch starts earlier than the second branch.
Does this mean the "might match" is preferable to the "match"?  Before
you say "the match is always preferable", think about other examples.
Consider all the useless computation that might take place should no
match actually occur after a "might match".  Maybe we should just stop
after the first "might match".

For now, I'm taking the approach that the earliest branch is best
whether or not it is "match" or "might match".


This work is part of a complete rewrite of "interact".  The new one
will support the following:

m-to-n mapping of sources to sinks
optional echoing of patterns
regexp patterns
timeout/eof patterns for each source
Am I leaving out anything?

>Alternatively, if I could do an explicit I/O that would work, too, a la:
>
>interact {
>	-o foo	{ somekindofreadstmthere spawn_id var
>		if {var == "bar"} ...
>		if {var == "d"} ...
>		}
>	}
>
>Well, you get the idea...

You can do this.  Just use an "expect" to do your "somekindofreadstmthere".

Don
Newsgroups: comp.lang.tcl
From: spencer@med.umich.edu (Spencer W. Thomas)
Subject: Re: Scrollable buttons?
Date: Thu, 19 Nov 92 03:18:42 EST
Organization: University of Michigan

I'm putting windows on (in?) a canvas for an application I'm writing.
It's not trivial, but it's not too hard, either.  

- Use winfo reqheight/reqwidth to figure out how big the window will
  be.  Then you can use whatever placement algorithm you want.  I just
  place my windows in rows, with a "return" whenever a window
  threatens to overrun the (current) right edge of the canvas (as
  determined by 'winfo width <canvas>').

- After placing all the windows, make sure the scrolling region is big
  enough. 

- All events inside the window go to the window, NOT the canvas.  This
  is a pain if you want to be able to drag the windows.  I use code
  like this:

    bind $w <3> "itemStartDrag $theCanvas \[expr %x+\[winfo x $w]]\
				    \[expr %y+\[winfo y $w]]";
    bind $w <B3-Motion> "itemDrag $theCanvas \
				    \[expr %x+\[winfo x $w]]\
				    \[expr %y+\[winfo y $w]] $tag";
    bind $f <Any-Enter> "itemEnter $theCanvas $field";
    bind $f <Any-Leave> "itemLeave $theCanvas";
  where $w is the window name, and $tag is a tag for the window.
  itemEnter for a window "raises" it (in relief).

--
=Spencer W. Thomas 		|  Info Tech and Networking, B1911 CFOB, 0704
   "Genome Informatician"	|  Univ of Michigan, Ann Arbor, MI 48109
Spencer.W.Thomas@med.umich.edu	|  313-747-2778, FAX 313-764-4133
Newsgroups: comp.lang.tcl
From: mathew@elroy.Jpl.Nasa.Gov (Mathew Yeates)
Subject: Re: polling, nonblocking reads in tcl
Organization: Image Analysis Systems Group, JPL
Date: Sun, 22 Nov 1992 00:52:25 GMT

mathew@elroy.Jpl.Nasa.Gov (Mathew Yeates) writes:

>Im having trouble with the following. I set a up telnet connection
>and want to read by polling the pipe and responding to input. Here
>is a code fragment (I'm using extended tcl)

A followup....... I went and changed the fread to a read and rebuilt.
It seems fine now. Am I going to be hurt by this in some
situations?

Mathew
Newsgroups: comp.lang.tcl
From: gwlester@cpu.com (Gerald W. Lester)
Subject: Re: evalling a string
Organization: Computerized Processes Unlimited, Metairie, LA, (504)-889-2784
Date: Tue, 17 Nov 1992 16:51:51 GMT
Reply-To: gwlester@cpu.com

In article <9211171516.AA26302@valiant.src.honeywell.com>, jkimball@src.honeywell.com (John Kimball) writes:
>Seems to me this should be easy, but I'm having trouble thinking of a good
>way to do it.
>
	I don't think there is.

>I can't simply eval the string, because eval wants stuff-stuff to be a
>command name.  If I use lindex to tease apart the top-level chunks, I lose
>the information about which chunks were wrapped in double quotes and which
>ones were wrapped in curly braces.  As a workaround, I can define a proc
>stuff-stuff, but that seems unusually perverse.
>
>What am I missing?
>
	You could handle all of the stuff-stuff routines at one time by hacking
on the unknown procedure.
From: karl@NeoSoft.com (Karl Lehenbauer)
Newsgroups: comp.lang.tcl
Subject: Re: evalling a string
Date: 18 Nov 92 07:19:31 GMT
Article-I.D.: NeoSoft.BxwHoo.M8I
Organization: NeoSoft Communications Services -- (713) 684-5900

In article <1992Nov18.002150.1089@twg.com> "David Herron" <david@twg.com> writes:
>In article <9211171516.AA26302@valiant.src.honeywell.com>,
>jkimball@src.honeywell.com (John Kimball) writes:
>>I can't simply eval the string, because eval wants stuff-stuff to be a
>>command name.

>Instead of hacking on `unknown' like Gerald suggested ... it
>would be easy enough to write a new C function which did the variable
>references but otherwise left the string alone.  I can't think of a
>good name, so call it Tcl_ExpandThoseVariableReferences() for now.

A command, "expand", originally appeared in Extended Tcl 4.0, which
expanded square-bracketed items and variables, but returned the
result without executing the first element as a command on the
rest of the string as arguments -- just what you're asking for.

It fell by the wayside because I couldn't convince John to keep it
when he absorbed arrays, which involved changes in Tcl_Eval anyway.

Nothing is lost, however, because you can always do

    eval "concat $listIWantToExpand"

-- 
-- Email info@NeoSoft.com for info on getting interactive Internet access.
"Turn on your hot tub by email now.  Ask me how."
Newsgroups: comp.lang.tcl
From: kramer@cs.toronto.edu (Bryan M Kramer)
Subject: raising windows
Date: 18 Nov 92 20:41:32 GMT

Is there a way of raising a window (i.e. bringing it in front of all
others) in tk2.3. It would be something like

wm front .
or 
wm raise .

|Bryan M. Kramer, Ph.D.	      416-978-7330, fax 416-978-1455|
|Department of Computer Science, University of Toronto      |
|6 King's College Road, Room 283E			    |
|Toronto, Ontario, Canada      M5S 1A4                      |
Newsgroups: comp.lang.tcl
From: gwlester@cpu.com (Gerald W. Lester)
Subject: Re: Tk and Macintosh?
Organization: Computerized Processes Unlimited, Metairie, LA, (504)-889-2784
Date: Thu, 19 Nov 1992 22:49:29 GMT
Reply-To: gwlester@cpu.com

In article <1992Nov19.182249.21095@novell.com>, Duane Murphy <damurphy@wc.novell.com> writes:
>...
>My premise is that Tk might be interesting to look at to see how some of 
>the problems have been dealt with in that environment and then adapt 
>them to the Macintosh environment.  
>
>Any comments, opinions, and advice would be very helpful.
>...

Duane,

	I would urge you to try, as much as possible, to keep the same syntax for your "Tk".
The internals could change to whatever is appropriate.  This way, applications that use tcl/tk
could be more easily ported to/from the Mac.

	Please keep us (or at least me) posted of your progress/developments.
From: ouster@sprite.Berkeley.EDU (John Ousterhout)
Newsgroups: comp.lang.tcl
Subject: Re: Button-size in pix's or frame-size in char's?
Date: 16 Nov 1992 16:28:15 GMT
Organization: U.C. Berkeley Sprite Project
Distribution: world
NNTP-Posting-Host: tyranny.berkeley.edu

In article <1992Nov16.102838.17193@dxcern.cern.ch>, trones@dxcern.cern.ch (Jostein Lodve Trones) writes:
|> 
|> I hope somebody out there can help me with the following problem...
|> 
|> I am going to open a frame containing some buttons in columns and rows.
|> Since I will do this quite often, and with a different number of buttons,
|> I am writing a procedure to do this.
|> 
|> I use place instead of pack, because I want a somewhat speciall lay-out, 
|> with space around the buttons.
|> 
|> The problem is that I need to know the size of the frame before I open it.
|> But to calculate the size of the frame, I need to know the size of a button.
|> The button's size is known in characters, but not in pixels.
|> 
|> I thought of using the winfo command to return the button-size in pixels,
|> but this do not work, unless the button is already placed or packed in
|> the frame, and the frame already packed/placed on the root-window, or 
|> another packed/placed window.
|> 
|> So I have the famous "chicken-and-the-egg" problem: I can not calculate
|> the size of the button, unless the frame is opened, and I can not open
|> the frame unless I know the size of the button...
|> (With "open" I mean place/pack the window so that it is visible on the screen)
|> 
|> I could of course first place the frame, then place a button on it, find
|> the size and regeometrize(?) the frame, but is there a better way?
|> 
|> What I actually need, is a way to get the button's size in pixels when
|> I know the size in characters, or a way to specify the frame-size in 
|> characters.
|> 
|> 
|> Thank you for any help!
|> 
|> Cheers,
|>         Jostein

If you're using the packer to place the buttons into the frame then you
don't need to pick the size of the frame yourself:  the packer will set
the frame's size itself so that it's just large enough to contain all the
information you've packed into it.

If for some reason you want to know how much space a button (or any other
window) wants, you can always use "winfo reqheight" and "winfo reqwidth"
to get that.  However this shouldn't be necessary in your case, unless I'm
missing something.
Newsgroups: comp.lang.tcl
From: kramer@cs.toronto.edu ("Bryan M. Kramer")
Subject: Re: raising windows
Organization: Department of Computer Science, University of Toronto
Date: 19 Nov 92 14:08:39 GMT

kramer@cs.toronto.edu (Bryan M Kramer) writes:

>Is there a way of raising a window (i.e. bringing it in front of all
>others) in tk2.3. It would be something like

>wm front .
>or 
>wm raise .

A solution proposed by Michael Moore <mdm@cis.ohio-state.edu>
consisting of the sequence 

wm withdraw .
wm deiconify .

does the trick more or less. One potential problem is that (at least
in the case of olvwm, if the user has moved the window using the
mouse, the window comes back raised in its original position.

|Bryan M. Kramer, Ph.D.	      416-978-7330, fax 416-978-1455|
|Department of Computer Science, University of Toronto      |
|6 King's College Road, Room 283E			    |
|Toronto, Ontario, Canada      M5S 1A4                      |
Newsgroups: comp.lang.tcl
From: scot@calusa.eel.ufl.edu (Scott Miller)
Subject:   Canvas Builder?
Reply-To: scot@eel.ee.ufl.edu
Organization: UF EE Department
Date: Fri, 20 Nov 92 20:34:54 GMT


Hello,

I need to create a complex canvas. This canvas
contains many arrows, squares, circles, etc. Has
anyone create a interface builder for the canvas
widget? Or are there any filters to canvas widgets
from say xgraph?


Scott Miller
From: neelin@petvax.mni.mcgill.ca (Peter NEELIN)
Newsgroups: comp.lang.tcl
Subject: Re: Problem doing "file stat" on some filenames
Date: 23 Nov 92 14:14:36 GMT
Reply-To: neelin@petvax.mni.mcgill.ca (Peter NEELIN)
Organization: Positron Imaging Labs, Montreal Neurological Institute

In article <By2yE5.CMo@NeoSoft.com>, nhandel@NeoSoft.com (Nick Handel) writes:
> 
>   I've been unable to find a simple way of doing a file stat operation
>   on filenames that begin with a tilde (~) character, without tcl
>   interpreting it as a user id, for example:
> 
>   set fileName "~interleaf.backupfile"
>   file stat $fileName foo
> 
>   tells me there is no such user as "interleaf.backupfile".
>   Any suggestions?

Try prefixing the file name with the directory path :

   set fileName "./~interleaf.backupfile"
                 ^^
                ^^^^

            Peter Neelin (neelin@pet.mni.mcgill.ca)
            Positron Imaging Laboratories,
            Montreal Neurological Institute
Newsgroups: comp.lang.tcl
From: nhandel@NeoSoft.com (Nick Handel)
Subject: Problem doing "file stat" on some filenames
Organization: ParaNet, Inc.
Date: Sat, 21 Nov 1992 19:06:04 GMT


  I've been unable to find a simple way of doing a file stat operation
  on filenames that begin with a tilde (~) character, without tcl
  interpreting it as a user id, for example:

  set fileName "~interleaf.backupfile"
  file stat $fileName foo

  tells me there is no such user as "interleaf.backupfile".
  Any suggestions?

-- 
--Nick Handel                         "If we knew what the hell we were doing, 
  nhandel@sugar.NeoSoft.com            it wouldn't be research..."
Newsgroups: comp.lang.tcl
From: karl@NeoSoft.com (Karl Lehenbauer)
Subject: Re: Aborting command interpreting
Organization: NeoSoft Communications Services -- (713) 684-5900
Date: Thu, 19 Nov 1992 20:15:20 GMT

In article <1992Nov19.173522.20259@novell.com> Duane Murphy <damurphy@wc.novell.com> writes:
>I am looking for a clean way of being able to abort the Tcl interpreter 
>while it is interpreting a script. ...

>The idea would be to force the execution of a particular command to return an 
>error.  This (usually) causes the script to stop.
>Any ideas, comments, suggestions?

Extended Tcl has signal trapping.  You normally get a stack backtrace and
error exit, although it can be caught with "catch".  The signal command
(From extended tcl, do a "help extended/signal") will let you ignore signals,
get the default action, trap them where a specified routine is called as soon
as it is safe to do so, or get the catchable error generated.
-- 
-- Email info@NeoSoft.com for info on getting interactive Internet access.
"Turn on your hot tub by email now.  Ask me how."
From: ouster@sprite.Berkeley.EDU (John Ousterhout)
Newsgroups: comp.lang.tcl
Subject: Re: Aborting command interpreting
Date: 20 Nov 1992 16:45:06 GMT
Organization: U.C. Berkeley Sprite Project
Distribution: world
NNTP-Posting-Host: tyranny.berkeley.edu

In article <1992Nov19.173618.20335@novell.com>, Duane Murphy <damurphy@wc.novell.com> writes:
|> I am looking for a clean way of being able to abort the Tcl interpreter 
|> while it is interpreting a script.  I have looked at CreateTrace, but 
|> there does not seem to be a way of telling the interpreter to stop 
|> interpreting.  I have been able to do this by hacking Tcl_Eval, but I 
|> would like a clean way of doing this.  
|> 
|> I have thought of some cheating ways that involve using the internal 
|> structure of the interpreter and not the publish public structure.
|> 
|> The idea is to have a clean way of aborting exceptionally long scripts or 
|> (heaven forbid) a script that has an (non-recursive) endless loop. The 
|> idea would be to force the execution of a particular command to return an 
|> error.  This (usually) causes the script to stop.
|> 
|> Any ideas, comments, suggestions?
|> 
|> ...Duane

The simplest way is to invoke "error" or write a new Tcl command in C that
returns a code other than TCL_OK.  Of course, it's possible that there could
be "catch" commands that prevent the unwinding, but you could modify these
to continue unwinding in the special case where you really want to unwind
all the way.
Newsgroups: comp.lang.tcl
From: ellson@ontap.att.com (John Ellson)
Subject: tk/tcl on a laptop?
Organization: AT&T
Date: Sun, 22 Nov 1992 19:22:03 GMT

I have a TK based application that I would like to demonstrate on a
486 laptop.  Could anybody that has successfully run TK on a laptop
please let me know what other software they used, in particular
which Un*x and X-windows products?  

I will summarize for the net.

John Ellson.      ellson@hotsand.att.com
AT&T Bell-Labs
Newsgroups: comp.lang.tcl