10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# RCS: @(#) $Id: $
#
###############################################################################
if {![package vsatisfies [package provide Tcl] 8.4]} then {
error "need Tcl 8.4 or higher"
}
if {[catch {package present Eagle}] == 0} then {
error "need native Tcl"
}
###############################################################################
namespace eval ::Eagle::Tools::Common {
#
# NOTE: *HACK* Skip defining this procedure if it is already defined.
#
if {[llength [info commands ::appendArgs]] == 0} then {
#
# NOTE: This procedure was stolen from the "auxiliary.eagle" script.
# This procedure accepts an any number of arguments. The arguments
# are appended into one big string, verbatim. The resulting string
# is returned. Normally, this procedure is used to avoid undesired
# string interpolation operations.
#
proc appendArgs { args } {
eval append result $args
}
}
#
# NOTE: *HACK* Skip defining this procedure if it is already defined.
#
if {[llength [info commands ::makeBinaryChannel]] == 0} then {
#
# NOTE: This procedure was stolen from the "file1.eagle" script. This
# procedure reconfigures the specified channel to full binary mode.
#
proc makeBinaryChannel { channel } {
fconfigure $channel -encoding binary -translation binary; # BINARY DATA
}
}
#
# NOTE: *HACK* Skip defining this procedure if it is already defined.
#
if {[llength [info commands ::writeFile]] == 0} then {
#
# NOTE: This procedure was stolen from the "file1.eagle" script. This
# procedure writes all data to the specified binary file and returns
# an empty string. Previous data contained in the file, if any, is
# lost.
|
>
>
>
>
>
>
>
>
|
>
|
>
|
>
|
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# RCS: @(#) $Id: $
#
###############################################################################
#
# NOTE: This script file uses features that are only present in Tcl 8.4 or
# higher (e.g. the "eq" operator for [expr], etc).
#
if {![package vsatisfies [package provide Tcl] 8.4]} then {
error "need Tcl 8.4 or higher"
}
#
# NOTE: This script file uses features that are not available in Eagle (e.g.
# the "http" and "tls" packages).
#
if {[catch {package present Eagle}] == 0} then {
error "need native Tcl"
}
###############################################################################
namespace eval ::Eagle::Tools::Common {
#
# NOTE: *HACK* Skip defining this procedure if it is already defined in the
# global namespace.
#
if {[llength [info commands ::appendArgs]] == 0} then {
#
# NOTE: This procedure was stolen from the "auxiliary.eagle" script.
# This procedure accepts an any number of arguments. The arguments
# are appended into one big string, verbatim. The resulting string
# is returned. Normally, this procedure is used to avoid undesired
# string interpolation operations.
#
proc appendArgs { args } {
eval append result $args
}
}
#
# NOTE: *HACK* Skip defining this procedure if it is already defined in the
# global namespace.
#
if {[llength [info commands ::makeBinaryChannel]] == 0} then {
#
# NOTE: This procedure was stolen from the "file1.eagle" script. This
# procedure reconfigures the specified channel to full binary mode.
#
proc makeBinaryChannel { channel } {
fconfigure $channel -encoding binary -translation binary; # BINARY DATA
}
}
#
# NOTE: *HACK* Skip defining this procedure if it is already defined in the
# global namespace.
#
if {[llength [info commands ::writeFile]] == 0} then {
#
# NOTE: This procedure was stolen from the "file1.eagle" script. This
# procedure writes all data to the specified binary file and returns
# an empty string. Previous data contained in the file, if any, is
# lost.
|