mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
Make the dos installer work with more compilers.
This commit is contained in:
parent
ccd9ccfa59
commit
ab8205e8b8
3
Makefile
3
Makefile
@ -157,7 +157,7 @@ DOSBIN_S = dosbin_s
|
|||||||
# - If building the Win32s version delete vimrun.exe.
|
# - If building the Win32s version delete vimrun.exe.
|
||||||
# Win32s GUI version:
|
# Win32s GUI version:
|
||||||
# - Set environment for Visual C++ 4.1 (requires a new console window)
|
# - Set environment for Visual C++ 4.1 (requires a new console window)
|
||||||
# - "vcvars32" (use the path for VC 4.1 e:\msdev\bin)
|
# - "vcvars32.bat" (use the path for VC 4.1 e:\msdev\bin)
|
||||||
# - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
|
# - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
|
||||||
# - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1)
|
# - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1)
|
||||||
# - Rename "gvim.exe" to "gvim_w32s.exe".
|
# - Rename "gvim.exe" to "gvim_w32s.exe".
|
||||||
@ -178,6 +178,7 @@ DOSBIN_S = dosbin_s
|
|||||||
# VisVim.dll in src/VisVim
|
# VisVim.dll in src/VisVim
|
||||||
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
||||||
# gvimext64.dll can be obtained from http://code.google.com/p/vim-win3264/
|
# gvimext64.dll can be obtained from http://code.google.com/p/vim-win3264/
|
||||||
|
# It is part of vim72.zip as vim72/gvimext.dll.
|
||||||
# - make sure there is a diff.exe two levels up
|
# - make sure there is a diff.exe two levels up
|
||||||
# - go to ../nsis and do "makensis gvim.nsi" (takes a few minutes).
|
# - go to ../nsis and do "makensis gvim.nsi" (takes a few minutes).
|
||||||
# - Copy gvim##.exe to the dist directory.
|
# - Copy gvim##.exe to the dist directory.
|
||||||
|
@ -34,6 +34,9 @@ Bug in undo, using freed memory. (Dominique Pelle, Jul 1)
|
|||||||
|
|
||||||
Cursor positioning wrong with 0x200e character. (John Becket, 2010 May 6)
|
Cursor positioning wrong with 0x200e character. (John Becket, 2010 May 6)
|
||||||
|
|
||||||
|
Test 69 breaks on MS-Windows, both 32 and 64 builds. (George Reilly, 2010 Feb
|
||||||
|
26)
|
||||||
|
|
||||||
E315 when trying to change a file in FileChangedRO autocommand event.
|
E315 when trying to change a file in FileChangedRO autocommand event.
|
||||||
(Dominique Pelle, 2010 Apr 30)
|
(Dominique Pelle, 2010 Apr 30)
|
||||||
|
|
||||||
@ -103,9 +106,6 @@ Shell not recognized properly if it ends in "csh -f". (James Vega, 2009 Nov 3)
|
|||||||
Find tail? Might have a / in argument. Find space? Might have space in
|
Find tail? Might have a / in argument. Find space? Might have space in
|
||||||
path.
|
path.
|
||||||
|
|
||||||
Test 69 breaks on MS-Windows, both 32 and 64 builds. (George Reilly, 2010 Feb
|
|
||||||
26)
|
|
||||||
|
|
||||||
":function f(x) keepjumps" creates a function where every command is executed
|
":function f(x) keepjumps" creates a function where every command is executed
|
||||||
like it has ":keepjumps" before it.
|
like it has ":keepjumps" before it.
|
||||||
|
|
||||||
@ -1094,9 +1094,6 @@ Patch to support horizontal scroll wheel in GTK. Untested. (Bjorn Winckler,
|
|||||||
|
|
||||||
|
|
||||||
Vim 7.3:
|
Vim 7.3:
|
||||||
- using NSIS 2.46: install on Windows 7 works, but no "Edit with Vim" menu.
|
|
||||||
Use register_shell_extension()?
|
|
||||||
Patch from Geoffrey Reilly, 2010 Jun 22
|
|
||||||
- in August remove UF_VERSION_CRYPT_PREV and UF_VERSION_PREV.
|
- in August remove UF_VERSION_CRYPT_PREV and UF_VERSION_PREV.
|
||||||
- Conceal feature: no update when moving to another window. (Dominique Pelle,
|
- Conceal feature: no update when moving to another window. (Dominique Pelle,
|
||||||
2010 Jul 5) Vince will look into it.
|
2010 Jul 5) Vince will look into it.
|
||||||
|
@ -7228,5 +7228,9 @@ right compiler flags. (Michael Bienia)
|
|||||||
|
|
||||||
Window title is not updated after dropping a file on Vim. (Hari G)
|
Window title is not updated after dropping a file on Vim. (Hari G)
|
||||||
|
|
||||||
|
MS-Windows: The self-installing executable now also works on 64-bit systems.
|
||||||
|
The gvim executable is 32 bits, the installed gvimext.dll is either a 32 or 64
|
||||||
|
bit version. (George Reilly)
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
@ -138,31 +138,6 @@ static char *(vimfiles_subdirs[]) =
|
|||||||
"syntax",
|
"syntax",
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* Copy a directory name from "dir" to "buf", doubling backslashes.
|
|
||||||
* Also make sure it ends in a double backslash.
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
double_bs(char *dir, char *buf)
|
|
||||||
{
|
|
||||||
char *d = buf;
|
|
||||||
char *s;
|
|
||||||
|
|
||||||
for (s = dir; *s; ++s)
|
|
||||||
{
|
|
||||||
if (*s == '\\')
|
|
||||||
*d++ = '\\';
|
|
||||||
*d++ = *s;
|
|
||||||
}
|
|
||||||
/* when dir is not empty, it must end in a double backslash */
|
|
||||||
if (d > buf && d[-1] != '\\')
|
|
||||||
{
|
|
||||||
*d++ = '\\';
|
|
||||||
*d++ = '\\';
|
|
||||||
}
|
|
||||||
*d = NUL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Obtain a choice from a table.
|
* Obtain a choice from a table.
|
||||||
* First entry is a question, others are choices.
|
* First entry is a question, others are choices.
|
||||||
@ -442,7 +417,7 @@ get_vim_env(void)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
printf("Failed to open %s\n", fname);
|
printf("Failed to open %s\n", fname);
|
||||||
Sleep(2000);
|
sleep(2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -582,10 +557,10 @@ uninstall_check(int skip_question)
|
|||||||
* The uninstaller copies itself, executes the copy
|
* The uninstaller copies itself, executes the copy
|
||||||
* and exits, thus we can't wait for the process to
|
* and exits, thus we can't wait for the process to
|
||||||
* finish. */
|
* finish. */
|
||||||
Sleep(1000); /* wait for uninstaller to start up */
|
sleep(1); /* wait for uninstaller to start up */
|
||||||
num_windows = 0;
|
num_windows = 0;
|
||||||
EnumWindows(window_cb, 0);
|
EnumWindows(window_cb, 0);
|
||||||
Sleep(1000); /* wait for windows to be counted */
|
sleep(1); /* wait for windows to be counted */
|
||||||
if (num_windows == 0)
|
if (num_windows == 0)
|
||||||
{
|
{
|
||||||
/* Did not find the uninstaller, ask user to press
|
/* Did not find the uninstaller, ask user to press
|
||||||
@ -603,7 +578,7 @@ uninstall_check(int skip_question)
|
|||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
num_windows = 0;
|
num_windows = 0;
|
||||||
EnumWindows(window_cb, 0);
|
EnumWindows(window_cb, 0);
|
||||||
Sleep(1000); /* wait for windows to be counted */
|
sleep(1); /* wait for windows to be counted */
|
||||||
} while (num_windows > 0);
|
} while (num_windows > 0);
|
||||||
}
|
}
|
||||||
printf("\nDone!\n");
|
printf("\nDone!\n");
|
||||||
@ -1376,7 +1351,15 @@ init_vimrc_choices(void)
|
|||||||
++choice_count;
|
++choice_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(DJGPP) || defined(WIN3264) || defined(UNIX_LINT)
|
#if defined(WIN3264)
|
||||||
|
/*
|
||||||
|
* Modern way of creating registry entries, also works on 64 bit windows when
|
||||||
|
* compiled as a 32 bit program.
|
||||||
|
*/
|
||||||
|
# ifndef KEY_WOW64_64KEY
|
||||||
|
# define KEY_WOW64_64KEY 0x0100
|
||||||
|
# endif
|
||||||
|
|
||||||
static LONG
|
static LONG
|
||||||
reg_create_key(
|
reg_create_key(
|
||||||
HKEY root,
|
HKEY root,
|
||||||
@ -1525,7 +1508,7 @@ register_uninstall(
|
|||||||
"UninstallString", uninstall_string);
|
"UninstallString", uninstall_string);
|
||||||
return lRet;
|
return lRet;
|
||||||
}
|
}
|
||||||
#endif /* if defined(DJGPP) || defined(WIN3264) || defined(UNIX_LINT) */
|
#endif /* WIN3264 */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Add some entries to the registry:
|
* Add some entries to the registry:
|
||||||
@ -1534,11 +1517,11 @@ register_uninstall(
|
|||||||
* - to uninstall Vim
|
* - to uninstall Vim
|
||||||
*/
|
*/
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static LONG
|
static int
|
||||||
install_registry(void)
|
install_registry(void)
|
||||||
{
|
{
|
||||||
|
#ifdef WIN3264
|
||||||
LONG lRet = ERROR_SUCCESS;
|
LONG lRet = ERROR_SUCCESS;
|
||||||
#if defined(DJGPP) || defined(WIN3264) || defined(UNIX_LINT)
|
|
||||||
const char *vim_ext_ThreadingModel = "Apartment";
|
const char *vim_ext_ThreadingModel = "Apartment";
|
||||||
const char *vim_ext_name = "Vim Shell Extension";
|
const char *vim_ext_name = "Vim Shell Extension";
|
||||||
const char *vim_ext_clsid = "{51EEE242-AD87-11d3-9C1E-0090278BBD99}";
|
const char *vim_ext_clsid = "{51EEE242-AD87-11d3-9C1E-0090278BBD99}";
|
||||||
@ -1566,11 +1549,11 @@ install_registry(void)
|
|||||||
HKEY_CLASSES_ROOT, vim_ext_clsid, vim_ext_name,
|
HKEY_CLASSES_ROOT, vim_ext_clsid, vim_ext_name,
|
||||||
bufg, vim_ext_ThreadingModel);
|
bufg, vim_ext_ThreadingModel);
|
||||||
if (ERROR_SUCCESS != lRet)
|
if (ERROR_SUCCESS != lRet)
|
||||||
return lRet;
|
return FAIL;
|
||||||
lRet = register_shellex(
|
lRet = register_shellex(
|
||||||
HKEY_CLASSES_ROOT, vim_ext_clsid, vim_ext_name, vim_exe_path);
|
HKEY_CLASSES_ROOT, vim_ext_clsid, vim_ext_name, vim_exe_path);
|
||||||
if (ERROR_SUCCESS != lRet)
|
if (ERROR_SUCCESS != lRet)
|
||||||
return lRet;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (install_openwith)
|
if (install_openwith)
|
||||||
@ -1579,7 +1562,7 @@ install_registry(void)
|
|||||||
|
|
||||||
lRet = register_openwith(HKEY_CLASSES_ROOT, vim_exe_path);
|
lRet = register_openwith(HKEY_CLASSES_ROOT, vim_exe_path);
|
||||||
if (ERROR_SUCCESS != lRet)
|
if (ERROR_SUCCESS != lRet)
|
||||||
return lRet;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("Creating an uninstall entry\n");
|
printf("Creating an uninstall entry\n");
|
||||||
@ -1601,9 +1584,11 @@ install_registry(void)
|
|||||||
"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Vim " VIM_VERSION_SHORT,
|
"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Vim " VIM_VERSION_SHORT,
|
||||||
display_name,
|
display_name,
|
||||||
uninstall_string);
|
uninstall_string);
|
||||||
|
if (ERROR_SUCCESS != lRet)
|
||||||
|
return FAIL;
|
||||||
|
#endif /* WIN3264 */
|
||||||
|
|
||||||
#endif /* if defined(DJGPP) || defined(WIN3264) || defined(UNIX_LINT) */
|
return OK;
|
||||||
return lRet;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -2569,7 +2554,7 @@ main(int argc, char **argv)
|
|||||||
/* When nothing found exit quietly. If something found wait for
|
/* When nothing found exit quietly. If something found wait for
|
||||||
* a little while, so that the user can read the messages. */
|
* a little while, so that the user can read the messages. */
|
||||||
if (i)
|
if (i)
|
||||||
Sleep(3000);
|
sleep(3);
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -2645,7 +2630,7 @@ main(int argc, char **argv)
|
|||||||
|
|
||||||
/* Avoid that the user has to hit Enter, just wait a little bit to
|
/* Avoid that the user has to hit Enter, just wait a little bit to
|
||||||
* allow reading the messages. */
|
* allow reading the messages. */
|
||||||
Sleep(2000);
|
sleep(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -62,6 +62,11 @@ char *searchpath(char *name);
|
|||||||
# define vim_mkdir(x, y) mkdir((char *)(x))
|
# define vim_mkdir(x, y) mkdir((char *)(x))
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef DJGPP
|
||||||
|
# define sleep(n) Sleep((n) * 1000)
|
||||||
|
#endif
|
||||||
|
|
||||||
/* ---------------------------------------- */
|
/* ---------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
@ -395,9 +400,10 @@ char *(icon_link_names[ICON_COUNT]) =
|
|||||||
"gVim Easy " VIM_VERSION_SHORT ".lnk",
|
"gVim Easy " VIM_VERSION_SHORT ".lnk",
|
||||||
"gVim Read only " VIM_VERSION_SHORT ".lnk"};
|
"gVim Read only " VIM_VERSION_SHORT ".lnk"};
|
||||||
|
|
||||||
/* This is only used for dosinst.c and for uninstal.c when not being able to
|
/* This is only used for dosinst.c when WIN3264 is defined and for uninstal.c
|
||||||
* directly access registry entries. */
|
* when not being able to directly access registry entries. */
|
||||||
#if !defined(WIN3264) || defined(DOSINST)
|
#if (defined(DOSINST) && defined(WIN3264)) \
|
||||||
|
|| (!defined(DOSINST) && !defined(WIN3264))
|
||||||
/*
|
/*
|
||||||
* Run an external command and wait for it to finish.
|
* Run an external command and wait for it to finish.
|
||||||
*/
|
*/
|
||||||
|
@ -438,7 +438,7 @@ main(int argc, char *argv[])
|
|||||||
(void)getchar();
|
(void)getchar();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Sleep(3000);
|
sleep(3);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -36,5 +36,5 @@
|
|||||||
#define VIM_VERSION_NODOT "vim73a"
|
#define VIM_VERSION_NODOT "vim73a"
|
||||||
#define VIM_VERSION_SHORT "7.3a"
|
#define VIM_VERSION_SHORT "7.3a"
|
||||||
#define VIM_VERSION_MEDIUM "7.3a BETA"
|
#define VIM_VERSION_MEDIUM "7.3a BETA"
|
||||||
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.3 BETA (2010 May 15)"
|
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.3 BETA (2010 Jul 7)"
|
||||||
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.3 BETA (2010 May 15, compiled "
|
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.3 BETA (2010 Jul 7, compiled "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user