=head2 Controlling Vertical Alignment
-Vertical alignment refers to lining up certain symbols in list of consecutive
+Vertical alignment refers to lining up certain symbols in a list of consecutive
similar lines to improve readability. For example, the "fat commas" are
aligned in the following statement:
my $rpatterns = $rline_hash->{rpatterns};
my $rfield_lengths = $rline_hash->{rfield_lengths};
+## uses Global symbols {
+## '$cached_line_flag'
+## '$cached_line_type'
+## '$cached_line_valid'
+## '$cached_seqno'
+## '$comment_leading_space_count'
+## '$consecutive_block_comments'
+## '$extra_indent_ok'
+## '$group_level'
+## '$group_type'
+## '$last_comment_column'
+## '$last_leading_space_count'
+## '$last_level_written'
+## '$rOpts_valign'
+## '$zero_count'
+## '@group_lines'
+## }
+
# number of fields is $jmax
# number of tokens between fields is $jmax-1
my $jmax = @{$rfields} - 1;
my $line = shift;
+ # uses no Global symbols
+
# A list will be taken to be a line with a forced break in which all
# of the field separators are commas or comma-arrows (except for the
# trailing #)
my ( $old_line, $rfields, $rtokens, $rpatterns, $rfield_lengths ) = @_;
return unless ($old_line);
+## uses Global symbols {
+## '$group_level'
+## }
+
my $jmax = @{$rfields} - 1;
my $rfields_old = $old_line->get_rfields();
# returns a positive value if the else block should be indented
#
my ( $old_line, $rfields, $rtokens, $rpatterns, $rfield_lengths ) = @_;
+
+# uses no Global symbols
+
return unless ($old_line);
my $jmax = @{$rfields} - 1;
return unless ( $jmax > 0 );
# This is the external flush, which also empties the buffer and cache
sub flush {
+## uses Global symbols {
+## '$cached_line_leading_space_count'
+## '$cached_line_text'
+## '$cached_line_text_length'
+## '$cached_line_type'
+## '$cached_seqno_string'
+## '$last_level_written'
+## '$seqno_string'
+## '@group_lines'
+## }
+
# the buffer must be emptied first, then any cached text
dump_valign_buffer();