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 Merge remote-tracking branch 'savannah/master' into native-comp 2021-02-17 22:26:28 +01:00
avl-tree.el Doc fixes in avl-tree.el 2021-04-28 19:36:42 +03:00
backquote.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
backtrace.el (backtrace-goto-source-functions): Make it a normal abnormal hook 2021-02-13 10:41:45 -05:00
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 Fix misuses of byte-compile-macro-environment 2021-03-01 12:18:49 -05:00
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 * lisp/emacs-lisp/macroexp.el (macroexp-file-name): New function. 2021-02-24 13:52:45 -05:00
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 Fix copyright years by hand 2021-01-01 00:33:28 -08:00
cl-print.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
cl-seq.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
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 Use lexical-binding in all of lisp/emacs-lisp 2021-01-28 14:42:21 -05:00
cursor-sensor.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
debug.el * lisp/emacs-lisp/debug.el (debug): Fix (bug#47588) 2021-04-18 01:03:43 -04:00
derived.el Introduce an :interactive keyword for `defined-derived-mode' 2021-02-14 12:58:20 +01:00
disass.el Merge remote-tracking branch 'savannah/master' into HEAD 2021-01-02 10:11:15 +01:00
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 * lisp/emacs-lisp/edebug.el (edebug--handle-&-spec-op <&name>): New method 2021-02-13 16:21:53 -05:00
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 Update copyright year to 2021 2021-01-01 01:13:56 -08:00
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 Update copyright year to 2021 2021-01-01 01:13:56 -08:00
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 Update copyright year to 2021 2021-01-01 01:13:56 -08:00
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 Prefer defvar-local in emacs-lisp/*.el 2021-01-31 14:55:53 +01:00
gv.el Fix a few Edebug specifications where code is wrapped in lambdas. 2021-05-17 10:09:43 +02:00
helper.el Use lexical-binding in all of lisp/emacs-lisp 2021-01-28 14:42:21 -05:00
hierarchy.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
inline.el * lisp/emacs-lisp/cconv.el: Improve line-nb info of unused var warnings 2021-02-26 20:24:52 -05:00
let-alist.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
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 * lisp/gnus/gnus-art.el: Fix misuse of standard-value. 2021-02-02 14:39:28 -05:00
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 Update copyright year to 2021 2021-01-01 01:13:56 -08:00
regi.el Use lexical-binding in all of lisp/emacs-lisp 2021-01-28 14:42:21 -05:00
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 Use lexical-binding in all of lisp/emacs-lisp 2021-01-28 14:42:21 -05:00
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 Update copyright year to 2021 2021-01-01 01:13:56 -08:00
timer.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
tq.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
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 Update copyright year to 2021 2021-01-01 01:13:56 -08:00