To: [email protected]
Subject: patch 5.4.x1 - Start of extra patches
Fcc: outbox
From: Bram Moolenaar <[email protected]>
------------

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 ---- [email protected] ---- [email protected] ---\-\--
 \ \    www.vim.org/iccf      www.moolenaar.net       www.vim.org    / /