emacs/test/lisp/emacs-lisp
Stefan Monnier c244d4af57 cconv.el: Fix interactive closure bug#51695
Make cconv.el detect when a closure's interactive form needs to
capture variables from the context and tweak the code accordingly
if so.

* lisp/emacs-lisp/cconv.el (cconv--interactive-form-funs): New var.
(cconv-convert): Handle the case where the interactive form captures
vars from the surrounding context.  Remove left over handling of
`declare` which was already removed from the cconv-analyze` phase.
(cconv-analyze-form): Adjust analysis of interactive forms accordingly.

* lisp/emacs-lisp/oclosure.el (cconv--interactive-helper): New type and
function.
* lisp/simple.el (function-documentation, oclosure-interactive-form):
Add methods for it.

* test/lisp/emacs-lisp/cconv-tests.el
(cconv-tests-interactive-closure-bug51695): New test.
2022-09-23 16:36:16 -04:00
..
bytecomp-resources Don't rewrite set to setq of lexical variables 2022-09-22 14:54:15 +02:00
edebug-resources ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
eieio-tests Silence byte-compiler in eieio tests 2022-01-03 05:00:11 +01:00
faceup-resources ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
faceup-tests ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
macroexp-resources ; Add 2022 to copyright years. 2022-01-01 07:07:15 -05:00
package-resources Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
pp-resources Fix pp-emacs-lisp-code printing of cons cells 2022-05-17 19:45:20 +02:00
shadow-resources Use lexical-binding in most remaining emacs-lisp tests 2020-04-30 12:09:51 +02:00
testcover-resources Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
backquote-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
backtrace-tests.el Prefer pos-bol and pos-eol in tests 2022-08-21 17:45:04 +02:00
benchmark-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
bindat-tests.el bindat (strz): Null terminate fixed-length strings if there is room 2022-06-22 16:55:40 +03:00
bytecomp-tests.el Don't rewrite set to setq of lexical variables 2022-09-22 14:54:15 +02:00
cconv-tests.el cconv.el: Fix interactive closure bug#51695 2022-09-23 16:36:16 -04:00
check-declare-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
checkdoc-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
cl-extra-tests.el test: Remove redundant "" arg to mapconcat 2022-09-08 16:08:42 -04:00
cl-generic-tests.el cl-generic-tests.el: Fix warning 2022-01-18 16:53:28 -05:00
cl-lib-tests.el cl-symbol-macrolet: Fix recent regression 2022-09-06 00:08:35 -04:00
cl-macs-tests.el Improve check for misleading 'cl-case' cases (Bug#57915). 2022-09-19 13:34:51 +02:00
cl-preloaded-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
cl-print-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
cl-seq-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
comp-cstr-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
copyright-tests.el Fix copyright-fix-years, use a dash to separate years in a range 2022-01-28 15:23:05 +01:00
derived-tests.el ; * test/lisp/emacs-lisp/derived-tests.el: Silence byte-compiler. 2022-01-26 00:44:00 +01:00
easy-mmode-tests.el Move buffer-local-set-state to subr because it's used at runtime 2022-05-06 16:09:38 +02:00
edebug-tests.el Don't bind `s' in the normal backtrace map 2022-09-09 19:29:21 +02:00
ert-tests.el Fix EMBA failure for ert-test-record-backtrace 2022-03-12 22:40:49 +01:00
ert-x-tests.el ert-x: New `ert-with-test-buffer-selected' convenience macro 2022-09-11 13:46:30 +02:00
find-func-tests.el Prefer pos-bol and pos-eol in tests 2022-08-21 17:45:04 +02:00
float-sup-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
generator-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
gv-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
hierarchy-tests.el Use lexical-binding in more tests 2020-08-29 22:41:51 +02:00
icons-tests.el Add support for user-customizable icons 2022-07-28 14:39:38 +02:00
let-alist-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
lisp-mnt-tests.el ; Copyright year fixes 2022-01-01 10:02:17 -08:00
lisp-mode-tests.el Disable a lisp-mode test that now fails 2022-08-23 12:49:13 +02:00
lisp-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
macroexp-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
map-tests.el Mark a few more map tests as unstable on Emacs 28 (Bug#46722). 2022-01-15 12:40:09 +01:00
memory-report-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
multisession-tests.el ; Add 2022 to copyright years. 2022-01-01 07:07:15 -05:00
nadvice-tests.el * test/lisp/emacs-lisp/nadvice-tests.el: Re-add no-byte-compile. 2022-08-08 13:47:15 +02:00
oclosure-tests.el (oclosure-test-limits): Fix test failure when interpreted 2022-06-26 13:15:15 -04:00
package-tests.el Consider built-in packages to be installed 2022-08-02 12:14:09 +02:00
pcase-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
pp-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
range-tests.el Reduce code duplication in parts of (auto)load&defalias 2022-01-28 13:19:11 -05:00
regexp-opt-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ring-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
rmc-tests.el Make `?' work again in read-multiple-choice 2022-03-17 12:55:39 +01:00
rx-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
seq-tests.el Add new function `seq-positions' 2022-09-04 13:21:59 +02:00
shadow-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
shortdoc-tests.el Test that buffer exists in shortdoc-all-groups-work 2022-01-04 03:52:42 +01:00
subr-x-tests.el Fix off-by-one error in string-truncate-left 2022-07-23 08:58:53 +02:00
syntax-tests.el Remove no-byte-compile cookie from some libraries 2022-08-08 11:50:33 +02:00
tabulated-list-tests.el ; Fix tabulated-list-mode tests after revert 2022-01-11 06:17:59 +01:00
testcover-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
text-property-search-tests.el Make two text-property-search tests easier to read 2022-06-29 13:54:51 +02:00
thunk-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
timer-tests.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
unsafep-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
vtable-tests.el Add a new library to format variable-pitch tables 2022-02-19 13:16:28 +01:00
warnings-tests.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00