aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2006-04-13 10:51:17 +0000
committerEli Zaretskii2006-04-13 10:51:17 +0000
commit65d04e76279ad7f66bbb05d1cde1f862a5f3f6bf (patch)
treed3859633d23e3ba7352554b95e478e6122ee0ef3
parentb1a569b54fafeee8236b3ec38389d793475568ca (diff)
downloademacs-65d04e76279ad7f66bbb05d1cde1f862a5f3f6bf.tar.gz
emacs-65d04e76279ad7f66bbb05d1cde1f862a5f3f6bf.zip
(edebug-basic-spec): New function for vetting file-local form specs.
-rw-r--r--lisp/emacs-lisp/edebug.el14
1 files changed, 14 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index 444c310920d..d0be3a02f65 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -258,6 +258,20 @@ Both SYMBOL and SPEC are unevaluated. The SPEC can be 0, t, a symbol
258 edebug-form-spec 258 edebug-form-spec
259 )) 259 ))
260 260
261;;;###autoload
262(defun edebug-basic-spec (spec)
263 "Return t if SPEC uses only extant spec symbols.
264An extant spec symbol is a symbol that is not a function and has a
265`edebug-form-spec' property."
266 (cond ((listp spec)
267 (catch 'basic
268 (while spec
269 (unless (edebug-basic-spec (car spec)) (throw 'basic nil))
270 (setq spec (cdr spec)))
271 t))
272 ((symbolp spec)
273 (unless (functionp spec) (get spec 'edebug-form-spec)))))
274
261;;; Utilities 275;;; Utilities
262 276
263;; Define edebug-gensym - from old cl.el 277;; Define edebug-gensym - from old cl.el