Error processing request

Parameters

CONTENT_LENGTH0
REQUEST_METHODGET
REQUEST_URI/revision/lindex?V=24
QUERY_STRINGV=24
CONTENT_TYPE
DOCUMENT_URI/revision/lindex
DOCUMENT_ROOT/var/www/nikit/nikit/nginx/../docroot
SCGI1
SERVER_PROTOCOLHTTP/1.1
HTTPSon
REMOTE_ADDR172.69.58.208
REMOTE_PORT55522
SERVER_PORT4443
SERVER_NAMEwiki.tcl-lang.org
HTTP_HOSTwiki.tcl-lang.org
HTTP_CONNECTIONKeep-Alive
HTTP_ACCEPT_ENCODINGgzip, br
HTTP_X_FORWARDED_FOR18.189.180.76
HTTP_CF_RAY87f12f51cab510d7-ORD
HTTP_X_FORWARDED_PROTOhttps
HTTP_CF_VISITOR{"scheme":"https"}
HTTP_ACCEPT*/*
HTTP_USER_AGENTMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
HTTP_CF_CONNECTING_IP18.189.180.76
HTTP_CDN_LOOPcloudflare
HTTP_CF_IPCOUNTRYUS

Body


Error

Unknow state transition: LINE -> END

-code

1

-level

0

-errorstack

INNER {returnImm {Unknow state transition: LINE -> END} {}} CALL {my render_wikit lindex '''\[http://www.tcl.tk/man/tcl/TclCmd/lindex.htm%|%lindex\]''',\ a\ \[Tcl\ Commands%|%built-in\]\ Tcl\ command,\ retrieves\ an\ \[element\]\ from\ a\ `\[list\]`\ or\ a\ nested\nCommands%|%built-in\]\ Tcl\ command,\ retrieves\ an\ item\ from\ a\ \[list\]\ or\ a\ nested\n\n\n\n**\ See\ Also\ **\n\n\ \ \ \[list\]:\ \ \ \n\ \ \ \n\ \ \ \[Trees\ as\ nested\ lists\]:\ \ \ \n\ \ \ \[lappend\]:\ \ \ \n\n\ \ \ \[linsert\]:\ \ \ \n\n\ \ \ \[llength\]:\ \ \ \n\n\ \ \ \[lrange\]:\ \ \ \n\n\ \ \ \[lreplace\]:\ \ \ \n\n\ \ \ \[lsearch\]:\ \ \ \n\n\ \ \ \[lsort\]:\ \ \ \n\n\n\ \ \ \[lindex\ forward\ compatibility\]:\ \ \ \n\n\ \ \ \[identity\ function\]:\ \ \ one\ use\ for\ `lindex`\n\n\n\n\ \ \ \[http://www.tcl.tk/man/tcl/TclCmd/lindex.htm%|%official\ reference\]:\ \ \ \n\n\ \ \ \[TIP\]\ \[http://www.tcl.tk/cgi-bin/tct/tip/22.html%|%22\]:\ Multiple\ Arguments\ to\ `lindex`:\ \ \ \n\ \ \ \[TIP\]\ \[http://www.tcl.tk/cgi-bin/tct/tip/22.html%|%22\]:\ Multiple\ Arguments\ to\ \[\[`lindex`\]:\ \ \ \n\ \ \ \[TIP\]\ \[http://www.tcl.tk/cgi-bin/tct/tip/45.html%|%45\]:\ Empty\ index\ lists\ for\ `lindex`\ and\ `\[lset\]`:\ \ \ \n\ \ \ \[TIP\]\ \[http://www.tcl.tk/cgi-bin/tct/tip/45.html%|%45\]:\ Empty\ index\ lists\ for\ \[\[`lindex`\]\ and\ \[\[`\[lset\]`\]:\ \ \ \n\n\n**\ Synopsis\ **\n\n\ \ \ \ :\ \ \ '''lindex'''\ ''list''\ ?''index\ ...''?\n\ \ \ \ :\ \ \ '''lindex'''\ ''list\ index''\ ?''index\ ...''?\n\n\n\n**\ Description\ **\n\nReturns\ the\ ''index'''th\ element\ from\ ''list'',\ where\ the\ first\ element\ in\nReturns\ the\ ''index'''th\ \[element\]\ from\ ''list'',\ where\ the\ first\ element\ in\nthe\ number\ of\ elements\ in\ list,\ an\ empty\ string\ is\ returned.\ If\ there\ is\ no\ ''index''\ argument,\ ''list''\ is\ returned\ even\ if\ it\ is\ not\ a\ well-formed\ list.\nthe\ number\ of\ elements\ in\ list,\ an\ empty\ string\ is\ returned.\n''index''\ can\ be\ any\ of\ the\ forms\ described\ for\ `\[string\]`\ indices.\n''index''\ can\ be\ any\ of\ the\ forms\ described\ for\ \[\[`\[string\]`\]\ indices.\nWhere\ multiple\ ''index''\ arguments\ are\ given,\ they\ specify\ a\ path\ to\ an\ element\nWhere\ multiple\ ''index''\ arguments\ are\ given,\ they\ specify\ a\ path\ to\ an\ element\n\n======\nlindex\ \{\{a\ b\ c\}\ \{d\ e\ f\}\ \{g\ h\ i\}\}\ 1\ 1\ \;#\ ->\ e\nlindex\ \{\{a\ b\ c\}\ \{d\ e\ f\}\ \{g\ h\ i\}\}\ 1\ 1\]\ \;#\ ->\ e\n\nIf\ one\ ''index'''\ is\ given,\ and\ it\ is\ a\ list\ of\ indexes,\ those\ indexes\ also\nspecify\ a\ path\ to\ a\ element\ in\ a\ nested\ list.\ \ Thus,\ these\ three\ are\ equivalent:\nspecify\ a\ path\ to\ an\ item\ in\ a\ nested\ list.\ \ Thus,\ these\ three\ are\ equivalent:\n======\nlindex\ \$nestedList\ 1\ 2\ 3\nlindex\ \$nestedList\ \{1\ 2\ 3\}\nlindex\ \[lindex\ \[lindex\ \$nestedList\ 1\]\ 2\]\ 3\n======\n\nWithout\ any\ indices,\ or\ with\ an\ empty\ ''indexList'',\ the\ contents\ of\ the\n''list''\ argument\ are\ returned\ without\ further\ interpretation,\ meaning\ that\ in\nthis\ case,\ ''list''\ isn't\ even\ checked\ to\ make\ sure\ it\ is\ a\ properly\ formatted\nlist.\ \ Therefore,\ any\ value\ at\ all\ is\ valid.\ \ This\ can\ be\ useful\ when\ a\nfunction\ that\ simply\ returns\ its\ argument\ is\ needed.\n\n\n\n**\ History\ **\n**\ Discussion\ **\n\[\[`lrange`\]\ appeared\ in\ Tcl\ 8.5.\n\n\n\n**\ Disussion\ **\n\[LES\]\ 2005-08-15:\ \ What\ does\ `lindex`\ do\ that\ `\[lrange\]`\ doesn't?\n\[LES\]\ 2005-08-15:\ \ What\ does\ \[\[`lindex`\]\ do\ that\ \[\[`\[lrange\]`\]\ doesn't?\n\[pmaage\]\ take\ less\ time\ \[schlenk\]\ direct\ access\ to\ elements\ in\ nested\ lists.\ \ \n\[LES\]\ Look,\ Ma!\ No\ lindex!\n\n======\nproc\ picknested\ \{argList\ \ args\}\ \{\n\ \ \ for\ \ \{set\ _depth\ 0\}\ \{\$_depth\ <\ \[llength\ \$args\]\}\ \{incr\ _depth\}\ \{\n\ \ \ \ \ \ \ set\ _range\ \[lrange\ \$args\ \$_depth\ \$_depth\]\n\ \ \ \ \ \ \ set\ argList\ \{*\}\[lrange\ \$argList\ \$_range\ \$_range\]\n\ \ \ \ \ \ \ set\ argList\ \{expand\}\[lrange\ \$argList\ \$_range\ \$_range\]\n\ \ \ return\ \$argList\n\}\n======\n\nTesting:\n\n======none\n%\ picknested\ \{\{a\ b\ c\}\ \{d\ e\ \{foo\ bar\ hey\}\ f\}\ \{g\ h\ i\}\}\ \ 0\na\ b\ c\n\n%\ picknested\ \{\{a\ b\ c\}\ \{d\ e\ \{foo\ bar\ hey\}\ f\}\ \{g\ h\ i\}\}\ \ 0\ 1\nb\n\n%\ picknested\ \{\{a\ b\ c\}\ \{d\ e\ \{foo\ bar\ hey\}\ f\}\ \{g\ h\ i\}\}\ \ 1\ 2\nfoo\ bar\ hey\n\n%\ picknested\ \{\{a\ b\ c\}\ \{d\ e\ \{foo\ bar\ hey\}\ f\}\ \{g\ h\ i\}\}\ \ 1\ 2\ 0\nfoo\n\n%\ picknested\ \{\{a\ b\ c\}\ \{d\ e\ \{foo\ bar\ hey\}\ f\}\ \{g\ h\ i\}\}\ \ 1\ 2\ 2\nhey\n======\n\n\[schlenk\]:\ Should\ have\ said\ 'easy'\ access.\ You\ can\ do\ the\ same\ with\n`\[lrange\]`,\ yes.\ \ You\ do\ not\ need\ all\ list\ commands,\ most\ can\ be\ replaced\ by\n\[\[`\[lrange\]`\],\ yes.\ \ You\ do\ not\ need\ all\ list\ commands,\ most\ can\ be\ replaced\ by\nhow\ many\ list\ commands\ exist.\ (see\ \[struct::list\]\ for\ some\ more).\ Having\ more\nor\ fewer\ commands\ is\ mostly\ an\ optimization\ in\ time\ or\ space.\ \ \ \n\ \n\[Lars\ H\]:\ I'd\ go\ further\ and\ say\ `\[lrange\]`\ still\ doesn't\ give\ you\ access\ to\n\[Lars\ H\]:\ I'd\ go\ further\ and\ say\ \[\[`\[lrange\]`\]\ still\ doesn't\ give\ you\ access\ to\nthe\ nested\ elements--it's\ really\ \[\{expand\}\]\ (and\ in\ the\ case\ of\ the\ indices\nshimmering)\ that\ you\ rely\ on\ to\ pick\ out\ elements\ of\ lists\ (undo\ whatever\nmuch\ simpler\ with\ `\[foreach\]`?\nmuch\ simpler\ with\ \[\[`\[foreach\]`\]?\n======\nproc\ picknested2\ \{L\ args\}\ \{\n\ \ \ \ foreach\ index\ \$args\ \{\n\ \ \ \ \ \ \ \ if\ \{\$index\ <\ 0\}\ then\ \{return\ \{\}\}\n\ \ \ \ \ \ \ \ foreach\ L\ \$L\ \{\n\ \ \ \ \ \ \ \ \ \ \ \ if\ \{\[incr\ index\ -1\]\ <\ 0\}\ then\ \{break\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if\ \{\[incr\ index\ -1\]<0\}\ then\ \{break\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\n\ \ \ \ \}\n\ \ \ \ return\ \$L\n\}\n======\n\nRemove\ the\ first\ and\ last\ `\[if\]`\ if\ you\ don't\ worry\ about\ correct\ behaviour\nRemove\ the\ first\ and\ last\ \[\[`\[if\]`\]\ if\ you\ don't\ worry\ about\ correct\ behaviour\n\n\[AMG\],\ perhaps\ echoing\ \[Lars\ H\]:\ `\[lrange\]`\ can't\ directly\ be\ used\ to\ obtain\ a\ single\ element\ from\ a\ list.\ \ The\ closest\ it\ comes\ is\ to\ return\ a\ ''list''\ whose\ sole\ element\ is\ the\ one\ you're\ looking\ for.\ \ The\ difference\ is\ the\ same\ as\ that\ between\ a\ value\ and\ a\ single-element\ list\ containing\ that\ value.\ \ For\ many\ values,\ there\ is\ no\ script-visible\ difference\ (unless\ you're\ measuring\ performance,\ see\ \[shimmering\]).\ \ But\ you\ cannot\ rely\ on\ this\ in\ general.\ \ Here's\ an\ example:\n regexp2} CALL {my render lindex '''\[http://www.tcl.tk/man/tcl/TclCmd/lindex.htm%|%lindex\]''',\ a\ \[Tcl\ Commands%|%built-in\]\ Tcl\ command,\ retrieves\ an\ \[element\]\ from\ a\ `\[list\]`\ or\ a\ nested\nCommands%|%built-in\]\ Tcl\ command,\ retrieves\ an\ item\ from\ a\ \[list\]\ or\ a\ nested\n\n\n\n**\ See\ Also\ **\n\n\ \ \ \[list\]:\ \ \ \n\ \ \ \n\ \ \ \[Trees\ as\ nested\ lists\]:\ \ \ \n\ \ \ \[lappend\]:\ \ \ \n\n\ \ \ \[linsert\]:\ \ \ \n\n\ \ \ \[llength\]:\ \ \ \n\n\ \ \ \[lrange\]:\ \ \ \n\n\ \ \ \[lreplace\]:\ \ \ \n\n\ \ \ \[lsearch\]:\ \ \ \n\n\ \ \ \[lsort\]:\ \ \ \n\n\n\ \ \ \[lindex\ forward\ compatibility\]:\ \ \ \n\n\ \ \ \[identity\ function\]:\ \ \ one\ use\ for\ `lindex`\n\n\n\n\ \ \ \[http://www.tcl.tk/man/tcl/TclCmd/lindex.htm%|%official\ reference\]:\ \ \ \n\n\ \ \ \[TIP\]\ \[http://www.tcl.tk/cgi-bin/tct/tip/22.html%|%22\]:\ Multiple\ Arguments\ to\ `lindex`:\ \ \ \n\ \ \ \[TIP\]\ \[http://www.tcl.tk/cgi-bin/tct/tip/22.html%|%22\]:\ Multiple\ Arguments\ to\ \[\[`lindex`\]:\ \ \ \n\ \ \ \[TIP\]\ \[http://www.tcl.tk/cgi-bin/tct/tip/45.html%|%45\]:\ Empty\ index\ lists\ for\ `lindex`\ and\ `\[lset\]`:\ \ \ \n\ \ \ \[TIP\]\ \[http://www.tcl.tk/cgi-bin/tct/tip/45.html%|%45\]:\ Empty\ index\ lists\ for\ \[\[`lindex`\]\ and\ \[\[`\[lset\]`\]:\ \ \ \n\n\n**\ Synopsis\ **\n\n\ \ \ \ :\ \ \ '''lindex'''\ ''list''\ ?''index\ ...''?\n\ \ \ \ :\ \ \ '''lindex'''\ ''list\ index''\ ?''index\ ...''?\n\n\n\n**\ Description\ **\n\nReturns\ the\ ''index'''th\ element\ from\ ''list'',\ where\ the\ first\ element\ in\nReturns\ the\ ''index'''th\ \[element\]\ from\ ''list'',\ where\ the\ first\ element\ in\nthe\ number\ of\ elements\ in\ list,\ an\ empty\ string\ is\ returned.\ If\ there\ is\ no\ ''index''\ argument,\ ''list''\ is\ returned\ even\ if\ it\ is\ not\ a\ well-formed\ list.\nthe\ number\ of\ elements\ in\ list,\ an\ empty\ string\ is\ returned.\n''index''\ can\ be\ any\ of\ the\ forms\ described\ for\ `\[string\]`\ indices.\n''index''\ can\ be\ any\ of\ the\ forms\ described\ for\ \[\[`\[string\]`\]\ indices.\nWhere\ multiple\ ''index''\ arguments\ are\ given,\ they\ specify\ a\ path\ to\ an\ element\nWhere\ multiple\ ''index''\ arguments\ are\ given,\ they\ specify\ a\ path\ to\ an\ element\n\n======\nlindex\ \{\{a\ b\ c\}\ \{d\ e\ f\}\ \{g\ h\ i\}\}\ 1\ 1\ \;#\ ->\ e\nlindex\ \{\{a\ b\ c\}\ \{d\ e\ f\}\ \{g\ h\ i\}\}\ 1\ 1\]\ \;#\ ->\ e\n\nIf\ one\ ''index'''\ is\ given,\ and\ it\ is\ a\ list\ of\ indexes,\ those\ indexes\ also\nspecify\ a\ path\ to\ a\ element\ in\ a\ nested\ list.\ \ Thus,\ these\ three\ are\ equivalent:\nspecify\ a\ path\ to\ an\ item\ in\ a\ nested\ list.\ \ Thus,\ these\ three\ are\ equivalent:\n======\nlindex\ \$nestedList\ 1\ 2\ 3\nlindex\ \$nestedList\ \{1\ 2\ 3\}\nlindex\ \[lindex\ \[lindex\ \$nestedList\ 1\]\ 2\]\ 3\n======\n\nWithout\ any\ indices,\ or\ with\ an\ empty\ ''indexList'',\ the\ contents\ of\ the\n''list''\ argument\ are\ returned\ without\ further\ interpretation,\ meaning\ that\ in\nthis\ case,\ ''list''\ isn't\ even\ checked\ to\ make\ sure\ it\ is\ a\ properly\ formatted\nlist.\ \ Therefore,\ any\ value\ at\ all\ is\ valid.\ \ This\ can\ be\ useful\ when\ a\nfunction\ that\ simply\ returns\ its\ argument\ is\ needed.\n\n\n\n**\ History\ **\n**\ Discussion\ **\n\[\[`lrange`\]\ appeared\ in\ Tcl\ 8.5.\n\n\n\n**\ Disussion\ **\n\[LES\]\ 2005-08-15:\ \ What\ does\ `lindex`\ do\ that\ `\[lrange\]`\ doesn't?\n\[LES\]\ 2005-08-15:\ \ What\ does\ \[\[`lindex`\]\ do\ that\ \[\[`\[lrange\]`\]\ doesn't?\n\[pmaage\]\ take\ less\ time\ \[schlenk\]\ direct\ access\ to\ elements\ in\ nested\ lists.\ \ \n\[LES\]\ Look,\ Ma!\ No\ lindex!\n\n======\nproc\ picknested\ \{argList\ \ args\}\ \{\n\ \ \ for\ \ \{set\ _depth\ 0\}\ \{\$_depth\ <\ \[llength\ \$args\]\}\ \{incr\ _depth\}\ \{\n\ \ \ \ \ \ \ set\ _range\ \[lrange\ \$args\ \$_depth\ \$_depth\]\n\ \ \ \ \ \ \ set\ argList\ \{*\}\[lrange\ \$argList\ \$_range\ \$_range\]\n\ \ \ \ \ \ \ set\ argList\ \{expand\}\[lrange\ \$argList\ \$_range\ \$_range\]\n\ \ \ return\ \$argList\n\}\n======\n\nTesting:\n\n======none\n%\ picknested\ \{\{a\ b\ c\}\ \{d\ e\ \{foo\ bar\ hey\}\ f\}\ \{g\ h\ i\}\}\ \ 0\na\ b\ c\n\n%\ picknested\ \{\{a\ b\ c\}\ \{d\ e\ \{foo\ bar\ hey\}\ f\}\ \{g\ h\ i\}\}\ \ 0\ 1\nb\n\n%\ picknested\ \{\{a\ b\ c\}\ \{d\ e\ \{foo\ bar\ hey\}\ f\}\ \{g\ h\ i\}\}\ \ 1\ 2\nfoo\ bar\ hey\n\n%\ picknested\ \{\{a\ b\ c\}\ \{d\ e\ \{foo\ bar\ hey\}\ f\}\ \{g\ h\ i\}\}\ \ 1\ 2\ 0\nfoo\n\n%\ picknested\ \{\{a\ b\ c\}\ \{d\ e\ \{foo\ bar\ hey\}\ f\}\ \{g\ h\ i\}\}\ \ 1\ 2\ 2\nhey\n======\n\n\[schlenk\]:\ Should\ have\ said\ 'easy'\ access.\ You\ can\ do\ the\ same\ with\n`\[lrange\]`,\ yes.\ \ You\ do\ not\ need\ all\ list\ commands,\ most\ can\ be\ replaced\ by\n\[\[`\[lrange\]`\],\ yes.\ \ You\ do\ not\ need\ all\ list\ commands,\ most\ can\ be\ replaced\ by\nhow\ many\ list\ commands\ exist.\ (see\ \[struct::list\]\ for\ some\ more).\ Having\ more\nor\ fewer\ commands\ is\ mostly\ an\ optimization\ in\ time\ or\ space.\ \ \ \n\ \n\[Lars\ H\]:\ I'd\ go\ further\ and\ say\ `\[lrange\]`\ still\ doesn't\ give\ you\ access\ to\n\[Lars\ H\]:\ I'd\ go\ further\ and\ say\ \[\[`\[lrange\]`\]\ still\ doesn't\ give\ you\ access\ to\nthe\ nested\ elements--it's\ really\ \[\{expand\}\]\ (and\ in\ the\ case\ of\ the\ indices\nshimmering)\ that\ you\ rely\ on\ to\ pick\ out\ elements\ of\ lists\ (undo\ whatever\nmuch\ simpler\ with\ `\[foreach\]`?\nmuch\ simpler\ with\ \[\[`\[foreach\]`\]?\n======\nproc\ picknested2\ \{L\ args\}\ \{\n\ \ \ \ foreach\ index\ \$args\ \{\n\ \ \ \ \ \ \ \ if\ \{\$index\ <\ 0\}\ then\ \{return\ \{\}\}\n\ \ \ \ \ \ \ \ foreach\ L\ \$L\ \{\n\ \ \ \ \ \ \ \ \ \ \ \ if\ \{\[incr\ index\ -1\]\ <\ 0\}\ then\ \{break\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if\ \{\[incr\ index\ -1\]<0\}\ then\ \{break\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\n\ \ \ \ \}\n\ \ \ \ return\ \$L\n\}\n======\n\nRemove\ the\ first\ and\ last\ `\[if\]`\ if\ you\ don't\ worry\ about\ correct\ behaviour\nRemove\ the\ first\ and\ last\ \[\[`\[if\]`\]\ if\ you\ don't\ worry\ about\ correct\ behaviour\n\n\[AMG\],\ perhaps\ echoing\ \[Lars\ H\]:\ `\[lrange\]`\ can't\ directly\ be\ used\ to\ obtain\ a\ single\ element\ from\ a\ list.\ \ The\ closest\ it\ comes\ is\ to\ return\ a\ ''list''\ whose\ sole\ element\ is\ the\ one\ you're\ looking\ for.\ \ The\ difference\ is\ the\ same\ as\ that\ between\ a\ value\ and\ a\ single-element\ list\ containing\ that\ value.\ \ For\ many\ values,\ there\ is\ no\ script-visible\ difference\ (unless\ you're\ measuring\ performance,\ see\ \[shimmering\]).\ \ But\ you\ cannot\ rely\ on\ this\ in\ general.\ \ Here's\ an\ example:\n} CALL {my revision lindex} CALL {::oo::Obj6238963 process revision/lindex} CALL {::oo::Obj6238961 process}

-errorcode

NONE

-errorinfo

Unknow state transition: LINE -> END
    while executing
"error $msg"
    (class "::Wiki" method "render_wikit" line 6)
    invoked from within
"my render_$default_markup $N $C $mkup_rendering_engine"
    (class "::Wiki" method "render" line 8)
    invoked from within
"my render $name $C"
    (class "::Wiki" method "revision" line 31)
    invoked from within
"my revision $page"
    (class "::Wiki" method "process" line 56)
    invoked from within
"$server process [string trim $uri /]"

-errorline

4