-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
E117: Unknown function: chansend #1999
Comments
I think you got it reversed: So try updating Neovim? |
Reply from neovim dev team: neovim/neovim#9051 (comment) I'm using the latest stable neovim version. |
0.3.1 is the latest stable version, so you're a couple versions behind. |
Hmm, interesting, it doesn't seem to have made its way into the neovim ubuntu ppa. Sorry for not checking that out. Either way, from what I can tell from the neovim dev response, one should check if those functions exists before calling them. Thanks, have a great day! |
However, I don't see a reason (off-hand) why the plugin should require using let s:chansend = exists('*chansend') ? 'chansend' : 'jobsend'
let s:chanclose = exists('*chanclose') ? 'chanclose' : 'jobclose'
...
if len(l:input) > 0
call call(s:chansend, [job, l:input])
" close stdin to signal that no more bytes will be sent.
call call(s:chanclose, [job, 'stdin'])
endif |
I agree, we should return an error. We already do it for several things. This is the second time an error is opened. I know we add the minimum version requirement to our README, but not many read it and it's easily skippable. We should let the user know that they need a never version of Nvim. |
Why is 0.3.1 required? |
There is no reason to do this, |
The aim is not to support older versions. Neovim is not making any guarantees about backward compatibility, and it's still pre-1.0. |
Vim has |
|
This isn't true. We've documented our compatibility requirements. There shouldn't be compatibility breaks from release to release (although APIs are subject to change during development cycles). As @bfredl pointed out, the legacy names jobsend/jobclose have been kept explicitly to avoid breaking code. |
How long will they be kept? |
We follow semantic versioning, so not until 1.x could we break an API. |
Generally, pre-1.0 releases can break compatibility in semantic versioning. Can you point me to Neovim's documented api backward compatibility policy? |
Thanks @jamessan ! I'll see if we have anything in vim-go now or (or coming up, because I'm working on some additional functionality) that requires 0.3.1. |
We've merged #2000 for now. |
What did you do? (required. The issue will be closed when not provided.)
Browsed go code.
What did you expect to happen?
No errors.
What happened instead?
In a quickfix window:
Configuration (MUST fill this out):
vim-go version:
master (5ec87ee)
Vim version (first three lines from
:version
):go version
):go version go1.11 linux/amd64
@
vim-go/autoload/go/job.vim
Line 305 in 5ec87ee
The go#Job#Start function calls
chansend
andchanclose
, which i believe are depreacated functions, I believe it should bejobsend
andjobclose
instead.The text was updated successfully, but these errors were encountered: