annotate runtime/compiler/sml.vim @ 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 c968191a8557
children e1df51f68736
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24024
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1 " Vim compiler file
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
2 " Compiler: SML/NJ Compiler
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
3 " Maintainer: Doug Kearns <dougkearns@gmail.com>
28010
c968191a8557 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24024
diff changeset
4 " Last Change: 2022 Feb 09
24024
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
5
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
6 if exists("current_compiler")
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
7 finish
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
8 endif
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
9 let current_compiler = "sml"
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
10
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
11 if exists(":CompilerSet") != 2 " older Vim always used :setlocal
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
12 command -nargs=* CompilerSet setlocal <args>
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
13 endif
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
14
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
15 let s:cpo_save = &cpo
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
16 set cpo&vim
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
17
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
18 CompilerSet makeprg=sml
28010
c968191a8557 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24024
diff changeset
19 CompilerSet errorformat=%f:%l.%c-%e.%k\ %trror:\ %m,
24024
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
20 \%f:%l.%c\ %trror:\ %m,
28010
c968191a8557 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24024
diff changeset
21 \%trror:\ %m,
c968191a8557 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24024
diff changeset
22 \%f:%l.%c-%e.%k\ %tarning:\ %m,
24024
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
23 \%f:%l.%c\ %tarning:\ %m,
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
24 \%tarning:\ %m,
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
25 \%-G%.%#
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
26
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
27 let &cpo = s:cpo_save
ef454a7f485d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
28 unlet s:cpo_save