Mercurial > vim
annotate src/proto/arglist.pro @ 34538:c865c2f93a04 v9.1.0171
patch 9.1.0171: Small split-move related improvements
Commit: https://github.com/vim/vim/commit/5cac1a9bee0798d70a7fd80363a1f697759638e8
Author: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Date: Tue Mar 12 21:11:39 2024 +0100
patch 9.1.0171: Small split-move related improvements
Problem: small improvements can be made to split-move related
functions.
Solution: apply them (Sean Dewar):
- Improve some doc comments (frame_flatten should still work for non-current
tabpages, despite the topframe check, which looks benign, though I'm unsure if
it's still needed; see #2467).
- f_win_splitmove should check_split_disallowed on wp, not targetwin, as that's
what win_splitmove checks (though it's probably unnecessary to check
b_locked_split at all; see #14109, which I hope to get around to finishing at
some point).
- Make winframe_restore restore window positions for the altframe, which
winframe_remove changes. This doesn't affect the prior behaviour, as we called
win_comp_pos after, but as win_comp_pos only works for curtab, and
winframe_remove supports non-current tabpages, we should undo it. Regardless,
this should mean we don't need win_comp_pos anymore; adjust tests to check
that window positions remain unchanged.
I'm not sure win_comp_pos is needed after last_status anyway if it doesn't
steal rows from another frame to make room for a new statusline, which
shouldn't be the case after winframe_remove? To be safe, I'll leave it as is.
closes: #14185
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, 12 Mar 2024 21:15:03 +0100 |
parents | 2bdcce61a4e4 |
children |
rev | line source |
---|---|
17744
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 /* arglist.c */ |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 void alist_clear(alist_T *al); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 void alist_init(alist_T *al); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 void alist_unlink(alist_T *al); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 void alist_new(void); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 void alist_expand(int *fnum_list, int fnum_len); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 void alist_set(alist_T *al, int count, char_u **files, int use_curbuf, int *fnum_list, int fnum_len); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 void alist_add(alist_T *al, char_u *fname, int set_fnum); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 void alist_slash_adjust(void); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 int get_arglist_exp(char_u *str, int *fcountp, char_u ***fnamesp, int wig); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 void set_arglist(char_u *str); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 int editing_arg_idx(win_T *win); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 void check_arg_idx(win_T *win); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 void ex_args(exarg_T *eap); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 void ex_previous(exarg_T *eap); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 void ex_rewind(exarg_T *eap); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 void ex_last(exarg_T *eap); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 void ex_argument(exarg_T *eap); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 void do_argfile(exarg_T *eap, int argn); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 void ex_next(exarg_T *eap); |
26719
2bdcce61a4e4
patch 8.2.3888: the argument list may contain duplicates
Bram Moolenaar <Bram@vim.org>
parents:
17744
diff
changeset
|
21 void ex_argdedupe(exarg_T *eap); |
17744
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
22 void ex_argedit(exarg_T *eap); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 void ex_argadd(exarg_T *eap); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
24 void ex_argdelete(exarg_T *eap); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
25 char_u *get_arglist_name(expand_T *xp, int idx); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
26 char_u *alist_name(aentry_T *aep); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
27 void ex_all(exarg_T *eap); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
28 char_u *arg_all(void); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
29 void f_argc(typval_T *argvars, typval_T *rettv); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
30 void f_argidx(typval_T *argvars, typval_T *rettv); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
31 void f_arglistid(typval_T *argvars, typval_T *rettv); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
32 void f_argv(typval_T *argvars, typval_T *rettv); |
4a3dca734d36
patch 8.1.1869: code for the argument list is spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
33 /* vim: set ft=c : */ |