Patch title: Release 94 bulk changes
Abstract:
File: /pliant/fullpliant/run.pli
Key:
    Removed line
    Added line
   
abstract
  [This is the script that will start the FullPLiant operati


if (constant this_computer:env:"pliant":"lpr":"service"="tru
  constant (compile_message "Compiling LPR server. Please wa
  precompile += "/pliant/protocol/lpr/server.pli[lf]"
  module "/pliant/protocol/lpr/server.pli"
  compile_message ""
  lpr_server detached
eif (constant this_computer:env:"printer":size>0)
  constant (compile_message "Compiling print spooler. Please
  precompile += "/pliant/protocol/lpr/spool.pli[lf]"
  module "/pliant/protocol/lpr/spool.pli"
  compile_message ""
  lpr_spool
abstract
  [This is the script that will start the FullPLiant operati


if (constant this_computer:env:"pliant":"lpr":"service"="tru
  constant (compile_message "Compiling LPR server. Please wa
  precompile += "/pliant/protocol/lpr/server.pli[lf]"
  module "/pliant/protocol/lpr/server.pli"
  compile_message ""
  lpr_server detached
eif (constant this_computer:env:"printer":size>0)
  constant (compile_message "Compiling print spooler. Please
  precompile += "/pliant/protocol/lpr/spool.pli[lf]"
  module "/pliant/protocol/lpr/spool.pli"
  compile_message ""
  lpr_spool
  console "Print spooler is now running." eol
  console "Print spooler is running." eol


if (constant this_computer:env:"pliant":"browser":"service"="true") or (constant this_computer:env:"pliant":"browser":"console"="true")
  constant (compile_message "Compiling Pliant browser server. Please wait ...")
  precompile += "/pliant/graphic/browser/server/main.pli[lf]"
  module "/pliant/graphic/browser/server/main.pli"
  constant (compile_message "Compiling browser basic applications. Please wait ...")
  module "/pliant/graphic/browser/sample/run.pli" # FIXME
  compile_message ""
  browser_server
  console "Pliant browser server is running." eol
if (constant this_computer:env:"pliant":"multiplexer":"service"="true") or (constant this_computer:env:"pliant":"browser":"service"="true")
  constant (compile_message "Compiling Pliant TCP port multiplexer. Please wait ...")
  precompile += "/pliant/util/pml/multiplexer.pli[lf]"
  module "/pliant/util/pml/multiplexer.pli"
  compile_message ""
  gvar Int mx_port := multiplexer_server
  if mx_port<>undefined
    console "Pliant multiplexer is running on TCP port " mx_port eol
if (constant this_computer:env:"pliant":"browser":"console"="true")
  constant (compile_message "Compiling Pliant browser client. Please wait ...")
  precompile += "/pliant/graphic/browser/client/main.pli[lf]"
  module "/pliant/graphic/browser/client/main.pli"
  module "/pliant/language/stream/loopback.pli"
  module "/pliant/util/pml/multiplexer.pli"
  multiplexer_port "loopback:/server/browser" "loopback:/client/browser"
  compile_message ""
  function run_browser
    thread
      browser_client "console [dq]framebuffer[dq] terminal 2 url [dq]loopback:/[dq] windows_manager [dq]loopback:/windows_manager[dq]"
  run_browser
  console "Pliant browser console is running." eol

if (constant os_api="linux" and (exists this_computer:env:"l
  constant (compile_message "Compiling logical computers sup
  precompile += "/pliant/fullpliant/logical.pli[lf]"
  module "/pliant/fullpliant/logical.pli"
  compile_message ""


if (constant this_computer:env:"hardware":"video":"x11"="vnc
  module "/pliant/protocol/vnc/client.pli"
if (constant os_api="linux" and (exists this_computer:env:"l
  constant (compile_message "Compiling logical computers sup
  precompile += "/pliant/fullpliant/logical.pli[lf]"
  module "/pliant/fullpliant/logical.pli"
  compile_message ""


if (constant this_computer:env:"hardware":"video":"x11"="vnc
  module "/pliant/protocol/vnc/client.pli"
  thread
    vnc_client "127.0.0.1" ""
  function run_vnc
    thread
      vnc_client "127.0.0.1" ""
  run_vnc
if (constant this_computer:env:"pliant":"system":"medium"="c
if (constant this_computer:env:"pliant":"system":"medium"="c
  thread
    sleep 15
    recover_menu
  function run_recover
    thread
      sleep 15
      recover_menu
  run_recover
if (constant this_computer:env:"pliant":"language":"load"<>"
  function run_load
if (constant this_computer:env:"pliant":"language":"load"<>"
  function run_load
    safe
      plugin load
        var Str all := this_computer:env:"pliant":"language"
        while all<>""
          if not (all parse any:(var Str first) "[lf]" any:(
            first := all ; remain := ""
          if first<>""
            pliant_compiler_semaphore request
            console "  loading " first eol
            pliant_load_module first the_module:"/pliant/lan
            pliant_compiler_semaphore release
          all := remain
    failure err
      (var Stream log) open "file:/tmp/load.log" out+safe
      log writeline err
  thread
    sleep 120
    run_load
    thread
      sleep 120
      safe
        plugin load
          var Str all := this_computer:env:"pliant":"language":"load"
          while all<>""
            if not (all parse any:(var Str first) "[lf]" any:(var Str remain))
              first := all ; remain := ""
            if first<>""
              pliant_compiler_semaphore request
              console "  loading " first eol
              # var DateTime start := datetime
              pliant_load_module first the_module:"/pliant/language/basic/safe.pli" 0 (null map Module)
              # console "  done in " (string datetime:seconds-start:seconds "fixed 0") " second(s)" eol
              pliant_compiler_semaphore release
            all := remain
      failure err
        (var Stream log) open "file:/tmp/load.log" out+safe
        log writeline err
  run_load

if (constant this_computer:env:"pliant":"system":"distributi
  if (constant (file_query "file:/boot/boot.flag" standard)=
    file_delete "file:/boot/boot.flag"
    if (constant this_computer:env:"pliant":"system":"embedd
      module "embedded/command.pli"

if (constant this_computer:env:"pliant":"system":"distributi
  if (constant (file_query "file:/boot/boot.flag" standard)=
    file_delete "file:/boot/boot.flag"
    if (constant this_computer:env:"pliant":"system":"embedd
      module "embedded/command.pli"
      thread
        sleep 2
        embedded_command "xsetroot -solid #407060" ""
        embedded_command "mozilla" "user [dq]me[dq] detached
        # embedded_command "/usr/lib/mozilla/mozilla-bin" "u
      function run_embedded
        thread
          sleep 2
          embedded_command "xsetroot -solid #407060" ""
          embedded_command "mozilla" "user [dq]me[dq] detached"
          # embedded_command "/usr/lib/mozilla/mozilla-bin" "user [dq]me[dq] detached"
      run_embedded
eif os_api="win32"
  function os_ShellExecute hwnd op file params dir bshow
    arg Int hwnd ; arg CStr op file params dir ; arg Int bsh
    external "shell32.dll" "ShellExecuteA"
  gvar Str login := ""
  if (exists user_database:data:user:"pliant") and user_secr
    login := "pliant:"+user_secret_database:data:password+"@
  gvar Str url := "http://"+login+"localhost"+(shunt this_co
eif os_api="win32"
  function os_ShellExecute hwnd op file params dir bshow
    arg Int hwnd ; arg CStr op file params dir ; arg Int bsh
    external "shell32.dll" "ShellExecuteA"
  gvar Str login := ""
  if (exists user_database:data:user:"pliant") and user_secr
    login := "pliant:"+user_secret_database:data:password+"@
  gvar Str url := "http://"+login+"localhost"+(shunt this_co
  thread
    sleep 2
    os_ShellExecute 0 "open" url "" "c:\" 1
  function run_web_browser
    thread
      sleep 2
      os_ShellExecute 0 "open" url "" "c:\" 1
  run_web_browser
if (constant this_computer:env:"pliant":"http":"autoload"<>"
if (constant this_computer:env:"pliant":"http":"autoload"<>"
  thread
    sleep 5
    pliant_compiler_semaphore request
    http_precompile "/pliant/protocol/http/default.page"
    http_precompile "/pliant/browse/virtual_tree.page"
    pliant_compiler_semaphore release
  function run_autoload
    thread
      sleep 5
      pliant_compiler_semaphore request
      http_precompile "/pliant/protocol/http/default.page"
      http_precompile "/pliant/browse/virtual_tree.page"
      pliant_compiler_semaphore release
  run_autoload


this_computer "pliant" "language" "recommended" := precompil
if this_computer:env:"pliant":"language":"recommended"<>precompile
  this_computer "pliant" "language" "recommended" := precompile


function run
function run_http
  pliant_compiler_semaphore release
  if not (this_computer:env:"pliant":"http":"port" parse (va
    port := 80
  if (constant this_computer:env:"pliant":"system":"distribu
    http_server port port secured log this_computer:env:"pli
  eif os_api="win32"
    http_server port port secured log this_computer:env:"pli
  else
    http_server port port secured log this_computer:env:"pli
  pliant_compiler_semaphore release
  if not (this_computer:env:"pliant":"http":"port" parse (va
    port := 80
  if (constant this_computer:env:"pliant":"system":"distribu
    http_server port port secured log this_computer:env:"pli
  eif os_api="win32"
    http_server port port secured log this_computer:env:"pli
  else
    http_server port port secured log this_computer:env:"pli
run
run_http