On Fri, 4 May 2007, Prof Brian Ripley wrote: > On Thu, 3 May 2007, Prof Brian Ripley wrote: > > > It is not clear to me that throwing an error is helpful as it would stop > > the package installation process when all but one section in one .Rd file > > would be useful. But it would seem good to give a warning, and so I > > propose that we adapt your code to do so. > > Doing so (now in R-devel) shows a couple of false positives (\align{{} in > Paren.Rd is one), and rather a lot of correct warnings about excess }s > that are not doing any harm. So I have tuned the warnings to be less > strident in the latter case.
That sounds good. Here is a modification of your fix that prints a message for problem in the Rd file, not just the first. E.g., in an old version of the msm package it gives Note: unmatched right brace in './msm/man/deltamethod.Rd' on or after line 32 Note: unmatched right brace in './msm/man/deltamethod.Rd' on or after line 54 Note: unmatched right brace in './msm/man/deltamethod.Rd' on or after line 55 instead of just complaining about the first one. Index: Rdconv.pm =================================================================== --- Rdconv.pm (revision 41470) +++ Rdconv.pm (working copy) @@ -258,24 +258,25 @@ } # Any remaining brackets must be unmatched ones. # However, unmatched brackets are sometimes legal, - # (e.g. \alias{{}), so only warn. + # (e.g. \alias{{}), so only warn. # }match brace in comment if ($complete_text =~ /([{}])/s) { # Would like to tell which which line has unmatched { or }, # but lines starting with % have already been removed. # Hence the 'on or after' in the message. my $badlineno = 0 ; - my $extra_info = "\'$1\'" ; - $extra_info = "\'$1\'" if $complete_text =~ /(\\\w+{)/ ; foreach my $line (split /\n/, $complete_text) { $badlineno++; - last if ($line =~ /[{}]/) ; + if ($line =~ /([{}])/) { + my $extra_info = "\'$1\'" ; + $extra_info = "\'$1\'" if $line =~ /(\\\w+{)/ ; # }match brace in pattern + if( $extra_info =~ /^'}'$/ ) { + warn "Note: unmatched right brace in '$Rdname'". + " on or after line $badlineno\n"; + } elsif(! ($extra_info =~ /\\alias{/) ) # }match brace in pattern + { warn "Warning: unmatched brace ($extra_info) in '$Rdname'". + " on or after line $badlineno\n"; } + } } - if( $extra_info =~ /^'}'$/ ) { - warn "Note: unmatched right brace in '$Rdname'". - " on or after line $badlineno\n"; - } elsif(! ($extra_info =~ /\\alias{/) ) - { warn "Warning: unmatched brace ($extra_info) in '$Rdname'". - " on or after line $badlineno\n"; } } } ---------------------------------------------------------------------------- Bill Dunlap Insightful Corporation bill at insightful dot com 360-428-8146 "All statements in this message represent the opinions of the author and do not necessarily reflect Insightful Corporation policy or position." ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel