mirror of
https://github.com/vim/vim.git
synced 2025-09-26 04:04:07 -04:00
patch 9.1.0984: exception handling can be improved
Problem: exception handling can be improved Solution: add v:stacktrace and getstacktrace() closes: #16360 Co-authored-by: Naruhiko Nishino <naru123456789@gmail.com> Signed-off-by: ichizok <gclient.gaap@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
fd771613b3
commit
663d18d610
@@ -63,6 +63,17 @@ typedef struct growarray
|
||||
|
||||
#define GA_EMPTY {0, 0, 0, 0, NULL}
|
||||
|
||||
// On rare systems "char" is unsigned, sometimes we really want a signed 8-bit
|
||||
// value.
|
||||
typedef signed char int8_T;
|
||||
typedef double float_T;
|
||||
|
||||
typedef struct typval_S typval_T;
|
||||
typedef struct listvar_S list_T;
|
||||
typedef struct dictvar_S dict_T;
|
||||
typedef struct partial_S partial_T;
|
||||
typedef struct blobvar_S blob_T;
|
||||
|
||||
typedef struct window_S win_T;
|
||||
typedef struct wininfo_S wininfo_T;
|
||||
typedef struct frame_S frame_T;
|
||||
@@ -1087,6 +1098,7 @@ struct vim_exception
|
||||
struct msglist *messages; // message(s) causing error exception
|
||||
char_u *throw_name; // name of the throw point
|
||||
linenr_T throw_lnum; // line number of the throw point
|
||||
list_T *stacktrace; // stacktrace
|
||||
except_T *caught; // next exception on the caught stack
|
||||
};
|
||||
|
||||
@@ -1447,18 +1459,6 @@ typedef long_u hash_T; // Type for hi_hash
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// On rare systems "char" is unsigned, sometimes we really want a signed 8-bit
|
||||
// value.
|
||||
typedef signed char int8_T;
|
||||
|
||||
typedef double float_T;
|
||||
|
||||
typedef struct typval_S typval_T;
|
||||
typedef struct listvar_S list_T;
|
||||
typedef struct dictvar_S dict_T;
|
||||
typedef struct partial_S partial_T;
|
||||
typedef struct blobvar_S blob_T;
|
||||
|
||||
// Struct that holds both a normal function name and a partial_T, as used for a
|
||||
// callback argument.
|
||||
// When used temporarily "cb_name" is not allocated. The refcounts to either
|
||||
|
Reference in New Issue
Block a user