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):