To: vim-dev@vim.org Subject: patch 5.4.x1 - Start of extra patches Fcc: outbox From: Bram Moolenaar ------------ There is a problem with patches that also change files form the extra archive. Currently that is patch 5.4.9, which patches src/gui_w32.c. The biggest problem is for the FreeBSD ports system, where patches are added automatically. They can skip a patch, but then the update of version.h will be missing and the next patch will fail. I'll solve it in this way: The normal sequence of patches will continue as usual, but only patch the files in the runtime and source archives. If there is a patch for a file in the extra archive, it will not update version.h. This could cause misunderstanding about the numbering: If you skip patch 5.4.9 but do include 5.4.10, what should the version number be? To avoid this I'll give the patches for the extra archive a different number, starting with "x" for "extra". Thus there will be two series of patches: 5.4.1, 5.4.2, etc. : Update version.h to show the patchlevel in the version number. 5.4.x1, 5.4.x2, etc.: Don't update version.h. You can leave this series out without a problem. This is not a 100% safe method. A disadvantage will be that there is no feedback of an "x" patch being included. But that is only for those few people that really need the patch. When there are other changes to code that is in the source archive (in this case in ui.c) we will be in trouble. Since patch 5.4.9 was already released, I'll have to change that now. To avoid confusion with version numbers, I'll make patch 5.4.9 only update version.h, and nothing else. I'll create patch 5.4.x1, which will do what 5.4.9 did, but without updating version.h. This will allow the FreeBSD ports automatics to work, if they include patch 5.4.9. I'll send the replacement patch 5.4.x1 here. The replacement 5.4.9 will be in another message. Patch 5.4.x1 (note: Replaces patch 5.4.9) Problem: Win32 GUI: menu hints were never used, because WANT_MENU is not defined until vim.h is included. Solution: Move the #ifdef WANT_MENU from where MENUHINTS is defined to where it is used. Files: src/gui_w32.c *** ../vim-5.4/src/gui_w32.c Sun Jul 25 22:02:12 1999 --- src/gui_w32.c Fri Jul 30 09:44:01 1999 *************** *** 19,27 **** */ #define WIN32_FIND_REPLACE /* include code for find/replace dialog */ - #ifdef WANT_MENU #define MENUHINTS /* show menu hints in command line */ - #endif #include "vim.h" #include "version.h" /* used by dialog box routine for default title */ --- 19,25 ---- *************** *** 1698,1704 **** } break; #endif ! #ifdef MENUHINTS case WM_MENUSELECT: if (((UINT) HIWORD(wParam) & (0xffff ^ (MF_MOUSESELECT + MF_BITMAP + MF_POPUP))) --- 1696,1702 ---- } break; #endif ! #if defined(MENUHINTS) && defined(WANT_MENU) case WM_MENUSELECT: if (((UINT) HIWORD(wParam) & (0xffff ^ (MF_MOUSESELECT + MF_BITMAP + MF_POPUP))) -- DENNIS: You can't expect to wield supreme executive power just 'cause some watery tart threw a sword at you! "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 / /