Mercurial > vim
annotate src/libvterm/README @ 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 | 5d1e6c4bf723 |
children |
rev | line source |
---|---|
11621
b8299e742f41
patch 8.0.0693: no terminal emulator support
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 This is a MODIFIED version of libvterm. |
b8299e742f41
patch 8.0.0693: no terminal emulator support
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
b8299e742f41
patch 8.0.0693: no terminal emulator support
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 The original can be found: |
11761
7846efd291d7
patch 8.0.0763: libvterm can be improved
Christian Brabandt <cb@256bit.org>
parents:
11621
diff
changeset
|
4 - on the original site (tar archive and Bazaar repository): |
11621
b8299e742f41
patch 8.0.0693: no terminal emulator support
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 http://www.leonerd.org.uk/code/libvterm/ |
11761
7846efd291d7
patch 8.0.0763: libvterm can be improved
Christian Brabandt <cb@256bit.org>
parents:
11621
diff
changeset
|
6 - cloned on Github: |
11621
b8299e742f41
patch 8.0.0693: no terminal emulator support
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 https://github.com/neovim/libvterm |
b8299e742f41
patch 8.0.0693: no terminal emulator support
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 |
b8299e742f41
patch 8.0.0693: no terminal emulator support
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 Modifications: |
33355
5d1e6c4bf723
patch 9.0.1940: wrong upstream version in libvterm README
Christian Brabandt <cb@256bit.org>
parents:
30880
diff
changeset
|
10 - revisions up to 839 have been included |
30880
82336c3b679d
patch 9.0.0774: the libvterm code is outdated
Bram Moolenaar <Bram@vim.org>
parents:
30876
diff
changeset
|
11 - Added a .gitignore file. |
82336c3b679d
patch 9.0.0774: the libvterm code is outdated
Bram Moolenaar <Bram@vim.org>
parents:
30876
diff
changeset
|
12 - use TRUE and FALSE instead of true and false |
82336c3b679d
patch 9.0.0774: the libvterm code is outdated
Bram Moolenaar <Bram@vim.org>
parents:
30876
diff
changeset
|
13 - use int or unsigned int instead of bool |
82336c3b679d
patch 9.0.0774: the libvterm code is outdated
Bram Moolenaar <Bram@vim.org>
parents:
30876
diff
changeset
|
14 - Converted some code from C99 to C90. |
11621
b8299e742f41
patch 8.0.0693: no terminal emulator support
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 - Other changes to support embedding in Vim. |
13531
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
16 |
21996
808edde1e97d
patch 8.2.1547: various comment problems
Bram Moolenaar <Bram@vim.org>
parents:
20443
diff
changeset
|
17 To get the latest version of libvterm you need the "bzr" command and do: |
808edde1e97d
patch 8.2.1547: various comment problems
Bram Moolenaar <Bram@vim.org>
parents:
20443
diff
changeset
|
18 bzr co http://bazaar.leonerd.org.uk/c/libvterm/ |
808edde1e97d
patch 8.2.1547: various comment problems
Bram Moolenaar <Bram@vim.org>
parents:
20443
diff
changeset
|
19 |
808edde1e97d
patch 8.2.1547: various comment problems
Bram Moolenaar <Bram@vim.org>
parents:
20443
diff
changeset
|
20 To find the diff of a libvterm revision edit this URL, changing "999" to the |
808edde1e97d
patch 8.2.1547: various comment problems
Bram Moolenaar <Bram@vim.org>
parents:
20443
diff
changeset
|
21 patch number: |
20443
e02d45e302a2
patch 8.2.0776: libvterm code lags behind the upstream version
Bram Moolenaar <Bram@vim.org>
parents:
13531
diff
changeset
|
22 https://bazaar.launchpad.net/~libvterm/libvterm/trunk/diff/999?context=3 |
13531
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
23 |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
24 To merge in changes from Github, do this: |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
25 - Commit any pending changes. |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
26 - Setup the merge tool: |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
27 git config merge.tool vimdiff |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
28 git config merge.conflictstyle diff3 |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
29 git config mergetool.prompt false |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
30 - Run the merge tool: |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
31 git mergetool |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
32 This will open a four-way diff between: |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
33 LOCAL - your current version |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
34 BASE - version as it was at your last sync |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
35 REMOTE - version at head on Github |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
36 MERGED - best-effort merge of LOCAL and REMOTE |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
37 Now find places where automatic merge didn't work, they are marked with |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
38 <<<<<<<<, ======= and >>>>>>> |
9f857e6310b6
patch 8.0.1639: libvterm code lags behind master
Christian Brabandt <cb@256bit.org>
parents:
11761
diff
changeset
|
39 Fix those places in MERGED, remove the markers, and save the file :wqall. |