summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0035
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0035')
-rw-r--r--data/vim/patches/8.1.0035237
1 files changed, 0 insertions, 237 deletions
diff --git a/data/vim/patches/8.1.0035 b/data/vim/patches/8.1.0035
deleted file mode 100644
index 329d2c528..000000000
--- a/data/vim/patches/8.1.0035
+++ /dev/null
@@ -1,237 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0035
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 8.1.0035
-Problem: Not easy to switch between prompt buffer and other windows.
-Solution: Accept CTRL-W commands in Insert mode. Start and stop Insert mode
- as one would expect.
-Files: src/edit.c, src/ex_docmd.c, src/structs.h, src/window.c
-
-
-*** ../vim-8.1.0034/src/edit.c 2018-06-03 14:42:17.840505115 +0200
---- src/edit.c 2018-06-06 09:06:43.329569894 +0200
-***************
-*** 811,816 ****
---- 811,824 ----
- do
- {
- c = safe_vgetc();
-+
-+ if (stop_insert_mode)
-+ {
-+ // Insert mode ended, possibly from a callback.
-+ count = 0;
-+ nomove = TRUE;
-+ goto doESCkey;
-+ }
- } while (c == K_IGNORE || c == K_NOP);
-
- /* Don't want K_CURSORHOLD for the second key, e.g., after CTRL-V. */
-***************
-*** 1165,1170 ****
---- 1173,1190 ----
- break;
-
- case Ctrl_W: /* delete word before the cursor */
-+ #ifdef FEAT_JOB_CHANNEL
-+ if (bt_prompt(curbuf) && (mod_mask & MOD_MASK_SHIFT) == 0)
-+ {
-+ // In a prompt window CTRL-W is used for window commands.
-+ // Use Shift-CTRL-W to delete a word.
-+ stuffcharReadbuff(Ctrl_W);
-+ restart_edit = 'i';
-+ nomove = TRUE;
-+ count = 0;
-+ goto doESCkey;
-+ }
-+ #endif
- did_backspace = ins_bs(c, BACKSPACE_WORD, &inserted_space);
- auto_format(FALSE, TRUE);
- break;
-***************
-*** 1869,1874 ****
---- 1889,1907 ----
- coladvance((colnr_T)MAXCOL);
- changed_bytes(curbuf->b_ml.ml_line_count, 0);
- }
-+
-+ // Insert always starts after the prompt, allow editing text after it.
-+ if (Insstart_orig.lnum != curwin->w_cursor.lnum
-+ || Insstart_orig.col != (int)STRLEN(prompt))
-+ {
-+ Insstart.lnum = curwin->w_cursor.lnum;
-+ Insstart.col = STRLEN(prompt);
-+ Insstart_orig = Insstart;
-+ Insstart_textlen = Insstart.col;
-+ Insstart_blank_vcol = MAXCOL;
-+ arrow_used = FALSE;
-+ }
-+
- if (cmdchar_todo == 'A')
- coladvance((colnr_T)MAXCOL);
- if (cmdchar_todo == 'I' || curwin->w_cursor.col <= (int)STRLEN(prompt))
-*** ../vim-8.1.0034/src/ex_docmd.c 2018-05-08 21:57:39.000000000 +0200
---- src/ex_docmd.c 2018-06-06 08:58:58.317930716 +0200
-***************
-*** 7341,7347 ****
- {
- if (eap->addr_count == 0)
- ex_win_close(eap->forceit, curwin, NULL);
-! else {
- FOR_ALL_WINDOWS(win)
- {
- winnr++;
---- 7341,7348 ----
- {
- if (eap->addr_count == 0)
- ex_win_close(eap->forceit, curwin, NULL);
-! else
-! {
- FOR_ALL_WINDOWS(win)
- {
- winnr++;
-*** ../vim-8.1.0034/src/structs.h 2018-06-03 14:42:17.848505102 +0200
---- src/structs.h 2018-06-06 08:58:58.317930716 +0200
-***************
-*** 2360,2365 ****
---- 2360,2367 ----
- char_u *b_prompt_text; // set by prompt_setprompt()
- char_u *b_prompt_callback; // set by prompt_setcallback()
- partial_T *b_prompt_partial; // set by prompt_setcallback()
-+ int b_prompt_insert; // value for restart_edit when entering
-+ // a prompt buffer window.
- #endif
- #ifdef FEAT_MZSCHEME
- void *b_mzscheme_ref; /* The MzScheme reference to this buffer */
-*** ../vim-8.1.0034/src/window.c 2018-05-04 20:09:46.000000000 +0200
---- src/window.c 2018-06-06 08:58:58.321930713 +0200
-***************
-*** 2103,2108 ****
---- 2103,2131 ----
- }
- }
-
-+ #ifdef FEAT_JOB_CHANNEL
-+ static void
-+ leaving_window(win_T *win)
-+ {
-+ // When leaving a prompt window stop Insert mode and perhaps restart
-+ // it when entering that window again.
-+ win->w_buffer->b_prompt_insert = restart_edit;
-+ restart_edit = NUL;
-+
-+ // When leaving the window (or closing the window) was done from a
-+ // callback we need to break out of the Insert mode loop.
-+ if (State & INSERT)
-+ stop_insert_mode = TRUE;
-+ }
-+
-+ static void
-+ entering_window(win_T *win)
-+ {
-+ // When entering the prompt window may restart Insert mode.
-+ restart_edit = win->w_buffer->b_prompt_insert;
-+ }
-+ #endif
-+
- /*
- * Close all windows for buffer "buf".
- */
-***************
-*** 2231,2236 ****
---- 2254,2262 ----
- if (h != tabline_height())
- shell_new_rows();
- }
-+ #ifdef FEAT_JOB_CHANNEL
-+ entering_window(curwin);
-+ #endif
- /* Since goto_tabpage_tp above did not trigger *Enter autocommands, do
- * that now. */
- apply_autocmds(EVENT_TABCLOSED, NULL, NULL, FALSE, curbuf);
-***************
-*** 2296,2301 ****
---- 2322,2330 ----
-
- if (win == curwin)
- {
-+ #ifdef FEAT_JOB_CHANNEL
-+ leaving_window(curwin);
-+ #endif
- /*
- * Guess which window is going to be the new current window.
- * This may change because of the autocommands (sigh).
-***************
-*** 3649,3654 ****
---- 3678,3686 ----
- * scrollbars. Have to update them anyway. */
- gui_may_update_scrollbars();
- #endif
-+ #ifdef FEAT_JOB_CHANNEL
-+ entering_window(curwin);
-+ #endif
-
- redraw_all_later(CLEAR);
- apply_autocmds(EVENT_WINNEW, NULL, NULL, FALSE, curbuf);
-***************
-*** 3822,3827 ****
---- 3854,3862 ----
- {
- tabpage_T *tp = curtab;
-
-+ #ifdef FEAT_JOB_CHANNEL
-+ leaving_window(curwin);
-+ #endif
- reset_VIsual_and_resel(); /* stop Visual mode */
- if (trigger_leave_autocmds)
- {
-***************
-*** 4318,4323 ****
---- 4353,4363 ----
- if (wp == curwin && !curwin_invalid) /* nothing to do */
- return;
-
-+ #ifdef FEAT_JOB_CHANNEL
-+ if (!curwin_invalid)
-+ leaving_window(curwin);
-+ #endif
-+
- if (!curwin_invalid && trigger_leave_autocmds)
- {
- /*
-***************
-*** 4389,4394 ****
---- 4429,4437 ----
- shorten_fnames(TRUE);
- }
-
-+ #ifdef FEAT_JOB_CHANNEL
-+ entering_window(curwin);
-+ #endif
- if (trigger_new_autocmds)
- apply_autocmds(EVENT_WINNEW, NULL, NULL, FALSE, curbuf);
- if (trigger_enter_autocmds)
-*** ../vim-8.1.0034/src/version.c 2018-06-04 20:34:07.607373577 +0200
---- src/version.c 2018-06-06 09:01:35.521811501 +0200
-***************
-*** 763,764 ****
---- 763,766 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 35,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-12. Sing along at the opera.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///