diff options
author | Jurica Bradaric <jbradaric@gmail.com> | 2017-07-25 18:53:47 +0200 |
---|---|---|
committer | Jurica Bradaric <jbradaric@gmail.com> | 2017-07-25 19:06:23 +0200 |
commit | 09470eb673e7582e6103173754fff85ee0e1d232 (patch) | |
tree | e1b8e8789aa280563e5c5958b63a27638551ba0e /src/nvim/ex_eval.h | |
parent | 5a0acd09c106fb3cee4243aa366ee1eff04776fd (diff) | |
download | rneovim-09470eb673e7582e6103173754fff85ee0e1d232.tar.gz rneovim-09470eb673e7582e6103173754fff85ee0e1d232.tar.bz2 rneovim-09470eb673e7582e6103173754fff85ee0e1d232.zip |
vim-patch:8.0.0075
Problem: Using number for exception type lacks type checking.
Solution: Use an enum.
https://github.com/vim/vim/commit/8a5883b7488e492419dde7e1637cc72f2d566ba4
Diffstat (limited to 'src/nvim/ex_eval.h')
-rw-r--r-- | src/nvim/ex_eval.h | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/nvim/ex_eval.h b/src/nvim/ex_eval.h index f61e01d25b..d5f8737bf3 100644 --- a/src/nvim/ex_eval.h +++ b/src/nvim/ex_eval.h @@ -89,28 +89,29 @@ struct msglist { struct msglist *next; /* next of several messages in a row */ }; +// The exception types. +typedef enum +{ + ET_USER, // exception caused by ":throw" command + ET_ERROR, // error exception + ET_INTERRUPT // interrupt exception triggered by Ctrl-C +} except_type_T; + /* * Structure describing an exception. * (don't use "struct exception", it's used by the math library). */ typedef struct vim_exception except_T; struct vim_exception { - int type; /* exception type */ - char_u *value; /* exception value */ - 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 */ - except_T *caught; /* next exception on the caught stack */ + except_type_T type; // exception type + char_u *value; // exception value + 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 + except_T *caught; // next exception on the caught stack }; /* - * The exception types. - */ -#define ET_USER 0 /* exception caused by ":throw" command */ -#define ET_ERROR 1 /* error exception */ -#define ET_INTERRUPT 2 /* interrupt exception triggered by Ctrl-C */ - -/* * Structure to save the error/interrupt/exception state between calls to * enter_cleanup() and leave_cleanup(). Must be allocated as an automatic * variable by the (common) caller of these functions. |