changeset 70003:5fd1441a60f9

(edebug-basic-spec): New function for vetting file-local form specs.
author Eli Zaretskii <eliz@gnu.org>
date Thu, 13 Apr 2006 10:51:17 +0000
parents e753e12d2f33
children e70b5899f72c
files lisp/emacs-lisp/edebug.el
diffstat 1 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/edebug.el	Thu Apr 13 10:44:37 2006 +0000
+++ b/lisp/emacs-lisp/edebug.el	Thu Apr 13 10:51:17 2006 +0000
@@ -258,6 +258,20 @@
     edebug-form-spec
     ))
 
+;;;###autoload
+(defun edebug-basic-spec (spec)
+  "Return t if SPEC uses only extant spec symbols.
+An extant spec symbol is a symbol that is not a function and has a
+`edebug-form-spec' property."
+  (cond ((listp spec)
+	 (catch 'basic
+	   (while spec
+	     (unless (edebug-basic-spec (car spec)) (throw 'basic nil))
+	     (setq spec (cdr spec)))
+	   t))
+	((symbolp spec)
+	 (unless (functionp spec) (get spec 'edebug-form-spec)))))
+
 ;;; Utilities
 
 ;; Define edebug-gensym - from old cl.el