HDTenEightyP/NetNews huggingface dataset:
From: omar@wucs1.wustl.edu (Omar El-Ghazzawy)
Subject: Text widget
Organization: Washington University, St. Louis MO
Date: Fri, 22 Jan 1993 20:08:51 GMT

I have been having a hard time with the text widget.

The trouble is in getting text from the widget.  I have read the man page
MANY times, but it is still very confusing to me.  There does not seem to 
be any good example code in the distribution which exercises the text widget.

Does anyone have any code / hints that might help me out?

Thanks much!



Newsgroups: comp.lang.tcl
From: omar@wucs1.wustl.edu (Omar El-Ghazzawy)
Subject: Multiple Interpreters
Organization: Washington University, St. Louis MO
Date: Thu, 28 Jan 1993 03:30:05 GMT


After David Herron's post, I am wondering...

I know there must be many good uses for having multiple interpreters, but
I can't seem to think of any.

Can anyone out there tell me how use of multiple interpreters has helped them?

(please post replies to the net)

Thanks (alot) in advance!
Newsgroups: comp.lang.tcl
From: feirtag@wave3i.nrl.navy.mil (Fred Feirtag)
Subject: WANTED--Rx for Anemic Colors (P.S.):
Organization: Naval Research Lab, Washington, DC
Date: Thu, 21 Jan 1993 21:36:35 GMT


P.S.

Does anyone know if it's possible to restore a default color?
For example if I was to change a color by:

wish: .default configure -bg orange

Then it would be nice to be able to return to the default by
something like:

wish: .default configure -bg DEFAULT_COLOR

which would restore the default color, which is something like, but
not exactly, "bisque1."

Fred

-- 

Fred Feirtag                    |
Naval Research Lab, Code 7120   |  "Well . . . 'Spam, Eggs, Bacon, Sausage
Washington, DC  20375           |   and Spam' hasn't got MUCH Spam in it."
feirtag@wave.nrl.navy.mil       |            --Monty Python
(202) 404 - 8502                |
From: sh4g+@andrew.cmu.edu (Seungjo Han)
Newsgroups: comp.lang.tcl
Subject: manuals
Date: 24 Jan 93 16:45:31 GMT
Article-I.D.: andrew.4fMpF=O00VouMXRlFc
Organization: Masters student, Architecture, Carnegie Mellon, Pittsburgh, PA

I'm a new Tcl/Tk user who just started using this.  I'm looking for a
comprehensive manual that I can use to learn Tcl and Tk.  I found a
manual that only explains basic Tcl commands, but  I need to know how
Tcl talks to C and how I can write C programs that will use an interface
that is created with Tk.  Also I need a manual that explains Tk widgets.
 If anyboby knows of a FTP sight or has a copy, please send it via
e-mail.  I'll really appreciate it.

-jo-
sh4g@andrew.cmu.edu
sjhan@arc.cmu.edu
Newsgroups: comp.lang.tcl
From: markd@sco.COM (Mark Diekhans)
Subject: Re: How difficult is a restricted tcl shell ?
Organization: The Santa Cruz Operation, Inc.
Date: Fri, 22 Jan 1993 19:33:03 GMT
Keywords: shell user supervisor interpreter


In article <brucet.727682251@extro.ucc.su.OZ.AU> brucet@extro.ucc.su.OZ.AU (Bruce Tulloch) writes:


>However, I have a similar need, if not purpose. My interest is how
>best to protect certain built-in commands as well procedures so that
>naive users can be protected from touching the "wrong button" when
>given access to a tcl shell within an application.

This could be done with the Tcl command tracing facility if it was enhanced 
so that a trace function to return an error.  This would allow a trace
to reject a certain set of commands, or even commands with certain arguments.

Mark
From: tromey@cns.caltech.edu (Tom Tromey)
Newsgroups: comp.lang.tcl
Subject: Re: first TclTools release (Tcl & Tk using GNU configure)
Date: 25 Jan 93 10:49:09
Organization: California Institute of Technology
Distribution: world
NNTP-Posting-Host: bradbury.cns.caltech.edu
In-reply-to: zoo@cygnus.com's message of 24 Jan 93 10:12:50 GMT
To: "david d. zuhn" <zoo@cygnus.com>
BCC: tromey@busco.lanl.gov

