Mercurial > vim
view runtime/doc/vimdiff.1 @ 34548:db67c09ccd53 v9.1.0175
patch 9.1.0175: wrong window positions with 'winfix{width,height}'
Commit: https://github.com/vim/vim/commit/5866bc3a0f54115d5982fdc09bdbe4c45069265a
Author: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Date: Wed Mar 13 20:17:24 2024 +0100
patch 9.1.0175: wrong window positions with 'winfix{width,height}'
Problem: winframe functions incorrectly recompute window positions if
the altframe wasn't adjacent to the closed frame, which is
possible if adjacent windows had 'winfix{width,height}' set.
Solution: recompute for windows within the parent of the altframe and
closed frame. Skip this (as before) if the altframe was
top/left, but only if adjacent to the closed frame, as
positions won't change in that case. Also correct the return
value documentation for win_screenpos. (Sean Dewar)
The issue revealed itself after removing the win_comp_pos call below
winframe_restore in win_splitmove. Similarly, wrong positions could result from
windows closed in other tabpages, as win_free_mem uses winframe_remove (at least
until it is entered later, where enter_tabpage calls win_comp_pos).
NOTE: As win_comp_pos handles only curtab, it's possible via other means for
positions in non-current tabpages to be wrong (e.g: after changing 'laststatus',
'showtabline', etc.). Given enter_tabpage recomputes it, maybe it's intentional
as an optimization? Should probably be documented in win_screenpos then, but I
won't address that here.
closes: #14191
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 | Wed, 13 Mar 2024 20:30:03 +0100 |
parents | fd37be6dc258 |
children | 4a958ef2dc5e |
line wrap: on
line source
.TH VIMDIFF 1 "2001 March 30" .SH NAME vimdiff \- edit between two and eight versions of a file with Vim and show differences .SH SYNOPSIS .br .B vimdiff [options] file1 file2 [file3 [file4 [file5 [file6 [file7 [file8]]]]]] .PP .B gvimdiff .SH DESCRIPTION .B Vimdiff starts .B Vim on two up to eight files. Each file gets its own window. The differences between the files are highlighted. This is a nice way to inspect changes and to move changes from one version to another version of the same file. .PP See vim(1) for details about Vim itself. .PP When started as .B gvimdiff the GUI will be started, if available. .PP In each window the 'diff' option will be set, which causes the differences to be highlighted. .br The 'wrap' and 'scrollbind' options are set to make the text look good. .br The 'foldmethod' option is set to "diff", which puts ranges of lines without changes in a fold. 'foldcolumn' is set to two to make it easy to spot the folds and open or close them. .SH OPTIONS Vertical splits are used to align the lines, as if the "\-O" argument was used. To use horizontal splits instead, use the "\-o" argument. .PP For all other arguments see vim(1). .SH SEE ALSO vim(1) .SH AUTHOR Most of .B Vim was made by Bram Moolenaar, with a lot of help from others. See ":help credits" in .B Vim.