Mercurial > vim
view src/proto/if_xcmdsrv.pro @ 33662:664ee4c0daca v9.0.2069
patch 9.0.2069: possible to escape bracketed paste mode with Ctrl-C
Commit: https://github.com/vim/vim/commit/67ec6553839f070cd4cc8effa26a9db1750e17b6
Author: David Leadbeater <dgl@dgl.cx>
Date: Thu Oct 26 22:00:34 2023 +0200
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>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 26 Oct 2023 22:15:04 +0200 |
parents | 71311d899b42 |
children |
line wrap: on
line source
/* if_xcmdsrv.c */ int serverRegisterName(Display *dpy, char_u *name); void serverChangeRegisteredWindow(Display *dpy, Window newwin); int serverSendToVim(Display *dpy, char_u *name, char_u *cmd, char_u **result, Window *server, int asExpr, int timeout, int localLoop, int silent); char_u *serverGetVimNames(Display *dpy); Window serverStrToWin(char_u *str); int serverSendReply(char_u *name, char_u *str); int serverReadReply(Display *dpy, Window win, char_u **str, int localLoop, int timeout); int serverPeekReply(Display *dpy, Window win, char_u **str); void serverEventProc(Display *dpy, XEvent *eventPtr, int immediate); void server_parse_messages(void); int server_waiting(void); /* vim: set ft=c : */