Mercurial > vim
annotate src/INSTALLx.txt @ 34686:83875247fbc0 v9.1.0224
patch 9.1.0224: cursor may move too many lines over "right" & "below" virt text
Commit: https://github.com/vim/vim/commit/515f734e687f28f7199b2a8042197624d9f3ec15
Author: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Date: Thu Mar 28 12:01:14 2024 +0100
patch 9.1.0224: cursor may move too many lines over "right" & "below" virt text
Problem: If a line has "right" & "below" virtual text properties,
where the "below" property may be stored first due to lack of
ordering between them, then the line height is calculated to
be 1 more and causes the cursor to far over the line.
Solution: Remove some unnecessary setting of a
`next_right_goes_below = TRUE` flag for "below" and "above"
text properties. (Dylan Thacker-Smith)
I modified a regression test I recently added to cover this case,
leveraging the fact that "after", "right" & "below" text properties are
being stored in the reverse of the order they are added in. The
previous version of this regression test was crafted to workaround this
issue so it can be addressed by this separate patch.
closes: #14317
Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 28 Mar 2024 12:15:03 +0100 |
parents | b2e8663e6dcc |
children |
rev | line source |
---|---|
1702 | 1 INSTALLx.txt - cross-compiling Vim on Unix |
2 | |
1621 | 3 Content: |
4 1. Introduction | |
5 2. Necessary arguments for "configure" | |
6 3. Necessary environment variables for "configure" | |
7 4. Example | |
8 | |
9 | |
10 1. INTRODUCTION | |
11 =============== | |
12 | |
13 This document discusses cross-compiling VIM on Unix-like systems. We assume | |
14 you are already familiar with cross-compiling and have a working cross-compile | |
15 environment with at least the following components: | |
16 | |
17 * a cross-compiler | |
18 * a libc to link against | |
19 * ncurses library to link against | |
20 | |
21 Discussing how to set up a cross-compile environment would go beyond the scope | |
22 of this document. See http://www.kegel.com/crosstool/ for more information and | |
23 a script that aids in setting up such an environment. | |
24 | |
25 | |
26 The problem is that "configure" needs to compile and run small test programs | |
27 to check for certain features. Running these test programs can't be done when | |
28 cross-compiling so we need to pass the results these checks would produce via | |
29 environment variables. See the list of variables and the examples at the end of | |
30 this document. | |
31 | |
32 | |
33 2. NECESSARY ARGUMENTS FOR "configure" | |
34 ====================================== | |
35 | |
36 You need to set the following "configure" command line switches: | |
37 | |
38 --build=... : | |
39 The build system (i.e. the platform name of the system you compile on | |
40 right now). | |
41 For example, "i586-linux". | |
42 | |
43 --host=... : | |
44 The system on which VIM will be run. Quite often this the name of your | |
45 cross-compiler without the "-gcc". | |
46 For example, "powerpc-603-linux-gnu". | |
47 | |
48 --target=... : | |
49 Only relevant for compiling compilers. Set this to the same value as | |
50 --host. | |
51 | |
52 --with-tlib=... : | |
2577
073ff46fe397
Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents:
2165
diff
changeset
|
53 Which terminal library to use. |
1621 | 54 For example, "ncurses". |
55 | |
56 | |
57 3. NECESSARY ENVIRONMENT VARIABLES FOR "configure" | |
58 ================================================== | |
59 | |
60 Additionally to the variables listed here you might want to set the CPPFLAGS | |
61 environment variable to enable optimization for your target system (e.g. | |
62 "CPPFLAGS=-march=arm5te"). | |
63 | |
64 The following variables need to be set: | |
65 | |
66 ac_cv_sizeof_int: | |
67 The size of an "int" C type in bytes. Should be "4" on all 32bit | |
68 machines. | |
69 | |
70 vi_cv_path_python_conf: | |
2577
073ff46fe397
Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents:
2165
diff
changeset
|
71 If Python support is enabled, set this variable to the path for |
1621 | 72 Python's library implementation. This is a path like |
73 "/usr/lib/pythonX.Y/config" (the directory contains a file | |
74 "config.c"). | |
75 | |
32294 | 76 vi_cv_path_python_epfx: |
2577
073ff46fe397
Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents:
2165
diff
changeset
|
77 If Python support is enabled, set this variable to the execution |
1621 | 78 prefix of your Python interpreter (that is, where it thinks it is |
79 running). | |
80 This is the output of the following Python script: | |
81 import sys; print sys.exec_prefix | |
82 | |
32294 | 83 vi_cv_path_python_pfx: |
2577
073ff46fe397
Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents:
2165
diff
changeset
|
84 If Python support is enabled, set this variable to the prefix of your |
073ff46fe397
Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents:
2165
diff
changeset
|
85 Python interpreter (that is, where it was installed). |
1621 | 86 This is the output of the following Python script: |
87 import sys; print sys.prefix | |
88 | |
89 vi_cv_var_python_version: | |
2577
073ff46fe397
Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents:
2165
diff
changeset
|
90 If Python support is enabled, set this variable to the version of the |
1621 | 91 Python interpreter that will be used. |
92 This is the output of the following Python script: | |
93 import sys; print sys.version[:3] | |
94 | |
95 vim_cv_bcopy_handles_overlap: | |
32294 | 96 Whether the "bcopy" C library call is able to copy overlapping |
1621 | 97 memory regions. Set to "yes" if it does or "no" if it does not. |
98 You only need to set this if vim_cv_memmove_handles_overlap is set | |
99 to "no". | |
100 | |
101 vim_cv_getcwd_broken: | |
102 Whether the "getcwd" C library call is broken. Set to "yes" if you | |
103 know that "getcwd" is implemented as 'system("sh -c pwd")', set to | |
104 "no" otherwise. | |
105 | |
106 vim_cv_memcpy_handles_overlap: | |
107 Whether the "memcpy" C library call is able to copy overlapping | |
108 memory regions. Set to "yes" if it does or "no" if it does not. | |
109 You only need to set this if both vim_cv_memmove_handles_overlap | |
110 and vim_cv_bcopy_handles_overlap are set to "no". | |
111 | |
112 vim_cv_memmove_handles_overlap: | |
113 Whether the "memmove" C library call is able to copy overlapping | |
114 memory regions. Set to "yes" if it does or "no" if it does not. | |
115 | |
116 vim_cv_stat_ignores_slash: | |
117 Whether the "stat" C library call ignores trailing slashes in the path | |
118 name. Set to "yes" if it ignores them or "no" if it does not ignore | |
119 them. | |
120 | |
121 vim_cv_tgetent: | |
122 Whether the "tgetent" terminal library call returns a zero or non-zero | |
123 value when it encounters an unknown terminal. Set to either the string | |
124 "zero" or "non-zero", corresponding. | |
125 | |
126 vim_cv_terminfo: | |
127 Whether the environment has terminfo support. Set to "yes" if so, | |
128 otherwise set to "no". | |
129 | |
130 vim_cv_toupper_broken: | |
131 Whether the "toupper" C library function works correctly. Set to "yes" | |
132 if you know it's broken, otherwise set to "no". | |
133 | |
134 | |
135 4. EXAMPLE: | |
136 =========== | |
137 | |
138 Assuming the target system string is "armeb-xscale-linux-gnu" (a Intel XScale | |
139 system) with glibc and ncurses, the call to configure would look like this: | |
140 | |
141 ac_cv_sizeof_int=4 \ | |
142 vim_cv_getcwd_broken=no \ | |
143 vim_cv_memmove_handles_overlap=yes \ | |
144 vim_cv_stat_ignores_slash=yes \ | |
145 vim_cv_tgetent=zero \ | |
146 vim_cv_terminfo=yes \ | |
147 vim_cv_toupper_broken=no \ | |
148 ./configure \ | |
149 --build=i586-linux \ | |
150 --host=armeb-xscale-linux-gnu \ | |
151 --target=armeb-xscale-linux-gnu \ | |
152 --with-tlib=ncurses | |
153 | |
154 | |
155 | |
156 Written 2007 by Marc Haisenko <marc@darkdust.net> for the VIM project. |