1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-07 06:50:23 -08:00
emacs/lisp/emacs-lisp
Mattias Engdegård 40d2970f43 Don't propagate lexical variables into inlined functions
Functions compiled when inlined (thus from inside the optimiser)
mustn't retain the lexical environment of the caller or there will be
tears.  See discussion at
https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg01227.html .

Bug found by Stefan Monnier.

* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
Bind byte-optimize--lexvars to nil when re-entering the compiler
recursively.
* test/lisp/emacs-lisp/bytecomp-resources/bc-test-alpha.el:
* test/lisp/emacs-lisp/bytecomp-resources/bc-test-beta.el: New files.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-defsubst): New test.
2021-05-27 14:16:17 +02:00
..
advice.el Rename feature nativecomp' into native-compile' 2021-05-05 22:27:29 +02:00
autoload.el
avl-tree.el Doc fixes in avl-tree.el 2021-04-28 19:36:42 +03:00
backquote.el
backtrace.el
benchmark.el * lisp/emacs-lisp/benchmark.el (benchmark-call): New function 2021-03-17 19:04:28 -04:00
bindat.el * lisp/emacs-lisp/bindat.el: Allow non-fixed size of strz 2021-04-15 11:28:06 -04:00
byte-opt.el Don't propagate lexical variables into inlined functions 2021-05-27 14:16:17 +02:00
byte-run.el Merge commit '9cbdf20316' into native-comp 2021-03-09 10:03:47 +01:00
bytecomp.el Fix a few Edebug specifications where code is wrapped in lambdas. 2021-05-17 10:09:43 +02:00
cconv.el ; Fix typos: emacs lisp -> Emacs Lisp 2021-04-16 14:54:02 +02:00
chart.el Compute chart-face-list dynamically 2021-03-18 11:15:50 +01:00
check-declare.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
checkdoc.el * lisp/**/*.el: Avoid positional args to define-minor-mode 2021-04-11 23:47:14 -04:00
cl-extra.el
cl-generic.el ; Fix some typos in doc strings and manuals 2021-04-24 18:26:07 +02:00
cl-indent.el ; Fix typos: emacs lisp -> Emacs Lisp 2021-04-16 14:54:02 +02:00
cl-lib.el
cl-macs.el * lisp/emacs-lisp/cl-macs.el (cl-loop): Add missing 'when' to spec 2021-05-22 13:17:00 +02:00
cl-preloaded.el
cl-print.el
cl-seq.el
comp-cstr.el * Improve `comp-normalize-valset' reproducibility (bug#48021) 2021-04-29 21:07:07 +02:00
comp.el Fix native-comp-async-report-warnings-errors :type 2021-05-22 13:22:29 +01:00
copyright.el Allow years in a copyright range to be separated by en dashes. 2021-05-25 14:04:06 +02:00
crm.el
cursor-sensor.el
debug.el * lisp/emacs-lisp/debug.el (debug): Fix (bug#47588) 2021-04-18 01:03:43 -04:00
derived.el
disass.el
easy-mmode.el * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix bug#47925 2021-04-20 19:40:09 -04:00
easymenu.el Clarify obsoletion messages for easy-menu-{add,remove} 2021-04-07 14:33:10 +02:00
edebug.el Reintroduce autoloads for edebug-all-defs/edebug-all-forms 2021-05-09 11:47:01 +02:00
eieio-base.el Don't version-control generated file grammat-wy.el 2021-04-12 22:10:38 -04:00
eieio-compat.el
eieio-core.el * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Use a closure 2021-05-18 17:13:52 -04:00
eieio-custom.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
eieio-datadebug.el
eieio-opt.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
eieio-speedbar.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
eieio.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
eldoc.el Look for ElDoc buffer in all visible frames 2021-05-18 16:31:19 +01:00
elint.el
elp.el Merge from origin/emacs-27 2021-05-04 07:50:25 -07:00
ert-x.el Fix a few Edebug specifications where code is wrapped in lambdas. 2021-05-17 10:09:43 +02:00
ert.el Fix duplicate ":" in ert-find-test-other-window prompt 2021-03-10 04:34:53 +01:00
ewoc.el
faceup.el ; Remove some useless comments 2021-04-16 14:54:02 +02:00
find-func.el * lisp/emacs-lisp/package.el: Fix use of find-library-name 2021-04-26 18:40:09 -04:00
float-sup.el * lisp/emacs-lisp/float-sup.el (pi): Actually mark it as obsolete 2021-04-12 12:53:53 -04:00
generator.el Fix copyright lines mistakenly treated as outline headers 2021-03-18 23:32:57 -04:00
generic.el
gv.el Fix a few Edebug specifications where code is wrapped in lambdas. 2021-05-17 10:09:43 +02:00
helper.el
hierarchy.el
inline.el
let-alist.el
lisp-mnt.el ; Remove some useless comments 2021-04-16 14:54:02 +02:00
lisp-mode.el * lisp/emacs-lisp/lisp-mode.el (lisp-outline-level): Fix imprecise numbers. 2021-05-18 23:35:57 +03:00
lisp.el Don't signal scan-error in interactive sexp-based commands 2021-04-30 17:31:20 +02:00
macroexp.el * lisp/**/*.el: Avoid positional args to define-minor-mode 2021-04-11 23:47:14 -04:00
map-ynp.el Merge from origin/emacs-27 2021-04-25 09:16:09 -07:00
map.el Make (setf (map-elt ...)) return the value in the alist/plist cases 2021-05-06 13:32:04 +02:00
memory-report.el * lisp/emacs-lisp/memory-report.el (memory-report--object-size-1): Simplify 2021-04-12 12:55:52 -04:00
nadvice.el Fix a few Edebug specifications where code is wrapped in lambdas. 2021-05-17 10:09:43 +02:00
package-x.el
package.el Fix a few Edebug specifications where code is wrapped in lambdas. 2021-05-17 10:09:43 +02:00
pcase.el * lisp/emacs-lisp/pcase.el (pcase-compile-patterns): New function (bug#47261) 2021-03-19 17:42:22 -04:00
pp.el Merge from origin/emacs-27 2021-05-04 07:50:25 -07:00
radix-tree.el * lisp/emacs-lisp/pcase.el (pcase-defmacro): Fix pcase-tests-macro 2021-03-03 18:40:03 -05:00
re-builder.el ; Fix recent re-builder doc changes. 2021-05-08 15:07:38 +01:00
regexp-opt.el
regi.el
ring.el ; Remove some useless comments 2021-04-16 14:54:02 +02:00
rmc.el Fix a recent change in rmc.el 2021-05-07 17:09:44 +03:00
rx.el Fix pcase 'rx' patterns with a single named submatch (bug#48477) 2021-05-18 12:34:30 +02:00
seq.el Remove local uniquify functions in favour of seq-uniq 2021-04-05 15:14:19 +02:00
shadow.el
shortdoc.el Fix the length= shortdoc example 2021-05-18 15:36:25 +02:00
smie.el * lisp/emacs-lisp/smie.el: Fix URL. Remove redundant :group args 2021-04-12 13:01:06 -04:00
subr-x.el * lisp/emacs-lisp/subr-x.el (if-let*, if-let): Use looser Edebug spec 2021-05-22 10:21:59 -04:00
syntax.el * lisp/emacs-lisp/syntax.el (syntax-propertize-rules): Use macroexp-let2 2021-03-11 21:47:10 -05:00
tabulated-list.el Don't preserve window-line in tabulated-list-print 2021-04-09 18:25:08 +02:00
tcover-ses.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
testcover.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
text-property-search.el Even further `text-property-search-forward' clarifications 2021-05-12 19:01:53 +02:00
thunk.el Fix a few Edebug specifications where code is wrapped in lambdas. 2021-05-17 10:09:43 +02:00
timer-list.el
timer.el
tq.el
trace.el * lisp/emacs-lisp/trace.el (trace-values): Work outside of traced function 2021-03-02 09:13:57 -05:00
unsafep.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
warnings.el