[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo/tp Texinfo/Convert/Plaintext.pm t/plain...
From: |
Patrice Dumas |
Subject: |
texinfo/tp Texinfo/Convert/Plaintext.pm t/plain... |
Date: |
Tue, 01 Mar 2011 21:44:54 +0000 |
CVSROOT: /sources/texinfo
Module name: texinfo
Changes by: Patrice Dumas <pertusus> 11/03/01 21:44:54
Modified files:
tp/Texinfo/Convert: Plaintext.pm
tp/t : plaintext_tests.t
Added files:
tp/t/results/plaintext_tests: accent_command_punctuation.pl
commands_and_punctuation.pl
Log message:
Handle better punctuation and commands.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/Plaintext.pm?cvsroot=texinfo&r1=1.103&r2=1.104
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/plaintext_tests.t?cvsroot=texinfo&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/plaintext_tests/accent_command_punctuation.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/plaintext_tests/commands_and_punctuation.pl?cvsroot=texinfo&rev=1.1
Patches:
Index: Texinfo/Convert/Plaintext.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/Plaintext.pm,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -b -r1.103 -r1.104
--- Texinfo/Convert/Plaintext.pm 1 Mar 2011 00:16:34 -0000 1.103
+++ Texinfo/Convert/Plaintext.pm 1 Mar 2011 21:44:53 -0000 1.104
@@ -177,6 +177,11 @@
$code_style_commands{$command} = 1;
}
+my %punctuation_no_arg_commands;
+foreach my $punctuation_command('enddots', 'exclamdown', 'questiondown') {
+ $punctuation_no_arg_commands{$punctuation_command} = 1;
+}
+
my %upper_case_commands = (
'sc' => 1,
'var' => 1
@@ -1289,7 +1294,7 @@
} elsif (defined($text_brace_no_arg_commands{$root->{'cmdname'}})) {
my $text = Texinfo::Convert::Text::brace_no_arg_command($root,
$self->{'encoding'});
- if ($command eq 'enddots') {
+ if ($punctuation_no_arg_commands{$command}) {
$result .= $self->_count_added($formatter->{'container'},
$formatter->{'container'}->add_next($text, undef, 1));
} elsif ($command eq 'tie') {
@@ -1316,6 +1321,8 @@
$result .= $self->_count_added($formatter->{'container'},
$formatter->{'container'}->add_text(
Texinfo::Convert::Text::text_accents($root, $self->{'encoding'})));
+ # in case the text added ends with punctuation
+ $formatter->{'container'}->inhibit_end_sentence();
return $result;
} elsif ($style_map{$command}
or ($root->{'type'} and $root->{'type'} eq 'definfoenclose_command'))
{
Index: t/plaintext_tests.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/plaintext_tests.t,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- t/plaintext_tests.t 26 Feb 2011 11:16:56 -0000 1.9
+++ t/plaintext_tests.t 1 Mar 2011 21:44:54 -0000 1.10
@@ -36,6 +36,10 @@
10AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BBBBB
11AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BBBBB
'],
+['commands_and_punctuation',
+'address@hidden and now inhibit.@: Now dots @dots{} and enddots @enddots{}
and'],
+['accent_command_punctuation',
+'@dotaccent{e} after'],
['empty_line_in_example_end',
'@example
in example
Index: t/results/plaintext_tests/accent_command_punctuation.pl
===================================================================
RCS file: t/results/plaintext_tests/accent_command_punctuation.pl
diff -N t/results/plaintext_tests/accent_command_punctuation.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/plaintext_tests/accent_command_punctuation.pl 1 Mar 2011
21:44:54 -0000 1.1
@@ -0,0 +1,60 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors
+ %result_indices %result_sectioning %result_nodes %result_menus
+ %result_floats %result_converted %result_converted_errors);
+
+$result_trees{'accent_command_punctuation'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'e'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'dotaccent',
+ 'contents' => [],
+ 'line_nr' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ },
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' after'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'type' => 'text_root'
+};
+$result_trees{'accent_command_punctuation'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'accent_command_punctuation'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'accent_command_punctuation'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
= $result_trees{'accent_command_punctuation'}{'contents'}[0]{'contents'}[0];
+$result_trees{'accent_command_punctuation'}{'contents'}[0]{'contents'}[0]{'parent'}
= $result_trees{'accent_command_punctuation'}{'contents'}[0];
+$result_trees{'accent_command_punctuation'}{'contents'}[0]{'contents'}[1]{'parent'}
= $result_trees{'accent_command_punctuation'}{'contents'}[0];
+$result_trees{'accent_command_punctuation'}{'contents'}[0]{'parent'} =
$result_trees{'accent_command_punctuation'};
+
+$result_texis{'accent_command_punctuation'} = '@dotaccent{e} after';
+
+
+$result_texts{'accent_command_punctuation'} = 'e. after';
+
+$result_errors{'accent_command_punctuation'} = [];
+
+
+
+$result_converted{'plaintext'}->{'accent_command_punctuation'} = 'e. after
+';
+
+1;
Index: t/results/plaintext_tests/commands_and_punctuation.pl
===================================================================
RCS file: t/results/plaintext_tests/commands_and_punctuation.pl
diff -N t/results/plaintext_tests/commands_and_punctuation.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/plaintext_tests/commands_and_punctuation.pl 1 Mar 2011
21:44:54 -0000 1.1
@@ -0,0 +1,93 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors
+ %result_indices %result_sectioning %result_nodes %result_menus
+ %result_floats %result_converted %result_converted_errors);
+
+$result_trees{'commands_and_punctuation'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'SomthingA'
+ },
+ {
+ 'cmdname' => '.',
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' and now inhibit.'
+ },
+ {
+ 'cmdname' => ':',
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' Now dots '
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'dots',
+ 'contents' => [],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' and enddots '
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'enddots',
+ 'contents' => [],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' and'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'type' => 'text_root'
+};
+$result_trees{'commands_and_punctuation'}{'contents'}[0]{'contents'}[0]{'parent'}
= $result_trees{'commands_and_punctuation'}{'contents'}[0];
+$result_trees{'commands_and_punctuation'}{'contents'}[0]{'contents'}[1]{'parent'}
= $result_trees{'commands_and_punctuation'}{'contents'}[0];
+$result_trees{'commands_and_punctuation'}{'contents'}[0]{'contents'}[2]{'parent'}
= $result_trees{'commands_and_punctuation'}{'contents'}[0];
+$result_trees{'commands_and_punctuation'}{'contents'}[0]{'contents'}[3]{'parent'}
= $result_trees{'commands_and_punctuation'}{'contents'}[0];
+$result_trees{'commands_and_punctuation'}{'contents'}[0]{'contents'}[4]{'parent'}
= $result_trees{'commands_and_punctuation'}{'contents'}[0];
+$result_trees{'commands_and_punctuation'}{'contents'}[0]{'contents'}[5]{'args'}[0]{'parent'}
= $result_trees{'commands_and_punctuation'}{'contents'}[0]{'contents'}[5];
+$result_trees{'commands_and_punctuation'}{'contents'}[0]{'contents'}[5]{'parent'}
= $result_trees{'commands_and_punctuation'}{'contents'}[0];
+$result_trees{'commands_and_punctuation'}{'contents'}[0]{'contents'}[6]{'parent'}
= $result_trees{'commands_and_punctuation'}{'contents'}[0];
+$result_trees{'commands_and_punctuation'}{'contents'}[0]{'contents'}[7]{'args'}[0]{'parent'}
= $result_trees{'commands_and_punctuation'}{'contents'}[0]{'contents'}[7];
+$result_trees{'commands_and_punctuation'}{'contents'}[0]{'contents'}[7]{'parent'}
= $result_trees{'commands_and_punctuation'}{'contents'}[0];
+$result_trees{'commands_and_punctuation'}{'contents'}[0]{'contents'}[8]{'parent'}
= $result_trees{'commands_and_punctuation'}{'contents'}[0];
+$result_trees{'commands_and_punctuation'}{'contents'}[0]{'parent'} =
$result_trees{'commands_and_punctuation'};
+
+$result_texis{'commands_and_punctuation'} = 'address@hidden and now
inhibit.@: Now dots @dots{} and enddots @enddots{} and';
+
+
+$result_texts{'commands_and_punctuation'} = 'SomthingA. and now inhibit. Now
dots ... and enddots ... and';
+
+$result_errors{'commands_and_punctuation'} = [];
+
+
+
+$result_converted{'plaintext'}->{'commands_and_punctuation'} = 'SomthingA.
and now inhibit. Now dots ... and enddots ... and
+';
+
+1;
- texinfo/tp Texinfo/Convert/Plaintext.pm t/plain...,
Patrice Dumas <=