It appears that nvr assumes that the argument to the exception raised by pynvim is of type bytes, however (recently?) is is of type str.
$ nvr ~/.profile
Traceback (most recent call last):
File "/home/josh/.local/share/pipx/venvs/neovim-remote/lib/python3.11/site-packages/nvr/nvr.py", line 138, in execute
self.fnameescaped_command(cmd, fname)
File "/home/josh/.local/share/pipx/venvs/neovim-remote/lib/python3.11/site-packages/nvr/nvr.py", line 100, in fnameescaped_command
self.server.command(f'{cmd} {path}')
File "/home/josh/.local/share/pipx/venvs/neovim-remote/lib/python3.11/site-packages/pynvim/api/nvim.py", line 287, in command
return self.request('nvim_command', string, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/josh/.local/share/pipx/venvs/neovim-remote/lib/python3.11/site-packages/pynvim/api/nvim.py", line 182, in request
res = self._session.request(name, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/josh/.local/share/pipx/venvs/neovim-remote/lib/python3.11/site-packages/pynvim/msgpack_rpc/session.py", line 102, in request
raise self.error_wrapper(err)
pynvim.api.common.NvimError: BufReadPost Autocommands for "*": Vim(append):Error executing lua callback: XXX
stack traceback:
[builtin#19]: at 0x7fa8258539a0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/josh/.local/share/pipx/bin/nvr", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/josh/.local/share/pipx/venvs/neovim-remote/lib/python3.11/site-packages/nvr/nvr.py", line 444, in main
proceed_after_attach(nvr, options, arguments)
File "/home/josh/.local/share/pipx/venvs/neovim-remote/lib/python3.11/site-packages/nvr/nvr.py", line 528, in proceed_after_attach
nvr.execute(arguments, 'edit', silent=True)
File "/home/josh/.local/share/pipx/venvs/neovim-remote/lib/python3.11/site-packages/nvr/nvr.py", line 140, in execute
if not re.search('E37', e.args[0].decode()):
^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'decode'. Did you mean: 'encode'?
It appears that
nvr
assumes that the argument to the exception raised bypynvim
is of typebytes
, however (recently?) is is of typestr
.Versions:
Also affects Python 3.9 and 3.10