Hello community,

here is the log from the commit of package python-neovim for openSUSE:Factory 
checked in at 2020-11-05 21:56:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-neovim (Old)
 and      /work/SRC/openSUSE:Factory/.python-neovim.new.11331 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-neovim"

Thu Nov  5 21:56:08 2020 rev:16 rq:846266 version:0.4.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-neovim/python-neovim.changes      
2020-04-25 20:28:40.550065526 +0200
+++ /work/SRC/openSUSE:Factory/.python-neovim.new.11331/python-neovim.changes   
2020-11-05 21:56:38.463951997 +0100
@@ -1,0 +2,11 @@
+Thu Nov  5 15:04:51 UTC 2020 - Matej Cepl <mc...@suse.com>
+
+- Update to 0.4.2:
+  - Refactor: IOError was deprecated. Replace with OSError
+  - refactor: Reduce usage of deprecated imp module
+  - Modify all imports in the repository to absolute imports
+  - Set unicode_errors in Unpacker
+  - import vim module by default
+- Remove setup_version.patch which has been included upstream.
+
+-------------------------------------------------------------------

Old:
----
  pynvim-0.4.1.tar.gz
  setup_version.patch

New:
----
  pynvim-0.4.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-neovim.spec ++++++
--- /var/tmp/diff_new_pack.rML2vl/_old  2020-11-05 21:56:38.931950944 +0100
+++ /var/tmp/diff_new_pack.rML2vl/_new  2020-11-05 21:56:38.935950936 +0100
@@ -22,16 +22,13 @@
 %define python_module() python34-%{**}
 %endif
 Name:           python-neovim
-Version:        0.4.1
+Version:        0.4.2
 Release:        0
 Summary:        Python client to Neovim
 License:        Apache-2.0
 Group:          Productivity/Text/Editors
 URL:            https://github.com/neovim/pynvim
 Source:         
https://github.com/neovim/%{modname}/archive/%{version}/%{modname}-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM setup_version.patch gh#neovim/pynvim#431 mc...@suse.com
-# Upstream setup.py has incorrect version.
-Patch0:         setup_version.patch
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes

