patch 9.0.2069: possible to escape bracketed paste mode with Ctrl-C
Problem: possible to escape bracketed paste mode with Ctrl-C
Solution: Do not handle Ctrl-C specially when key_protocol
is in use, makes bracketed paste mode more robust
When a key protocol is in use Ctrl-C will be sent as an escape sequence,
but a raw Ctrl-C can be sent when pasting data. Pass this through, so
that a Ctrl-C can be pasted and won't result in exiting insert mode
(where the rest of the pasted keys can cause all kind of nasty
side-effects).
Many terminals will strip control characters in paste data (and xterm
will strip ^C since version 388), but this provides some defense in
depth if users change settings like xterm's allowPasteControls.
closes: #13398
Signed-off-by: David Leadbeater <dgl@dgl.cx>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/proto/getchar.pro b/src/proto/getchar.pro
index 7e05870..b122a14 100644
--- a/src/proto/getchar.pro
+++ b/src/proto/getchar.pro
@@ -51,6 +51,7 @@
void f_getcharstr(typval_T *argvars, typval_T *rettv);
void f_getcharmod(typval_T *argvars, typval_T *rettv);
void parse_queued_messages(void);
+int key_protocol_enabled(void);
void vungetc(int c);
int fix_input_buffer(char_u *buf, int len);
int input_available(void);