diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2021-08-19 16:48:59 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2021-08-19 16:48:59 -0700 |
commit | 07fcbb558d797272b9f43547da60beda485873a3 (patch) | |
tree | 77d5da14e9f9d9d8b1d877c70c01296fd3893796 /admin/check-doc-strings | |
parent | c9bdeff3e45a7ac84a74a81bb048046f82dddc91 (diff) | |
parent | fb81c8c3adf8633f2f617c82f6019aef630860c7 (diff) | |
download | emacs-07fcbb558d797272b9f43547da60beda485873a3.tar.gz |
Merge remote-tracking branch 'origin/master' into athena/unstable
Diffstat (limited to 'admin/check-doc-strings')
-rwxr-xr-x | admin/check-doc-strings | 57 |
1 files changed, 49 insertions, 8 deletions
diff --git a/admin/check-doc-strings b/admin/check-doc-strings index 63856d32871..135090b34ce 100755 --- a/admin/check-doc-strings +++ b/admin/check-doc-strings @@ -59,7 +59,7 @@ sub Check_texi_function { $arglist_parm{$parm} = 1; } - foreach my $parm ($docstring =~ /\@var{([^{}]+)}/g) { + foreach my $parm ($docstring =~ /\@var\{([^{}]+)\}/g) { $docstring_parm{$parm} = 1; } @@ -111,7 +111,9 @@ sub Check_function { # $arglist_parm{$parm} = 1; #} foreach my $parm (@parms) { - next if $parm eq '&optional' || $parm eq '&rest'; + next if $parm eq '&optional' + || $parm eq '&rest' + || $parm eq 'Lisp-Object'; $arglist_parm{$parm} = 1; } my $doc_tmp = $docstring; @@ -150,6 +152,22 @@ sub Check_function { next if $parm eq 'primary'; next if $parm eq 'secondary'; next if $parm eq 'clipboard'; + next if $parm eq 'bbdb'; + next if $parm eq 'dos'; + next if $parm eq 'erc'; + next if $parm eq 'exif'; + next if $parm eq 'ldap'; + next if $parm eq 'ime'; + next if $parm eq 'rfc'; + next if $parm eq 'ms-dos'; + next if $parm eq 'url'; + next if $parm eq 'w32'; + next if $parm eq 'todo'; # org-mode + next if $parm eq 'done'; # org-mode + next if $parm eq 'waiting'; #org-mode + next if $parm eq 'ordered'; #org-mode + next if $parm eq 'deadline'; #org-mode + next if $parm eq 'scheduled'; #org-mode next if length $parm < 3; if (! exists $arglist_parm{$parm}) { print "bogus parm: $function: $parm\n"; @@ -228,20 +246,43 @@ open (FIND, "find src -name '*.c' -print |") or die; while (my $file = <FIND>) { my @matches = ((FileContents $file) =~ - /\bDEFUN\s*\(\s*\"((?:[^\\\"]|\\.)+)\"\s*,\s*\S+\s*,\s*(\S+)\s*,\s*(\S+)\s*,\s*((?:0|\"(?:(?:[^\\\"]|\\.)*)\"))\s*,\s*\/\*(.*?)\*\/\s*\(([^()]*)\)\)/sgo); + /\b + DEFUN\s*\(\s* + ## $function + \"((?:[^\\\"]|\\.)+)\"\s*, + \s*\S+\s*, \s*\S+\s*, + ## $minargs + \s*(\S+)\s*, + ## $maxargs + \s*(\S+)\s*, + ## $interactive + \s*((?:0|\"(?:(?:[^\\\"]|\\.)*)\"))\s*, + ## $docstring + \s*doc:\s*\/\*\s*(.*?)\s*\*\/ + # attributes -- skip + (?:\s*attributes:\s* + (?:noreturn|const) + \s*)? + \s*\) + ### $parms + \s*\( + ([^()]*) + \) + /sgox); while (@matches) { my ($function, $minargs, $maxargs, $interactive, $docstring, $parms) = splice (@matches, 0, 6); $docstring =~ s/^\n+//s; $docstring =~ s/\n+$//s; $parms =~ s/,/ /g; - my @parms = split (' ',$parms); + my @parms = $parms eq 'void' ? () : split (' ', $parms); for (@parms) { tr/_/-/; s/-$//; } if ($parms !~ /Lisp_Object/) { if ($minargs < @parms) { - if ($maxargs =~ /^\d+$/) { - die unless $maxargs eq @parms; - splice (@parms, $minargs, 0, '&optional'); - } + if ($maxargs =~ /^\d+$/) { + die "$function: $maxargs" + unless $maxargs eq @parms; + splice (@parms, $minargs, 0, '&optional'); + } } } my $funtype = ($interactive =~ /\"/ ? 'Command' : 'Function'); |