fix: qdup/tuck/2swap bugs, getline, and cached word pointers

Co-authored-by: aider (openrouter/moonshotai/kimi-k2.6) <aider@aider.chat>
This commit is contained in:
2026-05-03 21:39:52 +03:00
parent bf3c15ec27
commit b115744991
7 changed files with 106 additions and 89 deletions
+9 -1
View File
@@ -18,7 +18,8 @@ int32_t compile_idx = 0;
int32_t compile_cap = 0;
char compiling_name[MAX_NAME_LEN + 1] = {0};
char input_buf[1024] = {0};
char* input_buf = NULL;
size_t input_buf_cap = 0;
char* input_ptr = NULL;
int64_t *compile_stack = NULL;
@@ -29,6 +30,13 @@ Cell *user_mem = NULL;
int64_t user_mem_size = 0;
Cell* here = NULL;
Word* w_exit = NULL;
Word* w_docolon = NULL;
Word* w_lit = NULL;
Word* w_branch = NULL;
Word* w_zbranch = NULL;
Word* w_dot_quote_inner = NULL;
// ---------- Data stack ----------
void data_push(int64_t val) {
if (data_sp + 1 >= data_cap) {