emacs/test/lisp/emacs-lisp
Philipp Stephani 53dfd85a7f Edebug: Disable backtracking when hitting a &define keyword.
Edebug doesn't deal well with backtracking out of definitions, see
Bug#41988.  Rather than trying to support this rare situation (e.g. by
implementing a multipass parser), prevent it by adding an implicit
gate.

* lisp/emacs-lisp/edebug.el (edebug--match-&-spec-op): Disable
backtracking when hitting a &define keyword.

* test/lisp/emacs-lisp/edebug-tests.el
(edebug-tests-duplicate-&define): New unit test.
(edebug-tests--duplicate-&define): New helper macro.

* doc/lispref/edebug.texi (Backtracking): Mention &define in the list
of constructs that disable backtracking.

* etc/NEWS: Document new behavior.
2021-04-10 18:19:49 +02:00
..
bytecomp-resources Fix spurious "Lexical argument shadows the dynamic variable" due to inlining 2021-01-21 13:15:05 -05:00
edebug-resources * Edebug: Generalize &lookup, use it for cl-macrolet and cl-generic 2021-02-14 21:34:09 -05:00
eieio-tests Update copyright year to 2021 2021-01-01 01:13:56 -08:00
faceup-resources Update copyright year to 2021 2021-01-01 01:13:56 -08:00
faceup-tests Update copyright year to 2021 2021-01-01 01:13:56 -08:00
macroexp-resources * test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): Add case 2021-02-24 18:39:06 -05:00
package-resources Update copyright year to 2021 2021-01-01 01:13:56 -08:00
shadow-resources Use lexical-binding in most remaining emacs-lisp tests 2020-04-30 12:09:51 +02:00
testcover-resources ; Minor license statement fixes 2021-02-08 09:10:57 +01:00
backquote-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
backtrace-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
benchmark-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
bindat-tests.el Bindat: new macro-expansion based data layout language 2021-03-05 19:56:31 -05:00
bytecomp-tests.el Fix condition-case optimiser bug 2021-04-09 19:20:55 +02:00
cconv-tests.el Make lambda-lifting work again 2021-03-05 21:41:58 +01:00
check-declare-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
checkdoc-tests.el Remove duplicated tests in checkdoc-tests.el 2021-03-04 10:13:26 -03:00
cl-extra-tests.el ; Minor license statement fixes 2021-02-08 09:10:57 +01:00
cl-generic-tests.el * Edebug: Generalize &lookup, use it for cl-macrolet and cl-generic 2021-02-14 21:34:09 -05:00
cl-lib-tests.el ; Minor license statement fixes 2021-02-08 09:10:57 +01:00
cl-macs-tests.el Self-TCO in condition-case error handlers 2021-04-09 10:55:37 +02:00
cl-preloaded-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
cl-print-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
cl-seq-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
copyright-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
derived-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
easy-mmode-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
edebug-tests.el Edebug: Disable backtracking when hitting a &define keyword. 2021-04-10 18:19:49 +02:00
ert-tests.el Fix structure of condition object in nested 'ert-fail'. 2021-03-08 14:30:24 +01:00
ert-x-tests.el ; Minor license statement fixes 2021-02-08 09:10:57 +01:00
find-func-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
float-sup-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
generator-tests.el Prefer declare over a put of list-indent-function. 2021-02-22 11:54:17 -05:00
gv-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
hierarchy-tests.el Use lexical-binding in more tests 2020-08-29 22:41:51 +02:00
let-alist-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
lisp-mode-tests.el ; Minor license statement fixes 2021-02-08 09:10:57 +01:00
lisp-tests.el ; Minor license statement fixes 2021-02-08 09:10:57 +01:00
macroexp-tests.el * test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): Add case 2021-02-24 18:39:06 -05:00
map-tests.el Various map.el improvements 2021-03-06 16:00:52 +00:00
memory-report-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
nadvice-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
package-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
pcase-tests.el * lisp/emacs-lisp/pcase.el: Bind all the vars in or patterns 2021-03-01 23:57:56 -05:00
pp-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
regexp-opt-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
ring-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
rmc-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
rx-tests.el Fix pcase 'rx' pattern match-data bug 2021-02-28 13:06:24 +01:00
seq-tests.el Fix recently uncovered 'make check' failures 2021-01-23 23:38:19 +00:00
shadow-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
subr-x-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
syntax-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
tabulated-list-test.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
testcover-tests.el ; Minor license statement fixes 2021-02-08 09:10:57 +01:00
text-property-search-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
thunk-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
timer-tests.el Prefer skip-unless in more tests 2021-01-13 17:39:53 +01:00
unsafep-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
warnings-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00