On Sun, 21 Oct 2012 12:20:33 -0400 Matthew Mondor <mm_li...@pulsar-zone.net> wrote:
> On Sat, 20 Oct 2012 22:19:46 +0400 > Stas Boukarev <stass...@gmail.com> wrote: > > > > The problem is that sys:function-lambda-list doesn't like macros or > > > special operators anymore. Clearly, the name suggests that it takes > > > functions, but it used to work on non-functions before this change: > > > http://sourceforge.net/p/ecls/ecl/ci/b1ec23bce8a385251f14b278c080e22e459cc70f/tree/src/lsp/top.lsp?diff=8b1c6a203919bdfd6da989565e53bd149dad7e1b > > It's possible to use (ext:get-annotation operator :lambda-list nil), but > > it returns a string for LET > > (ext:get-annotation 'let :lambda-list nil) > > => > > "(let ({var | (var [init])}*) {decl}* {form}*)" > > Thanks for the details. Although I don't get errors for other common > macros, I noticed that documentation is not shown for macros such as > PUSH or PUSHNEW as well, which this also explains. So I today had some time to do a small test and the following function indeed seems to work better in general. (defimplementation arglist (name) (let ((arglist (ext:get-annotation name :lambda-list nil))) (if (or (null arglist) (stringp arglist)) :not-available arglist))) Thanks again, -- Matt ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list