=back
+=item B<Skipping a line with an unknown parameter>
+
+Versions of perltidy greater than 20240511 have an option to filter
+unrecognized parameters from a perltidy command file. If a line in the file
+begins with B<three dashes> followed by a parameter name (rather than one or
+two), then the line will be removed if the parameter is unknown. Otherwise, a
+dash will be removed to make the line valid. This option was added to allow a
+single command file to be used during the transition to a new version of
+perltidy.
+
=item B<Creating a new abbreviation>
A special notation is available for use in a F<.perltidyrc> file
=item *
This option works best for subs which unpack call args in an orderly manner
near the beginning of the sub from C<@_> and/or with C<shift> operations. It
-will also work for some other common cases, such as direct access to individual
-elements of the @_ array. However if the coding for arg extraction is complex
-then the number of sub args will be considered indeterminate.
+will also work for direct access to specific elements of the @_ array. However
+if the coding for arg extraction is complex then the number of sub args will be
+considered indeterminate and a count cannot be checked.
=item *
Sub calls made without parentheses around the args are not checked.
sub make_grep_alias_string {
my ($rOpts) = @_;
+ # pre-process the --grep-alias-list parameter
+
# Defaults: list operators in List::Util
# Possible future additions: pairfirst pairgrep pairmap
my $default_string = join SPACE, qw(
sub read_config_file {
my ( $rconfig_string, $config_file, $rexpansion ) = @_;
+
+ # Read and process the contents of a perltidyrc command file
+
+ # Given:
+ # $rconfig_string = ref to the file as a string
+ # $config_file = name of the file, for error reporting
+ # $rexpansion = ref to hash of abbreviations; if this config file defines
+ # any abbreviations they will be added to it
+
+ # Return:
+ # \@config_list = ref to final parameters and values which will be
+ # placed in @ARGV for processing by GetOptions
+ # $death_message = error message returned if a fatal error occurs
+
my @config_list = ();
# file is bad if non-empty $death_message is returned
# Strip any comment from a command line
my ( $instr, $config_file, $line_no ) = @_;
+
+ # Given:
+ # $instr = string with the text of an input line
+ # $config_file = filename, for error messages
+ # $line_no = line number, for error messages
+ # Return:
+ # string with any comment removed
+ # $msg = any error message
+
my $msg = EMPTY_STRING;
# check for full-line comment