From d462db99d38119e5ae8fa983c057bbec21d3d9f7 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 30 Dec 2015 18:38:02 -0800 Subject: Fix regression in tab completion. Same issue as with Vim syntax highlighting. * eval.c (mboundp): Externalize static function. * eval.h (mboundp): Declared. * parser.c (find_matching_syms): Expand fboundp check to encompass mboundp and special_operator_p. --- eval.c | 2 +- eval.h | 1 + parser.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/eval.c b/eval.c index 2b1a3ac1..9030976c 100644 --- a/eval.c +++ b/eval.c @@ -3848,7 +3848,7 @@ val fboundp(val sym) return tnil(lookup_fun(nil, sym)); } -static val mboundp(val sym) +val mboundp(val sym) { return tnil(lookup_mac(nil, sym)); } diff --git a/eval.h b/eval.h index 5fc4c516..a94ba9f3 100644 --- a/eval.h +++ b/eval.h @@ -48,6 +48,7 @@ val set_dyn_env(val de); val funcall_interp(val interp_fun, struct args *); val boundp(val sym); val fboundp(val sym); +val mboundp(val sym); val special_operator_p(val sym); val macro_form_p(val form, val menv); val func_get_name(val fun, val env); diff --git a/parser.c b/parser.c index ec59399d..4484eba0 100644 --- a/parser.c +++ b/parser.c @@ -458,7 +458,7 @@ static void find_matching_syms(lino_completions_t *cpl, switch (par) { case '(': - if (!fboundp(sym)) + if (!fboundp(sym) && !mboundp(sym) && !special_operator_p(sym)) continue; break; case '[': -- cgit v1.2.3