diff options
author | wl <wl> | 2006-05-27 05:43:37 +0000 |
---|---|---|
committer | wl <wl> | 2006-05-27 05:43:37 +0000 |
commit | a2aedd88681d4ded68c56c375574075c96e48426 (patch) | |
tree | ea5836a8a920de7b7d16cfed9de394d829aedc35 | |
parent | f4b1b66521a65404b5a5e8a2c579ff8fe3094373 (diff) | |
download | groff-a2aedd88681d4ded68c56c375574075c96e48426.tar.gz |
* tmac/an-old.tmac (an-do-tag): Make margin characters work.
* src/roff/troff/env.cpp (environment::copy): Copy margin character
node.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | src/roff/troff/env.cpp | 3 | ||||
-rw-r--r-- | tmac/an-old.tmac | 20 |
3 files changed, 26 insertions, 6 deletions
@@ -1,3 +1,10 @@ +2006-05-26 Werner LEMBERG <wl@gnu.org> + + * tmac/an-old.tmac (an-do-tag): Make margin characters work. + + * src/roff/troff/env.cpp (environment::copy): Copy margin character + node. + 2006-05-21 Werner LEMBERG <wl@gnu.org> * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor @@ -4400,7 +4407,7 @@ Version 1.19.1 released (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0): Use minus, not hyphen. - * tmc/groff_mdoc.man: Updated. + * tmac/groff_mdoc.man: Updated. 2003-07-01 Werner LEMBERG <wl@gnu.org> diff --git a/src/roff/troff/env.cpp b/src/roff/troff/env.cpp index 117c610a..a24142c5 100644 --- a/src/roff/troff/env.cpp +++ b/src/roff/troff/env.cpp @@ -837,7 +837,8 @@ void environment::copy(const environment *e) current_tab = TAB_NONE; current_field = 0; margin_character_flags = e->margin_character_flags; - margin_character_node = e->margin_character_node; + if (e->margin_character_node) + margin_character_node = e->margin_character_node->copy(); margin_character_distance = e->margin_character_distance; numbering_nodes = 0; number_text_separation = e->number_text_separation; diff --git a/tmac/an-old.tmac b/tmac/an-old.tmac index b51f2e2f..5be56c70 100644 --- a/tmac/an-old.tmac +++ b/tmac/an-old.tmac @@ -417,10 +417,17 @@ . di . nr an-div? 0 . ll +. \" We must emit the diversion in a separate environment to +. \" assure that a possible margin character is printed correctly. . ie (\\n[dl] + \\n[an-tag-sep] > \\n[an-prevailing-indent]) \{\ +. ev 2 +. evc 0 +. mc +. nf . in \\n[an-margin]u . ne (2v + 1u) . an-div +. ev . in (\\n[an-margin]u + \\n[an-prevailing-indent]u) . \} . el \{\ @@ -428,12 +435,17 @@ . \" of the character cell, it is possible that the following combination . \" of .in and .ti yields a different result as the .in request in . \" the .ie part above. -. in (\\n[an-margin]u + \\n[an-prevailing-indent]u) -. ti -\\n[an-prevailing-indent]u -. chop an-div +. ev 2 +. evc 0 +. mc +. nf +. in \\n[an-margin]u . ne (1v + 1u) . DEVTAG-COL 1 -\\*[an-div]\\h'|\\n[an-prevailing-indent]u'\c +. an-div +. sp -1 +. ev +. in (\\n[an-margin]u + \\n[an-prevailing-indent]u) . DEVTAG-COL-NEXT 2 . \} .. |