view src/proto/indent.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 40df8a6515f6
children cb3d20e3dcd9
line wrap: on
line source

/* indent.c */
int tabstop_set(char_u *var, int **array);
int tabstop_padding(colnr_T col, int ts_arg, int *vts);
int tabstop_at(colnr_T col, int ts, int *vts);
colnr_T tabstop_start(colnr_T col, int ts, int *vts);
void tabstop_fromto(colnr_T start_col, colnr_T end_col, int ts_arg, int *vts, int *ntabs, int *nspcs);
int *tabstop_copy(int *oldts);
int tabstop_count(int *ts);
int tabstop_first(int *ts);
long get_sw_value(buf_T *buf);
long get_sw_value_indent(buf_T *buf);
long get_sw_value_col(buf_T *buf, colnr_T col);
long get_sts_value(void);
int get_indent(void);
int get_indent_lnum(linenr_T lnum);
int get_indent_buf(buf_T *buf, linenr_T lnum);
int get_indent_str(char_u *ptr, int ts, int list);
int get_indent_str_vtab(char_u *ptr, int ts, int *vts, int list);
int set_indent(int size, int flags);
int get_number_indent(linenr_T lnum);
int briopt_check(win_T *wp);
int get_breakindent_win(win_T *wp, char_u *line);
int inindent(int extra);
void op_reindent(oparg_T *oap, int (*how)(void));
int preprocs_left(void);
int may_do_si(void);
void ins_try_si(int c);
void change_indent(int type, int amount, int round, int replaced, int call_changed_bytes);
int copy_indent(int size, char_u *src);
void ex_retab(exarg_T *eap);
int get_expr_indent(void);
int get_lisp_indent(void);
void fixthisline(int (*get_the_indent)(void));
int use_indentexpr_for_lisp(void);
void fix_indent(void);
void f_indent(typval_T *argvars, typval_T *rettv);
void f_lispindent(typval_T *argvars, typval_T *rettv);
/* vim: set ft=c : */