summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.1045
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.1045')
-rw-r--r--data/vim/patches/8.1.1045262
1 files changed, 262 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.1045 b/data/vim/patches/8.1.1045
new file mode 100644
index 000000000..753c1ed1f
--- /dev/null
+++ b/data/vim/patches/8.1.1045
@@ -0,0 +1,262 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.1045
+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.1045
+Problem: E315 ml_get error when using Python and hidden buffer.
+Solution: Make sure the cursor position is valid. (Ben Jackson,
+ closes #4153, closes #4154)
+Files: src/if_py_both.h, src/testdir/test_python2.vim,
+ src/testdir/test_python3.vim
+
+
+*** ../vim-8.1.1044/src/if_py_both.h 2019-02-14 13:28:42.143415639 +0100
+--- src/if_py_both.h 2019-03-23 17:26:05.958992217 +0100
+***************
+*** 4392,4398 ****
+ RAISE_DELETE_LINE_FAIL;
+ else
+ {
+! if (buf == curbuf)
+ py_fix_cursor((linenr_T)n, (linenr_T)n + 1, (linenr_T)-1);
+ if (save_curbuf.br_buf == NULL)
+ /* Only adjust marks if we managed to switch to a window that
+--- 4392,4401 ----
+ RAISE_DELETE_LINE_FAIL;
+ else
+ {
+! if (buf == curbuf && (save_curwin != NULL
+! || save_curbuf.br_buf == NULL))
+! // Using an existing window for the buffer, adjust the cursor
+! // position.
+ py_fix_cursor((linenr_T)n, (linenr_T)n + 1, (linenr_T)-1);
+ if (save_curbuf.br_buf == NULL)
+ /* Only adjust marks if we managed to switch to a window that
+***************
+*** 4642,4648 ****
+ (long)MAXLNUM, (long)extra);
+ changed_lines((linenr_T)lo, 0, (linenr_T)hi, (long)extra);
+
+! if (buf == curbuf)
+ py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)extra);
+
+ /* END of region without "return". */
+--- 4645,4654 ----
+ (long)MAXLNUM, (long)extra);
+ changed_lines((linenr_T)lo, 0, (linenr_T)hi, (long)extra);
+
+! if (buf == curbuf && (save_curwin != NULL
+! || save_curbuf.br_buf == NULL))
+! // Using an existing window for the buffer, adjust the cursor
+! // position.
+ py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)extra);
+
+ /* END of region without "return". */
+*** ../vim-8.1.1044/src/testdir/test_python2.vim 2019-02-18 22:04:52.949609091 +0100
+--- src/testdir/test_python2.vim 2019-03-23 17:19:39.117394146 +0100
+***************
+*** 71,73 ****
+--- 71,157 ----
+ endif
+ call assert_equal(0, &pyxversion) " This assertion would have failed with Vim 8.0.0251. (pyxversion was introduced in 8.0.0251.)
+ endfunc
++
++ func _SetUpHiddenBuffer()
++ py import vim
++ new
++ edit hidden
++ setlocal bufhidden=hide
++
++ enew
++ let lnum = 0
++ while lnum < 10
++ call append( 1, string( lnum ) )
++ let lnum = lnum + 1
++ endwhile
++ normal G
++
++ call assert_equal( line( '.' ), 11 )
++ endfunc
++
++ func Test_Write_To_HiddenBuffer_Does_Not_Fix_Cursor_Clear()
++ call _SetUpHiddenBuffer()
++ py vim.buffers[ int( vim.eval( 'bufnr("hidden")' ) ) ][:] = None
++ call assert_equal( line( '.' ), 11 )
++ bwipe!
++ endfunc
++
++ func Test_Write_To_HiddenBuffer_Does_Not_Fix_Cursor_List()
++ call _SetUpHiddenBuffer()
++ py vim.buffers[ int( vim.eval( 'bufnr("hidden")' ) ) ][:] = [ 'test' ]
++ call assert_equal( line( '.' ), 11 )
++ bwipe!
++ endfunc
++
++ func Test_Write_To_HiddenBuffer_Does_Not_Fix_Cursor_Str()
++ call _SetUpHiddenBuffer()
++ py vim.buffers[ int( vim.eval( 'bufnr("hidden")' ) ) ][0] = 'test'
++ call assert_equal( line( '.' ), 11 )
++ bwipe!
++ endfunc
++
++ func Test_Write_To_HiddenBuffer_Does_Not_Fix_Cursor_ClearLine()
++ call _SetUpHiddenBuffer()
++ py vim.buffers[ int( vim.eval( 'bufnr("hidden")' ) ) ][0] = None
++ call assert_equal( line( '.' ), 11 )
++ bwipe!
++ endfunc
++
++ func _SetUpVisibleBuffer()
++ py import vim
++ new
++ let lnum = 0
++ while lnum < 10
++ call append( 1, string( lnum ) )
++ let lnum = lnum + 1
++ endwhile
++ normal G
++ call assert_equal( line( '.' ), 11 )
++ endfunc
++
++ func Test_Write_To_Current_Buffer_Fixes_Cursor_Clear()
++ call _SetUpVisibleBuffer()
++
++ py vim.current.buffer[:] = None
++ call assert_equal( line( '.' ), 1 )
++
++ bwipe!
++ endfunc
++
++ func Test_Write_To_Current_Buffer_Fixes_Cursor_List()
++ call _SetUpVisibleBuffer()
++
++ py vim.current.buffer[:] = [ 'test' ]
++ call assert_equal( line( '.' ), 1 )
++
++ bwipe!
++ endfunction
++
++ func Test_Write_To_Current_Buffer_Fixes_Cursor_Str()
++ call _SetUpVisibleBuffer()
++
++ py vim.current.buffer[-1] = None
++ call assert_equal( line( '.' ), 10 )
++
++ bwipe!
++ endfunction
+*** ../vim-8.1.1044/src/testdir/test_python3.vim 2019-02-18 22:04:52.949609091 +0100
+--- src/testdir/test_python3.vim 2019-03-23 17:19:39.117394146 +0100
+***************
+*** 71,73 ****
+--- 71,157 ----
+ endif
+ call assert_equal(0, &pyxversion) " This assertion would have failed with Vim 8.0.0251. (pyxversion was introduced in 8.0.0251.)
+ endfunc
++
++ func _SetUpHiddenBuffer()
++ py3 import vim
++ new
++ edit hidden
++ setlocal bufhidden=hide
++
++ enew
++ let lnum = 0
++ while lnum < 10
++ call append( 1, string( lnum ) )
++ let lnum = lnum + 1
++ endwhile
++ normal G
++
++ call assert_equal( line( '.' ), 11 )
++ endfunc
++
++ func Test_Write_To_HiddenBuffer_Does_Not_Fix_Cursor_Clear()
++ call _SetUpHiddenBuffer()
++ py3 vim.buffers[ int( vim.eval( 'bufnr("hidden")' ) ) ][:] = None
++ call assert_equal( line( '.' ), 11 )
++ bwipe!
++ endfunc
++
++ func Test_Write_To_HiddenBuffer_Does_Not_Fix_Cursor_List()
++ call _SetUpHiddenBuffer()
++ py3 vim.buffers[ int( vim.eval( 'bufnr("hidden")' ) ) ][:] = [ 'test' ]
++ call assert_equal( line( '.' ), 11 )
++ bwipe!
++ endfunc
++
++ func Test_Write_To_HiddenBuffer_Does_Not_Fix_Cursor_Str()
++ call _SetUpHiddenBuffer()
++ py3 vim.buffers[ int( vim.eval( 'bufnr("hidden")' ) ) ][0] = 'test'
++ call assert_equal( line( '.' ), 11 )
++ bwipe!
++ endfunc
++
++ func Test_Write_To_HiddenBuffer_Does_Not_Fix_Cursor_ClearLine()
++ call _SetUpHiddenBuffer()
++ py3 vim.buffers[ int( vim.eval( 'bufnr("hidden")' ) ) ][0] = None
++ call assert_equal( line( '.' ), 11 )
++ bwipe!
++ endfunc
++
++ func _SetUpVisibleBuffer()
++ py3 import vim
++ new
++ let lnum = 0
++ while lnum < 10
++ call append( 1, string( lnum ) )
++ let lnum = lnum + 1
++ endwhile
++ normal G
++ call assert_equal( line( '.' ), 11 )
++ endfunc
++
++ func Test_Write_To_Current_Buffer_Fixes_Cursor_Clear()
++ call _SetUpVisibleBuffer()
++
++ py3 vim.current.buffer[:] = None
++ call assert_equal( line( '.' ), 1 )
++
++ bwipe!
++ endfunc
++
++ func Test_Write_To_Current_Buffer_Fixes_Cursor_List()
++ call _SetUpVisibleBuffer()
++
++ py3 vim.current.buffer[:] = [ 'test' ]
++ call assert_equal( line( '.' ), 1 )
++
++ bwipe!
++ endfunction
++
++ func Test_Write_To_Current_Buffer_Fixes_Cursor_Str()
++ call _SetUpVisibleBuffer()
++
++ py3 vim.current.buffer[-1] = None
++ call assert_equal( line( '.' ), 10 )
++
++ bwipe!
++ endfunction
+*** ../vim-8.1.1044/src/version.c 2019-03-23 14:23:02.138361658 +0100
+--- src/version.c 2019-03-23 17:40:28.001674801 +0100
+***************
+*** 777,778 ****
+--- 777,780 ----
+ { /* Add new patch number below this line */
++ /**/
++ 1045,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+106. When told to "go to your room" you inform your parents that you
+ can't...because you were kicked out and banned.
+
+ /// 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 ///