This is definitely a good idea.  I always end up editing the
configuration stuff that comes with Tcl/Tk to cope with the local
setup.  However I'm concerned about the legal status of this work.  Is
it copylefted?  And if so, what is the implication of this (IE if the
configuration scheme is copylefted, does that mean that that entire
Tcl/Tk release is?).  I ask because I would like this configuration
scheme to be the default for Tcl, but I don't think this will happen
if it is copylefted.

Tom

--
tromey@cns.caltech.edu
"In a riddle whose answer is chess, what is the only prohibited word?"
I thought a moment and replied, "The word chess".
	-- Jorge Luis Borges
Newsgroups: comp.lang.tcl
From: norm@bnr.ca (Norm MacNeil)
Subject: Canvases - what do YOU use them for?
Reply-To: norm@bnr.ca
Organization: Bell-Northern Research Ltd.
Date: Thu, 21 Jan 1993 21:10:11 GMT

Now that I've become a little acustomed to writing/using TCL/TK, I've started
looking at some of the more "finer" programming details.  One thing is the
canvas and although I've seen a few articles on it, I still don't quite have
an example of what it would be used for.

So my question is, of those of you TK programmers out there, what do YOU use
canvases for?  What application type?  Why canvas and not something else (if
anything else would be applicable?)

Thanks, 
  Norm.

+-----------------------------------------------------------------------+
 Norm MacNeil                     Phone: (613) 763-3372
 Data Systems                     Fax:   (613) 765-2854
 Bell-Northern Research Ltd.      EMail: norm@bnr.ca (INTERNET)
 #include <disclaimer.std>       "Roller bladers do it in-line!"
From: allan@piano.sta.sub.org (Allan Brighton)
Newsgroups: comp.lang.tcl
Subject: Flashing menu cursor in tk3.0 ?
Date: 24 Jan 93 17:48:33 GMT
Reply-To: allan@piano.sta.sub.org
Organization: Brighton Software

Hi,

I noticed a minor problem with tk3.0 (on a Sun4/75-GX + SunOS-4.1.2):

When I press the left mouse button to get a menu in the widget demo,
the mouse pointer flips back and forth and the menu flashes
if the mouse pointer is between the menu bar and the menu. 

Has anyone seen this on other machines ?  
It doesn't seem to cause any problems otherwise... 

---
	Allan Brighton

	Freelance Software Consultant, Munich, Germany
	E-mail: allan@piano.sta.sub.org
From: spencer@med.umich.edu (Spencer W. Thomas)
Newsgroups: comp.lang.tcl
Subject: Re: WANTED--Rx for Anemic Colors (P.S.):
Date: 22 Jan 93 10:50:31
Organization: University of Michigan HSITN
NNTP-Posting-Host: guraldi.itn.med.umich.edu
In-reply-to: feirtag@wave3i.nrl.navy.mil's message of Thu, 21 Jan 1993 21:36:35 GMT

I tried Fred Feirtag's script (create two labels, one colored
"bisque1" and one the default color), and both labels were the same
color with my copy of tk3.0.

> How do you retrieve the color of a widget?

.bisque1 configure -bg
-background background Background #ffe4c4 bisque1

The 4th (3 counting from 0) element, #ffe4c4, is the numeric
definition of the color, the 5th element is the name.

.default configure -bg
-background background Background #ffe4c4 #ffe4c4

Note that the numeric definition is the same, but there is no
associated name.

> How do you reset a widget to the default color?

If you have one that you know has the default color, then get its
color
	set default_color [lindex [.default configure -bg] 4]
and use it
	.bisque1 configure -bg $default_color

If you don't have a widget known to have the default color, then make
one first.

--
=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: david@tripos.com (David Mosenkis)
Subject: Distribution policy
Organization: Tripos Associates, Inc.
Distribution: comp
Date: Thu, 21 Jan 1993 23:01:29 GMT


