tech@mandoc.bsd.lv
 help / color / mirror / Atom feed
From: Ingo Schwarze <schwarze@usta.de>
To: tech@mdocml.bsd.lv
Subject: Re: roff.c question
Date: Thu, 2 Dec 2010 23:50:19 +0100	[thread overview]
Message-ID: <20101202225019.GD12188@iris.usta.de> (raw)
In-Reply-To: <4CF79F45.6080105@bsd.lv>

Hi Kristaps,

Kristaps Dzonsons wrote on Thu, Dec 02, 2010 at 02:29:41PM +0100:

> The groff_char.man page causes the blow-up (enclosed).

Typical GNU sabotage.  ;-(

Did you look at that code?
Take a seat first, lest you fall.

But seriously, how do you expect the following code to behave?

  .ds CH \\*[CH]
  \*(CH

Here is what groff does:

  EXAMPLES/loop.in:8: fatal error:
  input stack limit exceeded (probable infinite loop)

Apparently, the groff_char manual does not actually dereference this
self-referencing string, but the macro and if constructs are so
complicated that i guess i would need quite some time to disentangle
them and understand the reason.

In any case, this is all way above mandoc's head.
Young mandoc simply evaluates almost all conditions to false -
and runs straight into the trap.

I see two things this we can do here:

 1) roff_res() should not expand \\* or \\\\*,
    but it should expand \* and \\\*.

 2) We should implement some kind of stack limit
    and just bail out.

Planning to look into that tomorrow...

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

  reply	other threads:[~2010-12-02 22:50 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-01 16:33 exit_status persistence Kristaps Dzonsons
2010-12-01 16:41 ` Kristaps Dzonsons
2010-12-01 21:28 ` Ingo Schwarze
2010-12-02 10:51   ` exit_status persistence (now: roff.c question) Kristaps Dzonsons
2010-12-02 13:29     ` Kristaps Dzonsons
2010-12-02 22:50       ` Ingo Schwarze [this message]
2010-12-03 21:49         ` roff.c question Ingo Schwarze
2010-12-05 15:15           ` Kristaps Dzonsons
2010-12-08  1:05             ` Ingo Schwarze
2010-12-10  9:40               ` Kristaps Dzonsons
2010-12-10 20:45                 ` Ingo Schwarze
2010-12-10 20:52                   ` Joerg Sonnenberger
2010-12-10 21:10                     ` Ingo Schwarze
2010-12-10 21:17                       ` Joerg Sonnenberger
2010-12-10 23:12                       ` Ingo Schwarze
2010-12-03 23:31         ` Ingo Schwarze
2010-12-05 15:17           ` Kristaps Dzonsons
2010-12-09 23:45             ` Ingo Schwarze
2010-12-10  9:32               ` Kristaps Dzonsons
2010-12-02 20:54     ` Ingo Schwarze

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101202225019.GD12188@iris.usta.de \
    --to=schwarze@usta.de \
    --cc=tech@mdocml.bsd.lv \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).