]> git.ipfire.org Git - thirdparty/man-pages.git/commit
Various pages: Use correct letter case in page titles (TH)
authorAlejandro Colomar <alx@kernel.org>
Sun, 30 Oct 2022 17:59:09 +0000 (18:59 +0100)
committerAlejandro Colomar <alx@kernel.org>
Sun, 30 Oct 2022 22:51:42 +0000 (23:51 +0100)
commit06cb06123fe9bae68c517d85d3ac08beed6bcaab
tree3c6c39306921dd4e2b10e3e0377b464a8a34b828
parent4c1c52748a06141996fccbf23fb8d9e15cba11e8
Various pages: Use correct letter case in page titles (TH)

Semi-scripted change:

$ find man* -type f \
  | xargs grep -L '\.so' \
  | while read f; do
      P=$(basename $f);
      T=$(grep '\.TH ' $f | cut -f2,3 -d' ' | sed 's/ /./');
      p=$(echo $P | tr '[:upper:]' '[:lower:]');
      t=$(echo $T | tr '[:upper:]' '[:lower:]');
      Tn=$(echo $T | sed 's/\.[^.]\+$//')
      Pn=$(echo $P | sed 's/\.[^.]\+$//')

      N=$(man_section $f NAME \
      | sed -n '/NAME/,/ - /p' \
      | sed 's/ - .*//' \
      | grep -v '^NAME$' \
      | tr ', ' '\n' \
      | grep -i "^$Pn$" \
      | head -n1)

      test $P = $T \
      && test -n $N \
      && continue;

      if test "x$p" != "x$t"; then
          echo 1 $P $T $N;
      elif test -z "$N"; then
          sed -i "/\.TH /s/$Tn/$Pn/" $f;
      fi;
  done;

Most of the changes produced by this script needed to be reverted,
but the some of them were good.

On 10/30/22 23:00, G. Branden Robinson wrote:
> For those to whom this change is coming as an unpleasant surprise, the
> forthcoming groff 1.23.0 features an option that will reverse this
> change at rendering time.
>
>  From groff_man(7):
>
>     -rCT=1 Capitalize titles, setting the man page title (the first
>            argument to .TH) in full capitals in headers and footers.
>            This transformation is off by default because it discards
>            case distinction information.
>
> This register can also be set in a site-local "man.local" file to force
> it on for all pages.  On Debian-based systems, this file is in
> /etc/groff.  The following line will do the trick.
>
> .nr CT 1
>
> The groff_man_style(7) man page offers further examples of such
> rendering customization.
>
>     /usr/local/share/groff/site-tmac/man.local
>            Put site‐local changes and customizations into this file.
>
>                   .\" Use narrower indentation on terminals and similar.
>                   .if n .nr IN 4n
>                   .\" Put only one space after the end of a sentence.
>                   .ss 12 0 \" See groff(7).
>                   .\" Keep pages narrow even on wide terminals.
>                   .if n .if \n[LL]>78n .nr LL 78n
>                   .\" Ensure hyperlinks are enabled for terminals.
>                   .nr U 1
>
>            On multi‐user systems, it is more considerate to users whose
>            preferences may differ from the administrator’s to be less
>            aggressive with such settings, or to permit their override
>            with a user‐specific man.local file.  This can be achieved by
>            placing one or both of following requests at the end of the
>            site‐local file.
>                   .soquiet \V[XDG_CONFIG_HOME]/man.local
>                   .soquiet \V[HOME]/.man.local
>            However, a security‐sandboxed man(1) program may lack
>            permission to open such files.

Cc: Ingo Schwarze <schwarze@openbsd.org>
Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
man7/man-pages.7
man7/persistent-keyring.7
man7/process-keyring.7
man7/session-keyring.7
man7/signal-safety.7
man7/thread-keyring.7
man7/user-keyring.7
man7/user-session-keyring.7