Artifact b617d0a14a3929458fcb8d4b6cb8c0810439e6fc:
- File
packages/test/lib/data.tcl
— part of check-in
[6f28308d9b]
at
2021-11-16 16:10:52
on branch trunk
— bits
[encode]
check that each input is a byte sequence
eval
new procedures
callater
evallater
{math rand}
new procedure
randprint_256_bitcoin
ns
ascall
do nothing gracefully
ns
object
new procedure
.rmproc
proc
remove extra alias handling
string
new procedures
is bytes
(user: pooryorick size: 23020)
#! /bin/env tclsh proc accounting name { package require sqlite3 uplevel [list [namespace which sqlite3] $name :memory:] uplevel [list $name eval { create table account (id int primary key , name) ; create table "transaction" (id int primary key , link , tid , date , account , amount , comment) ; create table unit (id int primary key , name , description) ; insert into account values (1 , 'bank1') , (2 , 'vendor1') , (3 , 'vendor2') , (4 , 'client1') , (5 , 'client2') , (6 , 'loan1') , (7 , 'loan2') , (8 , 'loans') , (9 , 'facilities' ) , (10 , 'expense' ) , (11 , 'electrical' ) , (12 , 'asset') , (13 , 'liability') , (14 , 'rent') , (15 , 'telecommunications') , (16 , 'entertainment') , (17 , 'travel') , (18 , 'sales') ;insert into unit values (1 , 'United States dollar' , '') ; insert into "transaction" values (1 , '' , 1 , 2015-03-05 , 1 , -15.00 , '') , (2 , '' , 1 , 2015-03-05 , 4 , +15.00 , '') , (3 , '' , 2 , 2015-03-05 , 4 , -37.00 , '') , (4 , '' , 2 , 2015-03-05 , 8 , +37.00 , '') , (5 , 2 , 3 , 2015-03-05 , 8 , -37.00 , '') , (6 , 2 , 3 , 2015-03-05 , 1 , +37.00 , '') }] } proc bytes {} { for {set i 0} {$i < 256} {incr i} { append data [binary format c $i] for {set j 0} {$j < 256} {incr j} { append data [binary format c $j] } append data [binary format c 0] } return [string length $data\n]$data } proc commands {} { # Make sure to preserve the tabs and spaces in these values, including # whitespace at the end of lines . lappend res \ 2 {#! /bin/env tclsh} \ 21 {#a comment} \ 35 {set res [li\tst] } \ lappend res \ 57 "\0and {another command # comprising multiple # # \$lines }" lappend res \ 138 {command and empty } \ 158 {command followed by } \ 182 {one two three } lappend res \ 202 "# a comment spanning \\\n multiple lines" lappend res \ 246 {two } 252 {commands\ } \ 267 {and [$finally a] } \ 285 "# inline comment; with a semicolon\\\n and a newline" \ 339 {and another} \ 352 {# inline comment } \ 374 {last "command"} return $res } proc dirtree {} { package require {ycl list} namespace import [yclprefix]::list::sl sl { [sl { a { { c { {} {five cabbage} } } { one hello two goodbye three cabbage four cabbage } } b [sl { {} [sl { six goodbye seven whateber eight cabbage d [bytes] }] }] }] {} } } proc {deep scripted dict} {} { set data { actors { {{} { target {.. things {{William Shatner}}} }} } [lindex productions] { {} { {{{Star Trek}}} } } things { {{star trek}} {{William Shatner}} } } } proc eav1 name { package require sqlite3 uplevel [list [namespace which sqlite3] $name :memory:] uplevel [list $name eval { create table person ( id int primary key , name , middle , surname ,gender) ; create table type ( id int primary key , name ) ; create table "what" ( id int primary key , value, type ) ; create table "when" ( id int primary key , start , stop) ; create table "where" (id int primary key , "where" , name , unique ("where" , name)) ; create table event (id int primary key , what , "where" , "when") ; create table account (id int primary key, name) ; create table attribute (id int primary key , context , "what" , attribute , value) ; create table character(id int primary key , name , surname) ; create table work (id int primary key , name ) ; insert into type values (1 , 'what') , (2 , 'where') , (3 , 'when') , (4 , 'author') , (5 , 'event') , (6 , 'work') ; insert into what values (1 , 1 , 3) , (2 , 'birth' , 1) , (3 , 1 , 3) , (4 , 1 , 4) , (5 , 1 , 5) , (6 , 'role' , 1) , (7 , 'of' , 1) , (8 , 2 , 4) , (9 , 2 , 3) , (10 , 2 , 5) , (11 , 2 , 4) , (12 , 'author' , 1) , (13 , 1 , 6) ; insert into person values (1 , 'William' , '' , 'Shakespeare' , '') , (2 , 'Geoffrey' , '' , 'Chaucer' , '') , (3 , 'Jane' , '' , 'Austen' , '') , (4 , 'Mark' , '' , 'Twain' , '') , (5 , 'Virginia' , '' , 'Woolf' , '') , (6 , 'T.S.' , '' , 'Eliot' , '') , (7 , 'Vladimir' , '' , 'Nabokov' , '') , (8 , 'Tony' , '' , 'Morrison' , '') , (9 , 'Salman' , '' , 'Rushdie' , '') ; insert into work values (1 , 'A Midsummer Night''s Dream') ; insert into "when" values (1 , 1564-04-26 , '') ,(2 , 1343 , '') ; insert into "event" values (1 , 2 , '' , 1) ,(2 , 2 , '' , 9) ; insert into attribute values (1 , 5 , 5 , 7 , 4) , (2 , 10 , 10 , 7 , 4) , (3 , 13 , 13 , 12 , 4) }] } proc eav2 name { package require sqlite3 uplevel [list [namespace which sqlite3] $name :memory:] uplevel [list $name eval { -- primary keys in v and s must not overlap . create table v (id int primary key , value) ; create table s (id int primary key , value , next) ; create table a (id int primary key , context , "what" , attribute , value , unique ( context , "what" , attribute , value )) -- An odd value in the value field of the attribute table is the id of -- a record in the attribute table . -- An even value in the value field of the attribute table is the type -- of the value in the value field is "value" . ; insert into v values (2 , 'value') , (4 , 'attribute') , (6 , 'type') , (8 , 'kind') , (10 , 'name') , (12 , 'structure') , (14 , 'component') , (16 , 'time') , (18 , 'place') , (20 , 'event') , (22 , 'person') , (24 , 'William') , (26 , 'Shakespeare') , (28 , 'birth') , (30 , 'subject') , (32 , '1564-04-26') , (34 , 'Geoffrey') , (36 , 'of') , (38 , 'Chaucer') ; insert into s values (-1 , 24 , -2) , (-2 , 26 , '') , (-3 , 34 , -4) , (-4 , 38 , '') ; insert into a values (1 , 0 , 1 , 5 , 1) , (2 , 0 , 1, 9 , 2) , (3 , 0 , 3 , 5 , 3) , (4 , 0 , 3 , 9 , 4) , (5 , 0 , 5 , 5 , 5) , (6 , 0 , 5 , 9 , 6) , (7 , 0 , 7 , 5 , 7) , (8 , 0 , 7 , 9 , 8) , (9 , 0 , 9 , 5 , 9) , (10 , 0 , 9 , 9 , 10) , (11 , 0 , 11 , 5 , 11) , (12 , 0 , 11 , 9 , 12) , (13 , 0 , 13 , 5 , 13) , (14 , 0 , 13 , 9 , 14) , (15 , 0 , 15 , 5 , 15) , (16 , 0 , 15 , 9 , 16) , (17 , 0 , 17 , 5 , 17) , (18 , 0 , 17 , 9 , 18) , (19 , 0 , 19 , 5 , 19) , (20 , 0 , 19 , 9 , 20) , (21 , 0 , 21 , 5 , 21) , (22 , 0 , 21 , 9 , 22) , (23 , 0 , 21 , 7 , 23) , (24 , 0 , 23 , 9 , -1) , (25 , 0 , 25 , 5 , 25) , (26 , 0 , 25 , 9 , 28) , (27 , 0 , 27 , 5 , 27) , (28 , 0 , 27 , 9 , 36) , (29 , 0 , 25 , 27 , 23) , (30 , 0 , 29 , 16 , 32) , (31 , 0 , 21 , 7 , 31) , (33 , 0 , 31 , 9 , -3) }] } proc fruits {} { return [list apple orange banana pear kiwi {star fruit} tomato] } proc httprequest {} { lindex { GET /index.html HTTP/1.1 Host: www.example.com Summary: This is a value with some folded text and another line here This is the body . }} proc httpresponse {} { lindex [string map \n \r\n] { HTTP/1.1 200 OK Date: Mon, 23 May 2005 22:38:34 GMT Content-Type: text/html; charset=UTF-8 Content-Encoding: UTF-8 Content-Length: 138 Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux) ETag: "3f80f-1b6-3e1cb03b" Accept-Ranges: bytes Connection: close <html> <head> <title>An Example Page</title> </head> <body> Hello World, this is a very simple HTML document. </body> </html> }] } proc http_response_trailer {} { lindex [string map [list \n \r\n] {HTTP/1.1 200 OK Date: Mon, 22 Mar 2004 11:15:03 GMT Content-Type: text/html Transfer-Encoding: chunked Trailer: Expires 29 <html><body><p>The file you requested is 5 3,400 22 bytes long and was last modified: 1d Sat, 20 Mar 2004 21:12:00 GMT 13 .</p></body></html> 0 Expires: Sat, 27 Mar 2004 21:12:00 GMT }] } proc indented1 {} { set data " \x20\x20\x20\x09\x20snode1 \x20\x20\x20\x09\x20\x20\x20\x20\x20node1.1 \x20\x09\x20\x09\x20\x20\x20\x20\x20node1.2 \x09\x09\x20\x09\x20node2 \x20\x20\x09\x20\x09\x09\x09 \x20\x09\x20\x09\x20\x20\x20\x20\x20node1.2 \x09\x09\x09\x09\x20node3 \x09\x09\x09\x09\x09\x09\x09\x09\x09node1.2 " return $data } proc indented2 {} { set data " \x20\x09\x20\x09\x20snode1 \x20\x09\x20\x09\x20\x20\x20\x20\x20node1.1 \x20\x09\x20\x09\x20\x20\x20\x20\x20node1.2 \x20\x09\x20\x09\x20node2 \x20\x09\x20\x20\x09\x09\x09 \x20\x09\x20\x09\x20\x20\x20\x20\x20node1.2 \x20\x09\x20\x09\x20node3 \x20\x09\x20\x09\x09\x09\x09\x09\x09node1.2 " return $data } proc languages {} { return { languages { English { countries { England { } {United States of America} { } } } Estonian { riigid { Eesti } } } } } proc list1 {} { lappend list üks {kaks kolm} 020 "\{\" " neli " \t\n " 20 010 10 viis \ 001 01 return $list } proc matrix1 {} { return { {1 2 3} {4 5 6} {7 8 9} } } proc pkikey {} { set pkikey { p 94159960284725384554125296314265997970836440758380212900655608346828872286133061846769970950330398312448746238288271408216065371031792738313990490989718519766398751771917608961735126528414368984972176160838176314405794342515440800833231664240450406352636251212059440449303127915686596585098355696079699218793 l 2048 d 25145475369197042361883927212790781684267712572788263701368310165578241814813996088253308237692811897019228199121601769301630759677253977065165852513130344355884031714089941454208960821425746473641501737166525094472026809666049292675254174246804378607863923338705870950830627329287231290579347029541223104528326782390329142377660673218951236713032444195631795029821998529801974391592266155650659336263380808502507157031369926998863394821436522712680534742220389484606853249865402704269453263200880301352938309582919399644558254177749616404905899352845831249900182825599471737380978280121624133515609535555670436443009 q 173366512815386796945238680283650671759753520104174826903516662829090014962800430818804163619629678908862955837221627845714816717563902550008612330129634666692216537515570925645230843689529727941265161592061376397638563869537421263952595404137730381235666620222139127004326810937975056210525451253024329783699 e 0x10001 type rsa n 16324183961398155215060493479521648498710803935363583071128605112543597291955234781241154825795168132329712719766150399741669061504162313722558983241075197896540650868197881102746777333324541828225722118914757063915655173003842147694529408209969278080905558521364278711710385364128469738991784870780600073317021551529711184810122348570765513155803251178561272755841935937548373080348449570037763501008398028394431715055588460408979918327724047267688481708124045175252094778910565809249441191217984634109923822370696017314087054781186476161864814368158841325514329912417166505213527449990943537634086661887212965855307 } return $pkikey } proc script {} { # Make sure to preserve the various tabs and spaces in this value , # including whitespace at the end of lines . # Note that there is no newline at the end of the last command . set res " #! /bin/env tclsh #a comment set res \[li\\tst] \0and {another command # comprising multiple # # \$lines } command and empty ;;command followed by ; ; one two three " append res " # a comment spanning \\ multiple lines two ; commands\\ ; and \[\$finally a] ;# inline comment; with a semicolon\\ and a newline and another; # inline comment last \"command\"" return $res } proc sqlsyntax name { uplevel [list [namespace which sqlite3] $name :memory:] uplevel [list $name eval { create table "wh""ere" ( "values" , "select") ;insert into "wh""ere" values ('one' , 2.35) , ('two' , 3.17) }] } proc startrek {} { if 0 { the format of each line is id parent {*}values each id is an even number or that number +1 if the value is actually a pointer to another id semantics tree the top nodes in the tree are a sequence of things normally each child of a thing is an attribute of the thing recursively node has id even the value of the node is interpreted according to its context odd the node is a link whose value is the id of another node parent value special nodes 0 the only node that has itself as a parent value normally its id is 2 meaning each child of a link pointing to this node is a component of the value rather than an attribute recusively } # unused # next even 190 set tree { 2 2 value 8 8 kind 4 4 name 6 6 thing 108 108 {Star Trek} 111 108 4 139 111 2 128 139 Star 134 139 Trek 35 111 16 37 35 18 33 108 14 3 33 10 144 108 118 144 4 141 118 2 112 141 the 114 141 original 116 141 series 148 144 seasons 142 148 1 53 144 86 57 53 64 73 57 70 79 57 82 81 79 76 10 10 {Gene Roddenberry} 147 10 4 131 147 2 124 131 Gene 126 131 Roddenberry 39 10 26 41 39 30 42 10 153 42 4 155 153 2 156 155 birth 158 155 date 45 42 2 46 44 1921 48 44 08 50 44 19 14 14 161 14 4 163 161 2 164 163 executive 166 163 producer 18 18 星際爭霸戰 20 20 translation 151 20 8 16 151 Chinese 22 151 Russian 26 26 hypocoristicon 30 30 Gene 62 62 {U.S.S. Enterprise} 169 62 4 171 169 2 172 171 U.S.S. 174 171 Enterprise 64 64 captain 66 64 of 69 66 62 70 75 70 4 55 75 2 176 55 James 178 55 T. 182 55 Kirk 76 76 {William Shatner} 181 76 4 183 181 2 184 183 William 186 183 Shatner 82 82 actor 84 84 role 86 86 roles 91 86 96 93 91 88 97 93 94 99 97 84 88 88 list 94 94 of 96 96 as # this is a link to a link for testing purposes 101 101 81 # a cyclical symbolic link to a link for testing purposes 103 103 105 105 105 107 107 107 103 # something that is its own parent, for testing purposes 188 188 ownself 190 190 one 192 190 31415926535 194 192 two } return $tree } proc tclchars {} { lappend list { } "\"" $ ";" {[} {]} "{" "}" " \"$;\[]{}" "{ \"$;\[]}" return $list } proc unichars args { if {[llength $args]} { lassign $args varname } else { set varname unichars } upvar 1 $varname chars set chars {} set charcount 0 for {set i 0} {$i <= 0x10ffff} {incr i} { set char [format %c $i] scan $char %c ord if {$ord == $i} { incr charcount # this is a supported unicode character lappend chars $char } } return } proc utf8_01 {} { return "\xe4\xbd\xa0\xe5\xa5\xbd" } proc values {} { return { {hex number in whitespace} { 0x15520 } {decimal number in whitespace} { 15520 } {decimal leading zero with mantissa in whitespace} { 012.038900 } {negative invalid octal in whitespace} { -00099930 } {negaive invalid octal with mantissa with exponent in whitespace} { -0009388.3333e+67 } {octal in whitespace} { 0o00730} ascii hello {invalid hexadecimal in whitespace} { 0xhello } {Inf in whitespace} { Inf } {invalid exponent in whitespace} { 5.2e } {minus sign in whitespace} { - } {NaN in whitespace} { NaN } {True in whitespace} { True } } } proc vrtcl1 {} { return { { is TtGaNKlhnsi9b1DYR4A@P3YCOZlr4j-pR8f5^o#09m name {{Sly Mold Corporation}} } " is lVlkUcVh6QhxhM99yAb#wk#FRqfn6KMhNSUkB=9YTR name { first Piers last Niketas } {middle name} Anders " { GVejDwIuipPIKm@MyLBN9PzZbw2Zk1h-shgwOq+sOF name CEO } { is 1SvINHOoC7WutLc4u12kd#aZ10HDXuxrR+-j9tY26v name {{CEO of Sly Mold Corporation}} as GVejDwIuipPIKm@MyLBN9PzZbw2Zk1h-shgwOq+sOF of TtGaNKlhnsi9b1DYR4A@P3YCOZlr4j-pR8f5^o#09m } { lVlkUcVh6QhxhM99yAb#wk#FRqfn6KMhNSUkB=9YTR name expense } { OEuefwrM0ZlbsscoNOAE1=z3gKHeOEllKZx#^5@lXR name {{{Sly Mold Corporation} expense}} as lVlkUcVh6QhxhM99yAb#wk#FRqfn6KMhNSUkB=9YTR by TtGaNKlhnsi9b1DYR4A@P3YCOZlr4j-pR8f5^o#09m } } } proc xhierarchy {} { return { config { programs { prefix /path/to/gargonzola program1 { prefix /path/to/program1 prefix /other/path/to/program1 [lindex commands] { cmd1 { opts { default [! list -f [format %s -e] -c [[ancestor::*[prefix][1]/prefix[1]]]/etc/configfile] } opts2 { default [! list -f [format %s -e] -c [[^::prefix]]/etc/configfile] } opts3 [lindex eigth] } } } } } filesystem { prefix { default [! file dirname [file dirname [info script]]] } } packages { { name bash version 4.4 flavour pkgsrc_2016Q3 need { name pkgsrc_bootstrap == {{version 2016Q3}} } } { name pkgsrc_shells_bash version 2016Q3 need { name pkgsrc_bootstrap == {{version 2016Q3}} } provide { name bash version 4.4 } } { name R need { name bash } } } } } # This format was abandoned, 2016-12-11 proc xhierarchy20161211 {} { return { config [{ programs [{ program1 [{ prefix /path/to/program1 prefix /other/path/to/program1 path bin/program1 commands [{ cmd1 [{ opts [{ default [list -f [format %s -e] -c [[ancestor::*/prefix[1]]]/etc/configfile] }] opts2 {[one two three]} }] }] }] }] }] filesystem [{ prefix [{ default [file dirname [file dirname [info script]]] }] }] packages [{ [{ name bash version 4.4 flavour pkgsrc_2016Q3 need [{ name pkgsrc_bootstrap == version 2016Q3 }] }] [{ name pkgsrc_shells_bash version 2016Q3 need [{ name pkgsrc_bootstrap == version 2016Q3 }] provide [{ name bash version 4.4 }] }] [{ name R need [{ name bash }] }] }] } } variable tcldsc { Format: 3.0 (quilt) Source: tcl8.6 Binary: tcl8.6, tcl8.6-doc, tcl8.6-dev Architecture: any all Version: 8.6.0-1 Maintainer: Tcl/Tk Debian Packagers <pkg-tcltk-devel@lists.alioth.debian.org> Uploaders: Sergei Golovan <sgolovan@debian.org> Homepage: http://www.tcl.tk/ Standards-Version: 3.9.3 Build-Depends: debhelper (>= 8.0.0), dpkg-dev (>= 1.16.1~), zlib1g-dev Package-List: tcl8.6 deb interpreters optional tcl8.6-dev deb devel optional tcl8.6-doc deb doc optional Checksums-Sha1: 30643d99d756b20ce318a613ff5f2b2c6e60c57c 5719946 tcl8.6_8.6.0.orig.tar.gz 0f79dc0d1c71004271b66325b03bb4203e273b85 10460 tcl8.6_8.6.0-1.debian.tar.gz Checksums-Sha256: c53915996bb3ddda05d765f848bbd55111d44b74406a9b67a02070078a645964 5719946 tcl8.6_8.6.0.orig.tar.gz 61f38136231d6311c598b79615c1ec5c8a70bcbd1153bdfc6bdc812e2ab98fe7 10460 tcl8.6_8.6.0-1.debian.tar.gz Files: f1edba1eeb1b02c7531b6b408f92ad69 5719946 tcl8.6_8.6.0.orig.tar.gz c522c797de768bc54927b352cef3e180 10460 tcl8.6_8.6.0-1.debian.tar.gz } variable tcldscparsed { {Format {3.0 (quilt)}} {Source tcl8.6} {Binary {tcl8.6, tcl8.6-doc, tcl8.6-dev}} {Architecture {any all}} {Version 8.6.0-1} {Maintainer {Tcl/Tk Debian Packagers <pkg-tcltk-devel@lists.alioth.debian.org>}} {Uploaders {Sergei Golovan <sgolovan@debian.org>}} {Homepage http://www.tcl.tk/} {Standards-Version 3.9.3} {Build-Depends {debhelper (>= 8.0.0), dpkg-dev (>= 1.16.1~), zlib1g-dev}} {Package-List {tcl8.6 deb interpreters optional tcl8.6-dev deb devel optional tcl8.6-doc deb doc optional}} {Checksums-Sha1 {30643d99d756b20ce318a613ff5f2b2c6e60c57c 5719946 tcl8.6_8.6.0.orig.tar.gz 0f79dc0d1c71004271b66325b03bb4203e273b85 10460 tcl8.6_8.6.0-1.debian.tar.gz}} {Checksums-Sha256 {c53915996bb3ddda05d765f848bbd55111d44b74406a9b67a02070078a645964 5719946 tcl8.6_8.6.0.orig.tar.gz 61f38136231d6311c598b79615c1ec5c8a70bcbd1153bdfc6bdc812e2ab98fe7 10460 tcl8.6_8.6.0-1.debian.tar.gz}} {Files {f1edba1eeb1b02c7531b6b408f92ad69 5719946 tcl8.6_8.6.0.orig.tar.gz c522c797de768bc54927b352cef3e180 10460 tcl8.6_8.6.0-1.debian.tar.gz}} } variable tkdsc { Format: 3.0 (quilt) Source: tk8.6 Binary: tk8.6, tk8.6-doc, tk8.6-dev Architecture: any all Version: 8.6.0-1 Maintainer: Tcl/Tk Debian Packagers <pkg-tcltk-devel@lists.alioth.debian.org> Uploaders: Sergei Golovan <sgolovan@debian.org> Homepage: http://www.tcl.tk/ Standards-Version: 3.9.3 Build-Depends: debhelper (>= 8.0.0), dpkg-dev (>= 1.16.1~), x11proto-core-dev, libx11-dev, libxt-dev, libxss-dev, libxext-dev, libxft-dev, tcl8.6-dev (>= 8.6.0) Package-List: tk8.6 deb libs optional tk8.6-dev deb devel optional tk8.6-doc deb doc optional Checksums-Sha1: c42e160285e2d26eae8c2a1e6c6f86db4fa7663b 4239836 tk8.6_8.6.0.orig.tar.gz f896ff651c15f5f65f217144ec11cdc1a0ce084a 8644 tk8.6_8.6.0-1.debian.tar.gz Checksums-Sha256: 5c708b2b6f658916df59190b27750fa1ea2bc10992108e10f961c0700f058de6 4239836 tk8.6_8.6.0.orig.tar.gz c3a94b0d060d9f897b8c5164c76092e619306f2992fba0125d22a78c59773366 8644 tk8.6_8.6.0-1.debian.tar.gz Files: b883a1a3c489c17413fb602a94bf54e8 4239836 tk8.6_8.6.0.orig.tar.gz fd73f5fc2de642ccee265a3a8619136a 8644 tk8.6_8.6.0-1.debian.tar.gz } variable tkdscparsed { {Format {3.0 (quilt)}} {Source tk8.6} {Binary {tk8.6, tk8.6-doc, tk8.6-dev}} {Architecture {any all}} {Version 8.6.0-1} {Maintainer {Tcl/Tk Debian Packagers <pkg-tcltk-devel@lists.alioth.debian.org>}} {Uploaders {Sergei Golovan <sgolovan@debian.org>}} {Homepage http://www.tcl.tk/} {Standards-Version 3.9.3} {Build-Depends {debhelper (>= 8.0.0), dpkg-dev (>= 1.16.1~), x11proto-core-dev, libx11-dev, libxt-dev, libxss-dev, libxext-dev, libxft-dev, tcl8.6-dev (>= 8.6.0)}} {Package-List {tk8.6 deb libs optional tk8.6-dev deb devel optional tk8.6-doc deb doc optional}} {Checksums-Sha1 {c42e160285e2d26eae8c2a1e6c6f86db4fa7663b 4239836 tk8.6_8.6.0.orig.tar.gz f896ff651c15f5f65f217144ec11cdc1a0ce084a 8644 tk8.6_8.6.0-1.debian.tar.gz}} {Checksums-Sha256 {5c708b2b6f658916df59190b27750fa1ea2bc10992108e10f961c0700f058de6 4239836 tk8.6_8.6.0.orig.tar.gz c3a94b0d060d9f897b8c5164c76092e619306f2992fba0125d22a78c59773366 8644 tk8.6_8.6.0-1.debian.tar.gz}} {Files {b883a1a3c489c17413fb602a94bf54e8 4239836 tk8.6_8.6.0.orig.tar.gz fd73f5fc2de642ccee265a3a8619136a 8644 tk8.6_8.6.0-1.debian.tar.gz}} } variable turingtest1 { pooryorick brings forth mst's comments over the weekend about using "" instead of {} so that his brain can continue to parse {} as a list or block as an argument for using {} instead of "" wherever possible to disavow that notion }