neovim/neovim — pull request #977 by splinterofchaos (2014-07-21 19:18:25+00:00)
Title: vim-patch:7.4.276

Neovim already has two pull requests for this patch: #841 and #773 by @euclio, the original author of the vanilla patch. It adds support for the fish shell. Without patch 276, fish users can only use plugins like syntastic if they have, in their .vimrc, `set shell=sh` or something similar.

I wasn't quite sure what to do with this for a while. At first, I branched off of his patch and appended commits until it worked: https://github.com/splinterofchaos/neovim/tree/fish-patch. I found that travis kept failing it due to a memory leak introduced by [276](https://code.google.com/p/vim/source/detail?spec=svna6b59ee633a355095e6473ec5e2a7d9088bfb853&r=a6b59ee633a355095e6473ec5e2a7d9088bfb853) and solved by [297](https://code.google.com/p/vim/source/detail?r=81f5a056b2a582c8109da10cc538dc16a326a34d).

So it seemed more logical to avoid the allocation altogether. Since neovim has `path_tail()`, I piggy-backed off that than implement `get_isolated_shell_name()`. The new `path_tail_save()` does the exact same thing, though I wondered if others might find it weird that it works for commands as well.