Mercurial > vim
view runtime/delmenu.vim @ 33844:58c9f11eae5b v9.0.2134
patch 9.0.2134: ml_get error when scrolling
Commit: https://github.com/vim/vim/commit/c4ffeddfe5bd1824650e9b911ed9245bf56c69e3
Author: Christian Brabandt <cb@256bit.org>
Date: Mon Nov 27 23:25:03 2023 +0100
patch 9.0.2134: ml_get error when scrolling
Problem: ml_get error when scrolling after delete
Solution: mark topline to be validated in main_loop
if it is larger than current buffers line
count
reset_lnums() is called after e.g. TextChanged autocommands and it may
accidentally cause curwin->w_topline to become invalid, e.g. if the
autocommand has deleted some lines.
So verify that curwin->w_topline points to a valid line and if not, mark
the window to have w_topline recalculated in main_loop() in
update_topline() after reset_lnums() returns.
fixes: #13568
fixes: #13578
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 27 Nov 2023 23:30:04 +0100 |
parents | 4027cefc2aab |
children |
line wrap: on
line source
" This Vim script deletes all the menus, so that they can be redefined. " Warning: This also deletes all menus defined by the user! " " Maintainer: The Vim Project <https://github.com/vim/vim> " Last Change: 2023 Aug 10 " Former Maintainer: Bram Moolenaar <Bram@vim.org> aunmenu * tlunmenu * if exists('#SetupLazyloadMenus') au! SetupLazyloadMenus augroup! SetupLazyloadMenus endif if exists('#buffer_list') au! buffer_list augroup! buffer_list endif if exists('#LoadBufferMenu') au! LoadBufferMenu augroup! LoadBufferMenu endif if exists('#spellmenu') au! spellmenu augroup! spellmenu endif if exists('#SpellPopupMenu') au! SpellPopupMenu augroup! SpellPopupMenu endif unlet! g:did_install_default_menus unlet! g:did_install_syntax_menu if exists('g:did_menu_trans') menutrans clear unlet g:did_menu_trans endif unlet! g:find_help_dialog unlet! g:menutrans_fileformat_choices unlet! g:menutrans_fileformat_dialog unlet! g:menutrans_help_dialog unlet! g:menutrans_no_file unlet! g:menutrans_path_dialog unlet! g:menutrans_set_lang_to unlet! g:menutrans_spell_add_ARG_to_word_list unlet! g:menutrans_spell_change_ARG_to unlet! g:menutrans_spell_ignore_ARG unlet! g:menutrans_tags_dialog unlet! g:menutrans_textwidth_dialog " vim: set sw=2 :