mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 23:38:17 +00:00
*: Also fix the adjacent errors
This commit is contained in:
@@ -21,43 +21,35 @@
|
||||
|
||||
#define BOOLEAN_OBJ(b) ((Object) { \
|
||||
.type = kObjectTypeBoolean, \
|
||||
.data.boolean = b \
|
||||
})
|
||||
.data.boolean = b })
|
||||
|
||||
#define INTEGER_OBJ(i) ((Object) { \
|
||||
.type = kObjectTypeInteger, \
|
||||
.data.integer = i \
|
||||
})
|
||||
.data.integer = i })
|
||||
|
||||
#define STRING_OBJ(s) ((Object) { \
|
||||
.type = kObjectTypeString, \
|
||||
.data.string = s \
|
||||
})
|
||||
.data.string = s })
|
||||
|
||||
#define BUFFER_OBJ(s) ((Object) { \
|
||||
.type = kObjectTypeBuffer, \
|
||||
.data.buffer = s \
|
||||
})
|
||||
.data.buffer = s })
|
||||
|
||||
#define WINDOW_OBJ(s) ((Object) { \
|
||||
.type = kObjectTypeWindow, \
|
||||
.data.window = s \
|
||||
})
|
||||
.data.window = s })
|
||||
|
||||
#define TABPAGE_OBJ(s) ((Object) { \
|
||||
.type = kObjectTypeTabpage, \
|
||||
.data.tabpage = s \
|
||||
})
|
||||
.data.tabpage = s })
|
||||
|
||||
#define ARRAY_OBJ(a) ((Object) { \
|
||||
.type = kObjectTypeArray, \
|
||||
.data.array = a \
|
||||
})
|
||||
.data.array = a })
|
||||
|
||||
#define DICTIONARY_OBJ(d) ((Object) { \
|
||||
.type = kObjectTypeDictionary, \
|
||||
.data.dictionary = d \
|
||||
})
|
||||
.data.dictionary = d })
|
||||
|
||||
#define NIL ((Object) {.type = kObjectTypeNil})
|
||||
|
||||
|
@@ -22159,7 +22159,6 @@ typval_T eval_call_provider(char *provider, char *method, list_T *arguments)
|
||||
|
||||
bool eval_has_provider(char *name)
|
||||
{
|
||||
|
||||
#define check_provider(name) \
|
||||
if (has_##name == -1) { \
|
||||
has_##name = !!find_func((uint8_t *)"provider#" #name "#Call"); \
|
||||
|
@@ -45,20 +45,22 @@
|
||||
REAL_FATTR_UNUSED; \
|
||||
static inline void kmp_destroy_##name(kmp_##name##_t *mp) { \
|
||||
size_t k; \
|
||||
for (k = 0; k < mp->n; ++k) { \
|
||||
for (k = 0; k < mp->n; k++) { \
|
||||
kmpfree_f(mp->buf[k]); xfree(mp->buf[k]); \
|
||||
} \
|
||||
xfree(mp->buf); xfree(mp); \
|
||||
} \
|
||||
static inline kmptype_t *kmp_alloc_##name(kmp_##name##_t *mp) { \
|
||||
++mp->cnt; \
|
||||
if (mp->n == 0) return xcalloc(1, sizeof(kmptype_t)); \
|
||||
mp->cnt++; \
|
||||
if (mp->n == 0) { \
|
||||
return xcalloc(1, sizeof(kmptype_t)); \
|
||||
} \
|
||||
return mp->buf[--mp->n]; \
|
||||
} \
|
||||
static inline void kmp_free_##name(kmp_##name##_t *mp, kmptype_t *p) { \
|
||||
--mp->cnt; \
|
||||
mp->cnt--; \
|
||||
if (mp->n == mp->max) { \
|
||||
mp->max = mp->max? mp->max<<1 : 16; \
|
||||
mp->max = mp->max ? (mp->max << 1) : 16; \
|
||||
mp->buf = xrealloc(mp->buf, sizeof(kmptype_t *) * mp->max); \
|
||||
} \
|
||||
mp->buf[mp->n++] = p; \
|
||||
@@ -93,8 +95,9 @@
|
||||
REAL_FATTR_UNUSED; \
|
||||
static inline void kl_destroy_##name(kl_##name##_t *kl) { \
|
||||
kl1_##name *p; \
|
||||
for (p = kl->head; p != kl->tail; p = p->next) \
|
||||
for (p = kl->head; p != kl->tail; p = p->next) { \
|
||||
kmp_free(name, kl->mp, p); \
|
||||
} \
|
||||
kmp_free(name, kl->mp, p); \
|
||||
kmp_destroy(name, kl->mp); \
|
||||
xfree(kl); \
|
||||
@@ -102,22 +105,23 @@
|
||||
static inline void kl_push_##name(kl_##name##_t *kl, kltype_t d) { \
|
||||
kl1_##name *q, *p = kmp_alloc(name, kl->mp); \
|
||||
q = kl->tail; p->next = 0; kl->tail->next = p; kl->tail = p; \
|
||||
++kl->size; \
|
||||
kl->size++; \
|
||||
q->data = d; \
|
||||
} \
|
||||
static inline kltype_t kl_shift_at_##name(kl_##name##_t *kl, \
|
||||
kl1_##name **n) { \
|
||||
assert((*n)->next); \
|
||||
kl1_##name *p; \
|
||||
--kl->size; \
|
||||
kl->size--; \
|
||||
p = *n; \
|
||||
*n = (*n)->next; \
|
||||
if (p == kl->head) kl->head = *n; \
|
||||
if (p == kl->head) { \
|
||||
kl->head = *n; \
|
||||
} \
|
||||
kltype_t d = p->data; \
|
||||
kmp_free(name, kl->mp, p); \
|
||||
return d; \
|
||||
} \
|
||||
|
||||
}
|
||||
|
||||
#define kliter_t(name) kl1_##name
|
||||
#define klist_t(name) kl_##name##_t
|
||||
|
@@ -37,28 +37,34 @@
|
||||
// Note that the rbuffer_{produced,consumed} calls are necessary or these macros
|
||||
// create infinite loops
|
||||
#define RBUFFER_UNTIL_EMPTY(buf, rptr, rcnt) \
|
||||
for (size_t rcnt = 0, _r = 1; _r; _r = 0) \
|
||||
for (char *rptr = rbuffer_read_ptr(buf, &rcnt); \
|
||||
for (size_t rcnt = 0, _r = 1; _r; _r = 0) /* NOLINT(readability/braces) */ \
|
||||
for ( /* NOLINT(readability/braces) */ \
|
||||
char *rptr = rbuffer_read_ptr(buf, &rcnt); \
|
||||
buf->size; \
|
||||
rptr = rbuffer_read_ptr(buf, &rcnt))
|
||||
|
||||
#define RBUFFER_UNTIL_FULL(buf, wptr, wcnt) \
|
||||
for (size_t wcnt = 0, _r = 1; _r; _r = 0) \
|
||||
for (char *wptr = rbuffer_write_ptr(buf, &wcnt); \
|
||||
for (size_t wcnt = 0, _r = 1; _r; _r = 0) /* NOLINT(readability/braces) */ \
|
||||
for ( /* NOLINT(readability/braces) */ \
|
||||
char *wptr = rbuffer_write_ptr(buf, &wcnt); \
|
||||
rbuffer_space(buf); \
|
||||
wptr = rbuffer_write_ptr(buf, &wcnt))
|
||||
|
||||
|
||||
// Iteration
|
||||
#define RBUFFER_EACH(buf, c, i) \
|
||||
for (size_t i = 0; i < buf->size; i = buf->size) \
|
||||
for (char c = 0; \
|
||||
for (size_t i = 0; /* NOLINT(readability/braces) */ \
|
||||
i < buf->size; \
|
||||
i = buf->size) \
|
||||
for (char c = 0; /* NOLINT(readability/braces) */ \
|
||||
i < buf->size ? ((int)(c = *rbuffer_get(buf, i))) || 1 : 0; \
|
||||
i++)
|
||||
|
||||
#define RBUFFER_EACH_REVERSE(buf, c, i) \
|
||||
for (size_t i = buf->size; i != SIZE_MAX; i = SIZE_MAX) \
|
||||
for (char c = 0; \
|
||||
for (size_t i = buf->size; /* NOLINT(readability/braces) */ \
|
||||
i != SIZE_MAX; \
|
||||
i = SIZE_MAX) \
|
||||
for (char c = 0; /* NOLINT(readability/braces) */ \
|
||||
i-- > 0 ? ((int)(c = *rbuffer_get(buf, i))) || 1 : 0; \
|
||||
)
|
||||
|
||||
|
@@ -357,8 +357,9 @@ static int nfa_ll_index = 0;
|
||||
# include "regexp_nfa.c.generated.h"
|
||||
#endif
|
||||
|
||||
/* helper functions used when doing re2post() ... regatom() parsing */
|
||||
#define EMIT(c) do { \
|
||||
// Helper functions used when doing re2post() ... regatom() parsing
|
||||
#define EMIT(c) \
|
||||
do { \
|
||||
if (post_ptr >= post_end) { \
|
||||
realloc_post_list(); \
|
||||
} \
|
||||
@@ -2893,8 +2894,7 @@ static nfa_state_T *post2nfa(int *postfix, int *end, int nfa_calc_size)
|
||||
|
||||
#define PUSH(s) st_push((s), &stackp, stack_end)
|
||||
#define POP() st_pop(&stackp, stack); \
|
||||
if (stackp < stack) \
|
||||
{ \
|
||||
if (stackp < stack) { \
|
||||
st_error(postfix, end, p); \
|
||||
xfree(stack); \
|
||||
return NULL; \
|
||||
|
@@ -25,9 +25,9 @@ struct ugrid {
|
||||
|
||||
#define UGRID_FOREACH_CELL(grid, top, bot, left, right, code) \
|
||||
do { \
|
||||
for (int row = top; row <= bot; ++row) { \
|
||||
for (int row = top; row <= bot; row++) { \
|
||||
UCell *row_cells = (grid)->cells[row]; \
|
||||
for (int col = left; col <= right; ++col) { \
|
||||
for (int col = left; col <= right; col++) { \
|
||||
UCell *cell = row_cells + col; \
|
||||
(void)(cell); \
|
||||
code; \
|
||||
|
Reference in New Issue
Block a user