@@ -155,12 +155,26 @@ sub do_cmd_hackscore{
155155 return ' _' . $_ ;
156156}
157157
158+ # Helper used in many places that arbitrary code-like text appears:
159+
160+ sub codetext ($) {
161+ my $text = " $_ [0]" ;
162+ $text =~ s / --/ -\& #45;/ go ;
163+ return $text ;
164+ }
165+
158166sub use_wrappers ($$$) {
159167 local ($_ ,$before ,$after ) = @_ ;
160168 my $stuff = next_argument();
161169 return $before . $stuff . $after . $_ ;
162170}
163171
172+ sub use_code_wrappers ($$$) {
173+ local ($_ ,$before ,$after ) = @_ ;
174+ my $stuff = codetext(next_argument());
175+ return $before . $stuff . $after . $_ ;
176+ }
177+
164178$IN_DESC_HANDLER = 0;
165179sub do_cmd_optional{
166180 if ($IN_DESC_HANDLER ) {
@@ -181,7 +195,7 @@ sub do_cmd_optional{
181195sub do_cmd_makevar{
182196 return use_wrappers($_ [0], ' <span class="makevar">' , ' </span>' ); }
183197sub do_cmd_code{
184- return use_wrappers ($_ [0], ' <code>' , ' </code>' ); }
198+ return use_code_wrappers ($_ [0], ' <code>' , ' </code>' ); }
185199sub do_cmd_module{
186200 return use_wrappers($_ [0], ' <tt class="module">' , ' </tt>' ); }
187201sub do_cmd_keyword{
@@ -205,9 +219,9 @@ sub do_cmd_cdata{
205219sub do_cmd_ctype{
206220 return use_wrappers($_ [0], ' <tt class="ctype">' , ' </tt>' ); }
207221sub do_cmd_regexp{
208- return use_wrappers ($_ [0], ' <tt class="regexp">' , ' </tt>' ); }
222+ return use_code_wrappers ($_ [0], ' <tt class="regexp">' , ' </tt>' ); }
209223sub do_cmd_character{
210- return use_wrappers ($_ [0], ' "<tt class="character">' , ' </tt>"' ); }
224+ return use_code_wrappers ($_ [0], ' "<tt class="character">' , ' </tt>"' ); }
211225sub do_cmd_program{
212226 return use_wrappers($_ [0], ' <b class="program">' , ' </b>' ); }
213227sub do_cmd_programopt{
@@ -232,7 +246,7 @@ sub do_cmd_file{
232246sub do_cmd_filenq{
233247 return do_cmd_file($_ [0]); }
234248sub do_cmd_samp{
235- return use_wrappers ($_ [0], ' "<tt class="samp">' , ' </tt>"' ); }
249+ return use_code_wrappers ($_ [0], ' "<tt class="samp">' , ' </tt>"' ); }
236250sub do_cmd_kbd{
237251 return use_wrappers($_ [0], ' <kbd>' , ' </kbd>' ); }
238252sub do_cmd_strong{
617631
618632define_indexing_macro(' ttindex' );
619633sub idx_cmd_ttindex ($) {
620- my $str = next_argument();
634+ my $str = codetext( next_argument() );
621635 my $entry = $str . get_indexsubitem();
622636 add_index_entry($entry , $_ [0]);
623637}
@@ -2049,10 +2063,10 @@ sub do_env_alltt{
20492063 undef $open_tags_R ; undef @save_open_tags ;
20502064 };
20512065 $open_tags_R = [ @keep_open_tags ];
2052- $_ ;
2066+ return codetext( $_ ) ;
20532067}
20542068
2055- # List of all filenames produced ny do_cmd_verbatiminput()
2069+ # List of all filenames produced my do_cmd_verbatiminput()
20562070%VerbatimFiles = ();
20572071@VerbatimOutputs = ();
20582072
0 commit comments