Mercurial > vim
diff src/macros.h @ 15636:6f1c7e9a6393 v8.1.0826
patch 8.1.0826: too many #ifdefs
commit https://github.com/vim/vim/commit/29ddebef4038d2d2b3bc9d8d3b0109f4046d6fbf
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 26 17:28:26 2019 +0100
patch 8.1.0826: too many #ifdefs
Problem: Too many #ifdefs.
Solution: Graduate FEAT_VIRTUALEDIT. Adds about 10Kbyte to the code.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 26 Jan 2019 17:30:15 +0100 |
parents | 62b3805506b3 |
children | 7fad90423bd2 |
line wrap: on
line diff
--- a/src/macros.h +++ b/src/macros.h @@ -21,27 +21,18 @@ /* * Position comparisons */ -#ifdef FEAT_VIRTUALEDIT -# define LT_POS(a, b) (((a).lnum != (b).lnum) \ +#define LT_POS(a, b) (((a).lnum != (b).lnum) \ ? (a).lnum < (b).lnum \ : (a).col != (b).col \ ? (a).col < (b).col \ : (a).coladd < (b).coladd) -# define LT_POSP(a, b) (((a)->lnum != (b)->lnum) \ +#define LT_POSP(a, b) (((a)->lnum != (b)->lnum) \ ? (a)->lnum < (b)->lnum \ : (a)->col != (b)->col \ ? (a)->col < (b)->col \ : (a)->coladd < (b)->coladd) -# define EQUAL_POS(a, b) (((a).lnum == (b).lnum) && ((a).col == (b).col) && ((a).coladd == (b).coladd)) -# define CLEAR_POS(a) {(a)->lnum = 0; (a)->col = 0; (a)->coladd = 0;} -#else -# define LT_POS(a, b) (((a).lnum != (b).lnum) \ - ? ((a).lnum < (b).lnum) : ((a).col < (b).col)) -# define LT_POSP(a, b) (((a)->lnum != (b)->lnum) \ - ? ((a)->lnum < (b)->lnum) : ((a)->col < (b)->col)) -# define EQUAL_POS(a, b) (((a).lnum == (b).lnum) && ((a).col == (b).col)) -# define CLEAR_POS(a) {(a)->lnum = 0; (a)->col = 0;} -#endif +#define EQUAL_POS(a, b) (((a).lnum == (b).lnum) && ((a).col == (b).col) && ((a).coladd == (b).coladd)) +#define CLEAR_POS(a) {(a)->lnum = 0; (a)->col = 0; (a)->coladd = 0;} #define LTOREQ_POS(a, b) (LT_POS(a, b) || EQUAL_POS(a, b))