annotate src/proto/ex_docmd.pro @ 25445:65f04b6effd5 v8.2.3259

patch 8.2.3259: when 'indentexpr' causes an error did_throw may hang Commit: https://github.com/vim/vim/commit/620c959c6c00e469c4d3b1ab2e08e4767ee142a4 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jul 31 21:32:31 2021 +0200 patch 8.2.3259: when 'indentexpr' causes an error did_throw may hang Problem: When 'indentexpr' causes an error the did_throw flag may remain set. Solution: Reset did_throw and show the error. (closes #8677)
author Bram Moolenaar <Bram@vim.org>
date Sat, 31 Jul 2021 21:45:04 +0200
parents 4ae10e6c3a9c
children dcd45fe7fe2e
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 /* ex_docmd.c */
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
2 void do_exmode(int improved);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
3 int do_cmdline_cmd(char_u *cmd);
23011
ec23d84a096d patch 8.2.2052: Vim9: "edit +4 fname" gives an error
Bram Moolenaar <Bram@vim.org>
parents: 22699
diff changeset
4 int do_cmd_argument(char_u *cmd);
21883
a427f5f26419 patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents: 21459
diff changeset
5 int do_cmdline(char_u *cmdline, char_u *(*fgetline)(int, void *, int, getline_opt_T), void *cookie, int flags);
25445
65f04b6effd5 patch 8.2.3259: when 'indentexpr' causes an error did_throw may hang
Bram Moolenaar <Bram@vim.org>
parents: 24719
diff changeset
6 void handle_did_throw(void);
21883
a427f5f26419 patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents: 21459
diff changeset
7 int getline_equal(char_u *(*fgetline)(int, void *, int, getline_opt_T), void *cookie, char_u *(*func)(int, void *, int, getline_opt_T));
a427f5f26419 patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents: 21459
diff changeset
8 void *getline_cookie(char_u *(*fgetline)(int, void *, int, getline_opt_T), void *cookie);
a427f5f26419 patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents: 21459
diff changeset
9 char_u *getline_peek(char_u *(*fgetline)(int, void *, int, getline_opt_T), void *cookie);
21459
a422bd80b434 patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents: 21357
diff changeset
10 char *ex_errmsg(char *msg, char_u *arg);
24719
4ae10e6c3a9c patch 8.2.2898: QuitPre and ExitPre not triggered when GUI window is closed
Bram Moolenaar <Bram@vim.org>
parents: 24222
diff changeset
11 int checkforcmd(char_u **pp, char *cmd, int len);
22699
e82579016863 patch 8.2.1898: command modifier parsing always uses global cmdmod
Bram Moolenaar <Bram@vim.org>
parents: 22697
diff changeset
12 int parse_command_modifiers(exarg_T *eap, char **errormsg, cmdmod_T *cmod, int skip_only);
24222
a2e6029d354e patch 8.2.2652: Vim9: can use command modifier without an effect
Bram Moolenaar <Bram@vim.org>
parents: 24124
diff changeset
13 int has_cmdmod(cmdmod_T *cmod);
a2e6029d354e patch 8.2.2652: Vim9: can use command modifier without an effect
Bram Moolenaar <Bram@vim.org>
parents: 24124
diff changeset
14 int cmdmod_error(void);
22697
c996700d569f patch 8.2.1897: command modifiers are saved and set inconsistently
Bram Moolenaar <Bram@vim.org>
parents: 22260
diff changeset
15 void apply_cmdmod(cmdmod_T *cmod);
22699
e82579016863 patch 8.2.1898: command modifier parsing always uses global cmdmod
Bram Moolenaar <Bram@vim.org>
parents: 22697
diff changeset
16 void undo_cmdmod(cmdmod_T *cmod);
15470
55ccc2d353bd patch 8.1.0743: giving error messages is not flexible
Bram Moolenaar <Bram@vim.org>
parents: 14871
diff changeset
17 int parse_cmd_address(exarg_T *eap, char **errormsg, int silent);
21937
b931df03adcc patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents: 21883
diff changeset
18 char_u *skip_option_env_lead(char_u *start);
24124
f4061617c438 patch 8.2.2603: Vim9: no effect if user command is also a function
Bram Moolenaar <Bram@vim.org>
parents: 23966
diff changeset
19 char_u *find_ex_command(exarg_T *eap, int *full, int (*lookup)(char_u *, size_t, int cmd, cctx_T *), cctx_T *cctx);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
20 int modifier_len(char_u *cmd);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
21 int cmd_exists(char_u *name);
23966
09bde146adcb patch 8.2.2525: Vim9: only local variables checked for a name
Bram Moolenaar <Bram@vim.org>
parents: 23648
diff changeset
22 void f_fullcommand(typval_T *argvars, typval_T *rettv);
17835
fd6c8dc33152 patch 8.1.1914: command line expansion code is spread out
Bram Moolenaar <Bram@vim.org>
parents: 17744
diff changeset
23 cmdidx_T excmd_get_cmdidx(char_u *cmd, int len);
fd6c8dc33152 patch 8.1.1914: command line expansion code is spread out
Bram Moolenaar <Bram@vim.org>
parents: 17744
diff changeset
24 long excmd_get_argt(cmdidx_T idx);
22260
d7c1e3efa88e patch 8.2.1679: Vim9: ":*" is not recognized as a range
Bram Moolenaar <Bram@vim.org>
parents: 21937
diff changeset
25 char_u *skip_range(char_u *cmd, int skip_star, int *ctx);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
26 void ex_ni(exarg_T *eap);
15470
55ccc2d353bd patch 8.1.0743: giving error messages is not flexible
Bram Moolenaar <Bram@vim.org>
parents: 14871
diff changeset
27 int expand_filename(exarg_T *eap, char_u **cmdlinep, char **errormsgp);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
28 void separate_nextcmd(exarg_T *eap);
18402
527b7084c556 patch 8.1.2195: Vim does not exit when the terminal window is last window
Bram Moolenaar <Bram@vim.org>
parents: 17835
diff changeset
29 char_u *skip_cmd_arg(char_u *p, int rembs);
13575
4df23d9bad47 patch 8.0.1660: the terminal API "drop" command doesn't support options
Christian Brabandt <cb@256bit.org>
parents: 12521
diff changeset
30 int get_bad_opt(char_u *p, exarg_T *eap);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
31 int ends_excmd(int c);
20239
2135b4641680 patch 8.2.0675: Vim9: no support for closures
Bram Moolenaar <Bram@vim.org>
parents: 20059
diff changeset
32 int ends_excmd2(char_u *cmd_start, char_u *cmd);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
33 char_u *find_nextcmd(char_u *p);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
34 char_u *check_nextcmd(char_u *p);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
35 char_u *get_command_name(expand_T *xp, int idx);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
36 void not_exiting(void);
24719
4ae10e6c3a9c patch 8.2.2898: QuitPre and ExitPre not triggered when GUI window is closed
Bram Moolenaar <Bram@vim.org>
parents: 24222
diff changeset
37 int before_quit_autocmds(win_T *wp, int quit_all, int forceit);
18402
527b7084c556 patch 8.1.2195: Vim does not exit when the terminal window is last window
Bram Moolenaar <Bram@vim.org>
parents: 17835
diff changeset
38 void ex_quit(exarg_T *eap);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
39 void tabpage_close(int forceit);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
40 void tabpage_close_other(tabpage_T *tp, int forceit);
14428
aab5947be7c5 patch 8.1.0228: dropping files is ignored while Vim is busy
Christian Brabandt <cb@256bit.org>
parents: 13866
diff changeset
41 void handle_drop(int filec, char_u **filev, int split, void (*callback)(void *), void *cookie);
aab5947be7c5 patch 8.1.0228: dropping files is ignored while Vim is busy
Christian Brabandt <cb@256bit.org>
parents: 13866
diff changeset
42 void handle_any_postponed_drop(void);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
43 void ex_splitview(exarg_T *eap);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
44 void tabpage_new(void);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
45 void do_exedit(exarg_T *eap, win_T *old_curwin);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
46 void free_cd_dir(void);
18402
527b7084c556 patch 8.1.2195: Vim does not exit when the terminal window is last window
Bram Moolenaar <Bram@vim.org>
parents: 17835
diff changeset
47 void post_chdir(cdscope_T scope);
527b7084c556 patch 8.1.2195: Vim does not exit when the terminal window is last window
Bram Moolenaar <Bram@vim.org>
parents: 17835
diff changeset
48 int changedir_func(char_u *new_dir, int forceit, cdscope_T scope);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
49 void ex_cd(exarg_T *eap);
23648
b7d3c79075c5 patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents: 23171
diff changeset
50 void do_sleep(long msec, int hide_cursor);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
51 void ex_may_print(exarg_T *eap);
7864
6b0891de44a9 commit https://github.com/vim/vim/commit/fb1f62691eae7c79a28b3b17a60e72ce198c71a2
Christian Brabandt <cb@256bit.org>
parents: 7840
diff changeset
52 void ex_redraw(exarg_T *eap);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
53 int vim_mkdir_emsg(char_u *name, int prot);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
54 FILE *open_exfile(char_u *fname, int forceit, char *mode);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
55 void update_topline_cursor(void);
12521
718787498836 patch 8.0.1139: using window toolbar changes state
Christian Brabandt <cb@256bit.org>
parents: 12459
diff changeset
56 int save_current_state(save_state_T *sst);
718787498836 patch 8.0.1139: using window toolbar changes state
Christian Brabandt <cb@256bit.org>
parents: 12459
diff changeset
57 void restore_current_state(save_state_T *sst);
7840
28f569c7dab9 commit https://github.com/vim/vim/commit/20fb9f346497daca4d19402fdfa5de7958642477
Christian Brabandt <cb@256bit.org>
parents: 7703
diff changeset
58 void ex_normal(exarg_T *eap);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
59 void exec_normal_cmd(char_u *cmd, int remap, int silent);
14871
f20df682c8af patch 8.1.0447: GUI scrollbar test fails with Athena and Motif
Christian Brabandt <cb@256bit.org>
parents: 14760
diff changeset
60 void exec_normal(int was_typed, int use_vpeekc, int may_use_terminal_loop);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
61 int find_cmdline_var(char_u *src, int *usedlen);
15470
55ccc2d353bd patch 8.1.0743: giving error messages is not flexible
Bram Moolenaar <Bram@vim.org>
parents: 14871
diff changeset
62 char_u *eval_vars(char_u *src, char_u *srcstart, int *usedlen, linenr_T *lnump, char **errormsg, int *escaped);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
63 char_u *expand_sfile(char_u *arg);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6424
diff changeset
64 void dialog_msg(char_u *buff, char *format, char_u *fname);
13792
0e9b2971d7c3 patch 8.0.1768: SET_NO_HLSEARCH() used in a wrong way
Christian Brabandt <cb@256bit.org>
parents: 13575
diff changeset
65 void set_no_hlsearch(int flag);
14550
60b9b6196644 patch 8.1.0288: quickfix code uses cmdidx too often
Christian Brabandt <cb@256bit.org>
parents: 14538
diff changeset
66 int is_loclist_cmd(int cmdidx);
12459
937356f8f8d6 patch 8.0.1109: timer causes error on exit from Ex mode
Christian Brabandt <cb@256bit.org>
parents: 11995
diff changeset
67 int get_pressedreturn(void);
937356f8f8d6 patch 8.0.1109: timer causes error on exit from Ex mode
Christian Brabandt <cb@256bit.org>
parents: 11995
diff changeset
68 void set_pressedreturn(int val);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 /* vim: set ft=c : */