pack .d.csr.csr.e -side left
focus .d.csr.csr.e
bind_key Return {
- binary scan [.d.csr.csr.e get] h* hex
+ binary scan [.d.csr.csr.e get] H* hex
if {[string length $hex]} {
RETURN_RESULT DEFINE "$cur_0 $cur_1 $hex"
}
set ol {}
foreach bm [array names database] {
set strh $database($bm)
- set strs [binary format h* $strh]
+ set strs [binary format H* $strh]
set strdo [format "%d %s" [expr {[string length $strh]/2}] $strh]
set o "[lindex $bm 0] $strdo\n"
append o [format "%d\n" [expr {[llength $bm]-1}]]
proc RETURN_RESULT {how what} {
+ global mainkind
place forget .d.csr.csr
pack forget .d.csr.csr.e
helptext {{{ Processing }}}
unbind_all_keys
update idletasks
- puts "$how $what"
+ puts stderr "$how $what"
eval update_database/$how $what
- exec kill -STOP [pid]
- fileevent stdin readable required
+ done/$mainkind
}
#---------- main progrm ----------
-proc test_main {} {
+proc main/test {} {
global glyphsdone unk_l unk_r unk_context
set glyphsdone {
draw_glyphsdone
startup_cursor
}
+proc done/test {} {
+}
proc required {} {
global glyphsdone unk_l unk_r unk_context
init_widgets
manyset [lrange $l 0 3] unk_l unk_r unk_context
set glyphsdone [lrange $l 3 end]
- puts "SHOW-THING GOT $l"
+ puts stderr "SHOW-THING GOT $l"
fileevent stdin readable {}
startup_cursor
}
+proc main/automatic {} {
+ fconfigure stdin -blocking no
+ fileevent stdin readable required
+}
+proc done/automatic {} {
+ exec sh -c {printf \\0 >&4}
+ fileevent stdin readable required
+}
+
+switch -exact -- $argv {
+ {} { set mainkind test }
+ {--automatic 1} { set mainkind automatic }
+ {--automatic*} { error "incompatible versions - install problem" }
+ default { error "huh $argv ?" }
+}
+
read_database
-fconfigure stdin -blocking no
-fileevent stdin readable required
+main/$mainkind