home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / patches / old / 5.4.30 < prev    next >
Encoding:
Internet Message Format  |  1999-08-15  |  3.9 KB

  1. To: Will Day <willday@rom.oit.gatech.edu>
  2. Cc: VIM Development Mailing List <vim-dev@vim.org>
  3. Subject: patch 5.4.30 (was: patch: BeOS subshell)
  4. In-Reply-To: <19990813005146.A16107@rom.oit.gatech.edu>
  5. Fcc: outbox
  6. From: Bram Moolenaar <Bram@moolenaar.net>
  7. ------------
  8.  
  9. Will Day wrote:
  10.  
  11. > There was another problem with vim54 under R4.5 that I've been trying to
  12. > track down: when opening a child shell with ":sh", the first character
  13. > typed appears to be caught and interpreted by the parent vim process.
  14. [more explanations and patch removed]
  15.  
  16. Since nobody said this doesn't work, I'll make an official patch out of this.
  17. Although it is for BeOS, it doesn't require the extra archive, thus it goes in
  18. the normal series of numbered patches.
  19.  
  20.  
  21. Patch 5.4.30
  22. Problem:    BeOS: Suspending Vim with CTRL-Z didn't work (killed Vim).  The
  23.         first character typed after ":sh" goes to Vim, instead of the
  24.         started shell.
  25. Solution:   Don't suspend Vim, start a new shell.  Kill the async read thread
  26.         when starting a new shell.  It will be restarted later. (Will Day)
  27. Files:        src/os_unix.c, src/ui.c
  28.  
  29.  
  30. *** ../vim-5.4.29/src/os_unix.c    Sun Jul 18 13:09:30 1999
  31. --- src/os_unix.c    Mon Aug 16 21:36:28 1999
  32. ***************
  33. *** 580,586 ****
  34.       void
  35.   mch_suspend()
  36.   {
  37. ! #ifdef SIGTSTP
  38.       out_flush();        /* needed to make cursor visible on some systems */
  39.       settmode(TMODE_COOK);
  40.       out_flush();        /* needed to disable mouse on some systems */
  41. --- 580,587 ----
  42.       void
  43.   mch_suspend()
  44.   {
  45. !     /* BeOS does have SIGTSTP, but it doesn't work. */
  46. ! #if defined(SIGTSTP) && !defined(__BEOS__)
  47.       out_flush();        /* needed to make cursor visible on some systems */
  48.       settmode(TMODE_COOK);
  49.       out_flush();        /* needed to disable mouse on some systems */
  50. ***************
  51. *** 2235,2240 ****
  52. --- 2237,2245 ----
  53.   #endif
  54.   
  55.       {
  56. + #ifdef __BEOS__
  57. +     beos_cleanup_read_thread();
  58. + #endif
  59.       if ((pid = fork()) == -1)    /* maybe we should use vfork() */
  60.       {
  61.           MSG_PUTS("\nCannot fork\n");
  62. *** ../vim-5.4.29/src/ui.c    Tue Aug 10 16:12:03 1999
  63. --- src/ui.c    Mon Aug 16 21:30:46 1999
  64. ***************
  65. *** 184,190 ****
  66.       mch_suspend();
  67.   }
  68.   
  69. ! #if !defined(UNIX) || !defined(SIGTSTP) || defined(PROTO)
  70.   /*
  71.    * When the OS can't really suspend, call this function to start a shell.
  72.    */
  73. --- 184,190 ----
  74.       mch_suspend();
  75.   }
  76.   
  77. ! #if !defined(UNIX) || !defined(SIGTSTP) || defined(PROTO) || defined(__BEOS__)
  78.   /*
  79.    * When the OS can't really suspend, call this function to start a shell.
  80.    */
  81. *** ../vim-5.4.29/src/version.h    Mon Aug 16 21:33:53 1999
  82. --- src/version.h    Mon Aug 16 21:30:37 1999
  83. ***************
  84. *** 19,26 ****
  85.   #define VIM_VERSION_MINOR_STR        "4"
  86.   #define VIM_VERSION_BUILD         57
  87.   #define VIM_VERSION_BUILD_STR        "57"
  88. ! #define VIM_VERSION_PATCHLEVEL         29
  89. ! #define VIM_VERSION_PATCHLEVEL_STR    "29"
  90.   
  91.   /*
  92.    * VIM_VERSION_NODOT is used for the runtime directory name.
  93. --- 19,26 ----
  94.   #define VIM_VERSION_MINOR_STR        "4"
  95.   #define VIM_VERSION_BUILD         57
  96.   #define VIM_VERSION_BUILD_STR        "57"
  97. ! #define VIM_VERSION_PATCHLEVEL         30
  98. ! #define VIM_VERSION_PATCHLEVEL_STR    "30"
  99.   
  100.   /*
  101.    * VIM_VERSION_NODOT is used for the runtime directory name.
  102. ***************
  103. *** 30,35 ****
  104.    */
  105.   #define VIM_VERSION_NODOT    "vim54"
  106.   #define VIM_VERSION_SHORT    "5.4"
  107. ! #define VIM_VERSION_MEDIUM    "5.4.29"
  108. ! #define VIM_VERSION_LONG    "VIM - Vi IMproved 5.4.29 (1999 Aug 16)"
  109. ! #define VIM_VERSION_LONG_DATE    "VIM - Vi IMproved 5.4.29 (1999 Aug 16, compiled "
  110. --- 30,35 ----
  111.    */
  112.   #define VIM_VERSION_NODOT    "vim54"
  113.   #define VIM_VERSION_SHORT    "5.4"
  114. ! #define VIM_VERSION_MEDIUM    "5.4.30"
  115. ! #define VIM_VERSION_LONG    "VIM - Vi IMproved 5.4.30 (1999 Aug 16)"
  116. ! #define VIM_VERSION_LONG_DATE    "VIM - Vi IMproved 5.4.30 (1999 Aug 16, compiled "
  117.  
  118. --
  119. hundred-and-one symptoms of being an internet addict:
  120. 105. When someone asks you for your address, you tell them your URL.
  121.  
  122. --/-/---- Bram Moolenaar ---- Bram@moolenaar.net ---- Bram@vim.org ---\-\--
  123.   \ \    www.vim.org/iccf      www.moolenaar.net       www.vim.org    / /
  124.