zmacs: use `defsubr` to define built-in function written in Lua.

* lib/zmacs/eval.lua (Defun, Defvar): Rename from these...
(defsubr, defvar): ...to these.
* lib/zmacs/zlc (defvar): Generate a call to Lua's defvar.
(defun): Rename from this...
(defsubr): ...to this.  Generate a call te Lua's defsubr.
Adjust all callers.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
zlc: don't record source files for symbols defined in Lua.

* lib/zmacs/zlc (defsubr, defvar): Omit source parameter from
output.
(cur_file): Factored away.
* lib/zmacs/eval.lua (defsubr, defvar): Remove source parameter.
Don't store source in symbol plist.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
zlisp: remove undefined `define` symbol.

* lib/zile/zlisp.lua (define): Remove.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
refactor: reorganise zlisp import symbols for cleaner LDocs.

* lib/zile/zlisp.lua (Cons, Symbol, intern, intern_soft)
(mapatoms): Put declarations and documentation together.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
zlc: improve defsubr syntax and generation.

* lib/zile/zlisp.lua (consp): Re-export Cons.consp.
* lib/zmacs/zlc (defsubr): Generate a min/max argument pair by
scanning the initial lisp parameter list. Output a defsubr
call with min/max arguments instead of unused argument types
list.
* lib/zmacs/eval.lua (defsubr): Replace unused argtypes
parameter with new min and max parameters.
Don't store "marshall-argtypes" property on function symbol.
(marshaller): Remove remaining argtypes cruft.
* lib/zmacs/zlisp/bind.zl, lib/zmacs/zlisp/buffer.zl,
lib/zmacs/zlisp/edit.zl, lib/zmacs/zlisp/file.zl,
lib/zmacs/zlisp/help.zl, lib/zmacs/zlisp/killring.zl,
lib/zmacs/zlisp/line.zl, lib/zmacs/zlisp/lisp.zl,
lib/zmacs/zlisp/macro.zl, lib/zmacs/zlisp/marker.zl,
lib/zmacs/zlisp/minibuf.zl, lib/zmacs/zlisp/move.zl,
lib/zmacs/zlisp/registers.zl, lib/zmacs/zlisp/search.zl,
lib/zmacs/zlisp/undo.zl, lib/zmacs/zlisp/variables.zl,
lib/zmacs/zlisp/window.zl: Simplify all defsubr definitions by
replacing typelist with parameter spec argument from lambda
statement, and then remove lambdas.
* lib/zmacs/zlc (lambda): Remove.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>