Tcl Source Code

Check-in [53ee04101a]
Login
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:
* library/init.tcl (::unknown): removed the [namespace inscope] hack that was maintained for Itcl
*** POTENTIAL INCOMPATIBILITY *** for Itcl Itcl users will need a new release with Itcl's [Patch 2040295], or else load the tiny script in that patch by themselves (rewrite ::unknown). Note that it is a script-only patch.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | potential incompatibility
Files: files | file ages | folders
SHA1: 53ee04101a2c9f8005017b00f1b40ec81252de94
User & Date: msofer 2008-08-06 19:23:10
Context
2008-08-06
19:46
missed some nukeable comments re [namespace inscope] check-in: 62b41b608a user: msofer tags: trunk
19:23
* library/init.tcl (::unknown): removed the [namespace inscope] hack that was maintained for Itcl ...
check-in: 53ee04101a user: msofer tags: trunk, potential incompatibility
2008-08-05
23:47
Streamline async connect logic [Patch 1994512].

Consolidate error reporting paths in CreateSocket()... check-in: 27101ab8a1 user: jenglish tags: trunk

Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.











1
2
3
4
5
6
7









2008-08-05  Joe English  <[email protected]>

	* unix/tclUnixChan.c: Streamline async connect logic [Patch 1994512]

2008-08-05  Miguel Sofer  <[email protected]>

	* generic/tclExecute.c: Fix for [Bug 2038069] by dgp.
>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2008-08-06  Miguel Sofer  <[email protected]>

	* library/init.tcl (::unknown): removed the [namespace inscope]
	hack that was maintained for Itcl

	*** POTENTIAL INCOMPATIBILITY *** for Itcl
	Itcl users will need a new release with Itcl's [Patch 2040295], or
	else load the tiny script in that patch by themselves (rewrite
	::unknown). Note that it is a script-only patch.

2008-08-05  Joe English  <[email protected]>

	* unix/tclUnixChan.c: Streamline async connect logic [Patch 1994512]

2008-08-05  Miguel Sofer  <[email protected]>

	* generic/tclExecute.c: Fix for [Bug 2038069] by dgp.

Changes to library/init.tcl.

1
2
3
4
5
6
7
8
9
10
11
12
13
...
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255

256
257
258
259
260
261
262
263
# init.tcl --
#
# Default system startup file for Tcl-based applications.  Defines
# "unknown" procedure and auto-load facilities.
#
# RCS: @(#) $Id: init.tcl,v 1.107 2008/06/25 17:40:03 andreas_kupries Exp $
#
# Copyright (c) 1991-1993 The Regents of the University of California.
# Copyright (c) 1994-1996 Sun Microsystems, Inc.
# Copyright (c) 1998-1999 Scriptics Corporation.
# Copyright (c) 2004 by Kevin B. Kenny.  All rights reserved.
#
# See the file "license.terms" for information on usage and redistribution
................................................................................
proc unknown args {
    variable ::tcl::UnknownPending
    global auto_noexec auto_noload env tcl_interactive

    # If the command word has the form "namespace inscope ns cmd"
    # then concatenate its arguments onto the end and evaluate it.

    set cmd [lindex $args 0]
    if {[regexp "^:*namespace\[ \t\n\]+inscope" $cmd] && [llength $cmd] == 4} {
	#return -code error "You need an {*}"
        set arglist [lrange $args 1 end]
	set ret [catch {uplevel 1 ::$cmd $arglist} result opts]
	dict unset opts -errorinfo
	dict incr opts -level
	return -options $opts $result
    }

    catch {set savedErrorInfo $::errorInfo}
    catch {set savedErrorCode $::errorCode}

    set name $cmd
    if {![info exists auto_noload]} {
	#
	# Make sure we're not trying to load the same proc twice.
	#
	if {[info exists UnknownPending($name)]} {
	    return -code error "self-referential recursion\
		    in \"unknown\" for command \"$name\"";




|







 







<
<
<
<
<
<
<
<
<
<


>
|







1
2
3
4
5
6
7
8
9
10
11
12
13
...
237
238
239
240
241
242
243










244
245
246
247
248
249
250
251
252
253
254
# init.tcl --
#
# Default system startup file for Tcl-based applications.  Defines
# "unknown" procedure and auto-load facilities.
#
# RCS: @(#) $Id: init.tcl,v 1.108 2008/08/06 19:23:13 msofer Exp $
#
# Copyright (c) 1991-1993 The Regents of the University of California.
# Copyright (c) 1994-1996 Sun Microsystems, Inc.
# Copyright (c) 1998-1999 Scriptics Corporation.
# Copyright (c) 2004 by Kevin B. Kenny.  All rights reserved.
#
# See the file "license.terms" for information on usage and redistribution
................................................................................
proc unknown args {
    variable ::tcl::UnknownPending
    global auto_noexec auto_noload env tcl_interactive

    # If the command word has the form "namespace inscope ns cmd"
    # then concatenate its arguments onto the end and evaluate it.











    catch {set savedErrorInfo $::errorInfo}
    catch {set savedErrorCode $::errorCode}

    set name [lindex $args 0]
    if {![info exists auto_noload]} {
	#
	# Make sure we're not trying to load the same proc twice.
	#
	if {[info exists UnknownPending($name)]} {
	    return -code error "self-referential recursion\
		    in \"unknown\" for command \"$name\"";