diff --git a/docs/cmdline-opts/gen.pl b/docs/cmdline-opts/gen.pl index 4bcedc36d..1fe4a92c9 100755 --- a/docs/cmdline-opts/gen.pl +++ b/docs/cmdline-opts/gen.pl @@ -70,6 +70,9 @@ sub printdesc { $d =~ s/--$k([^a-z0-9_-])/$l$1/; } } + # quote "bare" minuses in the output + $d =~ s/( |\\fI|^)--/$1\\-\\-/g; + $d =~ s/([ -]|\\fI|^)-/$1\\-/g; print $d; } } @@ -203,6 +206,9 @@ sub single { $opt .= " $arg"; } + # quote "bare" minuses in opt + $opt =~ s/( |^)--/$1\\-\\-/g; + $opt =~ s/( |^)-/$1\\-/g; if($standalone) { print ".TH curl 1 \"30 Nov 2016\" \"curl 7.52.0\" \"curl manual\"\n"; print ".SH OPTION\n"; diff --git a/tests/manpage-scan.pl b/tests/manpage-scan.pl index 78ceddd7e..ec2e7253d 100755 --- a/tests/manpage-scan.pl +++ b/tests/manpage-scan.pl @@ -6,7 +6,7 @@ # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # -# Copyright (C) 2016 - 2020, Daniel Stenberg, , et al. +# Copyright (C) 2016 - 2021, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms @@ -66,12 +66,19 @@ sub scanmanpage { my ($file, @words) = @_; open(M, "<$file"); - my @m = ; + my @m; + while() { + if($_ =~ /^\.IP (.*)/) { + my $w = $1; + # "unquote" minuses + $w =~ s/\\-/-/g; + push @m, $w; + } + } close(M); foreach my $m (@words) { - - my @g = grep(/^\.IP $m/, @m); + my @g = grep(/$m/, @m); if(!$g[0]) { print STDERR "Missing mention of $m in $file\n"; $errors++; @@ -206,7 +213,8 @@ my @manpage; # store all parsed parameters while() { chomp; my $l= $_; - if(/^\.IP \"(-[^\"]*)\"/) { + $l =~ s/\\-/-/g; + if($l =~ /^\.IP \"(-[^\"]*)\"/) { my $str = $1; my $combo; if($str =~ /^-(.), --([a-z0-9.-]*)/) {