bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#30910: 26.0.91; Incorrect Edebug spec for def-edebug-spec


From: Gemini Lasswell
Subject: bug#30910: 26.0.91; Incorrect Edebug spec for def-edebug-spec
Date: Mon, 15 Jul 2019 15:29:08 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2.90 (gnu/linux)

Lars Ingebrigtsen <larsi@gnus.org> writes:

> But you say that it has an edebug spec, but:
>
> (symbol-plist 'def-edebug-spec)
> => nil

Do (require 'edebug) first, then that will work.

> I thought that perhaps saying something like
>
> (eval-and-compile
>   (put 'def-edebug-spec 'edebug-form-spec '(sexp sexp)))
>
> might be a fix, but it doesn't seem to have any effect...

(def-edebug-spec def-edebug-spec (&rest sexp))

would be a fix, but so would be deleting it entirely.

Since there is no code needing to be debugged inside of an Edebug spec,
the only reason I can think of for having an Edebug spec for
def-edebug-spec is to check whether the specs defined with it are
validly formed.  The error messages issued during Edebug spec matching
are not very good, but maybe someone will be inspired to do something
about that someday.

Right now the only Edebug specs that get matched to the def-edebug-spec
definition are the ones declared with def-edebug-spec, not the ones in
macro definitions, because:

(get-edebug-spec 'defmacro)
=> (&define name lambda-list lambda-doc
         [&optional
          ("declare" &rest sexp)]
         def-body)

If we had a Edebug spec for Edebug specs that wasn't broken, we could
change the defmacro spec to use it, and see what happens.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]