Hello community, here is the log from the commit of package python-neovim-remote for openSUSE:Factory checked in at 2019-04-30 13:05:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-neovim-remote (Old) and /work/SRC/openSUSE:Factory/.python-neovim-remote.new.5536 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-neovim-remote" Tue Apr 30 13:05:27 2019 rev:2 rq:699082 version:2.1.7 Changes: -------- --- /work/SRC/openSUSE:Factory/python-neovim-remote/python-neovim-remote.changes 2019-01-24 14:11:07.763520610 +0100 +++ /work/SRC/openSUSE:Factory/.python-neovim-remote.new.5536/python-neovim-remote.changes 2019-04-30 13:05:30.593928640 +0200 @@ -1,0 +2,8 @@ +Thu Apr 25 18:00:37 CEST 2019 - Matej Cepl <mcepl@suse.com> + +- Update to 2.1.7: + - Close socket properly + - Add exception that hopefully never raises + - Print error message when forked process can't attach to nvim + +------------------------------------------------------------------- Old: ---- neovim-remote-2.1.4.tar.gz New: ---- neovim-remote-2.1.7.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-neovim-remote.spec ++++++ --- /var/tmp/diff_new_pack.7IbH6T/_old 2019-04-30 13:05:31.345927960 +0200 +++ /var/tmp/diff_new_pack.7IbH6T/_new 2019-04-30 13:05:31.345927960 +0200 @@ -12,26 +12,27 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 %define modname neovim-remote Name: python-neovim-remote -Version: 2.1.4 +Version: 2.1.7 Release: 0 -License: MIT Summary: nvim process control utility -Url: https://github.com/mhinz/neovim-remote +License: MIT Group: Development/Languages/Python +Url: https://github.com/mhinz/neovim-remote Source0: https://files.pythonhosted.org/packages/source/n/%{modname}/%{modname}-%{version}.tar.gz -BuildRequires: python-rpm-macros -BuildRequires: %{python_module setuptools} BuildRequires: %{python_module neovim} BuildRequires: %{python_module psutil} BuildRequires: %{python_module pytest} +BuildRequires: %{python_module setuptools} BuildRequires: fdupes +BuildRequires: python-rpm-macros BuildArch: noarch %python_subpackages ++++++ neovim-remote-2.1.4.tar.gz -> neovim-remote-2.1.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/neovim-remote-2.1.4/PKG-INFO new/neovim-remote-2.1.7/PKG-INFO --- old/neovim-remote-2.1.4/PKG-INFO 2019-01-08 13:56:44.000000000 +0100 +++ new/neovim-remote-2.1.7/PKG-INFO 2019-03-25 01:54:30.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: neovim-remote -Version: 2.1.4 +Version: 2.1.7 Summary: Control nvim processes using "nvr" commandline tool Home-page: https://github.com/mhinz/neovim-remote Author: Marco Hinz @@ -203,9 +203,16 @@ endif ``` - That way, you get a new window for entering the commit message instead of a + That way, you get a new window for inserting the commit message instead of a nested nvim process. But git still waits for nvr to finish, so make sure to - delete the buffer after entering and saving the commit message: `:w | bd`. + delete the buffer after saving the commit message: `:w | bd`. + + If you don't like using `:w | bd` and prefer the good old `:wq` (or `:x`), + put the following in your vimrc: + + ```vim + autocmd FileType gitcommit set bufhidden=delete + ``` To use nvr from a regular shell as well: @@ -235,6 +242,11 @@ window containing the $MERGED buffer. We move it to the bottom via `:wincmd J` and then equalize the size of all windows via `:wincmd =`. + - **Use nvr for scripting.** + + You might draw some inspiration from [this Reddit + thread](https://www.reddit.com/r/neovim/comments/aex45u/integrating_nvr_and_tmux_to_...). + ## Demos _(Click on the GIFs to watch them full-size.)_ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/neovim-remote-2.1.4/README.md new/neovim-remote-2.1.7/README.md --- old/neovim-remote-2.1.4/README.md 2019-01-08 13:56:30.000000000 +0100 +++ new/neovim-remote-2.1.7/README.md 2019-03-25 01:54:16.000000000 +0100 @@ -195,9 +195,16 @@ endif ``` - That way, you get a new window for entering the commit message instead of a + That way, you get a new window for inserting the commit message instead of a nested nvim process. But git still waits for nvr to finish, so make sure to - delete the buffer after entering and saving the commit message: `:w | bd`. + delete the buffer after saving the commit message: `:w | bd`. + + If you don't like using `:w | bd` and prefer the good old `:wq` (or `:x`), + put the following in your vimrc: + + ```vim + autocmd FileType gitcommit set bufhidden=delete + ``` To use nvr from a regular shell as well: @@ -227,6 +234,11 @@ window containing the $MERGED buffer. We move it to the bottom via `:wincmd J` and then equalize the size of all windows via `:wincmd =`. +- **Use nvr for scripting.** + + You might draw some inspiration from [this Reddit + thread](https://www.reddit.com/r/neovim/comments/aex45u/integrating_nvr_and_tmux_to_...). + ## Demos _(Click on the GIFs to watch them full-size.)_ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/neovim-remote-2.1.4/neovim_remote.egg-info/PKG-INFO new/neovim-remote-2.1.7/neovim_remote.egg-info/PKG-INFO --- old/neovim-remote-2.1.4/neovim_remote.egg-info/PKG-INFO 2019-01-08 13:56:44.000000000 +0100 +++ new/neovim-remote-2.1.7/neovim_remote.egg-info/PKG-INFO 2019-03-25 01:54:30.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: neovim-remote -Version: 2.1.4 +Version: 2.1.7 Summary: Control nvim processes using "nvr" commandline tool Home-page: https://github.com/mhinz/neovim-remote Author: Marco Hinz @@ -203,9 +203,16 @@ endif ``` - That way, you get a new window for entering the commit message instead of a + That way, you get a new window for inserting the commit message instead of a nested nvim process. But git still waits for nvr to finish, so make sure to - delete the buffer after entering and saving the commit message: `:w | bd`. + delete the buffer after saving the commit message: `:w | bd`. + + If you don't like using `:w | bd` and prefer the good old `:wq` (or `:x`), + put the following in your vimrc: + + ```vim + autocmd FileType gitcommit set bufhidden=delete + ``` To use nvr from a regular shell as well: @@ -235,6 +242,11 @@ window containing the $MERGED buffer. We move it to the bottom via `:wincmd J` and then equalize the size of all windows via `:wincmd =`. + - **Use nvr for scripting.** + + You might draw some inspiration from [this Reddit + thread](https://www.reddit.com/r/neovim/comments/aex45u/integrating_nvr_and_tmux_to_...). + ## Demos _(Click on the GIFs to watch them full-size.)_ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/neovim-remote-2.1.4/nvr/nvr.py new/neovim-remote-2.1.7/nvr/nvr.py --- old/neovim-remote-2.1.4/nvr/nvr.py 2019-01-08 13:56:30.000000000 +0100 +++ new/neovim-remote-2.1.7/nvr/nvr.py 2019-03-25 01:54:16.000000000 +0100 @@ -28,8 +28,6 @@ import psutil import re import socket -import stat -import subprocess import sys import textwrap import time @@ -60,6 +58,8 @@ pass def start_new_process(self): + args = os.environ.get('NVR_CMD') + args = args.split(' ') if args else ['nvim'] pid = os.fork() if pid == 0: for i in range(10): @@ -68,11 +68,12 @@ self.started_new_process = True return True time.sleep(0.2) + print('[!] Unable to attach to the new nvim process. Is `{}` working?' + .format(" ".join(args))) + sys.exit(1) else: os.environ['NVIM_LISTEN_ADDRESS'] = self.address try: - args = os.environ.get('NVR_CMD') - args = args.split(' ') if args else ['nvim'] os.dup2(sys.stdout.fileno(), sys.stdin.fileno()) os.execvpe(args[0], args, os.environ) except FileNotFoundError: @@ -161,11 +162,12 @@ def sanitize_address(address): if get_address_type(address) == 'socket' and os.path.exists(address): + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) try: - sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.connect(address) except: address = '/tmp/nvimsocket-{}'.format(uuid.uuid4()) + sock.close() return address @@ -317,6 +319,10 @@ Use `:echo v:servername` to verify the address. + Security: When using Unix domain sockets on a multi-user system, + the socket should have proper permissions so that it is only + accessible by your user. + Client: Expose $NVIM_LISTEN_ADDRESS to the environment before @@ -392,8 +398,10 @@ show_message(address, nvr.address) if options.nostart: sys.exit(1) - else: - nvr.start_new_process() + nvr.start_new_process() + + if not nvr.server: + raise RuntimeError('This should never happen. Please raise an issue at https://github.com/mhinz/neovim-remote/issues') if options.d: nvr.diffmode = True @@ -550,6 +558,7 @@ exitcode = args[0] def err_cb(error): + nonlocal exitcode print(error, file=sys.stderr) nvr.server.stop_loop() exitcode = 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/neovim-remote-2.1.4/setup.py new/neovim-remote-2.1.7/setup.py --- old/neovim-remote-2.1.4/setup.py 2019-01-08 13:56:30.000000000 +0100 +++ new/neovim-remote-2.1.7/setup.py 2019-03-25 01:54:16.000000000 +0100 @@ -19,7 +19,7 @@ 'console_scripts': ['nvr = nvr.nvr:main'] }, packages = ['nvr'], - version = '2.1.4', + version = '2.1.7', license = 'MIT', keywords = 'neovim nvim nvr remote helper', classifiers = [