Tcl Source Code

View Ticket
Login
Ticket UUID: 808319
Title: stop use of ::unknown_pending
Type: RFE Version: None
Submitter: dgp Created on: 2003-09-18 04:39:54
Subsystem: 38. Init - Library - Autoload Assigned To: dgp
Priority: 7 High Severity:
Status: Closed Last Modified: 2004-06-17 04:12:27
Resolution: Fixed Closed By: dgp
    Closed on: 2004-06-16 21:12:27
Description:
The default [unknown] command, defined
in Tcl's init.tcl script, makes use of a
global array variable ::unknown_pending
just to catch circular [unknown] invocations
that would lead to an infinite loop.

It would be a complete no-brainer to replace
this impolite use of a global variable with
the use of a private variable in the ::tcl
namespace for the same purpose (something
that should have been part of the 7 -> 8 
transition), except for one thing:

we documented it.

In library(n), the use of ::unknown_pending
is documented.

Looking for anyone to make the case that
based on that documentation, someone
might be making use of that variable.
If not, I request we ditch the docs and
the use of the variable in 8.5a development.
User Comments: dgp added on 2004-06-17 04:12:27:
Logged In: YES 
user_id=80530

fixed for Tcl 8.5

dkf added on 2004-05-06 15:40:52:
Logged In: YES 
user_id=79902

The documentation of ::unknown_pending pretty much indicates
that it is not useful for general scripts (e.g. it states
that it is not set at all outside the processing of the
default ::unknown) unless they really want to find out
whether they are being autoloaded.  But that's *really* bad
practice IMHO.

dgp added on 2003-09-22 23:31:16:

File Added - 62201: 808319.patch

dgp added on 2003-09-22 23:31:15:
Logged In: YES 
user_id=80530

here's the simple patch.
Doesn't deal with the docs issue.

Attachments: