updated for version 7.3.1042
Problem: Python: can't assign to vim.Buffer.name.
Solution: Python patch 3. (ZyX)
diff --git a/src/testdir/test87.in b/src/testdir/test87.in
index 95ae027..a23cadc 100644
--- a/src/testdir/test87.in
+++ b/src/testdir/test87.in
@@ -463,6 +463,10 @@
:py3 b=vim.current.buffer
:wincmd w
:mark a
+:augroup BUFS
+: autocmd BufFilePost * python3 cb.append(vim.eval('expand("<abuf>")') + ':BufFilePost:' + vim.eval('bufnr("%")'))
+: autocmd BufFilePre * python3 cb.append(vim.eval('expand("<abuf>")') + ':BufFilePre:' + vim.eval('bufnr("%")'))
+:augroup END
py3 << EOF
cb = vim.current.buffer
# Tests BufferAppend and BufferItem
@@ -483,8 +487,19 @@
b[0]='bar'
b[0:0]=['baz']
vim.command('call append("$", getbufline(%i, 1, "$"))' % b.number)
+# Test assigning to name property
+old_name = cb.name
+cb.name = 'foo'
+cb.append(cb.name[-11:])
+b.name = 'bar'
+cb.append(b.name[-11:])
+cb.name = old_name
+cb.append(cb.name[-17:])
# Test CheckBuffer
-vim.command('bwipeout! ' + str(b.number))
+for _b in vim.buffers:
+ if _b is not cb:
+ vim.command('bwipeout! ' + str(_b.number))
+del _b
for expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc")'):
try:
exec(expr)
@@ -494,6 +509,7 @@
# Usually a SEGV here
# Should not happen in any case
cb.append('No exception for ' + expr)
+vim.command('cd .')
EOF
:"
:" Test vim.buffers object