patch 9.1.0899: default for 'backspace' can be set in C code

Commit: 
https://github.com/vim/vim/commit/959ef61430bdd8fb982b38bd3347d90251255cfc
Author: Luca Saccarola <github.e4...@aleeas.com>
Date:   Sun Dec 1 16:25:53 2024 +0100

    patch 9.1.0899: default for 'backspace' can be set in C code
    
    Problem:  default for 'backspace' can be set in C code
    Solution: promote the default for 'backspace' from defaults.vim to the C
              code (Luca Saccarola)
    
    closes: #16143
    
    Signed-off-by: Luca Saccarola <github.e4...@aleeas.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/defaults.vim b/runtime/defaults.vim
index 82f335896..38b03da11 100644
--- a/runtime/defaults.vim
+++ b/runtime/defaults.vim
@@ -1,7 +1,7 @@
 " The default vimrc file.
 "
 " Maintainer:  The Vim Project <https://github.com/vim/vim>
-" Last Change: 2024 Nov 14
+" Last Change: 2024 Dec 01
 " Former Maintainer:   Bram Moolenaar <b...@vim.org>
 "
 " This is loaded if no vimrc file was found.
@@ -33,9 +33,6 @@ silent! while 0
   set nocompatible
 silent! endwhile
 
-" Allow backspacing over everything in insert mode.
-set backspace=indent,eol,start
-
 set ruler              " show the cursor position all the time
 set showcmd            " display incomplete commands
 
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 05c2d9d4c..764b4ab33 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1069,8 +1069,7 @@ A jump table for the options with a short description can 
be found at |Q_op|.
        done with ":syntax on".
 
                                                        *'backspace'* *'bs'*
-'backspace' 'bs'       string  (default "", set to "indent,eol,start"
-                                                           in |defaults.vim|)
+'backspace' 'bs'       string  (Vim default: "indent,eol,start", Vi default: 
"")
                        global
        Influences the working of <BS>, <Del>, CTRL-W and CTRL-U in Insert
        mode.  This is a list of items, separated by commas.  Each item allows
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index b9977a9f2..2aadcd3f4 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -41611,6 +41611,8 @@ Changed~
 - 'rulerformat' now supports the |stl-%!| item
 - the default 'history' option value has been increased to 200 and removed
   from |defaults.vim|
+- the default 'backspace' option for Vim has been set to "indent,eol,start"
+  and removed from |defaults.vim|
 
                                                        *added-9.2*
 Added ~
diff --git a/src/optiondefs.h b/src/optiondefs.h
index ca085d42c..2959232d0 100644
--- a/src/optiondefs.h
+++ b/src/optiondefs.h
@@ -414,9 +414,9 @@ static struct vimoption options[] =
                            (char_u *)"light",
 #endif
                                            (char_u *)0L} SCTX_INIT},
-    {"backspace",   "bs",   P_STRING|P_VI_DEF|P_VIM|P_ONECOMMA|P_NODUP,
+    {"backspace",   "bs",   P_STRING|P_VIM|P_ONECOMMA|P_NODUP,
                            (char_u *)&p_bs, PV_NONE, did_set_backspace, 
expand_set_backspace,
-                           {(char_u *)"", (char_u *)0L} SCTX_INIT},
+                           {(char_u *)"", (char_u *)"indent,eol,start"} 
SCTX_INIT},
     {"backup",     "bk",   P_BOOL|P_VI_DEF|P_VIM,
                            (char_u *)&p_bk, PV_NONE, NULL, NULL,
                            {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim
index 531aa6b96..d6f8ef4ce 100644
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -1279,8 +1279,8 @@ func Test_OptionSet()
   call assert_equal(g:opt[0], g:opt[1])
 
   " 14: Setting option backspace through :let"
-  let g:options = [['backspace', '', '', '', 'eol,indent,start', 'global', 
'set']]
-  let &bs = "eol,indent,start"
+  let g:options = [['backspace', 'indent,eol,start', 'indent,eol,start', 
'indent,eol,start', '', 'global', 'set']]
+  let &bs = ''
   call assert_equal([], g:options)
   call assert_equal(g:opt[0], g:opt[1])
 
diff --git a/src/testdir/test_digraph.vim b/src/testdir/test_digraph.vim
index 3312faf31..16eb0b158 100644
--- a/src/testdir/test_digraph.vim
+++ b/src/testdir/test_digraph.vim
@@ -250,9 +250,12 @@ func Test_digraphs_option()
   call Put_Dig_BS("P","=")
   call assert_equal(['Р']+repeat(["₽"],2)+['П'], 
getline(line('.')-3,line('.')))
   " Not a digraph: this is different from <c-k>!
+  let _bs = &bs
+  set bs=
   call Put_Dig_BS("a","\<bs>")
   call Put_Dig_BS("\<bs>","a")
   call assert_equal(['','a'], getline(line('.')-1,line('.')))
+  let &bs = _bs
   " Grave
   call Put_Dig_BS("a","!")
   call Put_Dig_BS("!","e")
diff --git a/src/testdir/test_ins_complete.vim 
b/src/testdir/test_ins_complete.vim
index fd4c7cded..7829f79fb 100644
--- a/src/testdir/test_ins_complete.vim
+++ b/src/testdir/test_ins_complete.vim
@@ -1431,7 +1431,7 @@ func Test_complete_item_refresh_always()
   set completefunc=Tcomplete
   exe "normal! iup\<C-X>\<C-U>\<BS>\<BS>\<BS>\<BS>\<BS>"
   call assert_equal('up', getline(1))
-  call assert_equal(2, g:CallCount)
+  call assert_equal(6, g:CallCount)
   set completeopt&
   set completefunc&
   bw!
diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim
index fa75204cf..cd66cdfae 100644
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -486,7 +486,7 @@ func Test_set_completion_string_values()
   " but don't exhaustively validate their results.
   call assert_equal('single', getcompletion('set ambw=', 'cmdline')[0])
   call assert_match('light\|dark', getcompletion('set bg=', 'cmdline')[1])
-  call assert_equal('indent', getcompletion('set backspace=', 'cmdline')[0])
+  call assert_equal('indent,eol,start', getcompletion('set backspace=', 
'cmdline')[0])
   call assert_equal('yes', getcompletion('set backupcopy=', 'cmdline')[1])
   call assert_equal('backspace', getcompletion('set belloff=', 'cmdline')[1])
   call assert_equal('min:', getcompletion('set briopt=', 'cmdline')[1])
diff --git a/src/version.c b/src/version.c
index f83e5976d..7558bdc1b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    899,
 /**/
     898,
 /**/

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1tHltd-000sA5-3F%40256bit.org.

Raspunde prin e-mail lui