emacs/lisp/emacs-lisp
Stefan Monnier e85ebb3d82 (macroexp--unfold-lambda): Obey the lexbind semantics
While at it, rework the code so as not to rely on an
intermediate rewriting of (funcall (lambda ..) ...)
to ((lambda ..) ...) since that forms is deprecated.

* lisp/emacs-lisp/byte-opt.el (byte-optimize-funcall): Unfold lambdas
instead of turning them into the deprecated ((lambda ..) ..).
(byte-optimize-form-code-walker): Don't unfold ((lambda ..) ..) any more.
(byte-compile-inline-expand): Revert to non-optimized call if the unfolding
can't be optimized.

* lisp/emacs-lisp/bytecomp.el (byte-compile-form): Don't unfold
((lambda ..) ..) any more.

* lisp/emacs-lisp/cl-macs.el (cl--slet): Remove workaround.

* lisp/emacs-lisp/disass.el (disassemble): Make sure the code is
compiled with its own `lexical-binding` value.

* lisp/emacs-lisp/macroexp.el (macroexp--unfold-lambda): Make it work
both for ((lambda ..) ..) and for (funcall #'(lambda ..) ..).
Be careful not to move dynbound vars from `lambda` to `let`.
(macroexp--expand-all): Unfold (funcall #'(lambda ..) ..) instead of
turning it into ((lambda ..) ..).  Don't unfold ((lambda ..) ..) any more.
2023-06-24 17:53:41 -04:00
..
advice.el Fix an oversight in advice.el 2023-01-19 22:13:25 +02:00
avl-tree.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
backquote.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
backtrace.el Fix interactive forms in some Lisp packages 2023-05-06 11:29:58 +03:00
benchmark.el ; * lisp/emacs-lisp/benchmark.el (benchmark-progn): Fix declare form. 2023-05-18 17:20:36 +03:00
bindat.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
byte-opt.el (macroexp--unfold-lambda): Obey the lexbind semantics 2023-06-24 17:53:41 -04:00
byte-run.el Use mutate-constant as warning identifier 2023-05-13 14:30:59 +02:00
bytecomp.el (macroexp--unfold-lambda): Obey the lexbind semantics 2023-06-24 17:53:41 -04:00
cconv.el Don't modify interactive closures destructively (Bug#60974). 2023-03-06 20:28:20 +05:30
chart.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
check-declare.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
checkdoc.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cl-extra.el Adjust side-effect-free declarations 2023-04-09 16:45:40 +02:00
cl-generic.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cl-indent.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cl-lib.el Adjust side-effect-free declarations 2023-04-09 16:45:40 +02:00
cl-macs.el (macroexp--unfold-lambda): Obey the lexbind semantics 2023-06-24 17:53:41 -04:00
cl-preloaded.el comp: Account non builtin types in type hierarchy 2023-05-23 16:39:05 +02:00
cl-print.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cl-seq.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
comp-cstr.el Merge from origin/emacs-29 2023-06-10 06:42:43 -04:00
comp.el Merge from origin/emacs-29 2023-06-10 06:42:43 -04:00
copyright.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
crm.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cursor-sensor.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
debug-early.el * lisp/emacs-lisp/debug-early.el (debug-early-backtrace): Fix bug#61847 2023-03-01 12:31:09 -05:00
debug.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
derived.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
disass.el (macroexp--unfold-lambda): Obey the lexbind semantics 2023-06-24 17:53:41 -04:00
easy-mmode.el Merge from origin/emacs-29 2023-06-24 06:57:25 -04:00
easymenu.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
edebug.el Remove useless unwind-protect forms, or make them useful as intended 2023-04-07 19:08:33 +02:00
eieio-base.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eieio-core.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eieio-custom.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eieio-datadebug.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eieio-opt.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eieio-speedbar.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eieio.el Styled quotes in compiler warnings 2023-01-03 18:39:06 +01:00
eldoc.el Eldoc: don't overdisplay if using eldoc-documentation-compose 2023-04-13 17:42:37 +01:00
elint.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
elp.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ert-x.el Tweak ert-remote-temporary-file-directory in tests 2023-04-09 20:28:32 +01:00
ert.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ewoc.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
faceup.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
find-func.el Don't truncate filenames with "emacs.el" in them 2023-06-20 16:35:09 +03:00
float-sup.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
generate-lisp-file.el * Fix previous change 2023-02-13 17:07:25 +01:00
generator.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
generic.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
gv.el * lisp/emacs-lisp/gv.el: Silly typo 2023-04-20 15:51:44 -04:00
helper.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
hierarchy.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
icons.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
inline.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
let-alist.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
lisp-mnt.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
lisp-mode.el Call them “bracket expressions” more consistently 2023-06-19 11:09:00 -07:00
lisp.el Merge branch 'emacs-29' 2023-05-10 11:18:43 -04:00
loaddefs-gen.el Ensure that EXTRA-DATA are always written when generating autoloads 2023-05-12 09:41:55 +02:00
macroexp.el (macroexp--unfold-lambda): Obey the lexbind semantics 2023-06-24 17:53:41 -04:00
map-ynp.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
map.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
memory-report.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
multisession.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
nadvice.el Avoid using `(lambda ...) to build function values 2023-06-14 17:06:37 -04:00
oclosure.el nadvice: Fix bug#61179 2023-02-04 11:23:31 -05:00
package-vc.el Merge from origin/emacs-29 2023-05-18 07:49:49 -04:00
package-x.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
package.el Merge from origin/emacs-29 2023-06-10 06:42:43 -04:00
pcase.el Styled quotes in compiler warnings 2023-01-03 18:39:06 +01:00
pp.el pp-fill: Fix tests breakage 2023-06-17 18:05:33 -04:00
radix-tree.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
range.el ; * lisp/emacs-lisp/range.el: Fix some typos 2023-01-28 17:30:42 +01:00
re-builder.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
regexp-opt.el Add more function declarations 2023-05-26 13:57:02 +02:00
regi.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ring.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
rmc.el Fix invocation of File->Close from the menu bar 2023-02-19 11:29:32 +02:00
rx.el Add more function declarations 2023-05-26 13:57:02 +02:00
seq.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
shadow.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
shortdoc.el Merge from origin/emacs-29 2023-06-24 07:13:42 -04:00
shorthands.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
smie.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
subr-x.el Delete eval-command-interactive-spec 2023-06-21 13:26:09 +01:00
syntax.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
tabulated-list.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
tcover-ses.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
testcover.el Don't rely on dynamic scoping to fix bug#59213 2023-02-18 12:56:24 -05:00
text-property-search.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
thunk.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
timer-list.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
timer.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
tq.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
trace.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
unsafep.el Fix unsafep for aliases to side-effect-free functions 2023-02-24 16:53:32 +01:00
vtable.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
warnings.el Fix display of warnings on w32 console 2023-01-17 15:44:51 +02:00