Various small self-host mode fixes.
authorJoel Martin <github@martintribe.org>
Wed, 29 May 2019 03:34:15 +0000 (22:34 -0500)
committerJoel Martin <github@martintribe.org>
Thu, 30 May 2019 02:18:52 +0000 (21:18 -0500)
commit6c4cc8adb209d711e4c45f9872cb65c3104e61fe
treec0e33545d54506f47934945d5071607cf88da157
parent7864f19b1b5ac312f2566e4aa9630365be53efda
Various small self-host mode fixes.

- clojure (cljs): self-host arity fix. Apparently ClojureScript
  functions that have metadata attached only support arity of 20. This
  is problem during self-host because the main EVAL cond macro is 22
  items so it blows up when applied in macroexpand. So we preserve the
  origin unadorned function through to macroexpand and use it there
  instead of the adorned function/macro.
- basic: fix build when in self-host qbasic mode.
- coffee, cs, dart, elisp, hy, rexx, vb: fix self-host reader errs. Preserve
  or extract the correct error message in try*/catch* loops so that it
  works for self-host error message printing as well.
- mal: pathing issue in ./run script that affected the wasm
  implementation path permissions
- miniMAL: remove extraneous command line printing of "nil".
- ps: inc function was not actually defined.
- rust: write warning about missing .mal-history to stderr to fix
  self-host failure in step6.
- wasm: the map function was stopping on nil values; fix the list end
  check. Double the macroexpand stack so that sumdown test in stepA
  tests passes without mac stack overflow.
- yorick: read from /dev/stdin in readline builtin function.
39 files changed:
.travis.yml
Makefile
basic/Makefile
clojure/Makefile
clojure/package.json
clojure/src/mal/step8_macros.cljc
clojure/src/mal/step9_try.cljc
clojure/src/mal/stepA_mal.cljc
coffee/stepA_mal.coffee
cs/step9_try.cs
cs/stepA_mal.cs
dart/step9_try.dart
dart/stepA_mal.dart
elisp/mal/types.el
hy/reader.hy
mal/Makefile
mal/run
miniMAL/stepA_mal.json
ps/stepA_mal.ps
rexx/core.rexx
rexx/reader.rexx
rust/step0_repl.rs
rust/step1_read_print.rs
rust/step2_eval.rs
rust/step3_env.rs
rust/step4_if_fn_do.rs
rust/step5_tco.rs
rust/step6_file.rs
rust/step7_quote.rs
rust/step8_macros.rs
rust/step9_try.rs
rust/stepA_mal.rs
vb/step9_try.vb
vb/stepA_mal.vb
wasm/core.wam
wasm/step8_macros.wam
wasm/step9_try.wam
wasm/stepA_mal.wam
yorick/core.i