digego / extempore

A cyber-physical programming environment
1.4k stars 127 forks source link

vim plugin throws exception when sending code from Neovim #198

Closed lpil closed 8 years ago

lpil commented 8 years ago

Hey, I'm having some trouble using the vim plugin. Here's what I'm doing:

I saved the vim plugin script in ~/.vim/ftplugins/scheme.vim so that it is loaded when I open a scheme file.

I open a new scheme file, such as foo.ss

I hit <leader>o to connect to the extempore process, which prints New Client Connection. Neovim then immediately throws an exception (see below), and extempore prints Close Client Socket.

Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/thr
eading.py", line 810, in __bootstrap_inner
    self.run()
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/thr
eading.py", line 1082, in run
    self.function(*self.args, **self.kwargs)
  File "<string>", line 29, in output_poller
  File "/usr/local/Cellar/neovim/0.1.0/share/nvim/runtime/autoload/provider/script_host.py", line 15
9, in write
    self.redirect_handler(data)
  File "/usr/local/Cellar/neovim/0.1.0/share/nvim/runtime/autoload/provider/script_host.py", line 56
, in <lambda>
    sys.stdout = RedirectStream(lambda data: nvim.out_write(data))
  File "/usr/local/lib/python2.7/site-packages/neovim/api/nvim.py", line 208, in out_write
    return self._session.request('vim_out_write', msg)
  File "/usr/local/lib/python2.7/site-packages/neovim/api/common.py", line 230, in request
    return walk(self._in, self._session.request(name, *args, **kwargs),
  File "/usr/local/lib/python2.7/site-packages/neovim/msgpack_rpc/session.py", line 81, in request
    v = self._yielding_request(method, args)
  File "/usr/local/lib/python2.7/site-packages/neovim/msgpack_rpc/session.py", line 146, in _yieldin
g_request
    return parent.switch()
AttributeError: 'NoneType' object has no attribute 'switch'

I don't speak python, so I'm unsure if I should be reporting this here, or to the neovim team.

mrmagooey commented 8 years ago

Almost everything in that traceback looks internal to neovim ( except for File "<string>", line 29, in output_poller), I would suggest it's a neovim problem.

Certainly extempore doesn't use msgpack, which seems to be where the exception occurs. If the exception was a telnet related one then it would probably be an extempore.vim problem.

benswift commented 8 years ago

I should add that Extempore is currently looking for a (Neo)Vim maintainer. None of us are vim users, so we don't really have the expertise in dealing with issues in the vim plugin.

Thanks for the heads up about the NeoVim issue, I don't know if anyone has ever used it before.

mrmagooey notifications@github.com writes:

Almost everything in that traceback looks internal to neovim ( except for File "<string>", line 29, in output_poller), I would suggest it's a neovim problem.

Certainly extempore doesn't use msgpack, which seems to be where the exception occurs. If the exception was a telnet related one then it would probably be an extempore.vim problem.


Reply to this email directly or view it on GitHub: https://github.com/digego/extempore/issues/198#issuecomment-162422737

digego commented 8 years ago

can we close this?

benswift commented 8 years ago

Yep, we think it's a neovim issue. We can reopen it in the future if it turns out not to be the case.