Is there a written distribution policy for Tk/Tcl?  I am told that it is
freely redistributable, but I can't find a statement of this fact or any
restrictions in the actual software distributions (Tcl 6.5 or Tk 3.0) or
in the FAQ.  In particular, I'm probably interested in distributing just a
wish (or wishx) executable and necessary run-time files as part of a
commercial product.

Thanks,
David Mosenkis
david@tripos.com
From: estephen@whosnext.cad.gatech.edu (Eric R Stephens)
Newsgroups: comp.lang.tcl
Subject: blank errors from exec -> can't catch
Date: 26 Jan 1993 16:12:53 GMT
Organization: Georgia Institute of Technology, CAE/CAD Lab
NNTP-Posting-Host: whosnext.cad.gatech.edu

I running non-background execs which call both compiled programs and  
shell scripts.  The results are sent to files and I don't believe  
that any errors are being generated from the outside runs.  I've been  
getting blank line followed by a trace to my exec.  I've tried  
catching the exec and I still get the same results.  How can I debug  
this it is exiting the proc.
Newsgroups: comp.lang.tcl
From: markd@sco.COM (Mark Diekhans)
Subject: Re: Variable Scope Constructs
Organization: The Santa Cruz Operation, Inc.
Date: Thu, 28 Jan 1993 04:45:29 GMT


In article <1993Jan27.220607.25695@novell.com> Duane Murphy <damurphy@wc.novell.com> writes:
>
>Has the concept of scope and persistent scope been addressed before? 
>Sometimes I think that it would be useful to have additional and
>persistent 
>scope other than global and local (local is not persistent). 

I have seen a big need for this as well.  A named, persistent scope would
be very useful, but isn't that just a step away from having a Tcl object type?

Mark
Newsgroups: comp.lang.tcl
From: fwisgo@qualcomm.com (Felix Wisgo)
Subject: Archive Location for FAQ
Keywords: FAQ,tcl
Reply-To: fwisgo@qualcomm.com
Organization: Qualcomm Mechanical Dept - CAD
Distribution: usa
Date: Mon, 25 Jan 1993 21:08:49 GMT



Can someone provide me with and archive location for the latest FAQ.
Email would be fine.

Thanks.

Felix

--
+-----------------------+++ fwisgo@qualcomm.com +++----------------------------+
+ Qualcomm Incorporated                             10555 Sorrento Valley Road +
+ San Diego, CA 92121                                             619-597-5836 +
+------------------------------------------------------------------------------+



Newsgroups: comp.lang.tcl
From: omar@wucs1.wustl.edu (Omar El-Ghazzawy)
Subject: Re: blank errors from exec -> can't catch
Organization: Washington University, St. Louis MO
Date: Wed, 27 Jan 1993 16:23:58 GMT

In article <1k3nu5INNi4t@cae.cad.gatech.edu> estephen@whosnext.cad.gatech.edu (Eric R Stephens) writes:
>I running non-background execs which call both compiled programs and  
>shell scripts.  The results are sent to files and I don't believe  
>that any errors are being generated from the outside runs.  I've been  
>getting blank line followed by a trace to my exec.  I've tried  
>catching the exec and I still get the same results.  How can I debug  
>this it is exiting the proc.

I was having the same problem... I was doing something like:

catch {set foo [exec rsh sol uustat -a| grep admin]}
puts stdout $foo

when there was no text returned, it caused an error, hence my use of catch.
But then it would say that it did not know about the variable "foo".  So
I solved it like this:

set foo ""
catch {set foo [exec rsh sol uustat -a| grep admin]}
puts stdout $foo

this worked fine.



Newsgroups: comp.lang.tcl
From: rsalz@osf.org (Rich Salz)
Subject: Re: How difficult is a restricted tcl shell ?
Keywords: shell user supervisor interpreter
Organization: Open Software Foundation
Date: Fri, 22 Jan 1993 20:53:27 GMT

I have another idea.  Allow a programmer to attach an 'authorization'
function to an interpreter.  Something like this:
	/* A TCL "authorization" function.  Return 1 if command can be
	 * executed. */
	typedef int (*Tcl_Authorize)(
	    ClientData *clientdata,
	    Tcl_Interp *interp,
	    int argc,
	    char *argv[]
	);

