diff --git a/src/options.go b/src/options.go index 1ef8bca0..4c7774c9 100644 --- a/src/options.go +++ b/src/options.go @@ -1131,7 +1131,7 @@ func parseKeymap(keymap map[tui.Event][]*action, str string, exit func(string)) func isExecuteAction(str string) actionType { matches := executeRegexp.FindAllStringSubmatch(":"+str, -1) - if matches == nil || len(matches) != 1 { + if matches == nil || len(matches) != 1 || len(matches[0][0]) != len(str)+1 { return actIgnore } prefix := matches[0][1] diff --git a/src/options_test.go b/src/options_test.go index 14ede09b..fbf319e0 100644 --- a/src/options_test.go +++ b/src/options_test.go @@ -489,3 +489,13 @@ func TestParseSingleActionList(t *testing.T) { t.Errorf("Invalid action parsed: %v", actions[3]) } } + +func TestParseSingleActionListError(t *testing.T) { + err := "" + parseSingleActionList("change-query(foobar)baz", func(e string) { + err = e + }) + if len(err) == 0 { + t.Errorf("Failed to detect error") + } +}