- if ($in_NAME{$addr}) {
- if (! $self->name) {
- my $text = $self->interpolate($paragraph, $line_num);
- if ($text =~ /^\s*(\S+?)\s*$/) {
- $self->name($1);
- $self->poderror({ -line => $line, -file => $file,
- -msg => $missing_name_description,
- parameter => $1});
- }
- }
+ $start_line{$addr} = $_[0]->{start_line};
+ $running_CFL_text{$addr} = "";
+ $running_simple_text{$addr} = "";
+
+ return $self->SUPER::start_item_bullet(@_);
+ }
+
+ sub end_item { # No difference in =item types endings
+ my $self = shift;
+ check_see_but_not_link($self);
+ return $self->SUPER::end_item(@_);
+ }
+
+ sub start_over {
+ my $self = shift;
+ check_see_but_not_link($self);
+
+ my $addr = Scalar::Util::refaddr $self;
+ $start_line{$addr} = $_[0]->{start_line};
+ $running_CFL_text{$addr} = "";
+ $running_simple_text{$addr} = "";
+
+ # Save this indent on a stack, and keep track of total indent
+ my $indent = $_[0]{'indent'};
+ push @{$indents{$addr}}, $indent;
+ $current_indent{$addr} += $indent;
+
+ return $self->SUPER::start_over(@_);
+ }
+
+ sub end_over_bullet { shift->end_over(@_) }
+ sub end_over_number { shift->end_over(@_) }
+ sub end_over_text { shift->end_over(@_) }
+ sub end_over_block { shift->end_over(@_) }
+ sub end_over_empty { shift->end_over(@_) }
+ sub end_over {
+ my $self = shift;
+ check_see_but_not_link($self);
+
+ my $addr = Scalar::Util::refaddr $self;
+
+ # Pop current indent
+ if (@{$indents{$addr}}) {
+ $current_indent{$addr} -= pop @{$indents{$addr}};