aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Yavner2003-03-28 16:45:19 +0000
committerJonathan Yavner2003-03-28 16:45:19 +0000
commit7119cefec2c8037cf5d8797932c106f19b235304 (patch)
treedf36c529607340f727bfbbdf328ff19f2efa61f3
parent95a39dc55e6ca986eee3d517432957598f557de1 (diff)
downloademacs-7119cefec2c8037cf5d8797932c106f19b235304.tar.gz
emacs-7119cefec2c8037cf5d8797932c106f19b235304.zip
No error when marking functions whose body just returns a constant. Handle
screwy top-level macros that create functions and store them as properties of symbols. Support for CL's function* macro.
-rw-r--r--lisp/emacs-lisp/testcover.el30
1 files changed, 15 insertions, 15 deletions
diff --git a/lisp/emacs-lisp/testcover.el b/lisp/emacs-lisp/testcover.el
index 8287611aa61..ecd0cc31acc 100644
--- a/lisp/emacs-lisp/testcover.el
+++ b/lisp/emacs-lisp/testcover.el
@@ -87,9 +87,9 @@ these. This list is quite incomplete!"
87(defcustom testcover-1value-functions 87(defcustom testcover-1value-functions
88 '(backward-char barf-if-buffer-read-only beginning-of-line 88 '(backward-char barf-if-buffer-read-only beginning-of-line
89 buffer-disable-undo buffer-enable-undo current-global-map deactivate-mark 89 buffer-disable-undo buffer-enable-undo current-global-map deactivate-mark
90 delete-char delete-region ding error forward-char insert insert-and-inherit 90 delete-char delete-region ding error forward-char function* insert
91 kill-all-local-variables lambda mapc narrow-to-region noreturn push-mark 91 insert-and-inherit kill-all-local-variables lambda mapc narrow-to-region
92 put-text-property run-hooks set-text-properties signal 92 noreturn push-mark put-text-property run-hooks set-text-properties signal
93 substitute-key-definition suppress-keymap throw undo use-local-map while 93 substitute-key-definition suppress-keymap throw undo use-local-map while
94 widen yank) 94 widen yank)
95 "Functions that always return the same value. No brown splotch is shown 95 "Functions that always return the same value. No brown splotch is shown
@@ -403,31 +403,31 @@ eliminated by adding more test cases."
403 ov j item) 403 ov j item)
404 (or (and def-mark points coverage) 404 (or (and def-mark points coverage)
405 (error "Missing edebug data for function %s" def)) 405 (error "Missing edebug data for function %s" def))
406 (set-buffer (marker-buffer def-mark)) 406 (when len
407 (mapc 'delete-overlay (overlays-in def-mark 407 (set-buffer (marker-buffer def-mark))
408 (+ def-mark (aref points (1- len)) 1))) 408 (mapc 'delete-overlay
409 (while (> len 0) 409 (overlays-in def-mark (+ def-mark (aref points (1- len)) 1)))
410 (setq len (1- len) 410 (while (> len 0)
411 data (aref coverage len)) 411 (setq len (1- len)
412 (when (and (not (eq data 'ok-coverage)) 412 data (aref coverage len))
413 (setq j (+ def-mark (aref points len)))) 413 (when (and (not (eq data 'ok-coverage))
414 (setq j (+ def-mark (aref points len))))
414 (setq ov (make-overlay (1- j) j)) 415 (setq ov (make-overlay (1- j) j))
415 (overlay-put ov 'face 416 (overlay-put ov 'face
416 (if (memq data '(unknown 1value)) 417 (if (memq data '(unknown 1value))
417 'testcover-nohits-face 418 'testcover-nohits-face
418 'testcover-1value-face)))) 419 'testcover-1value-face))))
419 (set-buffer-modified-p changed))) 420 (set-buffer-modified-p changed))))
420 421
421(defun testcover-mark-all (&optional buffer) 422(defun testcover-mark-all (&optional buffer)
422 "Mark all forms in BUFFER that did not get completley tested during 423 "Mark all forms in BUFFER that did not get completley tested during
423coverage tests. This function creates many overlays. SKIPFUNCS is a list 424coverage tests. This function creates many overlays."
424of function-symbols that should not be marked."
425 (interactive "b") 425 (interactive "b")
426 (if buffer 426 (if buffer
427 (switch-to-buffer buffer)) 427 (switch-to-buffer buffer))
428 (goto-char 1) 428 (goto-char 1)
429 (dolist (x edebug-form-data) 429 (dolist (x edebug-form-data)
430 (if (fboundp (car x)) 430 (if (get (car x) 'edebug)
431 (testcover-mark (car x))))) 431 (testcover-mark (car x)))))
432 432
433(defun testcover-unmark-all (buffer) 433(defun testcover-unmark-all (buffer)