Changing the substring request to make it fit better with other
commited63b0ae76a611b581601a1afc192f6a7367be6f
authorWerner LEMBERG <wl@gnu.org>
Sun, 7 Jul 2002 08:10:59 +0000 (7 08:10 +0000)
committerWerner LEMBERG <wl@gnu.org>
Sun, 7 Jul 2002 08:10:59 +0000 (7 08:10 +0000)
tree1a5a72cd53db27586fe22955ea34262ef6e52afa
parent1b3161fcc60659671bd6486a5566cd00874e5031
Changing the substring request to make it fit better with other
string manipulation functions in other programming languages:
Index 0 is now the first character in the string, and index -1
indicates the last character.  Since this request didn't work
properly anyway in the last release, it doesn't harm too much to
change the syntax.

* src/roff/troff/input.cc (substring_macro): Use loops to get
the real string length (ignoring COMPATIBLE_SAVE and
COMPATIBLE_RESTORE) and offsets.
Implement change described above.

* man/groff_char.man, tmac/doc-common (doc-header), tmac/doc.tmac
(doc-do-Bd-args, doc-do-Bl-args: Changed accordingly.

* NEWS, doc/groff.texinfo, man/groff_diff.man: Updated.

Make .chop work with .de1 and friends.  COMPATIBLE_SAVE and
COMPATIBLE_RESTORE are completely ignored.

* src/roff/troff/input.cc (char_list::set, char_list::get): New
functions.
(macro): `length' field renamed to `len'.
Added new field `empty_macro' (1 if macro is empty), to be used
instead of checking `len'.
Updated all callers.
(macro::empty): Updated.
(macro::length, macro::set, macro::get): New functions.
(macro::append): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
Set `empty_macro'.
(chop_macro): Check and remove trailing COMPATIBLE_SAVE/
COMPATIBLE_RESTORE pairs.
(asciify): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
* src/roff/troff/request.h: Updated.

* doc/groff.texinfo: Document .chop's behaviour better.

* doc/pic.ms: Fix documentation for the addition of positions.

* tmac/doc.tmac, tmac/an-old.tmac: Need groff version 1.18.
12 files changed:
ChangeLog
NEWS
doc/groff.texinfo
doc/pic.ms
man/groff_char.man
man/groff_diff.man
src/roff/groff/groff.cc
src/roff/troff/input.cc
src/roff/troff/request.h
tmac/an-old.tmac
tmac/doc-common
tmac/doc.tmac