diff options
Diffstat (limited to 'parser.c')
-rw-r--r-- | parser.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -418,7 +418,7 @@ static void provide_completions(const char *data, void *ctx) { const char *gly = "!$%&*+-<=>?\\_~/"; - const char *ptr = data + strlen(data) - 1; + const char *ptr = data[0] ? data + strlen(data) - 1 : 0; const char *sym = 0, *pkg = 0; const char *end; val keyword = nil; @@ -426,6 +426,9 @@ static void provide_completions(const char *data, (void) ctx; + if (!ptr) + return; + while ((isalnum(*ptr) || strchr(gly, *ptr)) && (sym = ptr) && ptr > data) ptr--; |