Patch title: Release 94 bulk changes
Abstract:
File: /pliant/graphic/browser/naive/tag/event.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/unsafe.pli"
module "/pliant/language/stream.pli"
module "/pliant/graphic/browser/naive/core.pli"


browser_tag_position hook
  position_recurse node
  position_container node

browser_tag_event hook
  # console "hook event " event " key " key " at " target_id eol
  if event="focus"
    return
  var Str memo_event := event ; var Str memo_key := key
  event := "target" ; key := "set"
  event_recurse node
  event := memo_event ; key := memo_key
  connection writechars "run "+string:(shunt (node attribute "id")<>"" (node attribute "id") id)
  connection writechars " hook_x0 "+(string area:x0)+" hook_y0 "+(string area:y0)+" hook_x1 "+(string area:x1)+" hook_y1 "+(string area:y1)
  if target_id<>""
    connection writechars " target_id "+string:target_id
  if target_index<>undefined
    connection writechars " target_index "+string:target_index
  if target_options<>""
    connection writechars " target_options "+string:target_options
  if target_x0<>undefined
    connection writechars " target_x0 "+string:target_x0
  if target_y0<>undefined
    connection writechars " target_y0 "+string:target_y0
  if target_x1<>undefined
    connection writechars " target_x1 "+string:target_x1
  if target_y1<>undefined
    connection writechars " target_y1 "+string:target_y1
  if session:focus_id<>""
    connection writechars " focus_hook "+(string session:focus_hook)
    connection writechars " focus_id "+(string session:focus_id)
    connection writechars " focus_index "+(string session:focus_index)
    connection writechars " focus_options "+(string session:focus_options)
  connection writechars " event "+string:event
  connection writechars " key "+string:key
  connection writechars " buttons "+string:buttons
  if x<>undefined
    connection writechars " x "+string:x
  if y<>undefined
    connection writechars " y "+string:y
  # if options<>""
  #   connection writechars " options "+string:options
  connection writeline ""
  if attribute:"path"="true"
    var Pointer:BrowserNode n :> document search_node target_id
    while exists:n
      connection writeline "i "+(string n:id)
      connection writeline "t "+(string n:tag)
      var CBool found := n first_attribute (var Str a) (var Str v)
      while found
        connection writeline "a "+string:a+" "+string:v
        found := n next_attribute a v
      n :> n parent
  connection flush anytime
  # process_instructions
  event_discard_flag := true
  session restore_connection