So my question is: Is there anything I can do to work around this?
I would
...other than fixing the bug - perhaps not. (I'm working on xterm
and mawk at the moment, intending to go back to lynx next...).
Just reading the code: It looks as if -nomargins goes to the
no_margins variable, and _that_ is used in only a few places:
DefaultStyle.c:466: if (no_margins) {
DefaultStyle.c:482: if (no_margins) {
LYGlobalDefs.h:394: extern BOOLEAN no_margins;
LYMain.c:393:BOOLEAN no_margins = FALSE;
LYMain.c:3622: "nomargins", 4|SET_ARG,
no_margins,
LYOptions.c:35:#define MARGIN_STR (no_margins ? "" : " ")
LYOptions.c:36:#define MARGIN_LEN (no_margins ? 0 : 2)
LYrcFile.h:159:#define RC_NO_MARGINS "no_margins"
LYReadCFG.c:1494: PARSE_SET(RC_NO_MARGINS, no_margins),
The uses in DefaultStyle.c and LYOptions.c are simple to change and
see if the bug's behavior changes predictably. For instance, making
-no_margins do a single character rather than none might make it
usable for your script.
The derived variables are used in GridText.c's split_line()
function, which is (complicated) where the boundary check is most
likely off.
It's complicated, since there are long expressions such as
spare = WRAP_COLS(text)
- (int) style->rightIndent
- indent
+ ctrl_chars_on_previous_line
- LYstrExtent2(previous->data, previous->size);
But that's the area where the fix would probably be made - split_line.
very much like to keep using these two options, as it is important
to me to be able to distinguish between lines and paragraphs. I
am even willing to use other tools, if you can suggest any - but as
far as I've seen, lynx is the only one which gives the desired
options. Also, I'd like to stay away from the -width option (it
does not allow me to specify infinite width, AND it breaks with
tables - the attached b.html, for example).
--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net