On Fri, Sep 5, 2014 at 04:01:31PM +0100, Colin Watson wrote:
> On Thu, Sep 04, 2014 at 10:28:46PM -0400, Bruce Momjian,,, wrote:
> > The command:
> >
> > zcat /usr/share/man/man3/printf.3.gz| nroff -man
> >
> > produces this as the last line:
> >
> > e, E The double argument is rounded and converted in the style
> >
> > which obviously is not the end of the file. The man file hasn't changed
> > since 2010, so something else must be wrong. Can you reproduce this failure?
>
> Well, you're running squeeze; not a lot has changed since 2010. :-)
> However, I've been unable to reproduce this in a squeeze chroot after
> installing groff-base, locales, manpages-dev, and vim, generating the
> en_US.UTF-8 locale, and running your command in that locale.
>
> The line after the one you mention includes a non-ASCII character, so
> doubtless this is some kind of Unicode-related problem.
>
> Let's rule out one possibility first: please attach the output of:
>
> zcat /usr/share/man/man3/printf.3.gz | groff -mtty-char -Tutf8 -man -Z
Actually, I found the cause. I have local macros for AM/PM text, and
they are called Am and Pm, with the assumtion that local macros are
mixed case. Well, it seems printf has:
.if \w'\*(Pm'=0 .ds Pm \(+-
which ends up calling my macro which then doesn't end well. :-(
Anyway, I have no idea if mixed-case macros are legal in man pages. I
will fix it on my end by no including my custom macros when in manual
page mode.
--
Bruce Momjian <[email protected]> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ Everyone has their own god. +
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]