edebug specs for guile-elisp
[bpt/emacs.git] / lisp / emacs-lisp / edebug.el
index e4bcb4b..bc31895 100644 (file)
@@ -1,7 +1,6 @@
 ;;; edebug.el --- a source-level debugger for Emacs Lisp  -*- lexical-binding: t -*-
 
-;; Copyright (C) 1988-1995, 1997, 1999-2014 Free Software Foundation,
-;; Inc.
+;; Copyright (C) 1988-1995, 1997, 1999-2014 Free Software Foundation, Inc.
 
 ;; Author: Daniel LaLiberte <liberte@holonexus.org>
 ;; Maintainer: emacs-devel@gnu.org
@@ -1936,11 +1935,11 @@ expressions; a `progn' form will be returned enclosing these forms."
           [&optional stringp]
           [&optional ("interactive" interactive)]
           def-body))
-;; FIXME? Isn't this missing the doc-string?  Cf defun.
 (def-edebug-spec defmacro
   ;; FIXME: Improve `declare' so we can Edebug gv-expander and
   ;; gv-setter declarations.
-  (&define name lambda-list [&optional ("declare" &rest sexp)] def-body))
+  (&define name lambda-list [&optional stringp]
+           [&optional ("declare" &rest sexp)] def-body))
 
 (def-edebug-spec arglist lambda-list)  ;; deprecated - use lambda-list.
 
@@ -2039,6 +2038,31 @@ expressions; a `progn' form will be returned enclosing these forms."
 (def-edebug-spec save-selected-window t)
 (def-edebug-spec save-current-buffer t)
 
+;; Guile-Emacs
+
+(def-edebug-spec progn t)
+(def-edebug-spec eval-when (sexp &rest form))
+(def-edebug-spec if t)
+(def-edebug-spec guile-ref 0)
+(def-edebug-spec guile-private-ref 0)
+(def-edebug-spec guile-primitive 0)
+(def-edebug-spec %function function)
+(def-edebug-spec %funcall t)
+(def-edebug-spec %set-lexical-binding-mode 0)
+(def-edebug-spec @ 0)
+(def-edebug-spec @@ 0)
+(def-edebug-spec  %define-compiler-macro cl-defmacro)
+(def-edebug-spec prog1 t)
+(def-edebug-spec prog2 t)
+(def-edebug-spec and t)
+(def-edebug-spec or t)
+(def-edebug-spec while t)
+(def-edebug-spec unwind-protect t)
+(def-edebug-spec catch t)
+(def-edebug-spec save-excursion t)
+(def-edebug-spec save-restriction t)
+(def-edebug-spec track-mouse t)
+
 ;; Anything else?
 
 ;;; The debugger itself