@@ -48,8 +48,7 @@ if($self->{USE_BINDINGS_COMPLETION} && ! $self->{CURRENT_ACTIONS}{HIDE})
4848 {
4949 my $shortcut = $_ -> {SHORTCUTS } ;
5050
51- ! exists $reserved {$shortcut }
52- && ! ($self -> {CURRENT_ACTIONS }{$shortcut }{OPTIONS }{HIDE })
51+ ! exists $reserved {$shortcut } && ! $_ -> {OPTIONS }{HIDE }
5352 } $self -> {ACTIONS_ORDERED }{$self -> {CURRENT_ACTIONS }{NAME }}-> @* ;
5453
5554 $self -> {BINDINGS_COMPLETION } =
@@ -129,7 +128,6 @@ for my $action (@actions)
129128
130129 delete $self -> {BINDINGS_COMPLETION } unless $self -> {KEEP_BINDINGS_COMPLETION } ;
131130
132-
133131 if (defined $self -> {CURRENT_ACTIONS }{$action }{ARGUMENTS })
134132 {
135133 push @results ,
@@ -163,20 +161,20 @@ for my $action (@actions)
163161 }
164162 else
165163 {
166- unless ($self -> {KEEP_BINDINGS_COMPLETION })
167- {
168- delete $self -> {BINDINGS_COMPLETION } ;
169- }
170-
164+ delete $self -> {BINDINGS_COMPLETION } unless $self -> {KEEP_BINDINGS_COMPLETION } ;
171165 delete $self -> {KEEP_BINDINGS_COMPLETION } ;
172166
173167 if (defined $self -> {CURRENT_ACTIONS }{ESCAPE_KEYS } && any { $_ eq $action } $self -> {CURRENT_ACTIONS }{ESCAPE_KEYS }-> @*)
174168 {
175169 $self -> {ACTION_VERBOSE }-> (" \e [33m[$self ->{CURRENT_ACTIONS}{NAME}] leaving\e [0m" ) if $self -> {ACTION_VERBOSE } ;
176170
177- $self -> {CURRENT_ACTIONS }{ESCAPE_GROUP }-> ($self ) if defined $self -> {CURRENT_ACTIONS }{ESCAPE_GROUP } ;
178-
179- $self -> {CURRENT_ACTIONS } = $self -> {ACTIONS } ;
171+ if (defined $self -> {CURRENT_ACTIONS }{ESCAPE_GROUP })
172+ {
173+ my $escape_sub = $self -> {CURRENT_ACTIONS }{ESCAPE_GROUP } ;
174+ $self -> {CURRENT_ACTIONS } = $self -> {ACTIONS } ;
175+
176+ $escape_sub -> ($self ) ;
177+ }
180178 }
181179 else
182180 {
@@ -192,8 +190,14 @@ for my $action (@actions)
192190 if (any { $_ eq $action } $self -> {CURRENT_ACTIONS }{ESCAPE_KEYS }-> @*)
193191 {
194192 $self -> {ACTION_VERBOSE }-> (" \e [33m[$self ->{CURRENT_ACTIONS}{NAME}] leaving\e [0m" ) if $self -> {ACTION_VERBOSE } ;
195- $self -> {CURRENT_ACTIONS }{ESCAPE_GROUP }-> ($self ) if defined $self -> {CURRENT_ACTIONS }{ESCAPE_GROUP } ;
196- $self -> {CURRENT_ACTIONS } = $self -> {ACTIONS } ;
193+
194+ if (defined $self -> {CURRENT_ACTIONS }{ESCAPE_GROUP })
195+ {
196+ my $escape_sub = $self -> {CURRENT_ACTIONS }{ESCAPE_GROUP } ;
197+ $self -> {CURRENT_ACTIONS } = $self -> {ACTIONS } ;
198+
199+ $escape_sub -> ($self ) ;
200+ }
197201 }
198202 else
199203 {
0 commit comments