And these commands:
	Tcl_Authorize Tcl_GetAuthorize(Tcl_Interp *interp);
	void Tcl_SetAuthorize(Tcl_Interp *interp, Tcl_Authorize authfunc);
Then you could do things like
    authfunc(ClientData *clientdata, Tcl_Interp *interp, int argc, char *argv)
    {
	if (strcmp(argv[0], "open") == 0)
	    /* validate pathnames */
	    return validpath(argv[1]) ? 1 : 0;
	if (strcmp(argv[0], "exec") == 0)
	    ...
	return 1;
    }
Newsgroups: comp.lang.tcl
From: gah@att.com (George A. Howlett)
Subject: Re: how do I get the name of my interpreter?
Reply-To: george.howlett@att.com
Organization: AT&T Bell Laboratories
Date: Thu, 21 Jan 1993 14:58:07 GMT
X-Newsreader: TIN [version 1.1 PL8]

Adam Sah (asah@cs.Berkeley.EDU) wrote:

: I may be just plain ol' retarded, but I can't seem to find the name of my
:   own interpreter.  "Duh, just look to the left of the colon!"  Seriously,
:   is it stored in a variable somewhere?  Is it returned from an 'info'
:   command? 

: Any help is appreciated.

: --
: Thanks again,
: -A.Sah'93

:  ...Adam Sah...asah@cs.Berkeley.EDU...stuck in hell, I mean graduate school...
	On the first pass through the manuals, I couldn't find it either. 
	What you want is the following command:

		winfo name .

	It took another person to point this option out to me.  The 
	following is from "winfo" manual page.

          winfo name window
               Returns window's name (i.e. its name within its parent,
               as  opposed  to its full path name).  The command winfo  |
               name . will return the name of the application.


	
	--gah

Newsgroups: comp.lang.tcl
From: "David Herron" <david@twg.com>
Subject: Re: Multiple Interpreters
Sensitivity: Personal
Encoding:  49 TEXT , 4 TEXT 
Conversion: Prohibited
Organization: The Wollongong Group, Inc., Palo Alto, CA
Conversion-With-Loss: Prohibited
Date: Thu, 28 Jan 1993 17:37:28 GMT

omar@wucs1.wustl.edu asks:
>I know there must be many good uses for having multiple interpreters, but
>I can't seem to think of any.

Louis is right that the basic advantage is in separate namespaces.

What originally inspired me to do `interp' was a comtemplated
port of Tk/TCL to DOS (using an Xlib implementation called X/DOS).
With X/DOS as it is(was at that time) you'd only be able to run one
TK application at a time.  But if multiple interpretors could be
run, then multiple TK app's could be run.

The current `interp' is unable to do this.  Olav's interp module should
let you do it, if I read it right.


If you look at the internals of servicemail you see it starts a
new TCL interpretor for every message it processes.


louie@sayshell.umd.edu (Louis A. Mamakos)
> Actually, it would be great if a new interpreter could inherit
> methods/commands from the "super class" or the interpreter that
> created it, but I can see how that might be difficult to implement.

You're right that it would be difficult to do automatically.  However,
there's a way to do this manually with the existing interp.  You create
the interpretor like so

	interp newInterp
	newInterp -setParent parentInterp

`unknown' looks for unknown commands in its parent before it looks
in MainInterp.  Yes that's not quite the same thing as inheritance.
The other inheritance facility is `-chainCommand' (if someone can suggest
improved names for these things, I'm all ears...).  Again, it's manual
but works like:

	interp newInterp
	foreach cmd { a list of commands to inherit } {
		newInterp -chainCommand $cmd parentInterp
	}

I believe that sufficient facilities are in the interp module for lots
of interesting things.  They aren't automatic (which kinda follows
the tcl tradition of coding the raw facilities in C leaving the niceties
to tcl procedures) however.

What I don't know is if they're complete (enough) or well named.

<- David Herron <david@twg.com> (work) <david@davids.mmdf.com> (home)
<-
<- "That's our advantage at Microsoft; we set the standards and we can change them."
<- Karen Hargrove of Microsoft quoted in the Feb 1993 Unix Review editorial.
Organization: Freshman, MCS general, Carnegie Mellon, Pittsburgh, PA
Newsgroups: comp.lang.tcl
Date: Sat, 23 Jan 1993 02:26:15 -0500 
From: "Daniel C. Wang" <dw3u+@andrew.cmu.edu>
Subject: help with regsub


