Patch title: Release 85 bulk changes
Abstract:
File: /pliant/protocol/lpr/device.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/context.pli"
module "/pliant/language/context.pli"
module "/pliant/language/compiler.pli"
module "/pliant/language/stream.pli"


  gvar Sem sem
  gvar (Dictionary Str Void) devices
  
  function lpr_device_init device
    arg Str device
    sem request
    if not exists:(devices first device)
      if (device parse "device:/lp" (var Int num))
        execute "insmod parport" quiet
        execute "insmod parport_pc" quiet
        execute "insmod lp" quiet
        kernel_make_device device
      eif (device parse "device:/usb/lp" (var Int num))
        execute "insmod usbcore" quiet
        var Str module := this_computer:env:"hardware":"usb"
        if module=""
          module := "usb-uhci"
        execute "insmod "+module quiet
        execute "insmod printer" quiet
        filesystem_mount "file:usb" "file:/proc/bus/usb/" "f
        file_tree_create "device:/usb/"
        kernel_make_device device kernel_character_device 18
        sleep 2 # USB device is not available immediately
module "/pliant/language/stream.pli"


  gvar Sem sem
  gvar (Dictionary Str Void) devices
  
  function lpr_device_init device
    arg Str device
    sem request
    if not exists:(devices first device)
      if (device parse "device:/lp" (var Int num))
        execute "insmod parport" quiet
        execute "insmod parport_pc" quiet
        execute "insmod lp" quiet
        kernel_make_device device
      eif (device parse "device:/usb/lp" (var Int num))
        execute "insmod usbcore" quiet
        var Str module := this_computer:env:"hardware":"usb"
        if module=""
          module := "usb-uhci"
        execute "insmod "+module quiet
        execute "insmod printer" quiet
        filesystem_mount "file:usb" "file:/proc/bus/usb/" "f
        file_tree_create "device:/usb/"
        kernel_make_device device kernel_character_device 18
        sleep 2 # USB device is not available immediately
      eif (device parse any:(var Str protocol) ":" any) and (protocol="lpr" or protocol="lprng" or protocol="ftp" or protocol="http")
        pliant_compiler_semaphore request
        pliant_load_module "/pliant/protocol/"+(replace protocol "lprng" "lpr")+"/client.pli" the_module:"/pliant/language/basic/safe.pli" 0 (null map Module)
        pliant_compiler_semaphore release
      devices insert device void
    sem release


export lpr_device_model lpr_device_sn lpr_device_search
      devices insert device void
    sem release


export lpr_device_model lpr_device_sn lpr_device_search