emacs/lisp/emacs-lisp
Stefan Monnier 876c194cba Get rid of funvec.
* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Handle new form of
`byte-constant'.
(byte-compile-close-variables, displaying-byte-compile-warnings):
Add edebug spec.
(byte-compile-toplevel-file-form): New fun, split out of
byte-compile-file-form.
(byte-compile-from-buffer): Use it to avoid applying cconv
multiple times.
(byte-compile): Only strip `function' if it's present.
(byte-compile-lambda): Add `reserved-csts' argument.
Use new lexenv arg of byte-compile-top-level.
(byte-compile-reserved-constants): New var.
(byte-compile-constants-vector): Obey it.
(byte-compile-constants-vector): Handle new `byte-constant' form.
(byte-compile-top-level): Add args `lexenv' and `reserved-csts'.
(byte-compile-form): Don't check callargs here.
(byte-compile-normal-call): Do it here instead.
(byte-compile-push-unknown-constant)
(byte-compile-resolve-unknown-constant): Remove, unused.
(byte-compile-make-closure): Use `make-byte-code' rather than `curry',
putting the environment into the "constant" pool.
(byte-compile-get-closed-var): Use special byte-constant.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Handle new
intermediate special form `internal-make-vector'.
(byte-optimize-lapcode): Handle new form of `byte-constant'.
* lisp/help-fns.el (describe-function-1): Don't handle funvecs.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Only convert quote to
function if the content is a lambda expression, not if it's a closure.
* emacs-lisp/eieio-come.el: Remove.
* lisp/emacs-lisp/eieio.el: Don't require eieio-comp.
(defmethod): Do a bit more work to find the body and wrap it into
a function before passing it to eieio-defmethod.
(eieio-defmethod): New arg `code' for it.
* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Don't hide things in
debugger backtrace.
* lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Use backquotes, and be
more careful when quoting a function value.
* lisp/emacs-lisp/cconv.el (cconv-freevars): Accept defvar/defconst.
(cconv-closure-convert-rec): Catch stray `internal-make-closure'.
* lisp/Makefile.in (COMPILE_FIRST): Compile pcase and cconv early.

* src/eval.c (Qcurry): Remove.
(funcall_funvec): Remove.
(funcall_lambda): Move new byte-code handling to reduce impact.
Treat all args as lexical in the case of lexbind.
(Fcurry): Remove.
* src/data.c (Qfunction_vector): Remove.
(Ffunvecp): Remove.
* src/lread.c (read1): Revert to calling make_byte_code here.
(read_vector): Don't call make_byte_code any more.
* src/lisp.h (enum pvec_type): Rename back to PVEC_COMPILED.
(XSETCOMPILED): Rename back from XSETFUNVEC.
(FUNVEC_SIZE): Remove.
(FUNVEC_COMPILED_TAG_P, FUNVEC_COMPILED_P): Remove.
(COMPILEDP): Rename back from FUNVECP.
* src/fns.c (Felt): Remove unexplained FUNVEC check.
* src/doc.c (Fdocumentation): Don't handle funvec.
* src/alloc.c (make_funvec, Ffunvec): Remove.
* doc/lispref/vol2.texi (Top):
* doc/lispref/vol1.texi (Top):
* doc/lispref/objects.texi (Programming Types, Funvec Type, Type Predicates):
* doc/lispref/functions.texi (Functions, What Is a Function, FunctionCurrying):
* doc/lispref/elisp.texi (Top): Remove mentions of funvec and curry.
2011-02-24 22:27:45 -05:00
..
.gitignore Nuke arch-tags. 2011-01-15 15:16:57 -08:00
advice.el Fix help-mode highlighting of advice warning (Bug#6304). 2011-01-28 16:42:11 -05:00
assoc.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
authors.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
autoload.el Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
avl-tree.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
backquote.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
benchmark.el Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
bindat.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
byte-opt.el Get rid of funvec. 2011-02-24 22:27:45 -05:00
byte-run.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
bytecomp.el Get rid of funvec. 2011-02-24 22:27:45 -05:00
cconv.el Get rid of funvec. 2011-02-24 22:27:45 -05:00
chart.el Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
check-declare.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
checkdoc.el Merge changes from emacs-23 branch 2011-02-12 18:40:43 -05:00
cl-extra.el Get rid of funvec. 2011-02-24 22:27:45 -05:00
cl-indent.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
cl-loaddefs.el Get rid of funvec. 2011-02-24 22:27:45 -05:00
cl-macs.el Various compiler bug-fixes. MPC seems to run correctly now. 2011-02-17 16:19:13 -05:00
cl-seq.el Merge changes from emacs-23 branch 2011-02-12 18:40:43 -05:00
cl-specs.el * lisp/emacs-lisp/cl-specs.el (multiple-value-bind): Fix debug spec. 2011-02-10 19:54:12 -08:00
cl.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
copyright.el Undo part of previous copyright.el change. 2011-01-25 09:41:28 -08:00
crm.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
cust-print.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
debug.el Get rid of funvec. 2011-02-24 22:27:45 -05:00
derived.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
disass.el Merge from trunk 2011-02-01 12:09:25 -05:00
easy-mmode.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
easymenu.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
edebug.el Merge from trunk 2011-02-11 21:27:53 -05:00
eieio-base.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
eieio-custom.el Use generated-autoload-file for internal eieio autoloads. 2011-02-18 00:00:08 -08:00
eieio-datadebug.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
eieio-opt.el Use generated-autoload-file for internal eieio autoloads. 2011-02-18 00:00:08 -08:00
eieio-speedbar.el Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
eieio.el Get rid of funvec. 2011-02-24 22:27:45 -05:00
eldoc.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
elint.el elint.el trivia. 2011-02-02 23:27:59 -08:00
elp.el Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
ert-x.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
ert.el Fix ERT. 2011-02-18 15:20:36 +11:00
ewoc.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
find-func.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
find-gc.el Import filemode module from gnulib. 2011-02-20 02:51:50 -08:00
float-sup.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
generic.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
gulp.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
helper.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
lisp-mnt.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
lisp-mode.el * lisp/subr.el (save-window-excursion): New macro, moved from C. 2011-02-19 00:10:33 -05:00
lisp.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
macroexp.el Get rid of funvec. 2011-02-24 22:27:45 -05:00
map-ynp.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
package-x.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
package.el Fix incorrect changes introduced in 2011-02-02T17:59:44Z!sds@gnu.org. 2011-02-18 17:52:58 -05:00
pcase.el Merge from trunk 2011-02-21 17:34:51 -05:00
pp.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
re-builder.el Move keymap initialization into declaration. 2011-02-10 11:56:00 -05:00
regexp-opt.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
regi.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
ring.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
rx.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
shadow.el Merge changes from emacs-23 branch 2011-01-31 18:54:50 -05:00
smie.el * lisp/emacs-lisp/smie.el (smie-blink-matching-open): Don't use `pos' in two 2011-02-10 14:40:17 -05:00
syntax.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
tcover-ses.el Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
tcover-unsafep.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
testcover.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
timer.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
tq.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
trace.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
unsafep.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
warnings.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00