annotate nsis/README.txt @ 32876:522f16e3e058 v9.0.1747

patch 9.0.1747: screenpos() may cause unnecessary redraw Commit: https://github.com/vim/vim/commit/6235a109c48ff2559eca3b16578c429ffb61eadc Author: zeertzjq <zeertzjq@outlook.com> Date: Sat Aug 19 14:12:42 2023 +0200 patch 9.0.1747: screenpos() may cause unnecessary redraw Problem: screenpos() may cause unnecessary redraw. Solution: Don't unnecessarily reset VALID_WROW flag. VALID_WROW flag is only used by two functions: validate_cursor() and cursor_valid(), and cursor_valid() is only used once in ex_sleep(). When adjust_plines_for_skipcol() was first added in patch 9.0.0640, it was called in two functions: comp_botline() and curs_rows(). - comp_botline() is called in two places: - onepage(), which resets VALID_WROW flag immediately afterwards. - validate_botline_win(), where resetting a VALID_ flag is strange. - curs_rows() is called in two places: - curs_columns(), which sets VALID_WROW flag afterwards. - validate_cline_row(), which is only used by GUI mouse focus. Therefore resetting VALID_WROW there doesn't seem to do anything useful. Also, a w_skipcol check (which resets VALID_WROW flag) was added to check_cursor_moved() in patch 9.0.0734, which seems to make more sense than resetting that flag in the middle of a computation. While at it make adjust_plines_for_skipcol() and textpos2screenpos() a bit less confusing: - Make adjust_plines_for_skipcol() return "off" instead of "n - off". - Use 0-based "row" in textpos2screenpos() until W_WINROW is added. closes: #12832 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author Christian Brabandt <cb@256bit.org>
date Sat, 19 Aug 2023 14:30:02 +0200
parents 238f424acc6c
children d91ac228d7df
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 This builds a one-click install for Vim for Win32 using the Nullsoft
12626
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
2 Installation System (NSIS), available at http://nsis.sourceforge.net/
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 To build the installable .exe:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 1. Unpack three archives:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 PC sources
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 PC runtime
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 PC language files
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 You can generate these from the Unix sources and runtime plus the extra
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 archive (see the Makefile in the top directory).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 2. Go to the src directory and build:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 gvim.exe (the OLE version),
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 vimrun.exe,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 install.exe,
18182
9b6bfce90778 patch 8.1.2086: missing a few changes for the renamed files
Bram Moolenaar <Bram@vim.org>
parents: 15410
diff changeset
17 uninstall.exe,
15095
803807ab19c5 patch 8.1.0558: some MS-Windows instructions are outdated
Bram Moolenaar <Bram@vim.org>
parents: 12626
diff changeset
18 tee/tee.exe,
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 xxd/xxd.exe,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
12626
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
21 Then execute tools/rename.bat to rename the executables. (mv command is
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
22 required.)
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
23
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
12626
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
25 archive). Both 64- and 32-bit versions are needed and should be placed
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
26 as follows:
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
27 64-bit: src/GvimExt/gvimext64.dll
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
28 32-bit: src/GvimExt/gvimext.dll
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29
30727
645722244c3f patch 9.0.0698: VisVim is outdated, does not work with current Visual Studio
Bram Moolenaar <Bram@vim.org>
parents: 25056
diff changeset
30 4. Get a "diff.exe" program. If you skip this the built-in diff will always
15095
803807ab19c5 patch 8.1.0558: some MS-Windows instructions are outdated
Bram Moolenaar <Bram@vim.org>
parents: 12626
diff changeset
31 be used (which is fine for most users). If you do have your own
31628
238f424acc6c patch 9.0.1146: MS-Windows: various special keys/modifiers are not mappable
Bram Moolenaar <Bram@vim.org>
parents: 30727
diff changeset
32 "diff.exe" put it in the "../.." directory (above the "vim90" directory,
15095
803807ab19c5 patch 8.1.0558: some MS-Windows instructions are outdated
Bram Moolenaar <Bram@vim.org>
parents: 12626
diff changeset
33 it's the same for all Vim versions).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 You can find one in previous Vim versions or in this archive:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
15095
803807ab19c5 patch 8.1.0558: some MS-Windows instructions are outdated
Bram Moolenaar <Bram@vim.org>
parents: 12626
diff changeset
36
31628
238f424acc6c patch 9.0.1146: MS-Windows: various special keys/modifiers are not mappable
Bram Moolenaar <Bram@vim.org>
parents: 30727
diff changeset
37 5 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim90"
15095
803807ab19c5 patch 8.1.0558: some MS-Windows instructions are outdated
Bram Moolenaar <Bram@vim.org>
parents: 12626
diff changeset
38 directory). This is required for the terminal window.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39
30727
645722244c3f patch 9.0.0698: VisVim is outdated, does not work with current Visual Studio
Bram Moolenaar <Bram@vim.org>
parents: 25056
diff changeset
40 6. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 to do this on Unix. Make sure the file is in DOS file format!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42
30727
645722244c3f patch 9.0.0698: VisVim is outdated, does not work with current Visual Studio
Bram Moolenaar <Bram@vim.org>
parents: 25056
diff changeset
43 7. Get gettext and iconv DLLs from the following site:
12626
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
44 https://github.com/mlocati/gettext-iconv-windows/releases
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
45 Both 64- and 32-bit versions are needed.
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
46 Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
47 DLLs and place them as follows:
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
48
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
49 <GETTEXT directory>
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
50 |
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
51 + gettext32/
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
52 | libintl-8.dll
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
53 | libiconv-2.dll
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
54 | libgcc_s_sjlj-1.dll
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
55 |
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
56 ` gettext64/
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
57 libintl-8.dll
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
58 libiconv-2.dll
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
59
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
60 The default <GETTEXT directory> is "..", however, you can change it by
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
61 passing /DGETTEXT=... option to the makensis command.
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
62
aca41efd888c patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
63
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 Install NSIS if you didn't do that already.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 Also install UPX, if you want a compressed file.
24565
138e9caf4a7a patch 8.2.2822: MS-Windows: unnessarily loading libraries when unregistering
Bram Moolenaar <Bram@vim.org>
parents: 19116
diff changeset
66 Download and include the ShellExecAsUser.dll Unicode version which can be
138e9caf4a7a patch 8.2.2822: MS-Windows: unnessarily loading libraries when unregistering
Bram Moolenaar <Bram@vim.org>
parents: 19116
diff changeset
67 sourced from: https://nsis.sourceforge.io/ShellExecAsUser_plug-in
138e9caf4a7a patch 8.2.2822: MS-Windows: unnessarily loading libraries when unregistering
Bram Moolenaar <Bram@vim.org>
parents: 19116
diff changeset
68
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69
15410
cb1652e41314 patch 8.1.0713: images for NSIS take up too much space
Bram Moolenaar <Bram@vim.org>
parents: 15095
diff changeset
70 Unpack the images:
cb1652e41314 patch 8.1.0713: images for NSIS take up too much space
Bram Moolenaar <Bram@vim.org>
parents: 15095
diff changeset
71 cd nsis
cb1652e41314 patch 8.1.0713: images for NSIS take up too much space
Bram Moolenaar <Bram@vim.org>
parents: 15095
diff changeset
72 unzip icons.zip
cb1652e41314 patch 8.1.0713: images for NSIS take up too much space
Bram Moolenaar <Bram@vim.org>
parents: 15095
diff changeset
73
25056
43593a5d873f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24565
diff changeset
74 Then build gvim.exe:
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75
15410
cb1652e41314 patch 8.1.0713: images for NSIS take up too much space
Bram Moolenaar <Bram@vim.org>
parents: 15095
diff changeset
76 cd nsis
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 makensis gvim.nsi