Mercurial > vim
annotate runtime/compiler/icon.vim @ 34485:157cf882799f v9.1.0150
patch 9.1.0150: Several minor 'winfixbuf' issues
Commit: https://github.com/vim/vim/commit/4bb505e28cac0389561fff78d8bbe0319c2bcf2f
Author: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Date: Tue Mar 5 20:39:07 2024 +0100
patch 9.1.0150: Several minor 'winfixbuf' issues
Problem: several minor 'winfixbuf' issues exist, mostly relating to the
quickfix list
Solution: address them and adjust tests. Retab and reflow a few things too.
(Sean Dewar)
Things touched include:
- Replace the semsgs with gettext'd emsgs.
- Handle window switching in ex_listdo properly, so curbuf and curwin
are kept in-sync and trigger autocommands; handle those properly.
- Don't change the list entry index in qf_jump_edit_buffer if we fail
due to 'wfb' (achieved by returning FAIL; QF_ABORT should only be used
if the list was changed).
- Make qf_jump_edit_buffer actually switch to prevwin when using `:cXX`
commands **outside** of the list window if 'wfb' is set in curwin.
Handle autocommands properly in case they mess with the list.
NOTE: previously, it seemed to split if 'wfb' was set, but do nothing
and fail if prevwin is *valid*. This behaviour seemed strange, and maybe
unintentional? Now it aligns more with what's described for the `:cXX`
commands in the original PR description when used outside a list window,
I think.
- In both functions, only consider prevwin if 'wfb' isn't set for it;
fallback to splitting otherwise.
- Use win_split to split. Not sure if there was a specific reason for
using ex_splitview. win_split is simpler and respects modifiers like
:vertical that may have been used. Plus, its return value can be checked
for setting opened_window in qf code (technically win_split_ins autocmds
could immediately close it or change windows, in which the qf code might
close some other window on failure; it's already the case elsewhere,
though).
closes: #14142
Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 05 Mar 2024 20:45:04 +0100 |
parents | 1e9e9d89f0ee |
children | e1df51f68736 |
rev | line source |
---|---|
29193 | 1 " Vim compiler file |
2 " Compiler: Icon Compiler | |
3 " Maintainer: Doug Kearns <dougkearns@gmail.com> | |
4 " Last Change: 2022 Jun 16 | |
5 | |
6 if exists("current_compiler") | |
7 finish | |
8 endif | |
9 let current_compiler = "icont" | |
10 | |
11 if exists(":CompilerSet") != 2 " older Vim always used :setlocal | |
12 command -nargs=* CompilerSet setlocal <args> | |
13 endif | |
14 | |
15 let s:cpo_save = &cpo | |
16 set cpo&vim | |
17 | |
18 CompilerSet makeprg=icont\ -s | |
19 CompilerSet errorformat=%-G%\\d%\\+\ errors%\\=, | |
20 \%ERun-time\ error\ %n, | |
21 \%ERun-time\ error\ %n\ in\ %m, | |
22 \%ZTraceback:, | |
23 \%+Coffending\ value:\ %.%#, | |
24 \%CFile\ %f;\ Line\ %l, | |
25 \%EFile\ %f;\ Line\ %l\ #\ %m, | |
26 \%EFile\ %f;\ %m, | |
27 \%E%f:%l:\ #\ %m, | |
28 \%E%f:\ %m, | |
29 \%+C%.%#, | |
30 \%-G%.%# | |
31 | |
32 let &cpo = s:cpo_save | |
33 unlet s:cpo_save |