emacs/lisp/emacs-lisp
Stefan Monnier 43e67019df Make cconv-analyse understand the need for closures.
* lisp/emacs-lisp/byte-lexbind.el (byte-compile-lforminfo-analyze):
Understand the :fun-body case for catch, save-window-excursion, and
condition-case.
(byte-compile-maybe-push-heap-environment): No need when nclosures is
zero and byte-compile-current-num-closures is -1.

* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Fix `fun' that was not
renamed to `bytecomp-fun'.

* lisp/emacs-lisp/cconv.el (cconv-not-lexical-var-p): New function.
(cconv-freevars): Use it.
(cconv-closure-convert-rec): Avoid `position'.
(cconv-analyse-function): New function.
(cconv-analyse-form): Use it.  `inclosure' can't be nil any more.
Check lexical vars at let-binding time rather than when referenced.
For defuns to be in an empty environment and lambdas to take lexical args.
Pay attention to the need to build closures in catch, unwind-protect,
save-window-excursion, condition-case, and track-mouse.
Fix defconst/defvar handling.
2011-02-11 14:48:54 -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-lexbind.el Make cconv-analyse understand the need for closures. 2011-02-11 14:48:54 -05:00
byte-opt.el Merge from trunk 2011-02-01 12:09:25 -05:00
byte-run.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
bytecomp.el Make cconv-analyse understand the need for closures. 2011-02-11 14:48:54 -05:00
cconv.el Make cconv-analyse understand the need for closures. 2011-02-11 14:48:54 -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 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
cl-extra.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
cl-indent.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
cl-loaddefs.el Update autoloads. 2011-01-28 11:58:04 -05:00
cl-macs.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
cl-seq.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
cl-specs.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -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 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08: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-01 12:09:25 -05:00
eieio-base.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
eieio-comp.el Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
eieio-custom.el Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
eieio-datadebug.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
eieio-opt.el Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
eieio-speedbar.el Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
eieio.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
eldoc.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
elint.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -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 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08: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 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -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 Merge from trunk 2011-02-01 12:09:25 -05:00
lisp.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
macroexp.el Make cconv-analyse understand the need for closures. 2011-02-11 14:48:54 -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 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
pcase.el * lisp/emacs-lisp/cconv.el: New file. 2011-02-10 13:53:49 -05:00
pp.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
re-builder.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08: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 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
smie.el Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08: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