aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2000-11-21 21:47:25 +0000
committerStefan Monnier <[email protected]>2000-11-21 21:47:25 +0000
commitf71974e12f7c8a9c632139edbed6a6540fd2f408 (patch)
tree9db08a7901eb79276d6bccf888952cd3090bba1b
parentfe7a0e7dfda8647fda72facc6c9e582629d368e8 (diff)
(edebug-form-spec prop): use dolist.
(define-derived-mode, define-minor-mode): Add specs.
-rw-r--r--lisp/emacs-lisp/edebug.el55
1 files changed, 30 insertions, 25 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index f7d11eda14..622e809e36 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)
- (&not . edebug-match-&not)
- (&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)
+ (&not . edebug-match-&not)
+ (&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.