annotate src/proto/regexp.pro @ 33532:f99f5a56ff27 v9.0.2015

patch 9.0.2015: Vim9: does not handle islocked() from a method correctly Commit: https://github.com/vim/vim/commit/4c8da025ef8140168b7a09d9fe922ce4bb40f19d Author: Ernie Rael <errael@raelity.com> Date: Wed Oct 11 21:35:11 2023 +0200 patch 9.0.2015: Vim9: does not handle islocked() from a method correctly Problem: Vim9: does not handle islocked() from a method correctly Solution: Handle islocked() builtin from a method. - Setup `lval_root` from `f_islocked()`. - Add function `fill_exec_lval_root()` to get info about executing method. - `sync_root` added in get_lval to handle method member access. - Conservative approach to reference counting. closes: #13309 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Ernie Rael <errael@raelity.com>
author Christian Brabandt <cb@256bit.org>
date Wed, 11 Oct 2023 21:45:04 +0200
parents c0be6563fa39
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 /* regexp.c */
29071
b90bca860b5a patch 8.2.5057: using gettimeofday() for timeout is very inefficient
Bram Moolenaar <Bram@vim.org>
parents: 29048
diff changeset
2 void init_regexp_timeout(long msec);
b90bca860b5a patch 8.2.5057: using gettimeofday() for timeout is very inefficient
Bram Moolenaar <Bram@vim.org>
parents: 29048
diff changeset
3 void disable_regexp_timeout(void);
30355
c0be6563fa39 patch 9.0.0513: may not be able to use a pattern ad the debug prompt
Bram Moolenaar <Bram@vim.org>
parents: 29255
diff changeset
4 void save_timeout_for_debugging(void);
c0be6563fa39 patch 9.0.0513: may not be able to use a pattern ad the debug prompt
Bram Moolenaar <Bram@vim.org>
parents: 29255
diff changeset
5 void restore_timeout_for_debugging(void);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6375
diff changeset
6 int re_multiline(regprog_T *prog);
20113
2c23053c654a patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents: 19892
diff changeset
7 char_u *skip_regexp(char_u *startp, int delim, int magic);
2c23053c654a patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents: 19892
diff changeset
8 char_u *skip_regexp_err(char_u *startp, int delim, int magic);
23505
bb29b09902d5 patch 8.2.2295: incsearch does not detect empty pattern properly
Bram Moolenaar <Bram@vim.org>
parents: 20113
diff changeset
9 char_u *skip_regexp_ex(char_u *startp, int dirc, int magic, char_u **newp, int *dropped, magic_T *magic_val);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6375
diff changeset
10 reg_extmatch_T *ref_extmatch(reg_extmatch_T *em);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6375
diff changeset
11 void unref_extmatch(reg_extmatch_T *em);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6375
diff changeset
12 char_u *regtilde(char_u *source, int magic);
29048
c98fc7a4dde4 patch 8.2.5046: vim_regsub() can overwrite the destination
Bram Moolenaar <Bram@vim.org>
parents: 23505
diff changeset
13 int vim_regsub(regmatch_T *rmp, char_u *source, typval_T *expr, char_u *dest, int destlen, int flags);
c98fc7a4dde4 patch 8.2.5046: vim_regsub() can overwrite the destination
Bram Moolenaar <Bram@vim.org>
parents: 23505
diff changeset
14 int vim_regsub_multi(regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int destlen, int flags);
29255
5ebc561444fe patch 8.2.5146: memory leak when substitute expression nests
Bram Moolenaar <Bram@vim.org>
parents: 29071
diff changeset
15 void free_resub_eval_result(void);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6375
diff changeset
16 char_u *reg_submatch(int no);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6375
diff changeset
17 list_T *reg_submatch_list(int no);
18572
23fef64352a1 patch 8.1.2280: crash when passing partial to substitute()
Bram Moolenaar <Bram@vim.org>
parents: 15555
diff changeset
18 int vim_regcomp_had_eol(void);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6375
diff changeset
19 regprog_T *vim_regcomp(char_u *expr_arg, int re_flags);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6375
diff changeset
20 void vim_regfree(regprog_T *prog);
18572
23fef64352a1 patch 8.1.2280: crash when passing partial to substitute()
Bram Moolenaar <Bram@vim.org>
parents: 15555
diff changeset
21 void free_regexp_stuff(void);
15306
7fff2d18e191 patch 8.1.0661: clipboard regexp might be used recursively
Bram Moolenaar <Bram@vim.org>
parents: 11521
diff changeset
22 int regprog_in_use(regprog_T *prog);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6375
diff changeset
23 int vim_regexec_prog(regprog_T **prog, int ignore_case, char_u *line, colnr_T col);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6375
diff changeset
24 int vim_regexec(regmatch_T *rmp, char_u *line, colnr_T col);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6375
diff changeset
25 int vim_regexec_nl(regmatch_T *rmp, char_u *line, colnr_T col);
29071
b90bca860b5a patch 8.2.5057: using gettimeofday() for timeout is very inefficient
Bram Moolenaar <Bram@vim.org>
parents: 29048
diff changeset
26 long vim_regexec_multi(regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, int *timed_out);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 /* vim: set ft=c : */