updated for version 7.3.1099
Problem: Python: Changing directory with os.chdir() causes problems for
Vim's notion of directories.
Solution: Add vim.chdir() and vim.fchdir(). (ZyX)
diff --git a/src/testdir/test86.in b/src/testdir/test86.in
index dc21af4..6929f67 100644
--- a/src/testdir/test86.in
+++ b/src/testdir/test86.in
@@ -788,6 +788,20 @@
:$put =string(pyeval('dl2'))
:$put =string(pyeval('df(2)'))
:"
+:" Test chdir
+py << EOF
+import os
+fnamemodify = vim.Function('fnamemodify')
+cb.append(fnamemodify('.', ':p:h:t'))
+cb.append(vim.eval('@%'))
+os.chdir('..')
+cb.append(fnamemodify('.', ':p:h:t'))
+cb.append(vim.eval('@%').replace(os.path.sep, '/'))
+os.chdir('testdir')
+cb.append(fnamemodify('.', ':p:h:t'))
+cb.append(vim.eval('@%'))
+EOF
+:"
:" Test errors
:fun F() dict
:endfun
diff --git a/src/testdir/test86.ok b/src/testdir/test86.ok
index 7d24390..5ebf108 100644
--- a/src/testdir/test86.ok
+++ b/src/testdir/test86.ok
@@ -429,6 +429,12 @@
['a', 'b', 'c']
[2, 2]
[2, 2]
+testdir
+test86.in
+src
+testdir/test86.in
+testdir
+test86.in
> Output
>> OutputSetattr
del sys.stdout.softspace:(<type 'exceptions.AttributeError'>, AttributeError("can't delete OutputObject attributes",))
diff --git a/src/testdir/test87.in b/src/testdir/test87.in
index 45a4b8e..cf5d5e2 100644
--- a/src/testdir/test87.in
+++ b/src/testdir/test87.in
@@ -748,6 +748,20 @@
:$put =string(py3eval('dl2'))
:$put =string(py3eval('df(2)'))
:"
+:" Test chdir
+py3 << EOF
+import os
+fnamemodify = vim.Function('fnamemodify')
+cb.append(str(fnamemodify('.', ':p:h:t')))
+cb.append(vim.eval('@%'))
+os.chdir('..')
+cb.append(str(fnamemodify('.', ':p:h:t')))
+cb.append(vim.eval('@%').replace(os.path.sep, '/'))
+os.chdir('testdir')
+cb.append(str(fnamemodify('.', ':p:h:t')))
+cb.append(vim.eval('@%'))
+EOF
+:"
:" Test errors
:fun F() dict
:endfun
diff --git a/src/testdir/test87.ok b/src/testdir/test87.ok
index 94a914e..49ad4e4 100644
--- a/src/testdir/test87.ok
+++ b/src/testdir/test87.ok
@@ -418,6 +418,12 @@
['a', 'b', 'c']
[2, 2]
[2, 2]
+b'testdir'
+test87.in
+b'src'
+testdir/test87.in
+b'testdir'
+test87.in
> Output
>> OutputSetattr
del sys.stdout.softspace:(<class 'AttributeError'>, AttributeError("can't delete OutputObject attributes",))