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.



Reply via email to