emacs/lisp/emacs-lisp
Gemini Lasswell d79cf638f2 Rewrite Testcover's internals, fixing several bugs
* lisp/emacs-lisp/testcover.el: Rewrite the internals of Testcover
to analyze instrumented code instead of reinstrumenting it.  Use new
hooks in Edebug to collect code coverage information at runtime
using Edebug's instrumentation.
Includes fixes for: (bug#11307) (bug#24509) (bug#24688) (bug#24743)
(bug#25316) (bug#25326).
(testcover-compose-functions): Remove mapcar.
(testcover-start, testcover-this-defun): Analyze code instead of
reinstrumenting it. Set edebug-behavior for each definition.
(testcover--read, testcover-1value, testcover-reinstrument)
(testcover-reinstrument-list, testcover-reinstrument-compose):
Deleted.
(testcover-after-instrumentation, testcover-init-definition)
(testcover-before): New functions.
(testcover-enter): Change call signature to match edebug-enter.
(testcover-after, testcover-mark): Add handling of 'maybe and
'noreturn.
(testcover-analyze-coverage, testcover-analyze-coverage-progn)
(testcover-analyze-coverage-edebug-after)
(testcover-analyze-coverage-wrapped-form)
(testcover-analyze-coverage-wrapped-application)
(testcover-analyze-coverage-compose)
(testcover-analyze-coverage-backquote)
(testcover-analyze-coverage-backquote-form)
(testcover-coverage-combine): New functions to analyze instrumented
code.

* lisp/emacs-lisp/gv.el: Modify edebug-after's gv-expander to
instrument in the setter as well as the getter.

* test/lisp/emacs-lisp/testcover-tests.el
(testcover-tests-run-test-case): Use `edebug-default-enter'
instead of `edebug-enter' to detect Edebug invocation
during tests.

* test/lisp/emacs-lisp/testcover-resources/testcases.el
(constants-bug-25316)
(customize-defcustom-bug-25326)
(1-value-symbol-bug-25316)
(quotes-within-backquotes-bug-25316)
(backquote-1value-bug-24509)
(pcase-bug-24688)
(defun-in-backquote-bug-11307-and-24743)
(closure-1value-bug)
(backquoted-vector-bug-25316)
(vector-in-macro-spec-bug-25316)
(mapcar-is-not-compose): Remove expected failure tags.
(function-with-edebug-spec-bug-25316): Remove expected failure tag
and modify expected result.
(quoted-backquote): New test.

* lisp/textmodes/rst.el: Remove workarounds for bugs in Testcover.
(rst-testcover-defcustom): Deleted.

* lisp/subr.el (1value): Remove incorrect description of
testcover-1value from docstring, replace with description of
Testcover's treatment of 1value.
2017-10-08 16:08:49 -07:00
..
advice.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
autoload.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
avl-tree.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
backquote.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
benchmark.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
bindat.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
byte-opt.el Mark some functions as pure 2017-09-27 16:32:07 -04:00
byte-run.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
bytecomp.el Raise an error when detecting old-style backquotes. 2017-10-08 18:52:37 +02:00
cconv.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
chart.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
check-declare.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
checkdoc.el * lisp/emacs-lisp/checkdoc.el: cl-defstruct + minor simplifications 2017-10-08 15:44:49 -04:00
cl-extra.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
cl-generic.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
cl-indent.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
cl-lib.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
cl-macs.el * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765) 2017-09-16 07:36:18 -07:00
cl-preloaded.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
cl-print.el ; * lisp/emacs-lisp/cl-print.el (cl-prin1): Whitespace fix. 2017-10-02 13:19:11 -04:00
cl-seq.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
cl.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
copyright.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
crm.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
cursor-sensor.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
debug.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
derived.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
disass.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
easy-mmode.el Add indent spec to easy-mmode macros 2017-09-28 07:52:00 -04:00
easymenu.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
edebug.el Allow Edebug's instrumentation to be used for other purposes 2017-10-08 16:08:49 -07:00
eieio-base.el Fix slot typecheck in eieio-persistent 2017-09-30 16:28:00 -07:00
eieio-compat.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
eieio-core.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
eieio-custom.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
eieio-datadebug.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
eieio-opt.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
eieio-speedbar.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
eieio.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
eldoc.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
elint.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
elp.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
ert-x.el ; Spelling and URL fixes 2017-09-23 00:36:56 -07:00
ert.el Fix ert backtrace saving for non-`signal'ed errors (Bug#28333) 2017-09-28 19:57:24 -04:00
ewoc.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
find-func.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
float-sup.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
generator.el Fix dynamic binding wrapper in iter-lambda (bug#25965) 2017-10-05 12:43:15 -07:00
generic.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
gv.el Rewrite Testcover's internals, fixing several bugs 2017-10-08 16:08:49 -07:00
helper.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
inline.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
let-alist.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
lisp-mnt.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
lisp-mode.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
lisp.el Prefer HTTPS to HTTP for gnu.org 2017-10-01 19:59:01 -07:00
macroexp.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
map-ynp.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
map.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
nadvice.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
package-x.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
package.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
pcase.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
pp.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
radix-tree.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
re-builder.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
regexp-opt.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
regi.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
ring.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
rmc.el Move read-multiple-choice to its own library 2017-10-06 10:42:06 -04:00
rx.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
seq.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
shadow.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
smie.el Fix loading of smie-config rules (Bug#24848) 2017-09-25 19:39:19 -04:00
subr-x.el Move read-multiple-choice to its own library 2017-10-06 10:42:06 -04:00
syntax.el Use a separate syntax-ppss cache for narrowed buffers 2017-09-26 02:52:23 +03:00
tabulated-list.el Fix breakage due to recent change in tabulated-list-print-entry 2017-10-05 17:57:58 +03:00
tcover-ses.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
tcover-unsafep.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
testcover.el Rewrite Testcover's internals, fixing several bugs 2017-10-08 16:08:49 -07:00
thunk.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
timer-list.el Rename timer-list to list-timers 2017-09-19 22:24:23 -04:00
timer.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
tq.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
trace.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
unsafep.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
warnings.el Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00