++++++ pynvim-0.4.1.tar.gz -> pynvim-0.4.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/README.md new/pynvim-0.4.2/README.md
--- old/pynvim-0.4.1/README.md  2020-01-25 10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/README.md  2020-09-15 14:11:11.000000000 +0200
@@ -1,4 +1,5 @@
-### Pynvim: Python client to [Neovim](https://github.com/neovim/neovim)
+Pynvim: Python client to [Neovim](https://github.com/neovim/neovim)
+===================================================================
 
 [![Build 
Status](https://travis-ci.org/neovim/pynvim.svg?branch=master)](https://travis-ci.org/neovim/pynvim)
 [![Documentation 
Status](https://readthedocs.org/projects/pynvim/badge/?version=latest)](http://pynvim.readthedocs.io/en/latest/?badge=latest)
@@ -7,7 +8,8 @@
 Pynvim implements support for python plugins in Nvim. It also works as a 
library for
 connecting to and scripting Nvim processes through its msgpack-rpc API.
 
-#### Installation
+Install
+-------
 
 Supports python 2.7, and 3.4 or later.
 
@@ -33,7 +35,8 @@
 pip3 install .
 ```
 
-#### Python Plugin API
+Python Plugin API
+-----------------
 
 Pynvim supports python _remote plugins_ (via the language-agnostic Nvim rplugin
 interface), as well as _Vim plugins_ (via the `:python[3]` interface). Thus 
when
@@ -53,7 +56,8 @@
 
 See the [Python Plugin 
API](http://pynvim.readthedocs.io/en/latest/usage/python-plugin-api.html) 
documentation for usage of this new functionality.
 
-#### Development
+Development
+-----------
 
 Use (and activate) a local virtualenv.
 
@@ -73,7 +77,7 @@
 [development](http://pynvim.readthedocs.io/en/latest/development.html)
 documentation.
 
-#### Usage through the python REPL
+### Usage from the Python REPL
 
 A number of different transports are supported, but the simplest way to get
 started is with the python REPL. First, start Nvim with a known address (or use
@@ -116,3 +120,17 @@
   continuing startup.
 
 See the tests for more examples.
+
+Release
+-------
+
+1. Create a release commit with title `Pynvim x.y.z`
+   - list significant changes in the commit message
+   - bump the version in `pynvim/util.py` and `setup.py` (3 places in total)
+2. Make a release on GitHub with the same commit/version tag and copy the 
message.
+3. Run `scripts/disable_log_statements.sh`
+4. Run `python setup.py sdist`
+    - diff the release tarball `dist/pynvim-x.y.z.tar.gz` against the previous 
one.
+5. Run `twine upload -r pypi dist/pynvim-x.y.z.tar.gz`
+    - Assumes you have a pypi account with permissions.
+6. Run `scripts/enable_log_statements.sh` or `git reset --hard` to restore the 
working dir.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/docs/usage/python-plugin-api.rst 
new/pynvim-0.4.2/docs/usage/python-plugin-api.rst
--- old/pynvim-0.4.1/docs/usage/python-plugin-api.rst   2020-01-25 
10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/docs/usage/python-plugin-api.rst   2020-09-15 
14:11:11.000000000 +0200
@@ -7,7 +7,7 @@
 as discussed on :doc:`remote-plugins`.
 
 Nvim API methods: ``vim.api``
------------
+-----------------------------
 
 Exposes Neovim API methods.
 For instance to call ``nvim_strwidth``:
@@ -38,7 +38,7 @@
 unavailable.
 
 Vimscript functions: ``vim.funcs``
--------------
+----------------------------------
 
 Exposes vimscript functions (both builtin and global user defined functions) 
as a python namespace.
 For instance to set the value of a register:
@@ -51,7 +51,7 @@
 methods.
 
 Lua integration
------------
+---------------
 
 Python plugins can define and invoke lua code in Nvim's in-process lua
 interpreter. This is especially useful in asynchronous contexts, where an async
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/docs/usage/remote-plugins.rst 
new/pynvim-0.4.2/docs/usage/remote-plugins.rst
--- old/pynvim-0.4.1/docs/usage/remote-plugins.rst      2020-01-25 
10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/docs/usage/remote-plugins.rst      2020-09-15 
14:11:11.000000000 +0200
@@ -75,23 +75,25 @@
 
 Then run ``:UpdateRemotePlugins`` and your plugin should be activated.
 
-In case you run into some issues, you can list loaded plugins:
+In case you run into some issues, you can list your loaded plugins from inside
+Neovim by running ``:scriptnames`` like so.:
 
-.. code-block:: console
+.. code-block:: vim
 
     :scriptnames
-      1: ~/path/to/your/plugin-git-repo/vimrc
-      2: /usr/share/nvim/runtime/filetype.vim
-      ...
-     25: /usr/share/nvim/runtime/plugin/zipPlugin.vim
-     26: ~/path/to/your/plugin-git-repo/plugin/lucid.vim
+    1: ~/path/to/your/plugin-git-repo/vimrc
+    2: /usr/share/nvim/runtime/filetype.vim
+    ...
+    25: /usr/share/nvim/runtime/plugin/zipPlugin.vim
+    26: ~/path/to/your/plugin-git-repo/plugin/lucid.vim
 
-You can also inspect the ``runtimepath`` like this:
+You can also inspect the ``&runtimepath`` like this:
 
-.. code-block:: console
+.. code-block:: vim
 
     :set runtimepath
-      runtimepath=~/.config/nvim,/etc/xdg/nvim,~/.local/share/nvim/site,...,
+    runtimepath=~/.config/nvim,/etc/xdg/nvim,~/.local/share/nvim/site,...,
     ,~/g/path/to/your/plugin-git-repo
 
-
+    " Or alternatively
+    :echo &rtp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/__init__.py 
new/pynvim-0.4.2/pynvim/__init__.py
--- old/pynvim-0.4.1/pynvim/__init__.py 2020-01-25 10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/pynvim/__init__.py 2020-09-15 14:11:11.000000000 +0200
@@ -6,13 +6,13 @@
 import os
 import sys
 
-from .api import Nvim, NvimError
-from .compat import IS_PYTHON3
-from .msgpack_rpc import (ErrorResponse, child_session, socket_session,
-                          stdio_session, tcp_session)
-from .plugin import (Host, autocmd, command, decode, encoding, function,
-                     plugin, rpc_export, shutdown_hook)
-from .util import VERSION, Version
+from pynvim.api import Nvim, NvimError
+from pynvim.compat import IS_PYTHON3
+from pynvim.msgpack_rpc import (ErrorResponse, child_session, socket_session,
+                                stdio_session, tcp_session)
+from pynvim.plugin import (Host, autocmd, command, decode, encoding, function,
+                           plugin, rpc_export, shutdown_hook)
+from pynvim.util import VERSION, Version
 
 
 __all__ = ('tcp_session', 'socket_session', 'stdio_session', 'child_session',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/api/__init__.py 
new/pynvim-0.4.2/pynvim/api/__init__.py
--- old/pynvim-0.4.1/pynvim/api/__init__.py     2020-01-25 10:16:18.000000000 
+0100
+++ new/pynvim-0.4.2/pynvim/api/__init__.py     2020-09-15 14:11:11.000000000 
+0200
@@ -4,11 +4,11 @@
 instances.
 """
 
-from .buffer import Buffer
-from .common import decode_if_bytes, walk
-from .nvim import Nvim, NvimError
-from .tabpage import Tabpage
-from .window import Window
+from pynvim.api.buffer import Buffer
+from pynvim.api.common import decode_if_bytes, walk
+from pynvim.api.nvim import Nvim, NvimError
+from pynvim.api.tabpage import Tabpage
+from pynvim.api.window import Window
 
 
 __all__ = ('Nvim', 'Buffer', 'Window', 'Tabpage', 'NvimError',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/api/buffer.py 
new/pynvim-0.4.2/pynvim/api/buffer.py
--- old/pynvim-0.4.1/pynvim/api/buffer.py       2020-01-25 10:16:18.000000000 
+0100
+++ new/pynvim-0.4.2/pynvim/api/buffer.py       2020-09-15 14:11:11.000000000 
+0200
@@ -1,6 +1,6 @@
 """API for working with a Nvim Buffer."""
-from .common import Remote
-from ..compat import IS_PYTHON3, check_async
+from pynvim.api.common import Remote
+from pynvim.compat import IS_PYTHON3, check_async
 
 
 __all__ = ('Buffer')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/api/common.py 
new/pynvim-0.4.2/pynvim/api/common.py
--- old/pynvim-0.4.1/pynvim/api/common.py       2020-01-25 10:16:18.000000000 
+0100
+++ new/pynvim-0.4.2/pynvim/api/common.py       2020-09-15 14:11:11.000000000 
+0200
@@ -3,7 +3,7 @@
 
 from msgpack import unpackb
 
-from ..compat import unicode_errors_default
+from pynvim.compat import unicode_errors_default
 
 __all__ = ()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/api/nvim.py 
new/pynvim-0.4.2/pynvim/api/nvim.py
--- old/pynvim-0.4.1/pynvim/api/nvim.py 2020-01-25 10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/pynvim/api/nvim.py 2020-09-15 14:11:11.000000000 +0200
@@ -7,13 +7,13 @@
 
 from msgpack import ExtType
 
-from .buffer import Buffer
-from .common import (NvimError, Remote, RemoteApi, RemoteMap, RemoteSequence,
-                     decode_if_bytes, walk)
-from .tabpage import Tabpage
-from .window import Window
-from ..compat import IS_PYTHON3
-from ..util import Version, format_exc_skip
+from pynvim.api.buffer import Buffer
+from pynvim.api.common import (NvimError, Remote, RemoteApi, RemoteMap, 
RemoteSequence,
+                               decode_if_bytes, walk)
+from pynvim.api.tabpage import Tabpage
+from pynvim.api.window import Window
+from pynvim.compat import IS_PYTHON3
+from pynvim.util import Version, format_exc_skip
 
 __all__ = ('Nvim')
 
@@ -420,7 +420,7 @@
         """
         try:
             self.command(quit_command)
-        except IOError:
+        except OSError:
             # sending a quit command will raise an IOError because the
             # connection is closed before a response is received. Safe to
             # ignore it.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/api/tabpage.py 
new/pynvim-0.4.2/pynvim/api/tabpage.py
--- old/pynvim-0.4.1/pynvim/api/tabpage.py      2020-01-25 10:16:18.000000000 
+0100
+++ new/pynvim-0.4.2/pynvim/api/tabpage.py      2020-09-15 14:11:11.000000000 
+0200
@@ -1,5 +1,5 @@
 """API for working with Nvim tabpages."""
-from .common import Remote, RemoteSequence
+from pynvim.api.common import Remote, RemoteSequence
 
 
 __all__ = ('Tabpage')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/api/window.py 
new/pynvim-0.4.2/pynvim/api/window.py
--- old/pynvim-0.4.1/pynvim/api/window.py       2020-01-25 10:16:18.000000000 
+0100
+++ new/pynvim-0.4.2/pynvim/api/window.py       2020-09-15 14:11:11.000000000 
+0200
@@ -1,5 +1,5 @@
 """API for working with Nvim windows."""
-from .common import Remote
+from pynvim.api.common import Remote
 
 
 __all__ = ('Window')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/compat.py 
new/pynvim-0.4.2/pynvim/compat.py
--- old/pynvim-0.4.1/pynvim/compat.py   2020-01-25 10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/pynvim/compat.py   2020-09-15 14:11:11.000000000 +0200
@@ -34,7 +34,7 @@
     unicode_errors_default = 'surrogateescape'
 else:
     find_module = original_find_module
-    unicode_errors_default = 'strict'
+    unicode_errors_default = 'ignore'
 
 NUM_TYPES = (int, long, float)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/msgpack_rpc/__init__.py 
new/pynvim-0.4.2/pynvim/msgpack_rpc/__init__.py
--- old/pynvim-0.4.1/pynvim/msgpack_rpc/__init__.py     2020-01-25 
10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/pynvim/msgpack_rpc/__init__.py     2020-09-15 
14:11:11.000000000 +0200
@@ -4,11 +4,11 @@
 handling some Nvim particularities(server->client requests for example), the
 code here should work with other msgpack-rpc servers.
 """
-from .async_session import AsyncSession
-from .event_loop import EventLoop
-from .msgpack_stream import MsgpackStream
-from .session import ErrorResponse, Session
-from ..util import get_client_info
+from pynvim.msgpack_rpc.async_session import AsyncSession
+from pynvim.msgpack_rpc.event_loop import EventLoop
+from pynvim.msgpack_rpc.msgpack_stream import MsgpackStream
+from pynvim.msgpack_rpc.session import ErrorResponse, Session
+from pynvim.util import get_client_info
 
 
 __all__ = ('tcp_session', 'socket_session', 'stdio_session', 'child_session',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pynvim-0.4.1/pynvim/msgpack_rpc/event_loop/__init__.py 
new/pynvim-0.4.2/pynvim/msgpack_rpc/event_loop/__init__.py
--- old/pynvim-0.4.1/pynvim/msgpack_rpc/event_loop/__init__.py  2020-01-25 
10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/pynvim/msgpack_rpc/event_loop/__init__.py  2020-09-15 
14:11:11.000000000 +0200
@@ -3,21 +3,21 @@
 Tries to use pyuv as a backend, falling back to the asyncio implementation.
 """
 
-from ...compat import IS_PYTHON3
+from pynvim.compat import IS_PYTHON3
 
 # on python3 we only support asyncio, as we expose it to plugins
 if IS_PYTHON3:
-    from .asyncio import AsyncioEventLoop
+    from pynvim.msgpack_rpc.event_loop.asyncio import AsyncioEventLoop
     EventLoop = AsyncioEventLoop
 else:
     try:
         # libuv is fully implemented in C, use it when available
-        from .uv import UvEventLoop
+        from pynvim.msgpack_rpc.event_loop.uv import UvEventLoop
         EventLoop = UvEventLoop
     except ImportError:
         # asyncio(trollius on python 2) is pure python and should be more
         # portable across python implementations
-        from .asyncio import AsyncioEventLoop
+        from pynvim.msgpack_rpc.event_loop.asyncio import AsyncioEventLoop
         EventLoop = AsyncioEventLoop
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pynvim-0.4.1/pynvim/msgpack_rpc/event_loop/asyncio.py 
new/pynvim-0.4.2/pynvim/msgpack_rpc/event_loop/asyncio.py
--- old/pynvim-0.4.1/pynvim/msgpack_rpc/event_loop/asyncio.py   2020-01-25 
10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/pynvim/msgpack_rpc/event_loop/asyncio.py   2020-09-15 
14:11:11.000000000 +0200
@@ -22,7 +22,7 @@
     # Fallback to trollius
     import trollius as asyncio
 
-from .base import BaseEventLoop
+from pynvim.msgpack_rpc.event_loop.base import BaseEventLoop
 
 logger = logging.getLogger(__name__)
 debug, info, warn = (logger.debug, logger.info, logger.warning,)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/msgpack_rpc/event_loop/base.py 
new/pynvim-0.4.2/pynvim/msgpack_rpc/event_loop/base.py
--- old/pynvim-0.4.1/pynvim/msgpack_rpc/event_loop/base.py      2020-01-25 
10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/pynvim/msgpack_rpc/event_loop/base.py      2020-09-15 
14:11:11.000000000 +0200
@@ -174,7 +174,7 @@
 
     def _on_error(self, error):
         debug(error)
-        self._error = IOError(error)
+        self._error = OSError(error)
         self.stop()
 
     def _on_interrupt(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/msgpack_rpc/event_loop/uv.py 
new/pynvim-0.4.2/pynvim/msgpack_rpc/event_loop/uv.py
--- old/pynvim-0.4.1/pynvim/msgpack_rpc/event_loop/uv.py        2020-01-25 
10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/pynvim/msgpack_rpc/event_loop/uv.py        2020-09-15 
14:11:11.000000000 +0200
@@ -4,7 +4,7 @@
 
 import pyuv
 
-from .base import BaseEventLoop
+from pynvim.msgpack_rpc.event_loop.base import BaseEventLoop
 
 
 class UvEventLoop(BaseEventLoop):
@@ -23,7 +23,7 @@
         if error:
             msg = 'Cannot connect to {}: {}'.format(
                 self._connect_address, pyuv.errno.strerror(error))
-            self._connection_error = IOError(msg)
+            self._connection_error = OSError(msg)
             return
         self._read_stream = self._write_stream = stream
 
@@ -45,7 +45,7 @@
         self._on_error('EOF')
 
     def _disconnected(self, *args):
-        raise IOError('Not connected to Nvim')
+        raise OSError('Not connected to Nvim')
 
     def _connect_tcp(self, address, port):
         stream = pyuv.TCP(self._loop)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/msgpack_rpc/msgpack_stream.py 
new/pynvim-0.4.2/pynvim/msgpack_rpc/msgpack_stream.py
--- old/pynvim-0.4.1/pynvim/msgpack_rpc/msgpack_stream.py       2020-01-25 
10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/pynvim/msgpack_rpc/msgpack_stream.py       2020-09-15 
14:11:11.000000000 +0200
@@ -3,7 +3,7 @@
 
 from msgpack import Packer, Unpacker
 
-from ..compat import unicode_errors_default
+from pynvim.compat import unicode_errors_default
 
 logger = logging.getLogger(__name__)
 debug, info, warn = (logger.debug, logger.info, logger.warning,)
@@ -21,7 +21,7 @@
         """Wrap `event_loop` on a msgpack-aware interface."""
         self.loop = event_loop
         self._packer = Packer(unicode_errors=unicode_errors_default)
-        self._unpacker = Unpacker()
+        self._unpacker = Unpacker(unicode_errors=unicode_errors_default)
         self._message_cb = None
 
     def threadsafe_call(self, fn):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/msgpack_rpc/session.py 
new/pynvim-0.4.2/pynvim/msgpack_rpc/session.py
--- old/pynvim-0.4.1/pynvim/msgpack_rpc/session.py      2020-01-25 
10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/pynvim/msgpack_rpc/session.py      2020-09-15 
14:11:11.000000000 +0200
@@ -6,7 +6,7 @@
 
 import greenlet
 
-from ..compat import check_async
+from pynvim.compat import check_async
 
 logger = logging.getLogger(__name__)
 error, debug, info, warn = (logger.error, logger.debug, logger.info,
@@ -95,7 +95,7 @@
             v = self._blocking_request(method, args)
         if not v:
             # EOF
-            raise IOError('EOF')
+            raise OSError('EOF')
         err, rv = v
         if err:
             info("'Received error: %s", err)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/plugin/__init__.py 
new/pynvim-0.4.2/pynvim/plugin/__init__.py
--- old/pynvim-0.4.1/pynvim/plugin/__init__.py  2020-01-25 10:16:18.000000000 
+0100
+++ new/pynvim-0.4.2/pynvim/plugin/__init__.py  2020-09-15 14:11:11.000000000 
+0200
@@ -1,8 +1,8 @@
 """Nvim plugin/host subpackage."""
 
-from .decorators import (autocmd, command, decode, encoding, function,
-                         plugin, rpc_export, shutdown_hook)
-from .host import Host
+from pynvim.plugin.decorators import (autocmd, command, decode, encoding, 
function,
+                                      plugin, rpc_export, shutdown_hook)
+from pynvim.plugin.host import Host
 
 
 __all__ = ('Host', 'plugin', 'rpc_export', 'command', 'autocmd',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/plugin/decorators.py 
new/pynvim-0.4.2/pynvim/plugin/decorators.py
--- old/pynvim-0.4.1/pynvim/plugin/decorators.py        2020-01-25 
10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/pynvim/plugin/decorators.py        2020-09-15 
14:11:11.000000000 +0200
@@ -3,7 +3,7 @@
 import inspect
 import logging
 
-from ..compat import IS_PYTHON3, unicode_errors_default
+from pynvim.compat import IS_PYTHON3, unicode_errors_default
 
 logger = logging.getLogger(__name__)
 debug, info, warn = (logger.debug, logger.info, logger.warning,)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/plugin/host.py 
new/pynvim-0.4.2/pynvim/plugin/host.py
--- old/pynvim-0.4.1/pynvim/plugin/host.py      2020-01-25 10:16:18.000000000 
+0100
+++ new/pynvim-0.4.2/pynvim/plugin/host.py      2020-09-15 14:11:11.000000000 
+0200
@@ -8,11 +8,11 @@
 from functools import partial
 from traceback import format_exc
 
-from . import script_host
-from ..api import decode_if_bytes, walk
-from ..compat import IS_PYTHON3, find_module
-from ..msgpack_rpc import ErrorResponse
-from ..util import format_exc_skip, get_client_info
+from pynvim.api import decode_if_bytes, walk
+from pynvim.compat import IS_PYTHON3, find_module
+from pynvim.msgpack_rpc import ErrorResponse
+from pynvim.plugin import script_host
+from pynvim.util import format_exc_skip, get_client_info
 
 __all__ = ('Host')
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/plugin/script_host.py 
new/pynvim-0.4.2/pynvim/plugin/script_host.py
--- old/pynvim-0.4.1/pynvim/plugin/script_host.py       2020-01-25 
10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/pynvim/plugin/script_host.py       2020-09-15 
14:11:11.000000000 +0200
@@ -4,12 +4,13 @@
 import logging
 import os
 import sys
+from types import ModuleType
 
-from .decorators import plugin, rpc_export
-from ..api import Nvim, walk
-from ..compat import IS_PYTHON3
-from ..msgpack_rpc import ErrorResponse
-from ..util import format_exc_skip
+from pynvim.api import Nvim, walk
+from pynvim.compat import IS_PYTHON3
+from pynvim.msgpack_rpc import ErrorResponse
+from pynvim.plugin.decorators import plugin, rpc_export
+from pynvim.util import format_exc_skip
 
 __all__ = ('ScriptHost',)
 
@@ -37,13 +38,14 @@
         """Initialize the legacy python-vim environment."""
         self.setup(nvim)
         # context where all code will run
-        self.module = imp.new_module('__main__')
+        self.module = ModuleType('__main__')
         nvim.script_context = self.module
         # it seems some plugins assume 'sys' is already imported, so do it now
         exec('import sys', self.module.__dict__)
         self.legacy_vim = LegacyVim.from_nvim(nvim)
         sys.modules['vim'] = self.legacy_vim
-
+        # mimic Vim by importing vim module by default.
+        exec('import vim', self.module.__dict__)
         # Handle DirChanged. #296
         nvim.command(
             'au DirChanged * call rpcnotify({}, "python_chdir", v:event.cwd)'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/pynvim/util.py 
new/pynvim-0.4.2/pynvim/util.py
--- old/pynvim-0.4.1/pynvim/util.py     2020-01-25 10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/pynvim/util.py     2020-09-15 14:11:11.000000000 +0200
@@ -39,4 +39,4 @@
     return (name, VERSION.__dict__, type_, method_spec, attributes)
 
 
-VERSION = Version(major=0, minor=4, patch=1, prerelease='')
+VERSION = Version(major=0, minor=4, patch=2, prerelease='')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/scripts/logging_statement_modifier.py 
new/pynvim-0.4.2/scripts/logging_statement_modifier.py
--- old/pynvim-0.4.1/scripts/logging_statement_modifier.py      2020-01-25 
10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/scripts/logging_statement_modifier.py      2020-09-15 
14:11:11.000000000 +0200
@@ -116,7 +116,7 @@
         return modify_logging(input_fn, options.output_file,
                               min_level_value, max_level_value,
                               options.restore, options.force)
-    except IOError as e:
+    except OSError as e:
         logging.error(str(e))
         return -1
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/setup.py new/pynvim-0.4.2/setup.py
--- old/pynvim-0.4.1/setup.py   2020-01-25 10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/setup.py   2020-09-15 14:11:11.000000000 +0200
@@ -35,10 +35,10 @@
     install_requires.append('greenlet')
 
 setup(name='pynvim',
-      version='0.4.0',
+      version='0.4.2',
       description='Python client to neovim',
       url='http://github.com/neovim/pynvim',
-      download_url='https://github.com/neovim/pynvim/archive/0.4.1.tar.gz',
+      download_url='https://github.com/neovim/pynvim/archive/0.4.2.tar.gz',
       author='Thiago de Arruda',
       author_email='tpadilh...@gmail.com',
       license='Apache',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/test/test_buffer.py 
new/pynvim-0.4.2/test/test_buffer.py
--- old/pynvim-0.4.1/test/test_buffer.py        2020-01-25 10:16:18.000000000 
+0100
+++ new/pynvim-0.4.2/test/test_buffer.py        2020-09-15 14:11:11.000000000 
+0200
@@ -164,10 +164,10 @@
 def test_invalid_utf8(vim):
     vim.command('normal "=printf("%c", 0xFF)\np')
     assert vim.eval("char2nr(getline(1))") == 0xFF
-
     assert vim.current.buffer[:] == ['\udcff'] if IS_PYTHON3 else ['\xff']
+
     vim.current.line += 'x'
-    assert vim.eval("getline(1)", decode=False) == b'\xFFx'
+    assert vim.eval("getline(1)", decode=False) == '\udcffx' if IS_PYTHON3 
else '\xffx'
     assert vim.current.buffer[:] == ['\udcffx'] if IS_PYTHON3 else ['\xffx']
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynvim-0.4.1/test/test_host.py 
new/pynvim-0.4.2/test/test_host.py
--- old/pynvim-0.4.1/test/test_host.py  2020-01-25 10:16:18.000000000 +0100
+++ new/pynvim-0.4.2/test/test_host.py  2020-09-15 14:11:11.000000000 +0200
@@ -1,6 +1,13 @@
 # -*- coding: utf-8 -*-
-
 from pynvim.plugin.host import Host, host_method_spec
+from pynvim.plugin.script_host import ScriptHost
+
+
+def test_host_imports(vim):
+    h = ScriptHost(vim)
+    assert h.module.__dict__['vim']
+    assert h.module.__dict__['vim'] == h.legacy_vim
+    assert h.module.__dict__['sys']
 
 
 def test_host_clientinfo(vim):


Reply via email to