Ok I'm trying to intereface tcl, with a process that was designed to
send elisp commands to and emacs buffer via a pipe.  I have everything
set up, but I need some help converting elisp statements to something
that tcl can eval.

The elisp forms that the process returns are like

(~bat-foo-do-this arg arg arg)

I need some simple code that will converent this to a function that
tcl can call as command right now this is what 

proc lisp_convert {str} {
         regsub "\{[string trim "$str" "(~)"]\}"
}

which should retrun

{bat-foo-do-this arg arg arg}

I just pass this to an eval statement and define the appropiate
command. Unfortuantly I think tcl gets confused with the '-' in the
command name, so I need some help with a regsub statement that will
convert the elisp command to

{bat_foo_do_this arg arg arg}

I could just replace the '-' with a '_' but there is always a
possibility of that there are '-' in the arguments of the elisp.  So
can someone provide me with a regsub that only replaces the '-' with
a '_' only for the command name????
From: spencer@med.umich.edu (Spencer W. Thomas)
Newsgroups: comp.lang.tcl
Subject: Re: Can windows be dragged on a canvas?
Date: 22 Jan 93 10:53:20
Organization: University of Michigan HSITN
NNTP-Posting-Host: guraldi.itn.med.umich.edu
In-reply-to: mathew@elroy.Jpl.Nasa.Gov's message of 22 Jan 93 00:41:52 GMT

I've done this.  You have to make the bindings to the window, not to
the canvas:

    # Bind the actions ($f is the window name, $theCanvas is the
    # canvas name).
    bind $f <B3-Motion> "itemDrag $theCanvas \
				    \[expr %x+\[winfo x $f]]\
				    \[expr %y+\[winfo y $f]] $field";
    bind $f <3> "itemStartDrag $theCanvas \[expr %x+\[winfo x $f]]\
				    \[expr %y+\[winfo y $f]]";

The trick is that the %x and %y are relative to the window origin, so
you have to add the position of the window relative to the canvas
origin to reposition them.

--
=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: wongi@netcom.com (Isaac Wong)
Subject: Can a child use the inherited interp from its parent?
Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
Date: Sat, 23 Jan 1993 00:15:02 GMT

here's the situation: I have a user-defined tcl command using 
Tcl_CreateCommand(), let's call it foo. foo needs to do something that takes
a long time. So, in order not to have my Tk script hang there waiting for
foo to get done. foo forks a child to do the task and the parent returns
right away. when the child finishes, it sends a command to the interp to
execute a proc in the user tk script (the proc name is supplied as one the foo 
arguments) using 
        Tcl_Eval(interp, "send ......", 0, (char **)NULL);
So it's kinda like a call-back sequence. the problem is, as the child exits
i get the following error:

X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  2 (X_ChangeWindowAttributes)
  Resource id in failed request:  0xa000b4
  Serial number of failed request:  1832
  Current serial number in output stream:  1250

I see the same thing on my Sparc at work and my Linux system at home. I am
using tk3.0

Questions:
    1) what exactly is the above error?

    2) is it legal/wise to have the child use the forked interp and
        die with it as it exits?

    3) is there a better way to implement the call-back feature?

many thanks.
From: estephen@whosnext.cad.gatech.edu (Eric R Stephens)
Newsgroups: comp.lang.tcl
Subject: printing a canvas
Date: 27 Jan 1993 17:58:37 GMT
Organization: Georgia Institute of Technology, CAE/CAD Lab
NNTP-Posting-Host: whosnext.cad.gatech.edu

How do you print canvases?
From: mathew@elroy.Jpl.Nasa.Gov (Mathew Yeates)
Newsgroups: comp.lang.tcl
Subject: Can windows be dragged on a canvas?
Date: 22 Jan 93 00:41:52 GMT
Organization: Image Analysis Systems Group, JPL
NNTP-Posting-Host: henry.jpl.nasa.gov

