diff options
author | Scott Prager <splinterofchaos@gmail.com> | 2014-07-07 08:30:43 -0400 |
---|---|---|
committer | Scott Prager <splinterofchaos@gmail.com> | 2014-11-11 11:34:58 -0500 |
commit | f5aee19ac054f1a3f5359fe36a5290dfd715e000 (patch) | |
tree | dfe238d11ca4fb9dd26746730746ba76ea314d7f /src/nvim/normal.h | |
parent | e450c541ddfe1266d3d56b594f83ab197e747584 (diff) | |
download | rneovim-f5aee19ac054f1a3f5359fe36a5290dfd715e000.tar.gz rneovim-f5aee19ac054f1a3f5359fe36a5290dfd715e000.tar.bz2 rneovim-f5aee19ac054f1a3f5359fe36a5290dfd715e000.zip |
Use bool for flags in oparg_T.
Several opart_T members like use_reg_one, end_adjusted, empty,
is_VIsual, and block_mode, only ever store TRUE or FALSE, so make this
constraint explicit by changing them to bools, and TRUE to true and
FALSE to false in the context of their uses.
The member, inclusive, has several other uses such as in arithmetic
equations and one inequality, but every single assignment (obtained with
'grep -r "inclusive \\="') sets it to either TRUE or FALSE.
This also implies that the inequality, "oap->end.coladd <
oap->inclusive", can only be true when coladd==0 and inclusive==true, so
test for that instead.
For consistency, change the first argument of findpar (which ends up
being inclusive) to bool.
Include stdbool.h for consistency with issue #918.
This commit shrinks the size of oparg_T from 128 bytes to 112 (-13%) on
my machine.
Diffstat (limited to 'src/nvim/normal.h')
-rw-r--r-- | src/nvim/normal.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/nvim/normal.h b/src/nvim/normal.h index 599f4771b9..b71487c30c 100644 --- a/src/nvim/normal.h +++ b/src/nvim/normal.h @@ -1,6 +1,7 @@ #ifndef NVIM_NORMAL_H #define NVIM_NORMAL_H +#include <stdbool.h> #include "nvim/pos.h" #include "nvim/buffer_defs.h" // for win_T @@ -17,11 +18,11 @@ typedef struct oparg_S { int regname; /* register to use for the operator */ int motion_type; /* type of the current cursor motion */ int motion_force; /* force motion type: 'v', 'V' or CTRL-V */ - int use_reg_one; /* TRUE if delete uses reg 1 even when not + bool use_reg_one; /* true if delete uses reg 1 even when not linewise */ - int inclusive; /* TRUE if char motion is inclusive (only + bool inclusive; /* true if char motion is inclusive (only valid when motion_type is MCHAR */ - int end_adjusted; /* backuped b_op_end one char (only used by + bool end_adjusted; /* backuped b_op_end one char (only used by do_format()) */ pos_T start; /* start of the operator */ pos_T end; /* end of the operator */ @@ -29,10 +30,10 @@ typedef struct oparg_S { long line_count; /* number of lines from op_start to op_end (inclusive) */ - int empty; /* op_start and op_end the same (only used by - do_change()) */ - int is_VIsual; /* operator on Visual area */ - int block_mode; /* current operator is Visual block mode */ + bool empty; /* op_start and op_end the same (only used by + op_change()) */ + bool is_VIsual; /* operator on Visual area */ + bool block_mode; /* current operator is Visual block mode */ colnr_T start_vcol; /* start col for block mode operator */ colnr_T end_vcol; /* end col for block mode operator */ long prev_opcount; /* ca.opcount saved for K_CURSORHOLD */ |