summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-12-30 18:38:02 -0800
committerKaz Kylheku <kaz@kylheku.com>2015-12-30 18:38:02 -0800
commitd462db99d38119e5ae8fa983c057bbec21d3d9f7 (patch)
treefecd1aede80cc6d0c0df0e59d4ca3bc3c2b41ba5
parenta80b573c8c26bec0aa8cfd28a05297a88f30337b (diff)
downloadtxr-d462db99d38119e5ae8fa983c057bbec21d3d9f7.tar.gz
txr-d462db99d38119e5ae8fa983c057bbec21d3d9f7.tar.bz2
txr-d462db99d38119e5ae8fa983c057bbec21d3d9f7.zip
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.
-rw-r--r--eval.c2
-rw-r--r--eval.h1
-rw-r--r--parser.c2
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 '[':