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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29193
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1 " Vim compiler file
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
2 " Compiler: Icon Compiler
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
3 " Maintainer: Doug Kearns <dougkearns@gmail.com>
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
4 " Last Change: 2022 Jun 16
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
5
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
6 if exists("current_compiler")
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
7 finish
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
8 endif
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
9 let current_compiler = "icont"
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
10
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
11 if exists(":CompilerSet") != 2 " older Vim always used :setlocal
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
12 command -nargs=* CompilerSet setlocal <args>
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
13 endif
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
14
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
15 let s:cpo_save = &cpo
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
16 set cpo&vim
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
17
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
18 CompilerSet makeprg=icont\ -s
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
19 CompilerSet errorformat=%-G%\\d%\\+\ errors%\\=,
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
20 \%ERun-time\ error\ %n,
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
21 \%ERun-time\ error\ %n\ in\ %m,
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
22 \%ZTraceback:,
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
23 \%+Coffending\ value:\ %.%#,
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
24 \%CFile\ %f;\ Line\ %l,
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
25 \%EFile\ %f;\ Line\ %l\ #\ %m,
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
26 \%EFile\ %f;\ %m,
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
27 \%E%f:%l:\ #\ %m,
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
28 \%E%f:\ %m,
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
29 \%+C%.%#,
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
30 \%-G%.%#
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
31
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
32 let &cpo = s:cpo_save
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
33 unlet s:cpo_save