Mercurial > vim
diff src/window.c @ 16874:da5f5836e90c v8.1.1438
patch 8.1.1438: some commands cause trouble in a popup window
commit https://github.com/vim/vim/commit/815b76bff618c07226653e11f29c4d3c5640b63a
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 1 14:15:52 2019 +0200
patch 8.1.1438: some commands cause trouble in a popup window
Problem: Some commands cause trouble in a popup window.
Solution: Add NOT_IN_POPUP_WINDOW.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 01 Jun 2019 14:30:06 +0200 |
parents | 2b00163053cd |
children | 998603a243d7 |
line wrap: on
line diff
--- a/src/window.c +++ b/src/window.c @@ -87,7 +87,8 @@ do_window( #endif char_u cbuf[40]; - Prenum1 = Prenum == 0 ? 1 : Prenum; + if (NOT_IN_POPUP_WINDOW) + return; #ifdef FEAT_CMDWIN # define CHECK_CMDWIN \ @@ -102,6 +103,8 @@ do_window( # define CHECK_CMDWIN do { /**/ } while (0) #endif + Prenum1 = Prenum == 0 ? 1 : Prenum; + switch (nchar) { /* split current window in two parts, horizontally */ @@ -732,6 +735,9 @@ cmd_with_count( int win_split(int size, int flags) { + if (NOT_IN_POPUP_WINDOW) + return FAIL; + /* When the ":tab" modifier was used open a new tab page instead. */ if (may_open_tabpage() == OK) return OK; @@ -1509,7 +1515,9 @@ win_exchange(long Prenum) win_T *wp2; int temp; - if (ONE_WINDOW) /* just one window */ + if (NOT_IN_POPUP_WINDOW) + return; + if (ONE_WINDOW) // just one window { beep_flush(); return; @@ -2363,6 +2371,9 @@ win_close(win_T *win, int free_buf) tabpage_T *prev_curtab = curtab; frame_T *win_frame = win->w_frame->fr_parent; + if (NOT_IN_POPUP_WINDOW) + return FAIL; + if (last_window()) { emsg(_("E444: Cannot close last window")); @@ -4221,6 +4232,8 @@ win_goto(win_T *wp) win_T *owp = curwin; #endif + if (NOT_IN_POPUP_WINDOW) + return; if (text_locked()) { beep_flush();