diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-08-04 21:37:54 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-08-04 21:37:54 +0200 |
commit | 6b7355a30ddd294c19cd9be924d487d592ccfae1 (patch) | |
tree | 94c51538082a4ffe2c0306e6b7422607be5e3696 /src/if_py_both.h | |
parent | 8e5eece8c5f22a2235edeb743d06253f6c54cfdc (diff) | |
download | vim-git-6b7355a30ddd294c19cd9be924d487d592ccfae1.tar.gz |
patch 8.0.0860: side effects when channel appends to a bufferv8.0.0860
Problem: There may be side effects when a channel appends to a buffer that
is not the current buffer.
Solution: Properly switch to another buffer before appending. (Yasuhiro
Matsumoto, closes #1926, closes #1937)
Diffstat (limited to 'src/if_py_both.h')
-rw-r--r-- | src/if_py_both.h | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/if_py_both.h b/src/if_py_both.h index b6f232e49..cf696258e 100644 --- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -4263,43 +4263,6 @@ py_fix_cursor(linenr_T lo, linenr_T hi, linenr_T extra) } /* - * Find a window that contains "buf" and switch to it. - * If there is no such window, use the current window and change "curbuf". - * Caller must initialize save_curbuf to NULL. - * restore_win_for_buf() MUST be called later! - */ - static void -switch_to_win_for_buf( - buf_T *buf, - win_T **save_curwinp, - tabpage_T **save_curtabp, - bufref_T *save_curbuf) -{ - win_T *wp; - tabpage_T *tp; - - if (find_win_for_buf(buf, &wp, &tp) == FAIL) - switch_buffer(save_curbuf, buf); - else if (switch_win(save_curwinp, save_curtabp, wp, tp, TRUE) == FAIL) - { - restore_win(*save_curwinp, *save_curtabp, TRUE); - switch_buffer(save_curbuf, buf); - } -} - - static void -restore_win_for_buf( - win_T *save_curwin, - tabpage_T *save_curtab, - bufref_T *save_curbuf) -{ - if (save_curbuf->br_buf == NULL) - restore_win(save_curwin, save_curtab, TRUE); - else - restore_buffer(save_curbuf); -} - -/* * Replace a line in the specified buffer. The line number is * in Vim format (1-based). The replacement line is given as * a Python string object. The object is checked for validity |