|
@@ -150,7 +150,6 @@ struct _qi_value_t {
|
|
|
} value;
|
|
|
};
|
|
|
|
|
|
-
|
|
|
#define QI_DEFAULT_RLIMIT 1000
|
|
|
|
|
|
struct _qi_state_t {
|
|
@@ -234,7 +233,7 @@ struct _qi_trap_t {
|
|
|
if (setjmp(trap->label)) { \
|
|
|
qi_unset_trap(state, trap); \
|
|
|
if (trap->finally) \
|
|
|
- qi_add_local_defer(state, 0, trap->finally); \
|
|
|
+ qi_add_local_defer(state, 0, trap->finally); \
|
|
|
handle; \
|
|
|
if (trap->finally) { \
|
|
|
qi_pop_defer(state, 0); \
|
|
@@ -256,9 +255,9 @@ struct _qi_symbol_t {
|
|
|
qi_bool is_constant;
|
|
|
};
|
|
|
|
|
|
-#define qi_set(state, is_pf, name, value) \
|
|
|
+#define qi_set(state, is_pf, name, value) \
|
|
|
(_qi_set((state), is_pf, false, (name), (value)))
|
|
|
-#define qi_bind(state, is_pf, name, value) \
|
|
|
+#define qi_bind(state, is_pf, name, value) \
|
|
|
(_qi_set((state), is_pf, true, (name), (value)))
|
|
|
|
|
|
#define qi_length(state, value) \
|
|
@@ -340,11 +339,11 @@ struct _qi_symbol_t {
|
|
|
|
|
|
#define LOCKED(value, code) \
|
|
|
{ \
|
|
|
- if ((value)->mutex) \
|
|
|
- qi_mutex_lock((value)->mutex); \
|
|
|
+ if ((value)->mutex) \
|
|
|
+ qi_mutex_lock((value)->mutex); \
|
|
|
code; \
|
|
|
- if ((value)->mutex) \
|
|
|
- qi_mutex_unlock((value)->mutex); \
|
|
|
+ if ((value)->mutex) \
|
|
|
+ qi_mutex_unlock((value)->mutex); \
|
|
|
}
|
|
|
|
|
|
void *qi_malloc(qi_size_t size);
|
|
@@ -370,9 +369,12 @@ qi_table_t *qi_table_set(qi_table_t *table, char *key, void *value);
|
|
|
qi_list_t *qi_table_keys(qi_table_t *table);
|
|
|
qi_bool qi_table_delete(qi_table_t *table, char *key);
|
|
|
qi_table_t *qi_table_copy(qi_table_t *table);
|
|
|
-void _qi_add_defer(qi_state_t *state, qi_ssize_t index, qi_defer_t defer, qi_bool is_local);
|
|
|
-#define qi_add_defer(state, index, defer) (_qi_add_defer((state), (index), (defer), false))
|
|
|
-#define qi_add_local_defer(state, index, defer) (_qi_add_defer((state), (index), (defer), true))
|
|
|
+void _qi_add_defer(qi_state_t *state, qi_ssize_t index, qi_defer_t defer,
|
|
|
+ qi_bool is_local);
|
|
|
+#define qi_add_defer(state, index, defer) \
|
|
|
+ (_qi_add_defer((state), (index), (defer), false))
|
|
|
+#define qi_add_local_defer(state, index, defer) \
|
|
|
+ (_qi_add_defer((state), (index), (defer), true))
|
|
|
qi_defer_t qi_pop_defer(qi_state_t *state, qi_ssize_t index);
|
|
|
void qi_new_scope(qi_state_t *state);
|
|
|
void qi_new_sticky_scope(qi_state_t *state);
|
|
@@ -397,8 +399,8 @@ qi_value_t *qi_make_data(qi_state_t *state, unsigned int tag, void *data);
|
|
|
qi_value_t *qi_add_pseudomethod(qi_state_t *state, char *name, qi_size_t pargc,
|
|
|
qi_handle_t handle);
|
|
|
qi_value_t *qi_get_method(qi_state_t *state, qi_value_t *value, char *name);
|
|
|
-qi_value_t *qi_call_meta(qi_state_t *state, qi_bool *fail_flag, qi_value_t *value,
|
|
|
- char *name, qi_size_t count, ...);
|
|
|
+qi_value_t *qi_call_meta(qi_state_t *state, qi_bool *fail_flag,
|
|
|
+ qi_value_t *value, char *name, qi_size_t count, ...);
|
|
|
char *_qi_type(qi_state_t *state, qi_value_t *value);
|
|
|
char *_qi_repr(qi_state_t *state, qi_list_t *tempstack, qi_value_t *value,
|
|
|
qi_bool quote);
|