Sean M Burke <[EMAIL PROTECTED]> writes:

> I still see lots of guesswork still in there, like italicizing foo() and
> foo(1), and trying to guess at turning " into a smart-quote going in the
> appropriate direction.  I don't know how much of that *roff forces you
> to do, but I tend to dislike that sort of thing, since it's often
> unexpected, and there's typically no way to turn it off (or correct it)
> when it goes wrong.  It's invisibly nice when it works right, but so
> maddening when it goes wrong that I think it's not even worth the effort
> to even try.

Yes, this has been discussed ad nauseum on p5p in the past.  :)

> I've been doing all my Pod browsing (and hardcopying) thru a custom
> pod2rtf for about two years now (basically now reimplemented as the
> Pod::Simple::RTF in the current Pod-Simple dist).  It doesn't implement
> any of that sort of guesswork, and I haven't missed one a bit.

I would miss it quite a lot.

The summary of past discussion of this basically goes like this:

Some people, like me, very much want guesswork.  If I wanted to have to
mark up everything in my documents, I could use DocBook or something; part
of the reason why I use POD at all is because I can write in something
very close to plain text.  Furthermore, there isn't any way of expressing
on POD the things that guesswork finds; for example, there is no correct
way of marking up a function references like foo() using standard POD
markup.

Some people really don't like guesswork at all and don't want it ever
turned on.  You've expressed a good summary of that.

Some people are happy with some of it and not with others and would be
happy if there were a way to request particular types of guesswork.

And finally, some guesswork is simply forced by the output medium.
Handling of hyphens and dashes has to be done to *some* degree in *roff no
matter what, and if one doesn't handle long dashes differently than
hyphens, the printed output looks really ugly.  Similarly for paired
quotes; it makes a big difference in the quality of the printed output, at
least in my opinion.  And there are other things, like adding a thin space
between adjacent underscores, that you just have to do.

So....

Clearly, I agree that there should be some way of turning guesswork off if
you don't want it.  Just as clearly, from the above, I want to have it
there for those of us who want it.  Given the historic behavior of
pod2man, I'll also argue that for pod2man in particular it should be on by
default; Tom felt very strongly about that, and Larry seemed to agree, way
back when.  That doesn't mean it needs to be on for everything else.

I've put a lot of effort into the guesswork in Pod::Man, getting it to not
do the wrong thing in a variety of situations.  Right now, it's pretty
unobtrusive overall, I think.  And in places where guesswork *can* be
replaced with markup, I'm not sure I'd object to doing that (for example,
only marking up man page references like foo(1) when they're written as
L<foo(1)>).  But last I heard, Tom utterly hated that idea.

I think it would be nice to at some point address some of the shortcomings
of POD that make guesswork necessary (and to deal with a few other things,
like the fact that I<> right now is both emphasis and metasyntactic
variables, which are *utterly* different things and should be marked up
very differently by Pod::Text).  But most of the proposals to extend the
POD language end up going nowhere.

-- 
Russ Allbery ([EMAIL PROTECTED])             <http://www.eyrie.org/~eagle/>

Reply via email to