From f71974e12f7c8a9c632139edbed6a6540fd2f408 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 21 Nov 2000 21:47:25 +0000 Subject: [PATCH] (edebug-form-spec prop): use dolist. (define-derived-mode, define-minor-mode): Add specs. --- lisp/emacs-lisp/edebug.el | 55 +++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index f7d11eda14b..622e809e364 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -1624,30 +1624,28 @@ expressions; a `progn' form will be returned enclosing these forms." ;; user may want to define macros or functions with the same names. ;; We could use an internal obarray for these primitive specs. -(mapcar - (function (lambda (pair) - (put (car pair) 'edebug-form-spec (cdr pair)))) - '((&optional . edebug-match-&optional) - (&rest . edebug-match-&rest) - (&or . edebug-match-&or) - (form . edebug-match-form) - (sexp . edebug-match-sexp) - (body . edebug-match-body) - (&define . edebug-match-&define) - (name . edebug-match-name) - (:name . edebug-match-colon-name) - (arg . edebug-match-arg) - (def-body . edebug-match-def-body) - (def-form . edebug-match-def-form) - ;; Less frequently used: - ;; (function . edebug-match-function) - (lambda-expr . edebug-match-lambda-expr) - (¬ . edebug-match-¬) - (&key . edebug-match-&key) - (place . edebug-match-place) - (gate . edebug-match-gate) - ;; (nil . edebug-match-nil) not this one - special case it. - )) +(dolist (pair '((&optional . edebug-match-&optional) + (&rest . edebug-match-&rest) + (&or . edebug-match-&or) + (form . edebug-match-form) + (sexp . edebug-match-sexp) + (body . edebug-match-body) + (&define . edebug-match-&define) + (name . edebug-match-name) + (:name . edebug-match-colon-name) + (arg . edebug-match-arg) + (def-body . edebug-match-def-body) + (def-form . edebug-match-def-form) + ;; Less frequently used: + ;; (function . edebug-match-function) + (lambda-expr . edebug-match-lambda-expr) + (¬ . edebug-match-¬) + (&key . edebug-match-&key) + (place . edebug-match-place) + (gate . edebug-match-gate) + ;; (nil . edebug-match-nil) not this one - special case it. + )) + (put (car pair) 'edebug-form-spec (cdr pair))) (defun edebug-match-symbol (cursor symbol) ;; Match a symbol spec. @@ -1972,7 +1970,7 @@ expressions; a `progn' form will be returned enclosing these forms." (def-edebug-spec def-edebug-spec ;; Top level is different from lower levels. - (&define :name edebug-spec name + (&define :name edebug-spec name &or "nil" edebug-spec-p "t" "0" (&rest edebug-spec))) (def-edebug-spec edebug-spec-list @@ -2009,6 +2007,13 @@ expressions; a `progn' form will be returned enclosing these forms." def-body)) (def-edebug-spec defmacro (&define name lambda-list def-body)) +(def-edebug-spec define-derived-mode + (&define name name stringp [&optional stringp] def-body)) +(def-edebug-spec define-minor-mode + (&define name stringp def-body)) +;; This plain doesn't work ;-( -sm +;; (def-edebug-spec define-skeleton +;; (&define name stringp def-body)) (def-edebug-spec arglist lambda-list) ;; deprecated - use lambda-list. -- 2.39.2