From ce65f11ef537470b97671995ec715d694cf506fe Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 4 Jul 2023 19:39:40 +0530 Subject: [PATCH] Unicode input kitten: Fix a regression causing pressing esc to cancel the kitten requiring confirmation --- kittens/unicode_input/main.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kittens/unicode_input/main.go b/kittens/unicode_input/main.go index 96a0633bc..efcb1706a 100644 --- a/kittens/unicode_input/main.go +++ b/kittens/unicode_input/main.go @@ -3,6 +3,7 @@ package unicode_input import ( + "errors" "fmt" "os" "os/exec" @@ -481,9 +482,11 @@ func (self *handler) next_mode(delta int) { } } +var ErrCanceledByUser = errors.New("Canceled by user") + func (self *handler) on_key_event(event *loop.KeyEvent) (err error) { if event.MatchesPressOrRepeat("esc") || event.MatchesPressOrRepeat("ctrl+c") { - return fmt.Errorf("Canceled by user") + return ErrCanceledByUser } if event.MatchesPressOrRepeat("f1") || event.MatchesPressOrRepeat("ctrl+1") { event.Handled = true @@ -626,6 +629,9 @@ func main(cmd *cli.Command, o *Options, args []string) (rc int, err error) { build_sets() lp, err := run_loop(o) if err != nil { + if err == ErrCanceledByUser { + err = nil + } return 1, err } ds := lp.DeathSignalName()