tech@mandoc.bsd.lv
 help / color / mirror / Atom feed
* [WIP] SYNOPSIS indentation
@ 2010-06-26 13:47 Ingo Schwarze
  2010-06-26 14:01 ` Kristaps Dzonsons
  2010-06-30 23:24 ` [PATCH] .Nm indentation in the SYNOPSIS Ingo Schwarze
  0 siblings, 2 replies; 6+ messages in thread
From: Ingo Schwarze @ 2010-06-26 13:47 UTC (permalink / raw)
  To: tech

Hi,

here is the other patch i hacked up on the plane.
It is still work in progress, there are few bugs in
horizontal spacing still, but it mostly does the job
and certainly shows the spirit.
Again, this is based on OpenBSD-current, and needs to
be rebased on bsd.lv HEAD.

This is best used together with the .Bk patch just sent,
but does not depend on it.

Yours,
  Ingo


Index: mdoc_macro.c
===================================================================
RCS file: /cvs/src/usr.bin/mandoc/mdoc_macro.c,v
retrieving revision 1.46
diff -u -p -r1.46 mdoc_macro.c
--- mdoc_macro.c	6 Jun 2010 20:30:08 -0000	1.46
+++ mdoc_macro.c	26 Jun 2010 13:41:03 -0000
@@ -93,7 +93,7 @@ const	struct mdoc_macro __mdoc_macros[MD
 	{ in_line_argn, MDOC_CALLABLE | MDOC_PARSED }, /* In */
 	{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Li */
 	{ blk_full, 0 }, /* Nd */ 
-	{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Nm */ 
+	{ ctx_synopsis, MDOC_CALLABLE | MDOC_PARSED }, /* Nm */ 
 	{ blk_part_imp, MDOC_CALLABLE | MDOC_PARSED }, /* Op */
 	{ obsolete, 0 }, /* Ot */
 	{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Pa */
@@ -422,6 +422,8 @@ rew_dohalt(enum mdoct tok, enum mdoc_typ
 		break;
 	case (MDOC_Nd):
 		/* FALLTHROUGH */
+	case (MDOC_Nm):
+		/* FALLTHROUGH */
 	case (MDOC_Ss):
 		assert(MDOC_TAIL != type);
 		if (type == p->type && tok == p->tok)
@@ -528,11 +530,15 @@ rew_dobreak(enum mdoct tok, const struct
 		return(MDOC_It == p->tok);
 	case (MDOC_Nd):
 		return(MDOC_Nd == p->tok);
+	case (MDOC_Nm):
+		return(MDOC_Nm == p->tok);
 	case (MDOC_Ss):
 		return(MDOC_Ss == p->tok);
 	case (MDOC_Sh):
 		if (MDOC_Nd == p->tok)
 			return(1);
+		if (MDOC_Nm == p->tok)
+			return(1);
 		if (MDOC_Ss == p->tok)
 			return(1);
 		return(MDOC_Sh == p->tok);
@@ -1612,7 +1618,9 @@ ctx_synopsis(MACRO_PROT_ARGS)
 	 * up formatting the block scope, then child nodes will inherit
 	 * the formatting.  Be careful.
 	 */
-
+	if (MDOC_Nm == tok)
+		return(blk_full(m, tok, line, ppos, pos, buf));
+	assert(MDOC_Vt == tok);
 	return(blk_part_imp(m, tok, line, ppos, pos, buf));
 }
 
Index: mdoc_term.c
===================================================================
RCS file: /cvs/src/usr.bin/mandoc/mdoc_term.c,v
retrieving revision 1.87
diff -u -p -r1.87 mdoc_term.c
--- mdoc_term.c	10 Jun 2010 22:50:10 -0000	1.87
+++ mdoc_term.c	26 Jun 2010 13:41:05 -0000
@@ -82,6 +83,7 @@ static	void	  termp_fo_post(DECL_ARGS);
 static	void	  termp_in_post(DECL_ARGS);
 static	void	  termp_it_post(DECL_ARGS);
 static	void	  termp_lb_post(DECL_ARGS);
+static	void	  termp_nm_post(DECL_ARGS);
 static	void	  termp_op_post(DECL_ARGS);
 static	void	  termp_pf_post(DECL_ARGS);
 static	void	  termp_pq_post(DECL_ARGS);
@@ -166,7 +169,7 @@ static	const struct termact termacts[MDO
 	{ termp_in_pre, termp_in_post }, /* In */ 
 	{ termp_li_pre, NULL }, /* Li */
 	{ termp_nd_pre, NULL }, /* Nd */ 
-	{ termp_nm_pre, NULL }, /* Nm */ 
+	{ termp_nm_pre, termp_nm_post }, /* Nm */ 
 	{ termp_op_pre, termp_op_post }, /* Op */
 	{ NULL, NULL }, /* Ot */
 	{ termp_under_pre, NULL }, /* Pa */
@@ -1053,6 +1056,24 @@ termp_it_post(DECL_ARGS)
 static int
 termp_nm_pre(DECL_ARGS)
 {
+	size_t offset;
+
+	switch (n->type) {
+	case (MDOC_BLOCK):
+		return(1);
+	case (MDOC_HEAD):
+		p->flags |= TERMP_NOBREAK | TERMP_HANG;
+		offset = n->child ? 6 : strlen(m->name)+1;
+		p->rmargin = p->offset + offset;
+		break;
+	case (MDOC_BODY):
+		p->flags |= TERMP_NOLPAD | TERMP_NOSPACE;
+		offset = n->prev->child ? 6 : strlen(m->name)+1;
+		p->offset += offset;
+		return(1);
+	default:
+		break;
+	}
 
 	if (NULL == n->child && NULL == m->name)
 		return(1);
@@ -1062,11 +1083,33 @@ termp_nm_pre(DECL_ARGS)
 	term_fontpush(p, TERMFONT_BOLD);
 	if (NULL == n->child)
 		term_word(p, m->name);
+
 	return(1);
 }
 
 
 /* ARGSUSED */
+static void
+termp_nm_post(DECL_ARGS)
+{
+
+	switch (n->type) {
+	case (MDOC_HEAD):
+		term_flushln(p);
+		p->flags &= ~(TERMP_NOBREAK | TERMP_HANG);
+		break;
+	case (MDOC_BODY):
+		term_flushln(p);
+		p->flags &= ~TERMP_NOLPAD;
+		break;
+	default:
+		break;
+	}
+	return;
+}
+
+		
+/* ARGSUSED */
 static int
 termp_fl_pre(DECL_ARGS)
 {
--
 To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [WIP] SYNOPSIS indentation
  2010-06-26 13:47 [WIP] SYNOPSIS indentation Ingo Schwarze
@ 2010-06-26 14:01 ` Kristaps Dzonsons
  2010-06-30 23:24 ` [PATCH] .Nm indentation in the SYNOPSIS Ingo Schwarze
  1 sibling, 0 replies; 6+ messages in thread
From: Kristaps Dzonsons @ 2010-06-26 14:01 UTC (permalink / raw)
  To: tech

> here is the other patch i hacked up on the plane.
> It is still work in progress, there are few bugs in
> horizontal spacing still, but it mostly does the job
> and certainly shows the spirit.
> Again, this is based on OpenBSD-current, and needs to
> be rebased on bsd.lv HEAD.
> 
> This is best used together with the .Bk patch just sent,
> but does not depend on it.

I'm quite pleased with the simplicity of this one.  Nice!  It needs to
be brought up to speed with term_strlen() and term_len(), but that's a
four-second operation (I noted the parts in-line).

Also, you'll need to modify mdoc.7 and mdoc.3 to note that `Nm' can be
two different types of variable.

Do make sure this doesn't break any assumptions of MDOC_ELEM in the
actioner/validator.  I didn't double-check these.

Kristaps

> +	switch (n->type) {
> +	case (MDOC_BLOCK):
> +		return(1);
> +	case (MDOC_HEAD):
> +		p->flags |= TERMP_NOBREAK | TERMP_HANG;
> +		offset = n->child ? 6 : strlen(m->name)+1;

This'll be term_len(p, 6) and term_strlen(m->name) + term_len(p, 1).

> +		p->rmargin = p->offset + offset;
> +		break;
> +	case (MDOC_BODY):
> +		p->flags |= TERMP_NOLPAD | TERMP_NOSPACE;
> +		offset = n->prev->child ? 6 : strlen(m->name)+1;

Same as above...

> +		p->offset += offset;
> +		return(1);
> +	default:
> +		break;
> +	}
>  
>  	if (NULL == n->child && NULL == m->name)
>  		return(1);
> @@ -1062,11 +1083,33 @@ termp_nm_pre(DECL_ARGS)
>  	term_fontpush(p, TERMFONT_BOLD);
>  	if (NULL == n->child)
>  		term_word(p, m->name);
> +
>  	return(1);
>  }
>  
>  
>  /* ARGSUSED */
> +static void
> +termp_nm_post(DECL_ARGS)
> +{
> +
> +	switch (n->type) {
> +	case (MDOC_HEAD):
> +		term_flushln(p);
> +		p->flags &= ~(TERMP_NOBREAK | TERMP_HANG);
> +		break;
> +	case (MDOC_BODY):
> +		term_flushln(p);
> +		p->flags &= ~TERMP_NOLPAD;
> +		break;
> +	default:
> +		break;
> +	}
> +	return;
> +}
> +
> +		
> +/* ARGSUSED */
>  static int
>  termp_fl_pre(DECL_ARGS)
>  {
> --
>  To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv
> 

--
 To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] .Nm indentation in the SYNOPSIS
  2010-06-26 13:47 [WIP] SYNOPSIS indentation Ingo Schwarze
  2010-06-26 14:01 ` Kristaps Dzonsons
@ 2010-06-30 23:24 ` Ingo Schwarze
  2010-07-01  9:38   ` Kristaps Dzonsons
  1 sibling, 1 reply; 6+ messages in thread
From: Ingo Schwarze @ 2010-06-30 23:24 UTC (permalink / raw)
  To: tech

Hi,

after much preliminary work and bug fixing,
support for proper .Nm indentation in the SYNOPSIS
is now finished.

Here is the final diff: OK?

The diff contains:
 * switching .Nm from in_line to ctx_synopsis
 * special .Nm handling in rewinding rules and blk_exp_close
 * a bit of related block scoping error message cleanup
 * termp_nm_pre and termp_nm_post output handlers

Yours,
  Ingo


Index: main.c
===================================================================
RCS file: /cvs/src/usr.bin/mandoc/main.c,v
retrieving revision 1.40
diff -u -p -r1.40 main.c
--- main.c	30 Jun 2010 20:29:44 -0000	1.40
+++ main.c	30 Jun 2010 22:58:21 -0000
@@ -109,6 +109,7 @@ static	const char * const	mandocerrs[MAN
 	"unknown manual section",
 	"section not in conventional manual section",
 	"end of line whitespace",
+	"blocks badly nested",
 	"scope open on exit",
 
 	"generic error",
@@ -132,7 +133,6 @@ static	const char * const	mandocerrs[MAN
 	"bad comment style",
 	"unknown macro will be lost",
 	"line scope broken",
-	"scope broken",
 	"argument count wrong",
 	"request scope close w/none open",
 	"scope already open",
@@ -151,7 +151,8 @@ static	const char * const	mandocerrs[MAN
 	"missing font type",
 	"displays may not be nested",
 	"unsupported display type",
-	"no scope to rewind: syntax violated",
+	"blocks badly nested",
+	"no such block is open",
 	"scope broken, syntax violated",
 	"line scope broken, syntax violated",
 	"argument count wrong, violates syntax",
Index: mandoc.h
===================================================================
RCS file: /cvs/src/usr.bin/mandoc/mandoc.h,v
retrieving revision 1.8
diff -u -p -r1.8 mandoc.h
--- mandoc.h	30 Jun 2010 20:29:44 -0000	1.8
+++ mandoc.h	30 Jun 2010 22:58:21 -0000
@@ -47,6 +47,7 @@ enum	mandocerr {
 	MANDOCERR_BADMSEC, /* unknown manual section */
 	MANDOCERR_SECMSEC, /* section not in conventional manual section */
 	MANDOCERR_EOLNSPACE, /* end of line whitespace */
+	MANDOCERR_SCOPENEST, /* blocks badly nested */
 	MANDOCERR_SCOPEEXIT, /* scope open on exit */
 
 	MANDOCERR_ERROR, /* ===== end of errors ===== */
@@ -70,9 +71,8 @@ enum	mandocerr {
 	MANDOCERR_BADCOMMENT, /* bad comment style */
 	MANDOCERR_MACRO, /* unknown macro will be lost */
 	MANDOCERR_LINESCOPE, /* line scope broken */
-	MANDOCERR_SCOPE, /* scope broken */
 	MANDOCERR_ARGCOUNT, /* argument count wrong */
-	MANDOCERR_NOSCOPE, /* request scope close w/none open */
+	MANDOCERR_NOSCOPE, /* no such block is open */
 	MANDOCERR_SCOPEREP, /* scope already open */
 	/* FIXME: merge following with MANDOCERR_ARGCOUNT */
 	MANDOCERR_NOARGS, /* macro requires line argument(s) */
@@ -92,6 +92,7 @@ enum	mandocerr {
 	/* FIXME: this should be a MANDOCERR_ERROR */
 	MANDOCERR_NESTEDDISP, /* displays may not be nested */
 	MANDOCERR_BADDISP, /* unsupported display type */
+	MANDOCERR_SCOPEFATAL, /* blocks badly nested */
 	MANDOCERR_SYNTNOSCOPE, /* no scope to rewind: syntax violated */
 	MANDOCERR_SYNTSCOPE, /* scope broken, syntax violated */
 	MANDOCERR_SYNTLINESCOPE, /* line scope broken, syntax violated */
Index: mdoc_macro.c
===================================================================
RCS file: /cvs/src/usr.bin/mandoc/mdoc_macro.c,v
retrieving revision 1.50
diff -u -p -r1.50 mdoc_macro.c
--- mdoc_macro.c	30 Jun 2010 03:57:49 -0000	1.50
+++ mdoc_macro.c	30 Jun 2010 22:58:22 -0000
@@ -93,7 +93,7 @@ const	struct mdoc_macro __mdoc_macros[MD
 	{ in_line_argn, MDOC_CALLABLE | MDOC_PARSED }, /* In */
 	{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Li */
 	{ blk_full, 0 }, /* Nd */ 
-	{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Nm */ 
+	{ ctx_synopsis, MDOC_CALLABLE | MDOC_PARSED }, /* Nm */ 
 	{ blk_part_imp, MDOC_CALLABLE | MDOC_PARSED }, /* Op */
 	{ obsolete, 0 }, /* Ot */
 	{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Pa */
@@ -388,6 +388,8 @@ rew_dohalt(enum mdoct tok, enum mdoc_typ
 		if (MDOC_Op == p->tok)
 			return(REWIND_MORE);
 		break;
+	case (MDOC_Nm):
+		return(REWIND_NONE);
 	case (MDOC_Nd):
 		/* FALLTHROUGH */
 	case (MDOC_Ss):
@@ -405,9 +407,11 @@ rew_dohalt(enum mdoct tok, enum mdoc_typ
 
 	/*
 	 * Default block rewinding rules.
-	 * In particular, always skip block end markers.
+	 * In particular, always skip block end markers,
+	 * and let all blocks rewind Nm children.
 	 */
-	if (p->end || (MDOC_BLOCK == p->type &&
+	if (p->end || MDOC_Nm == p->tok ||
+	    (MDOC_BLOCK == p->type &&
 	    ! (MDOC_EXPLICIT & mdoc_macros[tok].flags)))
 		return(REWIND_MORE);
 
@@ -503,8 +507,9 @@ make_pending(struct mdoc_node *broken, e
 			taker->pending = broken->pending;
 		}
 		broken->pending = breaker;
-		mdoc_vmsg(m, MANDOCERR_SCOPE, line, ppos, "%s breaks %s",
-		    mdoc_macronames[tok], mdoc_macronames[broken->tok]);
+		mdoc_vmsg(m, MANDOCERR_SCOPENEST, line, ppos,
+		    "%s breaks %s", mdoc_macronames[tok],
+		    mdoc_macronames[broken->tok]);
 		return(1);
 	}
 
@@ -538,7 +543,9 @@ rew_sub(enum mdoc_type t, struct mdoc *m
 			return(make_pending(n, tok, m, line, ppos));
 		case (REWIND_ERROR):
 			/* XXX Make this non-fatal. */
-			mdoc_pmsg(m, line, ppos, MANDOCERR_SYNTNOSCOPE);
+			mdoc_vmsg(m, MANDOCERR_SCOPEFATAL, line, ppos,
+			    "%s cannot break %s", mdoc_macronames[tok],
+			    mdoc_macronames[n->tok]);
 			return 0;
 		}
 		break;
@@ -648,7 +655,7 @@ blk_exp_close(MACRO_PROT_ARGS)
 			continue;
 		}
 
-		if (MDOC_BLOCK != n->type)
+		if (MDOC_BLOCK != n->type || MDOC_Nm == n->tok)
 			continue;
 		if (atok == n->tok) {
 			assert(body);
@@ -1284,8 +1291,8 @@ blk_part_imp(MACRO_PROT_ARGS)
 	 * is ugly behaviour nodding its head to OpenBSD's overwhelming
 	 * crufty use of `Op' breakage.
 	 */
-	if (n != body && ! mdoc_vmsg(m, MANDOCERR_SCOPE, line, ppos,
-	    "%s broken", mdoc_macronames[tok]))
+	if (n != body && ! mdoc_vmsg(m, MANDOCERR_SCOPENEST,
+	    line, ppos, "%s broken", mdoc_macronames[tok]))
 		return(0);
 
 	if (n && ! rew_sub(MDOC_BODY, m, tok, line, ppos))
@@ -1638,7 +1645,9 @@ ctx_synopsis(MACRO_PROT_ARGS)
 	 * up formatting the block scope, then child nodes will inherit
 	 * the formatting.  Be careful.
 	 */
-
+	if (MDOC_Nm == tok)
+		return(blk_full(m, tok, line, ppos, pos, buf));
+	assert(MDOC_Vt == tok);
 	return(blk_part_imp(m, tok, line, ppos, pos, buf));
 }
 
Index: mdoc_term.c
===================================================================
RCS file: /cvs/src/usr.bin/mandoc/mdoc_term.c,v
retrieving revision 1.93
diff -u -p -r1.93 mdoc_term.c
--- mdoc_term.c	29 Jun 2010 17:10:30 -0000	1.93
+++ mdoc_term.c	30 Jun 2010 22:58:22 -0000
@@ -81,6 +81,7 @@ static	void	  termp_fo_post(DECL_ARGS);
 static	void	  termp_in_post(DECL_ARGS);
 static	void	  termp_it_post(DECL_ARGS);
 static	void	  termp_lb_post(DECL_ARGS);
+static	void	  termp_nm_post(DECL_ARGS);
 static	void	  termp_op_post(DECL_ARGS);
 static	void	  termp_pf_post(DECL_ARGS);
 static	void	  termp_pq_post(DECL_ARGS);
@@ -166,7 +167,7 @@ static	const struct termact termacts[MDO
 	{ termp_in_pre, termp_in_post }, /* In */ 
 	{ termp_li_pre, NULL }, /* Li */
 	{ termp_nd_pre, NULL }, /* Nd */ 
-	{ termp_nm_pre, NULL }, /* Nm */ 
+	{ termp_nm_pre, termp_nm_post }, /* Nm */ 
 	{ termp_op_pre, termp_op_post }, /* Op */
 	{ NULL, NULL }, /* Ot */
 	{ termp_under_pre, NULL }, /* Pa */
@@ -1021,11 +1022,35 @@ static int
 termp_nm_pre(DECL_ARGS)
 {
 
-	if (NULL == n->child && NULL == m->name)
+	if (MDOC_BLOCK == n->type)
+		return(1);
+
+	if (MDOC_BODY == n->type) {
+		if (NULL == n->child)
+			return(0);
+		p->flags |= TERMP_NOLPAD | TERMP_NOSPACE;
+		p->offset += term_len(p, 1) +
+		    (NULL == n->prev->child ? term_strlen(p, m->name) :
+		     MDOC_TEXT == n->prev->child->type ?
+			term_strlen(p, n->prev->child->string) :
+		     term_len(p, 5));
 		return(1);
+	}
+
+	if (NULL == n->child && NULL == m->name)
+		return(0);
 
 	synopsis_pre(p, n);
 
+	if (MDOC_HEAD == n->type && n->next->child) {
+		p->flags |= TERMP_NOSPACE | TERMP_NOBREAK | TERMP_HANG;
+		p->rmargin = p->offset + term_len(p, 1) +
+		    (NULL == n->child ? term_strlen(p, m->name) :
+		     MDOC_TEXT == n->child->type ?
+			term_strlen(p, n->child->string) :
+		     term_len(p, 5));
+	}
+
 	term_fontpush(p, TERMFONT_BOLD);
 	if (NULL == n->child)
 		term_word(p, m->name);
@@ -1033,6 +1058,21 @@ termp_nm_pre(DECL_ARGS)
 }
 
 
+/* ARGSUSED */
+static void
+termp_nm_post(DECL_ARGS)
+{
+
+	if (MDOC_HEAD == n->type && n->next->child) {
+		term_flushln(p);
+		p->flags &= ~(TERMP_NOBREAK | TERMP_HANG);
+	} else if (MDOC_BODY == n->type && n->child) {
+		term_flushln(p);
+		p->flags &= ~TERMP_NOLPAD;
+	}
+}
+
+		
 /* ARGSUSED */
 static int
 termp_fl_pre(DECL_ARGS)
--
 To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] .Nm indentation in the SYNOPSIS
  2010-06-30 23:24 ` [PATCH] .Nm indentation in the SYNOPSIS Ingo Schwarze
@ 2010-07-01  9:38   ` Kristaps Dzonsons
  2010-07-01 12:59     ` Ingo Schwarze
  0 siblings, 1 reply; 6+ messages in thread
From: Kristaps Dzonsons @ 2010-07-01  9:38 UTC (permalink / raw)
  To: tech

This patch is clear (1/3-ok).  It needs bits in mdoc.7, as with `Vt', 
stating its effects (pending 1/3).  Furthermore, the existing code in 
mdoc_html.c handling `Nm' needs to be thrown out and replaced by this 
(last 1/3).  I can take care of the last part if you don't want to 
navigate mdoc_html.c.

jmc will love you for this, Ingo!  :-)


--
 To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] .Nm indentation in the SYNOPSIS
  2010-07-01  9:38   ` Kristaps Dzonsons
@ 2010-07-01 12:59     ` Ingo Schwarze
  2010-07-01 13:15       ` Kristaps Dzonsons
  0 siblings, 1 reply; 6+ messages in thread
From: Ingo Schwarze @ 2010-07-01 12:59 UTC (permalink / raw)
  To: tech

Hi Kristaps,

Kristaps Dzonsons schrieb am Thu, Jul 01, 2010 at 11:38:51AM +0200:

> This patch is clear (1/3-ok).

Thanks for checking!

> It needs bits in mdoc.7, as with `Vt',
> stating its effects (pending 1/3).

So i shall write that and commit.

> Furthermore, the existing code in mdoc_html.c handling `Nm' needs
> to be thrown out and replaced by this (last 1/3).
> I can take care of the last part if
> you don't want to navigate mdoc_html.c.

Yes, please!  That would be nice.

> jmc will love you for this, Ingo!  :-)

Sobrado@ already does.

Yours,
  Ingo
--
 To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] .Nm indentation in the SYNOPSIS
  2010-07-01 12:59     ` Ingo Schwarze
@ 2010-07-01 13:15       ` Kristaps Dzonsons
  0 siblings, 0 replies; 6+ messages in thread
From: Kristaps Dzonsons @ 2010-07-01 13:15 UTC (permalink / raw)
  To: tech

>> This patch is clear (1/3-ok).
> 
> Thanks for checking!
> 
>> It needs bits in mdoc.7, as with `Vt',
>> stating its effects (pending 1/3).
> 
> So i shall write that and commit.

Slap it in and I'll worry about the HTML bits once it's in place.

>> Furthermore, the existing code in mdoc_html.c handling `Nm' needs
>> to be thrown out and replaced by this (last 1/3).
>> I can take care of the last part if
>> you don't want to navigate mdoc_html.c.
> 
> Yes, please!  That would be nice.
> 
>> jmc will love you for this, Ingo!  :-)
> 
> Sobrado@ already does.

Well, you know what they say: what happens at the hackathon, stays at
the hackathon.  :-)
--
 To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-07-01 13:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-26 13:47 [WIP] SYNOPSIS indentation Ingo Schwarze
2010-06-26 14:01 ` Kristaps Dzonsons
2010-06-30 23:24 ` [PATCH] .Nm indentation in the SYNOPSIS Ingo Schwarze
2010-07-01  9:38   ` Kristaps Dzonsons
2010-07-01 12:59     ` Ingo Schwarze
2010-07-01 13:15       ` Kristaps Dzonsons

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).