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