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
Noam Postavsky ce48658191 Fix command repetition with lexical-binding (Bug#29334)
`call-interactively' relies on analyzing the source of `interactive'
forms in order to preserve arguments like (region-end) in the command
history, rather than just storing the resulting position.  However,
the byte-compiler does not preserve the source of the interactive form
when lexical-binding is in effect, because `call-interactively' would
evaluate the form with dynamic binding in that case.

To fix this, change `call-interactively' so that it checks compiled
functions for lexical-binding as well.  Then the byte-compiler can
preserve the source of interactive forms regardless of the value of
lexical-binding.

* src/callint.c (Fcall_interactively): Functions compiled with
lexical-binding have their arglist encoded as an integer, use this to
choose the right kind of binding for compiled functions too.
* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Preserve the
uncompiled form of the interactive form when lexical-binding is
enabled too.
2018-01-03 20:51:28 -05:00
..
advice.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
autoload.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
avl-tree.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
backquote.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
benchmark.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
bindat.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
byte-opt.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
byte-run.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
bytecomp.el Fix command repetition with lexical-binding (Bug#29334) 2018-01-03 20:51:28 -05:00
cconv.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
chart.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
check-declare.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
checkdoc.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
cl-extra.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
cl-generic.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
cl-indent.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
cl-lib.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
cl-macs.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
cl-preloaded.el Fix copyright years by hand 2018-01-01 01:02:09 -08:00
cl-print.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
cl-seq.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
cl.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
copyright.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
crm.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
cursor-sensor.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
debug.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
derived.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
disass.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
easy-mmode.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
easymenu.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
edebug.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
eieio-base.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
eieio-compat.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
eieio-core.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
eieio-custom.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
eieio-datadebug.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
eieio-opt.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
eieio-speedbar.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
eieio.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
eldoc.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
elint.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
elp.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
ert-x.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
ert.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
ewoc.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
faceup.el Update copyright year to 2018 2018-01-01 01:25:56 -08:00
find-func.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
float-sup.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
generator.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
generic.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
gv.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
helper.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
inline.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
let-alist.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
lisp-mnt.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
lisp-mode.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
lisp.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
macroexp.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
map-ynp.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
map.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
nadvice.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
package-x.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
package.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
pcase.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
pp.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
radix-tree.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
re-builder.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
regexp-opt.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
regi.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
ring.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
rmc.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
rx.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
seq.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
shadow.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
smie.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
subr-x.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
syntax.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
tabulated-list.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
tcover-ses.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
tcover-unsafep.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
testcover.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
thunk.el Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
timer-list.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
timer.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
tq.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
trace.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
unsafep.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
warnings.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00