diff options
author | wl <wl> | 2008-09-29 21:56:05 +0000 |
---|---|---|
committer | wl <wl> | 2008-09-29 21:56:05 +0000 |
commit | 82f5ab3a7616505fb0f068cff66af7871fe6c4f8 (patch) | |
tree | 598e44276a90d84bab3652a4ad070ce6073a3e67 /tmac/groff_trace.man | |
parent | 3c3598c7c61bebf516678298620381398016f57c (diff) | |
download | groff-82f5ab3a7616505fb0f068cff66af7871fe6c4f8.tar.gz |
Make \\*[xxx]\\ within a macro (with `xxx' a macro too) work as
expected. Without the patch,
.de aaa
\\*[bbb]\\
. tm \\$*
..
.de bbb
. shift
..
.aaa 1 2 3
prints `2 3' instead of `1 2 3'.
* src/roff/troff/input.cpp (input_iterator, input_stack,
macro_iterator): Add `get_arg_list' member function.
(macro): Add `is_a_string', `is_string', and `clear_string_flag'
members.
Update constructors and operators.
(arg_list): Add copy constructor.
(macro_iterator): Add optional argument to constructor to indicate
whether arguments shall be inherited from calling macro.
(interpolate_string): If string argument is a macro, push a macro
iterator on the stack.
(do_define_macro): Call clear_string_flag if macro data contains a
newline.
* src/roff/troff/request.h: Updated.
Diffstat (limited to 'tmac/groff_trace.man')
0 files changed, 0 insertions, 0 deletions