comparison lisp/emacs-lisp/edebug.el @ 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 651c5e7479de
children 84008c83cd50 c156f6a9e7b5
comparison
equal deleted inserted replaced
70002:e753e12d2f33 70003:5fd1441a60f9
255 (setq indirect (get edebug-form-spec 'edebug-form-spec))) 255 (setq indirect (get edebug-form-spec 'edebug-form-spec)))
256 ;; (edebug-trace "indirection: %s" edebug-form-spec) 256 ;; (edebug-trace "indirection: %s" edebug-form-spec)
257 (setq edebug-form-spec indirect)) 257 (setq edebug-form-spec indirect))
258 edebug-form-spec 258 edebug-form-spec
259 )) 259 ))
260
261 ;;;###autoload
262 (defun edebug-basic-spec (spec)
263 "Return t if SPEC uses only extant spec symbols.
264 An 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)))))
260 274
261 ;;; Utilities 275 ;;; Utilities
262 276
263 ;; Define edebug-gensym - from old cl.el 277 ;; Define edebug-gensym - from old cl.el
264 (defvar edebug-gensym-index 0 278 (defvar edebug-gensym-index 0