home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / vile-src.zip / vile-8.1 / doc / w32modes.doc < prev   
Text File  |  1998-07-10  |  5KB  |  121 lines

  1.  
  2.                              Written June 2, 1998
  3.  
  4.  
  5. Setting Win32-Specific Modes
  6. ============================
  7. The values of the "w32pipes" and "force-console" modes significantly affect
  8. the editor's interactions with the shell.  The good news is that the editor
  9. optimally sets these modes when the host OS is Windows NT.  Consequently,
  10. if NT is your only expected operating environment, the remainder of this
  11. document is of no interest.  Otherwise, you plan to use Windows 95/98 and
  12. should definitely continue reading.
  13.  
  14. Note:  For the remainder of this document, a generic reference to "vile"
  15.        refers to both the console and GUI editor, unless otherwise stated.
  16.  
  17.  
  18. Background
  19. ==========
  20. Command.com, the shell supplied with the original version of Windows 95,
  21. exhibits many, many problems when communicating with another application
  22. via an anonymous pipe.  Consequently, w32pipes and force-console were
  23. created to permit the user to avoid as many of those problems as possible.
  24.  
  25. After the initial Windows 95 release, Microsoft eventually rolled out a
  26. bugfix called OSR2.  However, OSR2 is only available from OEM's (e.g.,
  27. Dell, Gateway, etc.) for distribution with a new PC.  It's not known if any
  28. of command.com's anonymous pipe bugs were fixed in that release of the OS.
  29.  
  30. And, of course, Windows 98 will be released in a matter of days, which
  31. may or may not solve command.com's problems.
  32.  
  33.  
  34. w32pipes
  35. ========
  36. This boolean mode, if set, enables native anonymous pipe communication
  37. between the editor and the shell for the following operations:
  38.  
  39.    :r !<cmd>             (read pipe)
  40.    :w !<cmd>             (write pipe)
  41.    <filter region>       (e.g., !}fmt)
  42.    ^X-!
  43.  
  44. If not set, the above operations are instead emulated via temporary files.
  45.  
  46.  
  47. force-console
  48. =============
  49. If w32pipes is set, then winvile (only) consults force-console to decide
  50. whether or not to explicitly create a console prior to initiating a read
  51. pipe or filter region operation.
  52.  
  53.  
  54. Trade-Offs
  55. ==========
  56. If using console vile and command.com (i.e., not using a replacement shell),
  57. w32pipes must _not_ be set.  This means that pipe operations will be effected
  58. with temporary files.  Unfortunately, write pipes simply don't work via
  59. temporary file communication.  Note that some replacement shells (e.g.,
  60. Thompson Toolkit) don't exhibit anonymous pipe bugs and w32pipes may
  61. safely be set in that case (assuming, of course, that the environment
  62. variable COMSPEC has been modified to specify the replacement shell).
  63.  
  64. If using winvile, w32pipes and force-console _must_ be set for all shells
  65. and versions of Win95 tested to date.  If w32pipes is not set, _all_ pipe
  66. operations will fail and if force-console is not set, the editor will hang.
  67. However, if w32pipes is set and command.com is used as the shell, the
  68. floppy will be accessed during each pipe operation.  Additionally,
  69. setting force-console causes each read pipe and filter region operation to
  70. briefly pop up and pop down a black, background console.  Got that :-) ?
  71.  
  72.  
  73. Configuring Winvile and Vile via Vile.rc
  74. ========================================
  75. ~if ¬ &sequal "Windows_NT" &env "OS"
  76.     ; Assume host is win95
  77.     ~if &sequal $progname "winvile"
  78.         set force-console
  79.         set w32pipes
  80.     ~elseif &equal 0 &sindex &lower $shell "command.com"
  81.         ; shell is not command.com--assume it's 32-bit and can handle
  82.         ; native pipe operations
  83.         set w32pipes
  84.     ~else
  85.         ; shell is command.com--native pipes not a good idea
  86.         set now32pipes
  87.     ~endif
  88. ~endif
  89.  
  90.  
  91. Optimum Console Vile Settings
  92. =============================
  93. Entries in the table marked ?  have not been tested.  If your host
  94. environment matches an untested entry in the table and you have validated
  95. various mode settings, please send your results to the "vile-bugs" mailing
  96. list:  vile-bugs@foxharp.boston.ma.us .
  97.  
  98.        shell         w32pipes  force-console  trade-offs
  99.  
  100. NT4.0  any 32-bit      set        N/A         no problems
  101. Win95  command.com     unset      N/A         no write pipes
  102. Win95  Thomp Toolkit   set        N/A         no problems
  103. OSR2      ?             ?         N/A             ?
  104. Win98     ?             ?         N/A             ?
  105.  
  106.  
  107. Optimum Winvile Settings
  108. ========================
  109. Entries in the table marked ?  have not been tested.  If your host
  110. environment matches an untested entry in the table and you have validated
  111. various mode settings, please send your results to the "vile-bugs" mailing
  112. list:  vile-bugs@foxharp.boston.ma.us .
  113.  
  114.        shell         w32pipes  force-console  trade-offs
  115.  
  116. NT4.0  any 32-bit      set        unset       no problems
  117. Win95  command.com     set        set         floppy grinds, transient console
  118. Win95  Thomp Toolkit   set        set         transient console
  119. OSR2      ?             ?          ?              ?
  120. Win98     ?             ?          ?              ?
  121.