Mercurial > vim
view src/proto/mark.pro @ 32826:7c4ad06d80ec v9.0.1726
patch 9.0.1726: incorrect heights in win_size_restore()
Commit: https://github.com/vim/vim/commit/876f5fb570d8401aa4c58af4a5da91f10520aa9d
Author: Sean Dewar <seandewar@users.noreply.github.com>
Date: Thu Aug 17 22:40:05 2023 +0200
patch 9.0.1726: incorrect heights in win_size_restore()
Problem: incorrect heights in win_size_restore()
Solution: avoid restoring incorrect heights in win_size_restore()
Changing 'showtabline' or 'cmdheight' in the cmdwin restores incorrect
window heights after closing the cmdwin.
This may produce a gap between the cmdline and the window above.
Solution: restore window sizes only if the number of lines available for windows
changed; subtract the rows of the tabline, cmdline and last window's statusline
from 'lines' (other statuslines don't matter).
closes: #12704
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 17 Aug 2023 22:45:06 +0200 |
parents | 8eed1e9389bb |
children | 814fcbca4d8d |
line wrap: on
line source
/* mark.c */ int setmark(int c); int setmark_pos(int c, pos_T *pos, int fnum); void setpcmark(void); void checkpcmark(void); pos_T *movemark(int count); pos_T *movechangelist(int count); pos_T *getmark_buf(buf_T *buf, int c, int changefile); pos_T *getmark(int c, int changefile); pos_T *getmark_buf_fnum(buf_T *buf, int c, int changefile, int *fnum); pos_T *getnextmark(pos_T *startpos, int dir, int begin_line); void fmarks_check_names(buf_T *buf); int check_mark(pos_T *pos); void clrallmarks(buf_T *buf); char_u *fm_getname(fmark_T *fmark, int lead_len); void ex_marks(exarg_T *eap); void ex_delmarks(exarg_T *eap); void ex_jumps(exarg_T *eap); void ex_clearjumps(exarg_T *eap); void ex_changes(exarg_T *eap); void mark_adjust(linenr_T line1, linenr_T line2, long amount, long amount_after); void mark_adjust_nofold(linenr_T line1, linenr_T line2, long amount, long amount_after); void mark_col_adjust(linenr_T lnum, colnr_T mincol, long lnum_amount, long col_amount, int spaces_removed); void cleanup_jumplist(win_T *wp, int loadfiles); void copy_jumplist(win_T *from, win_T *to); void free_jumplist(win_T *wp); void set_last_cursor(win_T *win); void free_all_marks(void); xfmark_T *get_namedfm(void); void f_getmarklist(typval_T *argvars, typval_T *rettv); /* vim: set ft=c : */