Mercurial > vim
comparison src/evalbuffer.c @ 23456:f6514ca9f45e v8.2.2271
patch 8.2.2271: ml_get error when changing hidden buffer in Python
Commit: https://github.com/vim/vim/commit/3e0107ea16349b354e0e9712e95b09ef019e99e5
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 2 13:53:59 2021 +0100
patch 8.2.2271: ml_get error when changing hidden buffer in Python
Problem: ml_get error when changing hidden buffer in Python.
Solution: Block updating folds. (closes https://github.com/vim/vim/issues/7598)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 02 Jan 2021 14:00:04 +0100 |
parents | 9fa3f92248f6 |
children | f8382c4e6551 |
comparison
equal
deleted
inserted
replaced
23455:4277c9dbafb9 | 23456:f6514ca9f45e |
---|---|
805 */ | 805 */ |
806 void | 806 void |
807 switch_buffer(bufref_T *save_curbuf, buf_T *buf) | 807 switch_buffer(bufref_T *save_curbuf, buf_T *buf) |
808 { | 808 { |
809 block_autocmds(); | 809 block_autocmds(); |
810 #ifdef FEAT_FOLDING | |
811 ++disable_fold_update; | |
812 #endif | |
810 set_bufref(save_curbuf, curbuf); | 813 set_bufref(save_curbuf, curbuf); |
811 --curbuf->b_nwindows; | 814 --curbuf->b_nwindows; |
812 curbuf = buf; | 815 curbuf = buf; |
813 curwin->w_buffer = buf; | 816 curwin->w_buffer = buf; |
814 ++curbuf->b_nwindows; | 817 ++curbuf->b_nwindows; |
819 */ | 822 */ |
820 void | 823 void |
821 restore_buffer(bufref_T *save_curbuf) | 824 restore_buffer(bufref_T *save_curbuf) |
822 { | 825 { |
823 unblock_autocmds(); | 826 unblock_autocmds(); |
827 #ifdef FEAT_FOLDING | |
828 --disable_fold_update; | |
829 #endif | |
824 // Check for valid buffer, just in case. | 830 // Check for valid buffer, just in case. |
825 if (bufref_valid(save_curbuf)) | 831 if (bufref_valid(save_curbuf)) |
826 { | 832 { |
827 --curbuf->b_nwindows; | 833 --curbuf->b_nwindows; |
828 curwin->w_buffer = save_curbuf->br_buf; | 834 curwin->w_buffer = save_curbuf->br_buf; |