From 6845b8b5a6549a490dd61594cb439583bc67327c Mon Sep 17 00:00:00 2001 From: Marco Hinz Date: Mon, 7 Aug 2017 00:29:51 +0200 Subject: [PATCH] Temporarily reset &modified when opening files :edit and similar commands used by the --remote* options throw an exception if the buffer is modified: E37: No write since last change (add ! to override) Using :enew! doesn't work, since it reverts all changes. Thus we simply reset &modified temporarily. References https://github.com/mhinz/neovim-remote/issues/54 --- nvr/nvr.py | 7 +++++++ setup.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/nvr/nvr.py b/nvr/nvr.py index 821dcbe..2b4b5e3 100644 --- a/nvr/nvr.py +++ b/nvr/nvr.py @@ -100,6 +100,10 @@ class Neovim(): if not self.is_attached(silent): return + modified = self.server.current.buffer.options['modified'] + if modified: + self.server.current.buffer.options['modified'] = False + cmds, files = split_cmds_from_files(arguments) for fname in files: @@ -126,6 +130,9 @@ class Neovim(): for cmd in cmds: self.server.command(cmd if cmd else '$') + if modified: + self.server.current.buffer.options['modified'] = True + return len(files) def _show_msg(self, old_address): diff --git a/setup.py b/setup.py index 2ceefbf..ccca95c 100644 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ setup( 'console_scripts': ['nvr = nvr.nvr:main'] }, packages = ['nvr'], - version = '1.8.0', + version = '1.8.1', license = 'MIT', keywords = 'neovim nvim nvr remote helper', classifiers = [