hi ranga,
thanks for bothering. really appreciated :).
On 25.08.22 19:12, Sriranga Veeraraghavan wrote:
Hi Joerg,
It turns out that there is a version of man in macports. I just installed it
and it creates a man.conf in /opt/local/etc that reference the macports
versions of groff, tbl, etc. I believe that this is consistent with the
macports philosophy of leaving the base system provided by Apple untouched as
much as possible and providing alternatives / equivalents that can be updated
by macports independent of any change Apple may make to the base system.
I didn't think of this ("obvious") solution :). maybe I'll do that. for now I actually have settled
for the `man -C' option (copy and adjust man.conf and put alias in my .kshrc (ksh just is a better
shell than bash ;)). turns out when doing this one not only has to point man to the correct groff
executables but also add `-R' to the less options (not sure why this is
necessary only for proper
display of the groff manpages while others don't need that flag, but anyway...).
I think that a solution to your issue may be to install the man port and then
use an alias / shell function to make sure man invokes /opt/local/bin/man
instead of the system’s default man (you could also change your PATH
environment variable so that /opt/local/bin comes before the system directories
such as /usr/bin, but this could lead to hard to debug problems).
yes, I will think about this. sounds overall like the cleanest solution. regarding PATH: I have
opt/local/bin before /usr/bin etc. for a long time (not even sure whether macports relies on this
order?). I understand that the system _might_ get confused if it finds incompatible executables, though.
best,
joerg
HTH,
-ranga
On Aug 25, 2022, at 02:15, joerg van den hoff <[email protected]> wrote:
hi ranga,
thank you for the reply.
On 25.08.22 03:48, Sriranga Veeraraghavan wrote:
Hi Joerg,
My experience with macports (as a user) is that macports rarely, if ever,
modifies system configuration files provided by Apple. I think that
'/private/etc/man.conf’ falls in to this category, so I would say that it is
probably up to the user to make any changes they want to this file.
An potential solution for you might be to create your own customized man.conf
with the paths you want for the various commands and then use an alias or shell
function for man that runs “man -C [path to personal man.conf]”.
yes, that would be a work around, I agree.
but in my view the principle behaviour is buggy:
* I use macports installed groff
* PATH and MANPATH are adjusted by macports so that usually the correct groff
binaries (groff, gtroff, grops, etc, but especially also tbl and eqn) as
installed by macports are found and
`man' queries/displays the correct (macports installed) manpages.
* however, the latter (manpage display) is done using the unmodified default
/private/etc/man.conf which causes system installed tbl to be used which only
works (as far as groff_char(7) is concerned) if it is fully compatible with the
(newer) macports installed tbl (or so it seems).
I would argue: if the macports `tbl' is earlier on PATH than it also should be
used by `man' -- which would probably imply that `ports' modfies man.conf. or
am I mistaken?
best,
joerg
Best,
-ranga
On Aug 13, 2022, at 07:34, joerg van den hoff <[email protected]> wrote:
re the below issue (reported in previous mail):
`man -d groff_char' says:
(cd "/opt/local/man" && (echo ".ll 14.3i"; echo ".nr LL 14.3i"; /usr/bin/gunzip
-c '/opt/local/man/man7/groff_char.7.gz') | /usr/bin/tbl | /usr/bin/groff -Wall -mtty-char -Tascii -mandoc -c |
(/usr/bin/less -is || true))
so `man' uses the system-install of `tbl' and `groff' (rather than the
macports-installed groff package). this seems to be the issue: changing `tbl'
to the macports variant (system groff
is at 1.19, macports' groff at 1.22.4) and adding `-R' to the `less' options
leads to a seemingly sane display. this looks like some post-1.19 change to
`tbl' broke backwards compatibility.
so it's not the man page that is broken but the `man' pipeline using "wrong"
`tbl'. this in turn
seems to point to man.conf (5). the file /private/etc/man.conf indeed contains
absolute paths to
system `tbl', `groff' etc. question: is this the user's responsibility to
adjust that file or should macports `man' take care of this via including `man
-C private_man.conf' into the constructed pipeline and putting the correct
(macports) paths there?
best,
joerg
====original mail====
this concerns the `groff' package: `man groff_char' is broken (again, I
believe, after having worked correctly some time ago).
`man groff_char' first lists a bunch of `tbl' warnings and the then displayed
manpage
does not display any of the tables supposed to give the overview of "available glyphs on the
currently used output device" (terminal, usually, but possibly postscript). look, e.g. for
"Ligatures and Other Latin Glyphs". does neither work for terminal output nor for
postscript (`man -t').
this is on 10.15.7 with groff @1.22.4_6.