Please sign in to comment.
Return to correct window when closing Gblame window
Vim does not guarantee persistent window numbers. Instead, windows are numbered according to their position on the screen, with the topmost, leftmost window always having number 1, and the bottommost, rightmost window always having a number equal to the total number of windows currently visible. Crucially, this means that, when a window is closed, windows which come "after" it in the positional order will be renumbered. When fugitive's Gblame window is closed, e.g. by pressing `q`, it attempts to return focus to the window of the blamed buffer. Previously, the number of the window to return to was computed before closing the Gblame window, then the Gblame window was closed, then the blamed buffer's window was focused. However, since windows were often renumbered as soon as the Gblame window was closed, this would frequently cause focus to jump to the window *after* the blamed buffer's window, rather than the intended behavior. This corrects the issue by jumping to the proper return window prior to deleting the Gblame buffer, ensuring that the computed window number is in fact correct at the moment when the focus change occurs.
- Loading branch information...