diff src/testdir/test_edit.vim @ 31821:5614e76f3dee v9.0.1243

patch 9.0.1243: :setglobal cannot use script-local function for "expr" option Commit: https://github.com/vim/vim/commit/01d4efe2e87632aa085897d3d64e27585908f977 Author: zeertzjq <zeertzjq@outlook.com> Date: Wed Jan 25 15:31:28 2023 +0000 patch 9.0.1243: :setglobal cannot use script-local function for "expr" option Problem: :setglobal cannot use script-local function for "expr" option. Solution: Use the pointer to the option value properly. (closes https://github.com/vim/vim/issues/11883)
author Bram Moolenaar <Bram@vim.org>
date Wed, 25 Jan 2023 16:45:03 +0100
parents 409ddc3fa5ce
children dbec60b8c253
line wrap: on
line diff
--- a/src/testdir/test_edit.vim
+++ b/src/testdir/test_edit.vim
@@ -330,8 +330,23 @@ func Test_edit_11_indentexpr()
   endfunc
   set indentexpr=s:NewIndentExpr()
   call assert_equal(expand('<SID>') .. 'NewIndentExpr()', &indentexpr)
+  call assert_equal(expand('<SID>') .. 'NewIndentExpr()', &g:indentexpr)
   set indentexpr=<SID>NewIndentExpr()
   call assert_equal(expand('<SID>') .. 'NewIndentExpr()', &indentexpr)
+  call assert_equal(expand('<SID>') .. 'NewIndentExpr()', &g:indentexpr)
+  setlocal indentexpr=
+  setglobal indentexpr=s:NewIndentExpr()
+  call assert_equal(expand('<SID>') .. 'NewIndentExpr()', &g:indentexpr)
+  call assert_equal('', &indentexpr)
+  new
+  call assert_equal(expand('<SID>') .. 'NewIndentExpr()', &indentexpr)
+  bw!
+  setglobal indentexpr=<SID>NewIndentExpr()
+  call assert_equal(expand('<SID>') .. 'NewIndentExpr()', &g:indentexpr)
+  call assert_equal('', &indentexpr)
+  new
+  call assert_equal(expand('<SID>') .. 'NewIndentExpr()', &indentexpr)
+  bw!
   set indentexpr&
 
   bw!