Fix compilation with gcc-5
Gcc-5 seems to have a bug in its handling of template variable. Fixes #2267
This commit is contained in:
parent
bd9895ea86
commit
d2509e54f2
|
@ -21,7 +21,7 @@ before_install:
|
|||
install:
|
||||
- if [ $TRAVIS_OS_NAME = linux ]; then
|
||||
if [ "$CXX" = "g++" ]; then
|
||||
export CXX=g++-6;
|
||||
export CXX=g++-5;
|
||||
fi;
|
||||
elif [ $TRAVIS_OS_NAME = osx ]; then
|
||||
brew outdated gcc || brew upgrade gcc;
|
||||
|
@ -35,8 +35,8 @@ addons:
|
|||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- libstdc++-6-dev
|
||||
- g++-6
|
||||
- libstdc++-5-dev
|
||||
- g++-5
|
||||
- libncursesw5-dev
|
||||
coverity_scan:
|
||||
project:
|
||||
|
|
|
@ -1498,33 +1498,32 @@ const CommandDesc declare_option_cmd = {
|
|||
};
|
||||
|
||||
template<bool unmap>
|
||||
static auto map_key_completer =
|
||||
[](const Context& context, CompletionFlags flags,
|
||||
CommandParameters params, size_t token_to_complete,
|
||||
ByteCount pos_in_token) -> Completions
|
||||
static Completions map_key_completer(const Context& context, CompletionFlags flags,
|
||||
CommandParameters params, size_t token_to_complete,
|
||||
ByteCount pos_in_token)
|
||||
{
|
||||
if (token_to_complete == 0)
|
||||
return { 0_byte, params[0].length(),
|
||||
complete(params[0], pos_in_token, scopes) };
|
||||
if (token_to_complete == 1)
|
||||
{
|
||||
if (token_to_complete == 0)
|
||||
return { 0_byte, params[0].length(),
|
||||
complete(params[0], pos_in_token, scopes) };
|
||||
if (token_to_complete == 1)
|
||||
{
|
||||
auto& user_modes = get_scope(params[0], context).keymaps().user_modes();
|
||||
return { 0_byte, params[1].length(),
|
||||
complete(params[1], pos_in_token, concatenated(modes, user_modes) | gather<Vector<String>>()) };
|
||||
}
|
||||
if (unmap and token_to_complete == 2)
|
||||
{
|
||||
KeymapManager& keymaps = get_scope(params[0], context).keymaps();
|
||||
KeymapMode keymap_mode = parse_keymap_mode(params[1], keymaps.user_modes());
|
||||
KeyList keys = keymaps.get_mapped_keys(keymap_mode);
|
||||
auto& user_modes = get_scope(params[0], context).keymaps().user_modes();
|
||||
return { 0_byte, params[1].length(),
|
||||
complete(params[1], pos_in_token, concatenated(modes, user_modes) | gather<Vector<String>>()) };
|
||||
}
|
||||
if (unmap and token_to_complete == 2)
|
||||
{
|
||||
KeymapManager& keymaps = get_scope(params[0], context).keymaps();
|
||||
KeymapMode keymap_mode = parse_keymap_mode(params[1], keymaps.user_modes());
|
||||
KeyList keys = keymaps.get_mapped_keys(keymap_mode);
|
||||
|
||||
return { 0_byte, params[2].length(),
|
||||
complete(params[2], pos_in_token,
|
||||
keys | transform([](Key k) { return key_to_str(k); })
|
||||
| gather<Vector<String>>()) };
|
||||
}
|
||||
return {};
|
||||
};
|
||||
return { 0_byte, params[2].length(),
|
||||
complete(params[2], pos_in_token,
|
||||
keys | transform([](Key k) { return key_to_str(k); })
|
||||
| gather<Vector<String>>()) };
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
const CommandDesc map_key_cmd = {
|
||||
"map",
|
||||
|
|
Loading…
Reference in New Issue
Block a user