view lib-src/gnudepend.pl @ 4695:fee33ab25966

Add arglist info for autoloaded functions and macros. lisp/ChangeLog addition: 2009-09-20 Aidan Kehoe <kehoea@parhasard.net> Add arglist information to docstrings for autoloaded functions and macros. * hyper-apropos.el (hyper-apropos-get-doc): Treat autoload docstrings like subr docstrings; correct the regexp used. * help.el (describe-function-show-arglist): This no longer treats autoloads specially. (function-arglist): Treat autoload docstrings like subr docstrings. (function-documentation): Treat documentation strings that are zero-length after the arglist has been removed as indicating a lack of documentation. * cl-macs.el (case): (ecase): (typecase): (etypecase): (block): (return): (return-from): (progv): (lexical-let): (lexical-let*): (remf): (callf): (callf2): (define-modify-macro): (deftype): (define-compiler-macro): Rely on the autoload code to always show an arglist for these functions, don't supply an ad-hoc one in the docstring. These changes are for the most obvious functions; there are some missed that would require changing argument names in the docstring or in the function bodies. * autoload.el (make-autoload): Add arg list information to the doc string, using the same approach as for subrs.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 20 Sep 2009 23:50:05 +0100
parents 3ecd8885ac67
children
line wrap: on
line source

#!/usr/bin/perl

while (<>)
{
    if (/\\$/)
    {
        chop;
        $foo .= $_;
    }
    else
    {
        @foo = split (/[ \\:]+/, $foo);
        $filename = $foo[0];
	if (($filename =~ /^unex/) ||
	    ($filename =~ /^sgiplay/) ||
	    ($filename =~ /^Extern/) ||
	    ($filename =~ /^extw/))
	{
	    $foo = "";
	    next;
	}
        @foo = grep (!/\.c$/, @foo);
        @foo = grep ((s/\/.*lwlib\//\$(LWLIBSRCDIR)\//, 1), @foo);
        @foo = grep (!/lisp\.h/, @foo);
	@foo = grep (!/lisp\.h/, @foo);
	@foo = grep (!/lisp-union\.h/, @foo);
	@foo = grep (!/lisp-disunion\.h/, @foo);
	@foo = grep (!/lrecord\.h/, @foo);
	@foo = grep (!/emacsfns\.h/, @foo);
	@foo = grep (!/symeval\.h/, @foo);
	@foo = grep (!/symsinit\.h/, @foo);
	@foo = grep (!/syssignal\.h/, @foo);
	@foo = grep (!/intl\.h/, @foo);
	@foo = grep (!/tt_c\.h/, @foo);
	@foo = grep (!/descrip\.h/, @foo);
        shift @foo;
        foreach $i (0 .. $#foo)
	{
            $foo[$i] = $filename . ": " . $foo[$i];
	}
	print $filename . ": config.h\n";
        print join ("\n", @foo);
        print "\n";
        $foo = "";
    }
}