Mercurial > vim
view src/proto/register.pro @ 34671:df52075b12cd v9.1.0217
patch 9.1.0217: regexp: verymagic cannot match before/after a mark
Commit: https://github.com/vim/vim/commit/46fa3c7e271eb2abb05a0d9e6dbc9c36c2b2da02
Author: Julio B <julio.bacel@gmail.com>
Date: Thu Mar 28 10:23:37 2024 +0100
patch 9.1.0217: regexp: verymagic cannot match before/after a mark
Problem: regexp: verymagic cannot match before/after a mark
Solution: Correctly check for the very magic check (Julio B)
Fix regexp parser for \v%>'m and \v%<'m
Currently \v%'m works fine, but it is unable to match before or after
the position of mark m.
closes: #14309
Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 28 Mar 2024 10:30:04 +0100 |
parents | b1440083f0da |
children |
line wrap: on
line source
/* register.c */ yankreg_T *get_y_regs(void); yankreg_T *get_y_register(int reg); yankreg_T *get_y_current(void); yankreg_T *get_y_previous(void); void set_y_current(yankreg_T *yreg); void set_y_previous(yankreg_T *yreg); void reset_y_append(void); int get_expr_register(void); void set_expr_line(char_u *new_line, exarg_T *eap); char_u *get_expr_line(void); int valid_yank_reg(int regname, int writing); int get_yank_register(int regname, int writing); void *get_register(int name, int copy); void put_register(int name, void *reg); void free_register(void *reg); int yank_register_mline(int regname); int do_record(int c); int get_execreg_lastc(void); void set_execreg_lastc(int lastc); int do_execreg(int regname, int colon, int addcr, int silent); int insert_reg(int regname, int literally_arg); int get_spec_reg(int regname, char_u **argp, int *allocated, int errmsg); int cmdline_paste_reg(int regname, int literally_arg, int remcr); void shift_delete_registers(void); void yank_do_autocmd(oparg_T *oap, yankreg_T *reg); void init_yank(void); void clear_registers(void); void free_yank_all(void); int op_yank(oparg_T *oap, int deleting, int mess); void do_put(int regname, char_u *expr_result, int dir, long count, int flags); int get_register_name(int num); int get_unname_register(void); void ex_display(exarg_T *eap); void dnd_yank_drag_data(char_u *str, long len); char_u get_reg_type(int regname, long *reglen); char_u *get_reg_contents(int regname, int flags); void write_reg_contents(int name, char_u *str, int maxlen, int must_append); void write_reg_contents_lst(int name, char_u **strings, int maxlen, int must_append, int yank_type, long block_len); void write_reg_contents_ex(int name, char_u *str, int maxlen, int must_append, int yank_type, long block_len); void str_to_reg(yankreg_T *y_ptr, int yank_type, char_u *str, long len, long blocklen, int str_list); /* vim: set ft=c : */