JEmacs Implementation Status
This is very incomplete and in itself very a work-in-progress.
Think of this as a very incomplete reminder list of what needs
to be done, as well as noting what is working.
ELisp Syntax
;;;###autoload: Works.
save-excursion works.
save-current-buffer works.
unwind-protect works.
ELisp core
Various non-trivial Elisp files compile and load without complaint.
However, that does not necessarily mean they work!
read: Pasring of Emacs-style s-expressions mostly works.
print: Prints in Scheme format.
- Dynamic name scoping (works).
- Buffer-local variables (mostly works).
defmacro doesn't work, for some undetermined reason.
purecopy is just identity. A possible improvement would
force compile-tiem evaluation to a literal.
Strings
format: Framework and most common cases work.
Interaction
- No mini-buffer. (Uses pop-up dialog window where Emacs uses mini-buffer.)
- No each area. (Messages are written on console.)
interactive: Basic framework implemented.
Only string argument implemented. Most specifiers are ignored.
- Selection sets point and mark, but otherwise not handled properly.
call-interactively works.
interactive-p is hardwired to nil.
One possible implementation is to examine the output from
new Throwable().printStackTrace(...).
A possibly-more efficient implementation is to make it a macro for
(eq? (%buffer-current-command) --this-function--).
Common Lisp extensions
- Default values for optional parameters (works).
typep: Basic framework works; only (some) simple type
names work. Any Java fully-qualified Java classname be used as type specifier.
Most type names cause typep to be inlined.
- There is a almost-complete implementation of CL-style
format
which could be made available under the name format*
Per Bothner
Last modified: Mon Jun 19 23:53:37 PDT 2000