Don't rely on dynamic scoping to fix bug#59213
Rather than look up a dynamically scoped var to decide whether to trim closures, use an ad-hoc marker on those closures which should not be trimmed. * lisp/emacs-lisp/cconv.el (cconv-dont-trim-unused-variables): Delete var. (cconv-make-interpreted-closure): Use a `:closure-dont-trim-context` markers instead. * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): Use `:closure-dont-trim-context` rather than `cconv-dont-trim-unused-variables`. * lisp/emacs-lisp/testcover.el (testcover-analyze-coverage): Remove workaround for `cconv-dont-trim-unused-variables`. * test/lisp/emacs-lisp/cconv-tests.el (cconv-safe-for-space): New test.
This commit is contained in:
parent
2ac8d7e64a
commit
750bc57cbb
4 changed files with 34 additions and 21 deletions
|
@ -442,11 +442,6 @@ or return multiple values."
|
|||
(let ((testcover-vector (get sym 'edebug-coverage)))
|
||||
(testcover-analyze-coverage-progn body)))
|
||||
|
||||
(`(let ((cconv-dont-trim-unused-variables t))
|
||||
(edebug-enter ',sym ,_ (function (lambda nil . ,body))))
|
||||
(let ((testcover-vector (get sym 'edebug-coverage)))
|
||||
(testcover-analyze-coverage-progn body)))
|
||||
|
||||
(`(edebug-after ,(and before-form
|
||||
(or `(edebug-before ,before-id) before-id))
|
||||
,after-id ,wrapped-form)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue