aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/lib/kvec.h
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2017-12-09 18:47:34 +0100
committerJustin M. Keyes <justinkz@gmail.com>2017-12-09 18:47:34 +0100
commit3cc7ebf8107bddb42a566ede4c2a51818ff623c5 (patch)
treee2f7a79ff73ee7a8e2a292f77fdb0df67485e555 /src/nvim/lib/kvec.h
parentafae4b514183c490737a28f2946def717e78a11c (diff)
parentfbdc3ac4efbc97e2965b6083d429beabe261461c (diff)
downloadrneovim-3cc7ebf8107bddb42a566ede4c2a51818ff623c5.tar.gz
rneovim-3cc7ebf8107bddb42a566ede4c2a51818ff623c5.tar.bz2
rneovim-3cc7ebf8107bddb42a566ede4c2a51818ff623c5.zip
Merge #7234 'built-in expression parser'
Diffstat (limited to 'src/nvim/lib/kvec.h')
-rw-r--r--src/nvim/lib/kvec.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/nvim/lib/kvec.h b/src/nvim/lib/kvec.h
index 584282d773..ee1b890cb9 100644
--- a/src/nvim/lib/kvec.h
+++ b/src/nvim/lib/kvec.h
@@ -62,7 +62,16 @@
#define kv_pop(v) ((v).items[--(v).size])
#define kv_size(v) ((v).size)
#define kv_max(v) ((v).capacity)
-#define kv_last(v) kv_A(v, kv_size(v) - 1)
+#define kv_Z(v, i) kv_A(v, kv_size(v) - (i) - 1)
+#define kv_last(v) kv_Z(v, 0)
+
+/// Drop last n items from kvec without resizing
+///
+/// Previously spelled as `(void)kv_pop(v)`, repeated n times.
+///
+/// @param[out] v Kvec to drop items from.
+/// @param[in] n Number of elements to drop.
+#define kv_drop(v, n) ((v).size -= (n))
#define kv_resize(v, s) \
((v).capacity = (s), \