diff src/option.c @ 20069:9a67d41708d2 v8.2.0590

patch 8.2.0590: no 'backspace' value allows ignoring the insertion point Commit: https://github.com/vim/vim/commit/aa0489e12d227d24752cf16e4e97058ac32edcc1 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Apr 17 19:41:21 2020 +0200 patch 8.2.0590: no 'backspace' value allows ignoring the insertion point Problem: No 'backspace' value allows ignoring the insertion point. Solution: Add the "nostop" and 3 values. (Christian Brabandt, closes https://github.com/vim/vim/issues/5940)
author Bram Moolenaar <Bram@vim.org>
date Fri, 17 Apr 2020 19:45:05 +0200
parents aadd1cae2ff5
children 918245588b50
line wrap: on
line diff
--- a/src/option.c
+++ b/src/option.c
@@ -1685,6 +1685,10 @@ do_set(
 					*(char_u **)varp = vim_strsave(
 						(char_u *)"indent,eol,start");
 					break;
+				    case 3:
+					*(char_u **)varp = vim_strsave(
+						(char_u *)"indent,eol,nostop");
+					break;
 				}
 				vim_free(oldval);
 				if (origval == oldval)
@@ -6818,7 +6822,7 @@ fill_breakat_flags(void)
  */
     int
 can_bs(
-    int		what)	    // BS_INDENT, BS_EOL or BS_START
+    int		what)	    // BS_INDENT, BS_EOL, BS_START or BS_NOSTOP
 {
 #ifdef FEAT_JOB_CHANNEL
     if (what == BS_START && bt_prompt(curbuf))
@@ -6826,7 +6830,8 @@ can_bs(
 #endif
     switch (*p_bs)
     {
-	case '2':	return TRUE;
+	case '3':       return TRUE;
+	case '2':	return (what != BS_NOSTOP);
 	case '1':	return (what != BS_START);
 	case '0':	return FALSE;
     }