Error processing request

Parameters

CONTENT_LENGTH0
REQUEST_METHODGET
REQUEST_URI/revision/Jos+Decoster?V=133
QUERY_STRINGV=133
CONTENT_TYPE
DOCUMENT_URI/revision/Jos+Decoster
DOCUMENT_ROOT/var/www/nikit/nikit/nginx/../docroot
SCGI1
SERVER_PROTOCOLHTTP/1.1
HTTPSon
REMOTE_ADDR172.69.6.33
REMOTE_PORT44474
SERVER_PORT4443
SERVER_NAMEwiki.tcl-lang.org
HTTP_HOSTwiki.tcl-lang.org
HTTP_CONNECTIONKeep-Alive
HTTP_ACCEPT_ENCODINGgzip, br
HTTP_X_FORWARDED_FOR3.129.19.251
HTTP_CF_RAY88012cfb2a8a60a2-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_IP3.129.19.251
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 {Jos Decoster} {**Contact info**

'''mail:''' jos _dot_ decoster _at_ gmail _dot_ com

[jdc] on the Tcler's chat.

'''homepage:''' http://sites.google.com/site/josdecoster

**Contributions**

   * A [Space Invaders] game I made.
   * [tclMIDI], a package to work with [Midi] files. Also try [Muzic] to make music with Tcl.
   * [midistreamdll], a wrapper for the Windows Midi stream API.
   * Needed to assist in local elections, I made this little script to allocate the seats according to the [Imperiali] method
   * Some tkchat hacking in [tkchat bot]
   * [tclMetarGui]: a [starkit] to display METAR weather data on a world map.
   * [Tchords]: a scale and chord finder for guitar or bass.
   * [RMMADWIM]: solve and solve1 skeleton
   * [Metar stations]
   * [Metar data]
   * [World locations]
   * New wiki [Formatting Rules]
   * [WubWikit]
   * [wiki database for offline use]
   * [webchain]: a web interface to IRC chat
   * wubchain, a [Wub] based web interface to IRC chat [http://code.google.com/p/wubchain/]
   * Example using [Google AJAX search API]
   * [C++ object-style Tcl example extension]
   * [ar]
   * [Code Golf Saving Time]
   * http://code.google.com/p/tcljs/%|%tcljs%|% embeds the Spidermonkey [javascript] interpreter in Tcl, [TEA] based.
   * http://code.google.com/p/tcljspac/%|%tcljspac%|% provides utility functions needed to process `proxy.pac` files with tcljs
   * Debugging [The Slow]
   * [Wub] tutorial presented at [8th European Tcl/Tk Users Meeting], available from http://code.google.com/p/wubwikit/downloads/list

**Using [BLT] with Tcl 8.5.2**

For an application I develop, I'm using the BLT commands `bgexec`, `busy`, `graph` and `barchart`. `bgexec` and `busy` are available as starkits (check [Standalone bgexec] and [busy]), but the `graph` and `barchart` commands have no startkit equivalent. So I had to get BLT going for Tcl 8.5.2. The followings changes were needed:

   1. BLT has its own copy of the TkDisplay structure definition. A new member was added to this struct in Tk 8.5.2, which caused a crash of the `busy` command. This new member is `XIMStyle inputStyle;`, found in file `tkInt.h` of the Tk distribution. This member needs to be added to the `TkDisplay` definition as found in `bltWindow.c` file of BLT.
   1. Tk must be compiled without [Xft] support. Xft seems to cause trouble with e.g. the `bitmap` command.
   1. Some libs need to be added to the link command. This needs to be inserted before `-lX11` in the generated `Makefile` in the `src` and `src/shared` subdirectories: `-lX11 -lXss -lXext`.
   1. When using the zoom-stack, some assertion trigger. Commenting them out solved the problem without introducing problems. I removed the 4 `assert` statements in the `BoxesDontOverlap` function in file `bltGrMarker.c`.

**Wiki edit statistics**

Edit statistics can be generated with this script:

======
package require Mk4tcl

mk::file open db wikit-20081226.tkd -readonly

proc get_nick {who} {
    set idx [string first @ $who]
    if {$idx > 0} {
        return [string range $who 0  [expr {$idx-1}]]
    } else {
        return $who
    }
}

mk::loop i db.pages {
    lassign [mk::get $i name who date] name who date
    set y [clock format $date -format %Y]
    incr ys($y)
    incr w($y,[get_nick $who])
    incr p($y,[string range $i 9 end])

    mk::loop j $i.changes {
        lassign [mk::get $j who date] who date
        set y [clock format $date -format %Y]
        incr ys($y)
        incr w($y,[get_nick $who])
        incr p($y,[string range $i 9 end])
    }
}

foreach y [lsort -integer [array names ys]] {

    puts "***$y: $ys($y) edits***"

    set l {}
    foreach {k v} [array get p $y,*] {
        set n [lindex [split $k ,] end]
        set name [mk::get db.pages!$n name]
        lappend l [list $name $v]
    }
    set n 0
    puts "\n%|Page|Number of edits|%"
    foreach il [lsort -integer -decreasing -index 1 $l] {
        puts "&|[join $il |]|&"
        incr n
        if {$n>20} {break}
    }

    set l {}
    foreach {k v} [array get w $y,*] {
        lappend l [list [lindex [split $k ,] end] $v]
    }
    set n 0
    puts "\n%|Nick|Number of edits|%"
    foreach il [lsort -integer -decreasing -index 1 $l] {
        puts "&|[join $il |]|&"
        incr n
        if {$n>20} {break}
    }
}

mk::file close db
=====
-----
!!!!!! 
%|[Category Person]|[Category BLT]%
!!!!!!} regexp2} CALL {my render {Jos Decoster} {**Contact info**

'''mail:''' jos _dot_ decoster _at_ gmail _dot_ com

[jdc] on the Tcler's chat.

'''homepage:''' http://sites.google.com/site/josdecoster

**Contributions**

   * A [Space Invaders] game I made.
   * [tclMIDI], a package to work with [Midi] files. Also try [Muzic] to make music with Tcl.
   * [midistreamdll], a wrapper for the Windows Midi stream API.
   * Needed to assist in local elections, I made this little script to allocate the seats according to the [Imperiali] method
   * Some tkchat hacking in [tkchat bot]
   * [tclMetarGui]: a [starkit] to display METAR weather data on a world map.
   * [Tchords]: a scale and chord finder for guitar or bass.
   * [RMMADWIM]: solve and solve1 skeleton
   * [Metar stations]
   * [Metar data]
   * [World locations]
   * New wiki [Formatting Rules]
   * [WubWikit]
   * [wiki database for offline use]
   * [webchain]: a web interface to IRC chat
   * wubchain, a [Wub] based web interface to IRC chat [http://code.google.com/p/wubchain/]
   * Example using [Google AJAX search API]
   * [C++ object-style Tcl example extension]
   * [ar]
   * [Code Golf Saving Time]
   * http://code.google.com/p/tcljs/%|%tcljs%|% embeds the Spidermonkey [javascript] interpreter in Tcl, [TEA] based.
   * http://code.google.com/p/tcljspac/%|%tcljspac%|% provides utility functions needed to process `proxy.pac` files with tcljs
   * Debugging [The Slow]
   * [Wub] tutorial presented at [8th European Tcl/Tk Users Meeting], available from http://code.google.com/p/wubwikit/downloads/list

**Using [BLT] with Tcl 8.5.2**

For an application I develop, I'm using the BLT commands `bgexec`, `busy`, `graph` and `barchart`. `bgexec` and `busy` are available as starkits (check [Standalone bgexec] and [busy]), but the `graph` and `barchart` commands have no startkit equivalent. So I had to get BLT going for Tcl 8.5.2. The followings changes were needed:

   1. BLT has its own copy of the TkDisplay structure definition. A new member was added to this struct in Tk 8.5.2, which caused a crash of the `busy` command. This new member is `XIMStyle inputStyle;`, found in file `tkInt.h` of the Tk distribution. This member needs to be added to the `TkDisplay` definition as found in `bltWindow.c` file of BLT.
   1. Tk must be compiled without [Xft] support. Xft seems to cause trouble with e.g. the `bitmap` command.
   1. Some libs need to be added to the link command. This needs to be inserted before `-lX11` in the generated `Makefile` in the `src` and `src/shared` subdirectories: `-lX11 -lXss -lXext`.
   1. When using the zoom-stack, some assertion trigger. Commenting them out solved the problem without introducing problems. I removed the 4 `assert` statements in the `BoxesDontOverlap` function in file `bltGrMarker.c`.

**Wiki edit statistics**

Edit statistics can be generated with this script:

======
package require Mk4tcl

mk::file open db wikit-20081226.tkd -readonly

proc get_nick {who} {
    set idx [string first @ $who]
    if {$idx > 0} {
        return [string range $who 0  [expr {$idx-1}]]
    } else {
        return $who
    }
}

mk::loop i db.pages {
    lassign [mk::get $i name who date] name who date
    set y [clock format $date -format %Y]
    incr ys($y)
    incr w($y,[get_nick $who])
    incr p($y,[string range $i 9 end])

    mk::loop j $i.changes {
        lassign [mk::get $j who date] who date
        set y [clock format $date -format %Y]
        incr ys($y)
        incr w($y,[get_nick $who])
        incr p($y,[string range $i 9 end])
    }
}

foreach y [lsort -integer [array names ys]] {

    puts "***$y: $ys($y) edits***"

    set l {}
    foreach {k v} [array get p $y,*] {
        set n [lindex [split $k ,] end]
        set name [mk::get db.pages!$n name]
        lappend l [list $name $v]
    }
    set n 0
    puts "\n%|Page|Number of edits|%"
    foreach il [lsort -integer -decreasing -index 1 $l] {
        puts "&|[join $il |]|&"
        incr n
        if {$n>20} {break}
    }

    set l {}
    foreach {k v} [array get w $y,*] {
        lappend l [list [lindex [split $k ,] end] $v]
    }
    set n 0
    puts "\n%|Nick|Number of edits|%"
    foreach il [lsort -integer -decreasing -index 1 $l] {
        puts "&|[join $il |]|&"
        incr n
        if {$n>20} {break}
    }
}

mk::file close db
=====
-----
!!!!!! 
%|[Category Person]|[Category BLT]%
!!!!!!}} CALL {my revision {Jos Decoster}} CALL {::oo::Obj7373270 process revision/Jos+Decoster} CALL {::oo::Obj7373268 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