Closed docwhat closed 6 months ago
I have trouble reproducing this. I do not have macos (which version btw?) and so I was looking for a way to install this version of groff in some VM or container. This is what I found:
man
on the containerI am now wandering: Maybe you can just install a newer version of groff (with homebrew or macports or so) and this could be solved?
I have macOS 11.6
macOS comes with that version of groff
1.19.2. I can (and did) install a newer groff via Homebrew.
You can look these up here https://opensource.apple.com – Note, 11.6 isn't there yet... it can take a while for it all to clear their review. 11.5 is "close enough" I suspect.
so what happens with the newer groff?
The binary /usr/bin/man
on macOS has hardcoded paths to tools like /usr/bin/tbl
, so I can't upgrade it.
❯ strings =man | grep /usr/bin/
/usr/bin/mandoc
/usr/bin/apropos
/usr/bin/whatis
/usr/bin/groff -Tps -mandoc -c
/usr/bin/groff -Wall -mtty-char -Tascii -mandoc -c
/usr/bin/groff -Tnippon -mandocj -c
/usr/bin/eqn -Tps
/usr/bin/eqn -Tascii
/usr/bin/eqn -Tnippon
/usr/bin/tbl
/usr/bin/refer
/usr/bin/pic
/usr/bin/less -is
/usr/bin/cmp -s
Sorry I took song long to reply.
I have trouble reproducing this. I do not have macos (which version btw?) and so I was looking for a way to install this version of groff in some VM or container.
You can create a GitHub action (or other CI system) that uses macOS as the worker. This would let you see what errors, etc. come out the other end.
We are actually already running the tests on osx: https://github.com/lucc/nvimpager/blob/develop/.travis.yml#L30-L34
I am wondering what command could be used to test what you experience. I can display the man page but that does not fail and one has to look at the test output to see the problem: https://app.travis-ci.com/github/lucc/nvimpager/jobs/544681386
Maybe use a multi-line regexp to look for a lack of a table via perl
?
@docwhat I created the test/osx-man-page branch. Can you please check if that works for you.
Looks good! The table is all there. There is no wrapping, but I think that's how it is meant to be.
macOS: 13beta scdoc: 1.11.2
What do you mean "The table is all there"? I thought the whole point of this issue is that the table is not shown on macOS.
In the generated man page:
Yay! 🎉
I am very confused. Can you help me understand what exactly is goiing on?
make clean nvimpager.1
or make clean nvimpager.1 LEGACY_ROFF=true
(only applicable on the test/osx-man-page branch)I am asking because I would just throw away the branch test/osx-man-page if everything now works without it on macOS. I am not very keen on maintaining different versions of the man page with some fragile conversion code.
@docwhat is this resolved? I am still unsure about your last comment.
By accident I found a possible workaround to have the macOS version of man use a newer groff: https://tkurtbond.github.io/posts/2021/07/26/making-a-newer-version-of-groff-work-with-man-and-emacs-on-macos/
It is resolved:
The manpage isn't right for me. The "following fields" table is missing.
I'm using
scdoc
version 1.11.1 on the develop branch (49315df) and there are no errors when building.When I view the page, I get this:
The macOS
man
uses the builtin version of/usr/bin/tbl
which isGNU tbl (groff) version 1.19.2
.