diff options
| -rw-r--r-- | lisp/emacs-lisp/edebug.el | 14 |
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. | ||
| 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))))) | ||
| 274 | |||
| 261 | ;;; Utilities | 275 | ;;; Utilities |
| 262 | 276 | ||
| 263 | ;; Define edebug-gensym - from old cl.el | 277 | ;; Define edebug-gensym - from old cl.el |