Mercurial > vim
annotate src/proto/sign.pro @ 33613:31fb1a760ad6 v9.0.2050
patch 9.0.2050: Vim9: crash with deferred function call and exception
Commit: https://github.com/vim/vim/commit/c59c1e0d88651a71ece7366e418f1253abbe2a28
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Thu Oct 19 10:52:34 2023 +0200
patch 9.0.2050: Vim9: crash with deferred function call and exception
Problem: Vim9: crash with deferred function call and exception
Solution: Save and restore exception state
Crash when a deferred function is called after an exception and another
exception is thrown
closes: #13376
closes: #13377
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 19 Oct 2023 11:00:07 +0200 |
parents | 84d60deb8f82 |
children | fff85588c140 |
rev | line source |
---|---|
15330
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 /* sign.c */ |
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 void init_signs(void); |
18603
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
17440
diff
changeset
|
3 int buf_get_signattrs(win_T *wp, linenr_T lnum, sign_attrs_T *sattr); |
15330
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 linenr_T buf_delsign(buf_T *buf, linenr_T atlnum, int id, char_u *group); |
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 int buf_findsign(buf_T *buf, int id, char_u *group); |
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 int buf_findsign_id(buf_T *buf, linenr_T lnum, char_u *groupname); |
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 int buf_findsigntype_id(buf_T *buf, linenr_T lnum, int typenr); |
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 int buf_signcount(buf_T *buf, linenr_T lnum); |
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 void buf_delete_signs(buf_T *buf, char_u *group); |
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 void sign_mark_adjust(linenr_T line1, linenr_T line2, long amount, long amount_after); |
26690
84d60deb8f82
patch 8.2.3874: cannot highlight the number column for a sign
Bram Moolenaar <Bram@vim.org>
parents:
26266
diff
changeset
|
11 int sign_define_by_name(char_u *name, char_u *icon, char_u *linehl, char_u *text, char_u *texthl, char_u *culhl, char_u *numhl); |
17440
a5874fdc8f3a
patch 8.1.1718: popup menu highlighting does not look good
Bram Moolenaar <Bram@vim.org>
parents:
17366
diff
changeset
|
12 int sign_exists_by_name(char_u *name); |
a5874fdc8f3a
patch 8.1.1718: popup menu highlighting does not look good
Bram Moolenaar <Bram@vim.org>
parents:
17366
diff
changeset
|
13 int sign_undefine_by_name(char_u *name, int give_error); |
a5874fdc8f3a
patch 8.1.1718: popup menu highlighting does not look good
Bram Moolenaar <Bram@vim.org>
parents:
17366
diff
changeset
|
14 int sign_place(int *sign_id, char_u *sign_group, char_u *sign_name, buf_T *buf, linenr_T lnum, int prio); |
15330
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 void ex_sign(exarg_T *eap); |
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 void get_buffer_signs(buf_T *buf, list_T *l); |
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 void sign_gui_started(void); |
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 void *sign_get_image(int typenr); |
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 void free_signs(void); |
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 char_u *get_sign_name(expand_T *xp, int idx); |
a6330a49e036
patch 8.1.0673: functionality for signs is spread out over several files
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
21 void set_context_in_sign_cmd(expand_T *xp, char_u *arg); |
17218
210c4c5f783d
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
15717
diff
changeset
|
22 void f_sign_define(typval_T *argvars, typval_T *rettv); |
210c4c5f783d
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
15717
diff
changeset
|
23 void f_sign_getdefined(typval_T *argvars, typval_T *rettv); |
210c4c5f783d
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
15717
diff
changeset
|
24 void f_sign_getplaced(typval_T *argvars, typval_T *rettv); |
210c4c5f783d
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
15717
diff
changeset
|
25 void f_sign_jump(typval_T *argvars, typval_T *rettv); |
210c4c5f783d
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
15717
diff
changeset
|
26 void f_sign_place(typval_T *argvars, typval_T *rettv); |
17366
9843fbfa0ee5
patch 8.1.1682: placing a larger number of signs is slow
Bram Moolenaar <Bram@vim.org>
parents:
17264
diff
changeset
|
27 void f_sign_placelist(typval_T *argvars, typval_T *rettv); |
17218
210c4c5f783d
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
15717
diff
changeset
|
28 void f_sign_undefine(typval_T *argvars, typval_T *rettv); |
18603
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
17440
diff
changeset
|
29 sign_entry_T *get_first_valid_sign(win_T *wp); |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
17440
diff
changeset
|
30 int signcolumn_on(win_T *wp); |
17218
210c4c5f783d
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
15717
diff
changeset
|
31 void f_sign_unplace(typval_T *argvars, typval_T *rettv); |
17366
9843fbfa0ee5
patch 8.1.1682: placing a larger number of signs is slow
Bram Moolenaar <Bram@vim.org>
parents:
17264
diff
changeset
|
32 void f_sign_unplacelist(typval_T *argvars, typval_T *rettv); |
15717
2b29779475c0
patch 8.1.0866: build file dependencies are outdated
Bram Moolenaar <Bram@vim.org>
parents:
15418
diff
changeset
|
33 /* vim: set ft=c : */ |