diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-09-10 07:08:07 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-09-10 07:08:07 -0700 |
commit | cbf8c45bc7e737a849b62d4c2283aae11a3010e1 (patch) | |
tree | 80327ad951250d5966c4480b8fbb38baa8e5129e /eval.c | |
parent | e046e1890f4655478a99fa7c1cb078eefdc54e00 (diff) | |
download | txr-cbf8c45bc7e737a849b62d4c2283aae11a3010e1.tar.gz txr-cbf8c45bc7e737a849b62d4c2283aae11a3010e1.tar.bz2 txr-cbf8c45bc7e737a849b62d4c2283aae11a3010e1.zip |
Don't scan C source code for Lisp symbols.
* eval.c (eval_init): Register package-alist, package-name
and package-symbols intrinsics.
* genvim.txr: Rather than scanning C sources for TXR Lisp
symbols, iterate over the packages and their symbols,
collecting anything which has a binding or is self-evaluating.
To get the stdlib symbols, we trigger the autoloads by doing
boundp queries on a few symbols.
* txr.1: Document package-alist, package-name and
package-symbols.
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -4441,6 +4441,9 @@ void eval_init(void) reg_fun(intern(lit("make-package"), user_package), func_n1(make_package)); reg_fun(intern(lit("find-package"), user_package), func_n1(find_package)); reg_fun(intern(lit("delete-package"), user_package), func_n1(delete_package)); + reg_fun(intern(lit("package-alist"), user_package), func_n0(package_alist)); + reg_fun(intern(lit("package-name"), user_package), func_n1(package_name)); + reg_fun(intern(lit("package-symbols"), user_package), func_n1(package_symbols)); reg_fun(intern(lit("intern"), user_package), func_n2o(intern, 1)); reg_fun(intern(lit("rehome-sym"), user_package), func_n2o(rehome_sym, 1)); reg_fun(intern(lit("symbolp"), user_package), func_n1(symbolp)); |