* .TH/.nf indentation
@ 2015-09-04 11:55 Christian Neukirchen
2015-09-04 21:49 ` Ingo Schwarze
0 siblings, 1 reply; 2+ messages in thread
From: Christian Neukirchen @ 2015-09-04 11:55 UTC (permalink / raw)
To: tech
Hi,
mdocml-1.13.3 and HEAD as of today misrender this:
.TH foo 1
.SH OPTIONS
.TP
.nf
foo
.fi
description of foo
.TP
.nf
bar
.fi
description of bar
as
OPTIONS
foo
description of foo
bar
description of bar
But groff and Plan9 nroff render it as
OPTIONS
foo
description of foo
bar
description of bar
Found in exiv2.1 and all manpages written by ksb.
--
Christian Neukirchen <chneukirchen@gmail.com> http://chneukirchen.org
--
To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: .TH/.nf indentation
2015-09-04 11:55 .TH/.nf indentation Christian Neukirchen
@ 2015-09-04 21:49 ` Ingo Schwarze
0 siblings, 0 replies; 2+ messages in thread
From: Ingo Schwarze @ 2015-09-04 21:49 UTC (permalink / raw)
To: Christian Neukirchen; +Cc: tech
Hi Christian,
Christian Neukirchen wrote on Fri, Sep 04, 2015 at 01:55:24PM +0200:
> mdocml-1.13.3 and HEAD as of today misrender this:
that should be fixed in HEAD now.
Thanks for reporting,
Ingo
> .TH foo 1
> .SH OPTIONS
> .TP
> .nf
> foo
> .fi
> description of foo
> .TP
> .nf
> bar
> .fi
> description of bar
>
> as
>
> OPTIONS
> foo
> description of foo
> bar
> description of bar
>
> But groff and Plan9 nroff render it as
>
> OPTIONS
> foo
> description of foo
>
> bar
> description of bar
>
> Found in exiv2.1 and all manpages written by ksb.
Log Message:
-----------
Fill mode changes don't break next-line scope in all cases,
in particular not for tagged paragraphs.
Issue found by Christian Neukirchen <chneukirchen at gmail dot com>
in the exiv2(1) manual page.
Modified Files:
--------------
mdocml:
man.c
man_macro.c
Revision Data
-------------
Index: man.c
===================================================================
RCS file: /home/cvs/mdocml/mdocml/man.c,v
retrieving revision 1.163
retrieving revision 1.164
diff -Lman.c -Lman.c -u -p -r1.163 -r1.164
--- man.c
+++ man.c
@@ -283,6 +283,20 @@ man_breakscope(struct roff_man *man, int
}
/*
+ * Weird special case:
+ * Switching fill mode closes section headers.
+ */
+
+ if (man->flags & MAN_BLINE &&
+ (tok == MAN_nf || tok == MAN_fi) &&
+ (man->last->tok == MAN_SH || man->last->tok == MAN_SS)) {
+ n = man->last;
+ man_unscope(man, n);
+ roff_body_alloc(man, n->line, n->pos, n->tok);
+ man->flags &= ~MAN_BLINE;
+ }
+
+ /*
* A block header next line scope is open,
* and the new macro is not allowed inside block headers.
* Delete the block that is being broken.
Index: man_macro.c
===================================================================
RCS file: /home/cvs/mdocml/mdocml/man_macro.c,v
retrieving revision 1.109
retrieving revision 1.110
diff -Lman_macro.c -Lman_macro.c -u -p -r1.109 -r1.110
--- man_macro.c
+++ man_macro.c
@@ -63,8 +63,8 @@ const struct man_macro __man_macros[MAN_
{ in_line_eoln, 0 }, /* IR */
{ in_line_eoln, 0 }, /* RI */
{ in_line_eoln, MAN_NSCOPED }, /* sp */
- { in_line_eoln, MAN_BSCOPE }, /* nf */
- { in_line_eoln, MAN_BSCOPE }, /* fi */
+ { in_line_eoln, MAN_NSCOPED }, /* nf */
+ { in_line_eoln, MAN_NSCOPED }, /* fi */
{ blk_close, MAN_BSCOPE }, /* RE */
{ blk_exp, MAN_BSCOPE }, /* RS */
{ in_line_eoln, 0 }, /* DT */
--
To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-09-04 21:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-04 11:55 .TH/.nf indentation Christian Neukirchen
2015-09-04 21:49 ` Ingo Schwarze
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).