I notice this isnt done in the widgets demo, is this because it can't be
done? I want to drag a photo widget around on the widget. Instead of
adding the code to make photo a canvas type, somebody recommended
the shortcut of using a window. However, button presses appear to
get intercepted by the window instead of the canvas. Heres a snippet of
code

#create the window containing a photo widget and make it an item on
#the canvas
canvas .canvas -scrollregion {0 0 400 400} -width 400 -height 400
frame .canvas.frame
photo .canvas.frame.photo
pack append .canvas.frame .canvas.frame.photo {top}
.canvas create window 0 0 -window .canvas.frame -anchor nw -tags canvasitem
pack append . .canvas {top}
readppm .canvas.frame.photo teapot.ppm

#bind button presses: this does not work!
bind .canvas <1> "itemStartDrag .canvas %x %y"
bind .canvas <B1-Motion> "itemDrag .canvas %x %y"


Any ideas? Or do I have to go through the hassle of writing the
code to make photo a canvas type?

Mathew Yeates

Newsgroups: comp.lang.tcl
From: trones@dxcern.cern.ch (Jostein Lodve Trones)
Subject: Strange menubutton color behavior
Reply-To: trones@dxcern.cern.ch (Jostein Lodve Trones)
Organization: CERN, European Laboratory for Particle Physics, Geneva
Date: Wed, 27 Jan 1993 13:19:18 GMT


I have a menubutton displayed in one color, let's call it BLUE1.
I have made the activebackground color of this menubutton BLUE2, so that
when I place the cursor above the menubutton, it is displayed in BLUE2.

The menu tied to this menubutton is displayed with background YELLOW and
activebackground YELLOW2.

The first time I place the cursor (or pointer) above the menubutton, it 
correctly changes color from BLUE1 to BLUE2. Then I invoke the menu, do
what I want to do, and leave the menu.
So far so good.
But the next time I place the pointer on this same menubutton, the active-
background color has changed from BLUE2 to YELLOW2, ie the activebackground
color of the menu (not the menubutton).

Anyone knows anything of this?

I am running tk version 2.3, is this bug removed in 3.0?

Didn't find anything about this in the FAQ.

Thanks!
	Jostein
Newsgroups: comp.lang.tcl
From: Duane Murphy <damurphy@wc.novell.com>
Subject: Variable Scope Constructs
X-Xxdate: Wed, 27 Jan 93 22:13:48 GMT
Organization: Novell, Inc.
X-Useragent: Nuntius v1.1.1d12
Date: Wed, 27 Jan 1993 22:06:07 GMT


Has the concept of scope and persistent scope been addressed before? 
Sometimes I think that it would be useful to have additional and
persistent 
scope other than global and local (local is not persistent). 

The idea of a "static" C concept comes to mind.  Variables created as 
static would exist in that scope and persist add infinitem.  Another 
alternative is the Fortran Common area concept.  This would be like 
having a named scope.  This would allow procs that wanted to share 
variables to cooperate.

I guess the main problem I am trying to solve is global variable name 
clutter and collision.

Has this been hashed already?  Is this an interesting idea?  Has anyone 
done it?  I am thinking about doing it, but don't want to rehash work 
already done.

Opinions?
...Duane

  +------------------------+--------------------------------------------+
  | Duane Murphy           | My opinions are mine, mine, and only mine; |
  | damurphy@wc.novell.com |      Except when they are also yours.      |
  | Macintosh Software QA  |                                            |
  +------------------------+--------------------------------------------+
Newsgroups: comp.lang.tcl
From: spencer@med.umich.edu (Spencer W. Thomas)
Newsgroups: comp.lang.tcl
Subject: Re: Canvases - what do YOU use them for?
Date: 22 Jan 93 10:55:16
Organization: University of Michigan HSITN
NNTP-Posting-Host: guraldi.itn.med.umich.edu
In-reply-to: norm@bnr.ca's message of Thu, 21 Jan 1993 21:10:11 GMT

Canvases are for drawing on.  ALso, now that tk3.0 has the canvas
postscript command, they're fantastic for printing out the look of a
window.  (Of course, you've got to reproduce the look using canvas
primitives.) 

=S
--
=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