home *** CD-ROM | disk | FTP | other *** search
- To: Will Day <willday@rom.oit.gatech.edu>
- Cc: VIM Development Mailing List <vim-dev@vim.org>
- Subject: patch 5.4.x2 (was: patch: BeOS paste/acquire_sem_etc() problems)
- In-Reply-To: <19990808053119.A7947@rom.oit.gatech.edu>
- Fcc: outbox
- From: Bram Moolenaar <Bram@moolenaar.net>
- ------------
-
- Will Day wrote:
-
- > Attached is a patch to fix a problem I've been having with pasting in vim
- > 5.4 under BeOS R4.5/x86.
-
- Thanks for fixing this. I was already wondering if someone was using Vim on
- BeOS these days.
-
- Since os_beos.c is in the extra archive, this will be an "x" patch.
-
-
- Patch 5.4.x2
- Problem: BeOS: When pasting text, one character was moved to the end.
- Solution: Re-enable the BeOS code in fill_input_buf(), and fix timing out
- with acquire_sem_etc(). (Will Day)
- Files: src/os_beos.c, src/ui.c
-
-
- *** ../vim-5.4/src/os_beos.c Sun Jul 25 22:02:17 1999
- --- src/os_beos.c Sun Aug 8 14:04:49 1999
- ***************
- *** 186,198 ****
- if (tmo == 0)
- tmo = 1.0;
- } else {
- - tmo = B_INFINITE_TIMEOUT;
- check_for_bebox();
- }
- #if TRY_ABORT
- release_sem(character_wanted);
- #endif
- ! acquired = acquire_sem_etc(character_present, 1, B_TIMEOUT, tmo);
- if (acquired == B_NO_ERROR) {
- if (charcount > 0) {
- add_to_input_buf(&charbuf, 1);
- --- 186,200 ----
- if (tmo == 0)
- tmo = 1.0;
- } else {
- check_for_bebox();
- }
- #if TRY_ABORT
- release_sem(character_wanted);
- #endif
- ! if (timeout)
- ! acquired = acquire_sem_etc(character_present, 1, B_TIMEOUT, tmo);
- ! else
- ! acquired = acquire_sem(character_present);
- if (acquired == B_NO_ERROR) {
- if (charcount > 0) {
- add_to_input_buf(&charbuf, 1);
- *** ../vim-5.4/src/ui.c Sun Jul 25 22:02:19 1999
- --- src/ui.c Sun Aug 8 13:53:18 1999
- ***************
- *** 1245,1261 ****
- * If we can't get any, and there isn't any in the buffer, we give up and
- * exit Vim.
- */
- ! /* make sure we have all macros defined... */
- ! # if defined(__BEOS__)
- ! # ifndef B_BEOS_VERSION_4_5
- ! # define B_BEOS_VERSION 4_5 0x0450
- ! # endif
- ! # endif
- ! /* Genki (R4.5) doesn't seem to like the following (exits immediately on
- ! * startup)
- ! * richard@whitequeen.com Jul 99
- ! */
- ! # if defined(__BEOS__) && B_BEOS_VERSION < B_BEOS_VERSION_4_5
- /*
- * On the BeBox version (for now), all input is secretly performed within
- * beos_select() which is called from RealWaitForChar().
- --- 1245,1251 ----
- * If we can't get any, and there isn't any in the buffer, we give up and
- * exit Vim.
- */
- ! # ifdef __BEOS__
- /*
- * On the BeBox version (for now), all input is secretly performed within
- * beos_select() which is called from RealWaitForChar().
-
- --
- DENNIS: Look, strange women lying on their backs in ponds handing out
- swords ... that's no basis for a system of government. Supreme
- executive power derives from a mandate from the masses, not from some
- farcical aquatic ceremony.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- --/-/---- Bram Moolenaar ---- Bram@moolenaar.net ---- Bram@vim.org ---\-\--
- \ \ www.vim.org/iccf www.moolenaar.net www.vim.org / /
-