Hi,

Below is a diff that updates devel/shellcheck to 0.10.0. Now that we
can use a release again instead of a untagged version from their git
repository, we can revert the manual stuff at the beginning of the
Makefile that overrides cabal.port.mk.

Tested on amd64.

Comments or OKs?

Caspar


Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/shellcheck/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- Makefile    12 Nov 2023 15:38:05 -0000      1.17
+++ Makefile    21 Mar 2024 19:39:04 -0000
@@ -1,19 +1,7 @@
 COMMENT =              shell script analysis tool
 
-# https://github.com/koalaman/shellcheck/issues/2860
-V =            0.9.0pl20231108
-GH_ACCOUNT =   koalaman
-GH_COMMIT =    a71a13c2fca05b822cb16840792dc013ca76493f
-GH_PROJECT =   shellcheck
-
-# Overrides cabal.port.mk which would otherwise preempt bsd.port.mk
-DISTNAME =     ${GH_PROJECT}-${V}
-DISTFILES =    ${GH_DISTFILE}
-PKGNAME =      ${MODCABAL_EXECUTABLES}-${V}
-SITES =                ${SITES_GITHUB}
-
 MODCABAL_STEM =                ShellCheck
-MODCABAL_VERSION =     ${V}
+MODCABAL_VERSION =     0.10.0
 MODCABAL_EXECUTABLES = shellcheck
 PKGNAME =              ${DISTNAME:L}
 CATEGORIES =           devel
@@ -26,25 +14,23 @@ PERMIT_PACKAGE =    Yes
 
 WANTLIB =              c ffi gmp iconv m pthread util
 
-# cabal-bundler --openbsd ShellCheck-0.9.0 --executable shellcheck
+# cabal-bundler --openbsd ShellCheck-0.10.0 --executable shellcheck
 MODULES =              devel/cabal
 MODCABAL_MANIFEST      = \
-       Diff    0.4.1   0       \
+       Diff    0.5     1       \
        OneTuple        0.4.1.1 1       \
        QuickCheck      2.14.3  0       \
        StateVar        1.2.2   0       \
        aeson   2.2.1.0 1       \
        assoc   1.1     1       \
        base-orphans    0.9.1   0       \
-       bifunctors      5.6.1   2       \
+       bifunctors      5.6.2   0       \
        comonad 5.0.8   2       \
        contravariant   1.5.5   0       \
-       data-array-byte 0.1.0.1 2       \
        data-fix        0.3.2   5       \
        distributive    0.6.2.1 1       \
        dlist   1.0     1       \
        fgl     5.8.2.0 0       \
-       foldable1-classes-compat        0.1     4       \
        generically     0.1.1   2       \
        hashable        1.4.3.0 1       \
        indexed-traversable     0.1.3   0       \
@@ -52,8 +38,8 @@ MODCABAL_MANIFEST     = \
        integer-conversion      0.1.0.1 1       \
        integer-logarithms      1.0.3.1 5       \
        network-uri     2.6.4.2 1       \
-       primitive       0.9.0.0 0       \
-       random  1.2.1.1 1       \
+       primitive       0.9.0.0 1       \
+       random  1.2.1.2 0       \
        regex-base      0.94.0.2        4       \
        regex-tdfa      1.3.2.2 2       \
        scientific      0.3.7.0 7       \
@@ -61,18 +47,18 @@ MODCABAL_MANIFEST   = \
        semigroupoids   6.0.0.1 1       \
        splitmix        0.1.0.5 0       \
        strict  0.5     1       \
-       tagged  0.8.8   0       \
+       tagged  0.8.8   1       \
        text-iso8601    0.1     1       \
        text-short      0.1.5   3       \
-       th-abstraction  0.6.0.0 1       \
-       th-compat       0.1.4   3       \
+       th-abstraction  0.6.0.0 2       \
+       th-compat       0.1.5   0       \
        these   1.2     1       \
        time-compat     1.9.6.1 6       \
        transformers-compat     0.7.2   0       \
-       unordered-containers    0.2.19.1        3       \
+       unordered-containers    0.2.20  1       \
        uuid-types      1.0.5.1 0       \
-       vector  0.13.1.0        0       \
-       vector-stream   0.1.0.0 3       \
+       vector  0.13.1.0        1       \
+       vector-stream   0.1.0.1 1       \
        witherable      0.4.2   4       \
 
 LIB_DEPENDS =          converters/libiconv \
@@ -85,7 +71,7 @@ NO_TEST =             Yes
 # pkg_add pandoc; cd ${WRKSRC}; ./manpage; cp shellcheck.1 ${FILESDIR}/
 # (and update md5)
 post-patch:
-       @[ `md5 < ${WRKSRC}/shellcheck.1.md` == 
f06c4a4f31f71dee0aa6b1890e469d5d ] || \
+       @[ `md5 < ${WRKSRC}/shellcheck.1.md` == 
b28cc3fbcd8c4978a8f0253955252fa5 ] || \
            (echo "*** manpage changed; regenerate ${FILESDIR}/shellcheck.1"; 
sleep 3)
 
 post-install:
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/shellcheck/distinfo,v
retrieving revision 1.8
diff -u -p -r1.8 distinfo
--- distinfo    12 Nov 2023 15:38:05 -0000      1.8
+++ distinfo    21 Mar 2024 19:39:04 -0000
@@ -1,20 +1,19 @@
-SHA256 (hackage/Diff-0.4.1.tar.gz) = 
/V5Kqschm8uxSDT7hYDr4KrpBZWNCtdPUzjqKQs3JnA=
+SHA256 (hackage/Diff-0.5.tar.gz) = A8yE3t+xj6aT8LC3BU1l6Sw4jQZXz0WtXp++P+i1RVE=
+SHA256 (hackage/Diff-0.5_1.cabal) = 
nIqXLurZ4Hm5DGWB+o71dVZiwQ3QdZUbMrgBFFcEr7s=
 SHA256 (hackage/OneTuple-0.4.1.1.tar.gz) = 
yedk1O4eV8rYNBvV0N4zujpStnk/wTCWefK/YMAwuys=
 SHA256 (hackage/OneTuple-0.4.1.1_1.cabal) = 
Yy397RcghvufDibTV4vP/6P7bRNepajeF7ejP/bm5oI=
 SHA256 (hackage/QuickCheck-2.14.3.tar.gz) = 
XA8is2sooaj6EQs4GYGNPylJSjsN7brimfBkEjynBQE=
+SHA256 (hackage/ShellCheck-0.10.0.tar.gz) = 
TQjbQy11o0SGpV9v/50+M0DOVhJceAS3+P0UQhuTbSE=
 SHA256 (hackage/StateVar-1.2.2.tar.gz) = 
Xks52jlWVqWYJ7AoBQiq/ccDNXmLUOXW/VJZYCYlGCU=
 SHA256 (hackage/aeson-2.2.1.0.tar.gz) = 
kU7v0OgNEttcch2qLLq0J6zuOXlfElxUYMH+SM+aXX8=
 SHA256 (hackage/aeson-2.2.1.0_1.cabal) = 
ojphqtqCM+EFc+FhLAsu/loaug1ZsF2+L2MwGCLxNss=
 SHA256 (hackage/assoc-1.1.tar.gz) = 
eqLmVIs9nUmihqwgY5R5qvbEehRGET7XhNmHN8X2DfQ=
 SHA256 (hackage/assoc-1.1_1.cabal) = 
VtD9HBeq9iaOgb8Zulr+GGEo1/iBJr1UbVsxUatpJlI=
 SHA256 (hackage/base-orphans-0.9.1.tar.gz) = 
W78to4LFshLWqL4vjEnt7g66MPJyoV/TLBPm5Ake8XI=
-SHA256 (hackage/bifunctors-5.6.1.tar.gz) = 
BjgUcbW+FlFqGyxLIaUQGj2ZEDi/rOjgytFEwARNV/w=
-SHA256 (hackage/bifunctors-5.6.1_2.cabal) = 
gvp+2PafC/o3XeEXqzZBTAuWqX7gRu3DrG2nopWpR1U=
+SHA256 (hackage/bifunctors-5.6.2.tar.gz) = 
EIapKFBh7tDCxdPLZaoiPe/VL8ptBRW7ad3y28PZaXo=
 SHA256 (hackage/comonad-5.0.8.tar.gz) = 
72zfLMKSzEPuaqlsWBsjX96oq0Sgv/sk3HmuKy7zPRM=
 SHA256 (hackage/comonad-5.0.8_2.cabal) = 
Sk2/vQP7SWOYdxD8qZTotWJL0Foz5flbdYGyb4IpxeM=
 SHA256 (hackage/contravariant-1.5.5.tar.gz) = 
Bi/WZYDXqtC1upPmRP+n/u5pJ271DyDU7Z8d63ZC3/o=
-SHA256 (hackage/data-array-byte-0.1.0.1.tar.gz) = 
G7bsoLPgLQV/5/ThTIHvOVIW9CGrMP2qGxgBfJwCVgA=
-SHA256 (hackage/data-array-byte-0.1.0.1_2.cabal) = 
rYniiysEYXVpj79UKvLOQ+XSr1Cq6fSNElZrG7PeHTw=
 SHA256 (hackage/data-fix-0.3.2.tar.gz) = 
OhctO8BjnDJzRell+dkCPgmUJYFLKNzbe2D/ZtZiGcw=
 SHA256 (hackage/data-fix-0.3.2_5.cabal) = 
zX1v+LaKyjtR2BFocPyMzbxVeYlWLNPVyUHk8Le8WvE=
 SHA256 (hackage/distributive-0.6.2.1.tar.gz) = 
1zUTkuB49YyqRmMKS5xkPh4und3uRYSMXINY57Exa5E=
@@ -22,8 +21,6 @@ SHA256 (hackage/distributive-0.6.2.1_1.c
 SHA256 (hackage/dlist-1.0.tar.gz) = 
Fz1jcyi7Fz/MNl8w0p/0qUKSoeDlVYrrPfwR3oFRARU=
 SHA256 (hackage/dlist-1.0_1.cabal) = 
Vf9p0gzmOPx3JzQu5n8vho2mHT3PN2P3kL+aoLFF5Wg=
 SHA256 (hackage/fgl-5.8.2.0.tar.gz) = 
RM8M9yDx0/sxaJyrIZrfmxpTZ7P79L1mePTRVvPow7Y=
-SHA256 (hackage/foldable1-classes-compat-0.1.tar.gz) = 
0FfD81jhprcsc1GbxkumqpWfBmwI/tafcyWFVe+V/xI=
-SHA256 (hackage/foldable1-classes-compat-0.1_4.cabal) = 
+0s87dM9XCLFc8ObqpMMeOqk/rItQ6u2gMMUn4q5+k4=
 SHA256 (hackage/generically-0.1.1.tar.gz) = 
BMWkNr7EsEH3GnM/VqG9f0NfY93o0+tcH0jVW028Q88=
 SHA256 (hackage/generically-0.1.1_2.cabal) = 
N47ASbwoU7gBHfEWZH+9NLufAO3OmEDklX+Yq8CXWXw=
 SHA256 (hackage/hashable-1.4.3.0.tar.gz) = 
Mu+xbCiReGIJt8vlw535s6muUeg28aVPZGvEYCt6sPU=
@@ -38,8 +35,8 @@ SHA256 (hackage/integer-logarithms-1.0.3
 SHA256 (hackage/network-uri-2.6.4.2.tar.gz) = 
nBiJcxJuiTJQuIHyDogR3KBsIjwjQCsG96Hy6ZV5cig=
 SHA256 (hackage/network-uri-2.6.4.2_1.cabal) = 
b/+1c3OWK1ZRotuLCvcyCYs78CmnztdqmFVhXeICZYg=
 SHA256 (hackage/primitive-0.9.0.0.tar.gz) = 
aW1L0pHJTXNhQtYYIRfcpCWNPvKL/v22SayLXs0Jmcc=
-SHA256 (hackage/random-1.2.1.1.tar.gz) = 
PhJy9+1qTXvRcSuQFD7DJv7psiV4kiI3n+ogqckMm3Y=
-SHA256 (hackage/random-1.2.1.1_1.cabal) = 
58H4gRWdXMeIYZye6LjzQLov8NtXHN89Ghlo68UQh4k=
+SHA256 (hackage/primitive-0.9.0.0_1.cabal) = 
LgjFQJ41WcfxZp71DpoNmjl+aOz1ERDV4s7fBc3X2Tw=
+SHA256 (hackage/random-1.2.1.2.tar.gz) = 
eQ9NwtIyfEU/9qrHvxU5n9Ej1V6SeTX2j4S130LZpLQ=
 SHA256 (hackage/regex-base-0.94.0.2.tar.gz) = 
e5lAj1gPW7Z6HEE+C8c1iGYIJRMxrTYyICDyFprqLvE=
 SHA256 (hackage/regex-base-0.94.0.2_4.cabal) = 
AyKy/NE1jzNV4Mhgjvpg0nsU0cnUdkUdvLkYE2O9iyc=
 SHA256 (hackage/regex-tdfa-1.3.2.2.tar.gz) = 
kz7VxUJGu1DjNdhriE/7cLwlK193b7KR8WKoCie9dbc=
@@ -50,49 +47,48 @@ SHA256 (hackage/semialign-1.3.tar.gz) = 
 SHA256 (hackage/semialign-1.3_1.cabal) = 
e+nvXKHWsFKZH2jAU6q2i50as7GTjJVXrITJeTeBUiM=
 SHA256 (hackage/semigroupoids-6.0.0.1.tar.gz) = 
faOKmJG9+CBf1lIs23EpVrjAv1xSmD2mApXI4FfXeTQ=
 SHA256 (hackage/semigroupoids-6.0.0.1_1.cabal) = 
R6I7RRwRTmU2HnE+j+NoKPyjqEKFMl6PREJUsqsMQ8U=
-SHA256 (hackage/shellcheck-0.9.0pl20231108-a71a13c2.tar.gz) = 
F6rqb/T3emy7iYiGLIVAbogiUAJEkTKBAjR22okctvM=
 SHA256 (hackage/splitmix-0.1.0.5.tar.gz) = 
nfB6lhHvRfGxJYoLQS9NAskgJI9p0uLOjM2jKPfhMAI=
 SHA256 (hackage/strict-0.5.tar.gz) = 
P08Jld7C1SDQ4yFUL3FBLawCNlj9q2A9sENk11JpoP0=
 SHA256 (hackage/strict-0.5_1.cabal) = 
vVfXs2VZUd+qfR4TdNc1Lf6D+CqcmDCb86ZYfvjL2H0=
 SHA256 (hackage/tagged-0.8.8.tar.gz) = 
oIP6eDVRYgPBaEM6HI38ApCpSwX+2rVmrQZA/JE3pqc=
+SHA256 (hackage/tagged-0.8.8_1.cabal) = 
kZPe+9492plyNszBGh2z4HPMUx/lI+E+llnfd2/rCzI=
 SHA256 (hackage/text-iso8601-0.1.tar.gz) = 
9Y56RvlR8fE9KSngovhPbbeJTVWmQRaarzAK6praX88=
 SHA256 (hackage/text-iso8601-0.1_1.cabal) = 
rIbyUAynUds8DeAp3X54Jr73Nm1Z3ACFsA/GlcQ7n3Y=
 SHA256 (hackage/text-short-0.1.5.tar.gz) = 
o17GzeKtoITBoFDcWIW+WrAfhRuT10TPD6y8HBgALdo=
 SHA256 (hackage/text-short-0.1.5_3.cabal) = 
nHPJyRgspp7pLON1j1FbHAeM0WfYgszIxG+S9oxl4ZA=
 SHA256 (hackage/th-abstraction-0.6.0.0.tar.gz) = 
aepuyh8MALbh4fgynJCOx25zhV4s5ukazi+Lv5LFGjA=
-SHA256 (hackage/th-abstraction-0.6.0.0_1.cabal) = 
2JWfpqKBKvzdX28lX9a+iz4MoB5CVYalVFRPy3Cw7Hw=
-SHA256 (hackage/th-compat-0.1.4.tar.gz) = 
2Pl6wUq0e2uKew/bT/lUJjIuxWut0BZSrBXaSkTUurg=
-SHA256 (hackage/th-compat-0.1.4_3.cabal) = 
Pn0bj5xyyrBMjf39Jlid1/MeAVrWQKIHrKO2VFd1Mv8=
+SHA256 (hackage/th-abstraction-0.6.0.0_2.cabal) = 
MTdg1jCFGg66a9yxoetUPEycWDBy1wQGf6MkilJSqK4=
+SHA256 (hackage/th-compat-0.1.5.tar.gz) = 
gfVfr8evrXdjwJy4t7QWXKN2Xtz3D/pCxzkwQ6E4Kh4=
 SHA256 (hackage/these-1.2.tar.gz) = 
qO1xdLf3kHZDYPSKq3L+o4KmCT7Tace8aIH64aus1Lg=
 SHA256 (hackage/these-1.2_1.cabal) = 
AR4i9okcoCj4fATqSHlmlsktWTMTqcaZ9/9Pn/167G4=
 SHA256 (hackage/time-compat-1.9.6.1.tar.gz) = 
rQe7AOuWeMITbTaAdSsArMTLxSJlS7MZm/McYe8ea4A=
 SHA256 (hackage/time-compat-1.9.6.1_6.cabal) = 
F2Me8BoDpvVfvhMWkPh/be6aFXKsyZtsBvBIgkcP+1I=
 SHA256 (hackage/transformers-compat-0.7.2.tar.gz) = 
tixzBMnzy8lGPQc5qoXLlInyF+oJK51iXUF1FPvMnWo=
-SHA256 (hackage/unordered-containers-0.2.19.1.tar.gz) = 
Gye+xeDVIrJ6YCnr9MSm1ArLwIPHhwCOMvtVxLHRKNI=
-SHA256 (hackage/unordered-containers-0.2.19.1_3.cabal) = 
HCjKQp45YN4DMJCFeaQnzKzd1wDLhOwZaeK75XYVKt0=
+SHA256 (hackage/unordered-containers-0.2.20.tar.gz) = 
2c+yh88AWS053Jw8rIuZYn6gjywBeY5wEw/Dn3yQ8R0=
+SHA256 (hackage/unordered-containers-0.2.20_1.cabal) = 
dGwysj+TyxPlIwnlToLWnkMVEF+YFbH8rCWlcHFQXP8=
 SHA256 (hackage/uuid-types-1.0.5.1.tar.gz) = 
C+xtaYKzySv6XqsdITvi1LZpa5osOh8fBYEtw3Ytyiw=
 SHA256 (hackage/vector-0.13.1.0.tar.gz) = 
Y/JyJ56rirlBGg//sSUqwwmylzE/jjO+nrvC+YHt7O4=
-SHA256 (hackage/vector-stream-0.1.0.0.tar.gz) = 
qIghD2Rn8VUJBlNzS+XMkgQGoHIn4NOttZCWcW/bgGw=
-SHA256 (hackage/vector-stream-0.1.0.0_3.cabal) = 
iXeVnUvsVNnyxenUuqLKx6sm6ASnJZHfjbiH4Gkq6K4=
+SHA256 (hackage/vector-0.13.1.0_1.cabal) = 
vAMsz7Udd1629AgsX8AvVBaw6g1mRKYNh2d6aTfy1w0=
+SHA256 (hackage/vector-stream-0.1.0.1.tar.gz) = 
0PUHM0vepUMaLwf1Jal/KedlIsMiEPXebVorTx1Cv3w=
+SHA256 (hackage/vector-stream-0.1.0.1_1.cabal) = 
FqaeLtcdezXhaGD6xSD5T6TaEg65c9n4+/CqOnA9Sp8=
 SHA256 (hackage/witherable-0.4.2.tar.gz) = 
eQ0rsnQoNBkXO9iRBEOYYGdalBD3DyGRKXPs2QmLQQQ=
 SHA256 (hackage/witherable-0.4.2_4.cabal) = 
zsUWs13w/1OrAGjnCpEqC6e2XGcvvFVHJxg/qhla07g=
-SIZE (hackage/Diff-0.4.1.tar.gz) = 8759
+SIZE (hackage/Diff-0.5.tar.gz) = 9122
+SIZE (hackage/Diff-0.5_1.cabal) = 1814
 SIZE (hackage/OneTuple-0.4.1.1.tar.gz) = 5601
 SIZE (hackage/OneTuple-0.4.1.1_1.cabal) = 2575
 SIZE (hackage/QuickCheck-2.14.3.tar.gz) = 76849
+SIZE (hackage/ShellCheck-0.10.0.tar.gz) = 234856
 SIZE (hackage/StateVar-1.2.2.tar.gz) = 5048
 SIZE (hackage/aeson-2.2.1.0.tar.gz) = 341038
 SIZE (hackage/aeson-2.2.1.0_1.cabal) = 6582
 SIZE (hackage/assoc-1.1.tar.gz) = 3193
 SIZE (hackage/assoc-1.1_1.cabal) = 1617
 SIZE (hackage/base-orphans-0.9.1.tar.gz) = 26418
-SIZE (hackage/bifunctors-5.6.1.tar.gz) = 38170
-SIZE (hackage/bifunctors-5.6.1_2.cabal) = 3273
+SIZE (hackage/bifunctors-5.6.2.tar.gz) = 38193
 SIZE (hackage/comonad-5.0.8.tar.gz) = 15227
 SIZE (hackage/comonad-5.0.8_2.cabal) = 3631
 SIZE (hackage/contravariant-1.5.5.tar.gz) = 13815
-SIZE (hackage/data-array-byte-0.1.0.1.tar.gz) = 6784
-SIZE (hackage/data-array-byte-0.1.0.1_2.cabal) = 1989
 SIZE (hackage/data-fix-0.3.2.tar.gz) = 5842
 SIZE (hackage/data-fix-0.3.2_5.cabal) = 1734
 SIZE (hackage/distributive-0.6.2.1.tar.gz) = 8140
@@ -100,8 +96,6 @@ SIZE (hackage/distributive-0.6.2.1_1.cab
 SIZE (hackage/dlist-1.0.tar.gz) = 18667
 SIZE (hackage/dlist-1.0_1.cabal) = 3812
 SIZE (hackage/fgl-5.8.2.0.tar.gz) = 57401
-SIZE (hackage/foldable1-classes-compat-0.1.tar.gz) = 10484
-SIZE (hackage/foldable1-classes-compat-0.1_4.cabal) = 3782
 SIZE (hackage/generically-0.1.1.tar.gz) = 2870
 SIZE (hackage/generically-0.1.1_2.cabal) = 1169
 SIZE (hackage/hashable-1.4.3.0.tar.gz) = 25601
@@ -116,8 +110,8 @@ SIZE (hackage/integer-logarithms-1.0.3.1
 SIZE (hackage/network-uri-2.6.4.2.tar.gz) = 31309
 SIZE (hackage/network-uri-2.6.4.2_1.cabal) = 3217
 SIZE (hackage/primitive-0.9.0.0.tar.gz) = 60580
-SIZE (hackage/random-1.2.1.1.tar.gz) = 47109
-SIZE (hackage/random-1.2.1.1_1.cabal) = 6777
+SIZE (hackage/primitive-0.9.0.0_1.cabal) = 3171
+SIZE (hackage/random-1.2.1.2.tar.gz) = 47229
 SIZE (hackage/regex-base-0.94.0.2.tar.gz) = 10488
 SIZE (hackage/regex-base-0.94.0.2_4.cabal) = 2601
 SIZE (hackage/regex-tdfa-1.3.2.2.tar.gz) = 83016
@@ -128,29 +122,29 @@ SIZE (hackage/semialign-1.3.tar.gz) = 10
 SIZE (hackage/semialign-1.3_1.cabal) = 2888
 SIZE (hackage/semigroupoids-6.0.0.1.tar.gz) = 36222
 SIZE (hackage/semigroupoids-6.0.0.1_1.cabal) = 7465
-SIZE (hackage/shellcheck-0.9.0pl20231108-a71a13c2.tar.gz) = 458708
 SIZE (hackage/splitmix-0.1.0.5.tar.gz) = 22399
 SIZE (hackage/strict-0.5.tar.gz) = 12564
 SIZE (hackage/strict-0.5_1.cabal) = 4120
 SIZE (hackage/tagged-0.8.8.tar.gz) = 10094
+SIZE (hackage/tagged-0.8.8_1.cabal) = 2732
 SIZE (hackage/text-iso8601-0.1.tar.gz) = 9578
 SIZE (hackage/text-iso8601-0.1_1.cabal) = 2407
 SIZE (hackage/text-short-0.1.5.tar.gz) = 25113
 SIZE (hackage/text-short-0.1.5_3.cabal) = 3216
 SIZE (hackage/th-abstraction-0.6.0.0.tar.gz) = 43152
-SIZE (hackage/th-abstraction-0.6.0.0_1.cabal) = 2303
-SIZE (hackage/th-compat-0.1.4.tar.gz) = 14838
-SIZE (hackage/th-compat-0.1.4_3.cabal) = 3224
+SIZE (hackage/th-abstraction-0.6.0.0_2.cabal) = 2303
+SIZE (hackage/th-compat-0.1.5.tar.gz) = 14893
 SIZE (hackage/these-1.2.tar.gz) = 10606
 SIZE (hackage/these-1.2_1.cabal) = 2882
 SIZE (hackage/time-compat-1.9.6.1.tar.gz) = 59964
 SIZE (hackage/time-compat-1.9.6.1_6.cabal) = 5076
 SIZE (hackage/transformers-compat-0.7.2.tar.gz) = 46485
-SIZE (hackage/unordered-containers-0.2.19.1.tar.gz) = 58030
-SIZE (hackage/unordered-containers-0.2.19.1_3.cabal) = 3698
+SIZE (hackage/unordered-containers-0.2.20.tar.gz) = 59823
+SIZE (hackage/unordered-containers-0.2.20_1.cabal) = 3921
 SIZE (hackage/uuid-types-1.0.5.1.tar.gz) = 11965
 SIZE (hackage/vector-0.13.1.0.tar.gz) = 156855
-SIZE (hackage/vector-stream-0.1.0.0.tar.gz) = 12377
-SIZE (hackage/vector-stream-0.1.0.0_3.cabal) = 1404
+SIZE (hackage/vector-0.13.1.0_1.cabal) = 9015
+SIZE (hackage/vector-stream-0.1.0.1.tar.gz) = 12577
+SIZE (hackage/vector-stream-0.1.0.1_1.cabal) = 1583
 SIZE (hackage/witherable-0.4.2.tar.gz) = 11876
 SIZE (hackage/witherable-0.4.2_4.cabal) = 2342
Index: files/shellcheck.1
===================================================================
RCS file: /cvs/ports/devel/shellcheck/files/shellcheck.1,v
retrieving revision 1.4
diff -u -p -r1.4 shellcheck.1
--- files/shellcheck.1  16 Dec 2022 19:29:05 -0000      1.4
+++ files/shellcheck.1  21 Mar 2024 19:39:04 -0000
@@ -1,30 +1,12 @@
-.\" Automatically generated by Pandoc 2.19.2
+.\" Automatically generated by Pandoc 3.1.12.1
 .\"
-.\" Define V font for inline verbatim, using C font in formats
-.\" that render this, and otherwise B font.
-.ie "\f[CB]x\f[]"x" \{\
-. ftr V B
-. ftr VI BI
-. ftr VB B
-. ftr VBI BI
-.\}
-.el \{\
-. ftr V CR
-. ftr VI CI
-. ftr VB CB
-. ftr VBI CBI
-.\}
 .TH "SHELLCHECK" "1" "" "Shell script analysis tool" ""
-.hy
 .SH NAME
-.PP
-shellcheck - Shell script analysis tool
+shellcheck \- Shell script analysis tool
 .SH SYNOPSIS
-.PP
 \f[B]shellcheck\f[R] [\f[I]OPTIONS\f[R]...]
 \f[I]FILES\f[R]...
 .SH DESCRIPTION
-.PP
 ShellCheck is a static analysis and linting tool for sh/bash scripts.
 It\[aq]s mainly focused on handling typical beginner and intermediate
 level syntax errors and pitfalls where the shell just gives a cryptic
@@ -34,113 +16,122 @@ advanced issues where corner cases can c
 ShellCheck gives shell specific advice.
 Consider this line:
 .IP
-.nf
-\f[C]
+.EX
 (( area = 3.14*r*r ))
-\f[R]
-.fi
+.EE
 .IP \[bu] 2
-For scripts starting with \f[V]#!/bin/sh\f[R] (or when using
-\f[V]-s sh\f[R]), ShellCheck will warn that \f[V](( .. ))\f[R] is not
+For scripts starting with \f[CR]#!/bin/sh\f[R] (or when using
+\f[CR]\-s sh\f[R]), ShellCheck will warn that \f[CR](( .. ))\f[R] is not
 POSIX compliant (similar to checkbashisms).
 .IP \[bu] 2
-For scripts starting with \f[V]#!/bin/bash\f[R] (or using
-\f[V]-s bash\f[R]), ShellCheck will warn that decimals are not
+For scripts starting with \f[CR]#!/bin/bash\f[R] (or using
+\f[CR]\-s bash\f[R]), ShellCheck will warn that decimals are not
 supported.
 .IP \[bu] 2
-For scripts starting with \f[V]#!/bin/ksh\f[R] (or using
-\f[V]-s ksh\f[R]), ShellCheck will not warn at all, as \f[V]ksh\f[R]
+For scripts starting with \f[CR]#!/bin/ksh\f[R] (or using
+\f[CR]\-s ksh\f[R]), ShellCheck will not warn at all, as \f[CR]ksh\f[R]
 supports decimals in arithmetic contexts.
 .SH OPTIONS
 .TP
-\f[B]-a\f[R],\ \f[B]--check-sourced\f[R]
+\f[B]\-a\f[R],\ \f[B]\-\-check\-sourced\f[R]
 Emit warnings in sourced files.
-Normally, \f[V]shellcheck\f[R] will only warn about issues in the
+Normally, \f[CR]shellcheck\f[R] will only warn about issues in the
 specified files.
 With this option, any issues in sourced files will also be reported.
 .TP
-\f[B]-C\f[R][\f[I]WHEN\f[R]],\ \f[B]--color\f[R][=\f[I]WHEN\f[R]]
+\f[B]\-C\f[R][\f[I]WHEN\f[R]],\ \f[B]\-\-color\f[R][=\f[I]WHEN\f[R]]
 For TTY output, enable colors \f[I]always\f[R], \f[I]never\f[R] or
 \f[I]auto\f[R].
 The default is \f[I]auto\f[R].
-\f[B]--color\f[R] without an argument is equivalent to
-\f[B]--color=always\f[R].
+\f[B]\-\-color\f[R] without an argument is equivalent to
+\f[B]\-\-color=always\f[R].
 .TP
-\f[B]-i\f[R]\ \f[I]CODE1\f[R][,\f[I]CODE2\f[R]...],\ 
\f[B]--include=\f[R]\f[I]CODE1\f[R][,\f[I]CODE2\f[R]...]
+\f[B]\-i\f[R]\ \f[I]CODE1\f[R][,\f[I]CODE2\f[R]...],\ 
\f[B]\-\-include=\f[R]\f[I]CODE1\f[R][,\f[I]CODE2\f[R]...]
 Explicitly include only the specified codes in the report.
-Subsequent \f[B]-i\f[R] options are cumulative, but all the codes can be
-specified at once, comma-separated as a single argument.
+Subsequent \f[B]\-i\f[R] options are cumulative, but all the codes can
+be specified at once, comma\-separated as a single argument.
 Include options override any provided exclude options.
 .TP
-\f[B]-e\f[R]\ \f[I]CODE1\f[R][,\f[I]CODE2\f[R]...],\ 
\f[B]--exclude=\f[R]\f[I]CODE1\f[R][,\f[I]CODE2\f[R]...]
+\f[B]\-e\f[R]\ \f[I]CODE1\f[R][,\f[I]CODE2\f[R]...],\ 
\f[B]\-\-exclude=\f[R]\f[I]CODE1\f[R][,\f[I]CODE2\f[R]...]
 Explicitly exclude the specified codes from the report.
-Subsequent \f[B]-e\f[R] options are cumulative, but all the codes can be
-specified at once, comma-separated as a single argument.
+Subsequent \f[B]\-e\f[R] options are cumulative, but all the codes can
+be specified at once, comma\-separated as a single argument.
+.TP
+\f[B]\-\-extended\-analysis=true/false\f[R]
+Enable/disable Dataflow Analysis to identify more issues (default true).
+If ShellCheck uses too much CPU/RAM when checking scripts with several
+thousand lines of code, extended analysis can be disabled with this flag
+or a directive.
+This flag overrides directives and rc files.
 .TP
-\f[B]-f\f[R] \f[I]FORMAT\f[R], \f[B]--format=\f[R]\f[I]FORMAT\f[R]
+\f[B]\-f\f[R] \f[I]FORMAT\f[R], \f[B]\-\-format=\f[R]\f[I]FORMAT\f[R]
 Specify the output format of shellcheck, which prints its results in the
 standard output.
-Subsequent \f[B]-f\f[R] options are ignored, see \f[B]FORMATS\f[R] below
-for more information.
+Subsequent \f[B]\-f\f[R] options are ignored, see \f[B]FORMATS\f[R]
+below for more information.
 .TP
-\f[B]--list-optional\f[R]
+\f[B]\-\-list\-optional\f[R]
 Output a list of known optional checks.
-These can be enabled with \f[B]-o\f[R] flags or \f[B]enable\f[R]
+These can be enabled with \f[B]\-o\f[R] flags or \f[B]enable\f[R]
 directives.
 .TP
-\f[B]--norc\f[R]
+\f[B]\-\-norc\f[R]
 Don\[aq]t try to look for .shellcheckrc configuration files.
 .TP
-\f[B]-o\f[R]\ \f[I]NAME1\f[R][,\f[I]NAME2\f[R]...],\ 
\f[B]--enable=\f[R]\f[I]NAME1\f[R][,\f[I]NAME2\f[R]...]
+\-\-rcfile\ RCFILE
+Prefer the specified configuration file over searching for one in the
+default locations.
+.TP
+\f[B]\-o\f[R]\ \f[I]NAME1\f[R][,\f[I]NAME2\f[R]...],\ 
\f[B]\-\-enable=\f[R]\f[I]NAME1\f[R][,\f[I]NAME2\f[R]...]
 Enable optional checks.
 The special name \f[I]all\f[R] enables all of them.
-Subsequent \f[B]-o\f[R] options accumulate.
+Subsequent \f[B]\-o\f[R] options accumulate.
 This is equivalent to specifying \f[B]enable\f[R] directives.
 .TP
-\f[B]-P\f[R]\ \f[I]SOURCEPATH\f[R],\ 
\f[B]--source-path=\f[R]\f[I]SOURCEPATH\f[R]
-Specify paths to search for sourced files, separated by \f[V]:\f[R] on
-Unix and \f[V];\f[R] on Windows.
-This is equivalent to specifying \f[V]search-path\f[R] directives.
+\f[B]\-P\f[R]\ \f[I]SOURCEPATH\f[R],\ 
\f[B]\-\-source\-path=\f[R]\f[I]SOURCEPATH\f[R]
+Specify paths to search for sourced files, separated by \f[CR]:\f[R] on
+Unix and \f[CR];\f[R] on Windows.
+This is equivalent to specifying \f[CR]search\-path\f[R] directives.
 .TP
-\f[B]-s\f[R]\ \f[I]shell\f[R],\ \f[B]--shell=\f[R]\f[I]shell\f[R]
+\f[B]\-s\f[R]\ \f[I]shell\f[R],\ \f[B]\-\-shell=\f[R]\f[I]shell\f[R]
 Specify Bourne shell dialect.
-Valid values are \f[I]sh\f[R], \f[I]bash\f[R], \f[I]dash\f[R] and
-\f[I]ksh\f[R].
-The default is to deduce the shell from the file\[aq]s \f[V]shell\f[R]
-directive, shebang, or \f[V].bash/.bats/.dash/.ksh\f[R] extension, in
+Valid values are \f[I]sh\f[R], \f[I]bash\f[R], \f[I]dash\f[R],
+\f[I]ksh\f[R], and \f[I]busybox\f[R].
+The default is to deduce the shell from the file\[aq]s \f[CR]shell\f[R]
+directive, shebang, or \f[CR].bash/.bats/.dash/.ksh\f[R] extension, in
 that order.
-\f[I]sh\f[R] refers to POSIX \f[V]sh\f[R] (not the system\[aq]s), and
+\f[I]sh\f[R] refers to POSIX \f[CR]sh\f[R] (not the system\[aq]s), and
 will warn of portability issues.
 .TP
-\f[B]-S\f[R]\ \f[I]SEVERITY\f[R],\ \f[B]--severity=\f[R]\f[I]severity\f[R]
+\f[B]\-S\f[R]\ \f[I]SEVERITY\f[R],\ \f[B]\-\-severity=\f[R]\f[I]severity\f[R]
 Specify minimum severity of errors to consider.
 Valid values in order of severity are \f[I]error\f[R],
 \f[I]warning\f[R], \f[I]info\f[R] and \f[I]style\f[R].
 The default is \f[I]style\f[R].
 .TP
-\f[B]-V\f[R],\ \f[B]--version\f[R]
+\f[B]\-V\f[R],\ \f[B]\-\-version\f[R]
 Print version information and exit.
 .TP
-\f[B]-W\f[R] \f[I]NUM\f[R],\ \f[B]--wiki-link-count=NUM\f[R]
+\f[B]\-W\f[R] \f[I]NUM\f[R],\ \f[B]\-\-wiki\-link\-count=NUM\f[R]
 For TTY output, show \f[I]NUM\f[R] wiki links to more information about
 mentioned warnings.
 Set to 0 to disable them entirely.
 .TP
-\f[B]-x\f[R],\ \f[B]--external-sources\f[R]
-Follow \f[V]source\f[R] statements even when the file is not specified
+\f[B]\-x\f[R],\ \f[B]\-\-external\-sources\f[R]
+Follow \f[CR]source\f[R] statements even when the file is not specified
 as input.
-By default, \f[V]shellcheck\f[R] will only follow files specified on the
-command line (plus \f[V]/dev/null\f[R]).
-This option allows following any file the script may \f[V]source\f[R].
+By default, \f[CR]shellcheck\f[R] will only follow files specified on
+the command line (plus \f[CR]/dev/null\f[R]).
+This option allows following any file the script may \f[CR]source\f[R].
 .RS
 .PP
-This option may also be enabled using \f[V]external-sources=true\f[R] in
-\f[V].shellcheckrc\f[R].
+This option may also be enabled using \f[CR]external\-sources=true\f[R]
+in \f[CR].shellcheckrc\f[R].
 This flag takes precedence.
 .RE
 .TP
 \f[B]FILES...\f[R]
-One or more script files to check, or \[dq]-\[dq] for standard input.
+One or more script files to check, or \[dq]\-\[dq] for standard input.
 .SH FORMATS
 .TP
 \f[B]tty\f[R]
@@ -153,15 +144,13 @@ Useful for editors that support compilin
 .RS
 .PP
 For example, in Vim,
-\f[V]:set makeprg=shellcheck\[rs] -f\[rs] gcc\[rs] %\f[R] will allow
-using \f[V]:make\f[R] to check the script, and \f[V]:cnext\f[R] to jump
-to the next error.
+\f[CR]:set makeprg=shellcheck\[rs] \-f\[rs] gcc\[rs] %\f[R] will allow
+using \f[CR]:make\f[R] to check the script, and \f[CR]:cnext\f[R] to
+jump to the next error.
 .IP
-.nf
-\f[C]
+.EX
 <file>:<line>:<column>: <type>: <message>
-\f[R]
-.fi
+.EE
 .RE
 .TP
 \f[B]checkstyle\f[R]
@@ -170,9 +159,8 @@ Supported directly or through plugins by
 systems.
 .RS
 .IP
-.nf
-\f[C]
-<?xml version=\[aq]1.0\[aq] encoding=\[aq]UTF-8\[aq]?>
+.EX
+<?xml version=\[aq]1.0\[aq] encoding=\[aq]UTF\-8\[aq]?>
 <checkstyle version=\[aq]4.3\[aq]>
   <file name=\[aq]file\[aq]>
     <error
@@ -185,30 +173,27 @@ systems.
   </file>
   ...
 </checkstyle>
-\f[R]
-.fi
+.EE
 .RE
 .TP
 \f[B]diff\f[R]
-Auto-fixes in unified diff format.
-Can be piped to \f[V]git apply\f[R] or \f[V]patch -p1\f[R] to
+Auto\-fixes in unified diff format.
+Can be piped to \f[CR]git apply\f[R] or \f[CR]patch \-p1\f[R] to
 automatically apply fixes.
 .RS
 .IP
-.nf
-\f[C]
---- a/test.sh
+.EX
+\-\-\- a/test.sh
 +++ b/test.sh
-\[at]\[at] -2,6 +2,6 \[at]\[at]
+\[at]\[at] \-2,6 +2,6 \[at]\[at]
  ## Example of a broken script.
  for f in $(ls *.m3u)
  do
--  grep -qi hq.*mp3 $f \[rs]
-+  grep -qi hq.*mp3 \[dq]$f\[dq] \[rs]
-     && echo -e \[aq]Playlist $f contains a HQ file in mp3 format\[aq]
+\-  grep \-qi hq.*mp3 $f \[rs]
++  grep \-qi hq.*mp3 \[dq]$f\[dq] \[rs]
+     && echo \-e \[aq]Playlist $f contains a HQ file in mp3 format\[aq]
  done
-\f[R]
-.fi
+.EE
 .RE
 .TP
 \f[B]json1\f[R]
@@ -218,8 +203,7 @@ ShellCheck\[aq]s json is compact and con
 Tabs are counted as 1 character.
 .RS
 .IP
-.nf
-\f[C]
+.EX
 {
   comments: [
     {
@@ -233,8 +217,7 @@ Tabs are counted as 1 character.
     ...
   ]
 }
-\f[R]
-.fi
+.EE
 .RE
 .TP
 \f[B]json\f[R]
@@ -246,94 +229,93 @@ Suppress all normal output.
 Exit with zero if no issues are found, otherwise exit with one.
 Stops processing after the first issue.
 .SH DIRECTIVES
-.PP
 ShellCheck directives can be specified as comments in the shell script.
-If they appear before the first command, they are considered file-wide.
+If they appear before the first command, they are considered file\-wide.
 Otherwise, they apply to the immediately following command or block:
 .IP
-.nf
-\f[C]
+.EX
 # shellcheck key=value key=value
-command-or-structure
-\f[R]
-.fi
+command\-or\-structure
+.EE
 .PP
-For example, to suppress SC2035 about using \f[V]./*.jpg\f[R]:
+For example, to suppress SC2035 about using \f[CR]./*.jpg\f[R]:
 .IP
-.nf
-\f[C]
+.EX
 # shellcheck disable=SC2035
 echo \[dq]Files: \[dq] *.jpg
-\f[R]
-.fi
+.EE
 .PP
 To tell ShellCheck where to look for an otherwise dynamically determined
 file:
 .IP
-.nf
-\f[C]
+.EX
 # shellcheck source=./lib.sh
 source \[dq]$(find_install_dir)/lib.sh\[dq]
-\f[R]
-.fi
+.EE
 .PP
 Here a shell brace group is used to suppress a warning on multiple
 lines:
 .IP
-.nf
-\f[C]
+.EX
 # shellcheck disable=SC2016
 {
   echo \[aq]Modifying $PATH\[aq]
   echo \[aq]PATH=foo:$PATH\[aq] >> \[ti]/.bashrc
 }
-\f[R]
-.fi
+.EE
 .PP
 Valid keys are:
 .TP
 \f[B]disable\f[R]
 Disables a comma separated list of error codes for the following
 command.
-The command can be a simple command like \f[V]echo foo\f[R], or a
+The command can be a simple command like \f[CR]echo foo\f[R], or a
 compound command like a function definition, subshell block or loop.
 A range can be be specified with a dash, e.g.
-\f[V]disable=SC3000-SC4000\f[R] to exclude 3xxx.
-All warnings can be disabled with \f[V]disable=all\f[R].
+\f[CR]disable=SC3000\-SC4000\f[R] to exclude 3xxx.
+All warnings can be disabled with \f[CR]disable=all\f[R].
 .TP
 \f[B]enable\f[R]
 Enable an optional check by name, as listed with
-\f[B]--list-optional\f[R].
-Only file-wide \f[V]enable\f[R] directives are considered.
+\f[B]\-\-list\-optional\f[R].
+Only file\-wide \f[CR]enable\f[R] directives are considered.
 .TP
-\f[B]external-sources\f[R]
-Set to \f[V]true\f[R] in \f[V].shellcheckrc\f[R] to always allow
+\f[B]extended\-analysis\f[R]
+Set to true/false to enable/disable dataflow analysis.
+Specifying \f[CR]# shellcheck extended\-analysis=false\f[R] in
+particularly large (2000+ line) auto\-generated scripts will reduce
+ShellCheck\[aq]s resource usage at the expense of certain checks.
+Extended analysis is enabled by default.
+.TP
+\f[B]external\-sources\f[R]
+Set to \f[CR]true\f[R] in \f[CR].shellcheckrc\f[R] to always allow
 ShellCheck to open arbitrary files from \[aq]source\[aq] statements (the
 way most tools do).
 .RS
 .PP
-This option defaults to \f[V]false\f[R] only due to ShellCheck\[aq]s
+This option defaults to \f[CR]false\f[R] only due to ShellCheck\[aq]s
 origin as a remote service for checking untrusted scripts.
 It can safely be enabled for normal development.
 .RE
 .TP
 \f[B]source\f[R]
-Overrides the filename included by a \f[V]source\f[R]/\f[V].\f[R]
+Overrides the filename included by a \f[CR]source\f[R]/\f[CR].\f[R]
 statement.
 This can be used to tell shellcheck where to look for a file whose name
 is determined at runtime, or to skip a source by telling it to use
-\f[V]/dev/null\f[R].
+\f[CR]/dev/null\f[R].
 .TP
-\f[B]source-path\f[R]
-Add a directory to the search path for \f[V]source\f[R]/\f[V].\f[R]
+\f[B]source\-path\f[R]
+Add a directory to the search path for \f[CR]source\f[R]/\f[CR].\f[R]
 statements (by default, only ShellCheck\[aq]s working directory is
 included).
 Absolute paths will also be rooted in these paths.
-The special path \f[V]SCRIPTDIR\f[R] can be used to specify the
+The special path \f[CR]SCRIPTDIR\f[R] can be used to specify the
 currently checked script\[aq]s directory, as in
-\f[V]source-path=SCRIPTDIR\f[R] or
-\f[V]source-path=SCRIPTDIR/../libs\f[R].
-Multiple paths accumulate, and \f[V]-P\f[R] takes precedence over them.
+\f[CR]source\-path=SCRIPTDIR\f[R] or
+\f[CR]source\-path=SCRIPTDIR/../libs\f[R].
+Multiple paths accumulate, and \f[CR]\-P\f[R] takes precedence over
+them.
 .TP
 \f[B]shell\f[R]
 Overrides the shell detected from the shebang.
@@ -341,66 +323,60 @@ This is useful for files meant to be inc
 shebang), or possibly as a more targeted alternative to
 \[aq]disable=SC2039\[aq].
 .SH RC FILES
-.PP
-Unless \f[V]--norc\f[R] is used, ShellCheck will look for a file
-\f[V].shellcheckrc\f[R] or \f[V]shellcheckrc\f[R] in the script\[aq]s
+Unless \f[CR]\-\-norc\f[R] is used, ShellCheck will look for a file
+\f[CR].shellcheckrc\f[R] or \f[CR]shellcheckrc\f[R] in the script\[aq]s
 directory and each parent directory.
-If found, it will read \f[V]key=value\f[R] pairs from it and treat them
-as file-wide directives.
+If found, it will read \f[CR]key=value\f[R] pairs from it and treat them
+as file\-wide directives.
 .PP
-Here is an example \f[V].shellcheckrc\f[R]:
+Here is an example \f[CR].shellcheckrc\f[R]:
 .IP
-.nf
-\f[C]
+.EX
 # Look for \[aq]source\[aq]d files relative to the checked script,
 # and also look for absolute paths in /mnt/chroot
-source-path=SCRIPTDIR
-source-path=/mnt/chroot
+source\-path=SCRIPTDIR
+source\-path=/mnt/chroot
 
 # Since 0.9.0, values can be quoted with \[aq]\[aq] or \[dq]\[dq] to allow 
spaces
-source-path=\[dq]My Documents/scripts\[dq]
+source\-path=\[dq]My Documents/scripts\[dq]
 
 # Allow opening any \[aq]source\[aq]d file, even if not specified as input
-external-sources=true
+external\-sources=true
 
 # Turn on warnings for unquoted variables with safe values
-enable=quote-safe-variables
+enable=quote\-safe\-variables
 
 # Turn on warnings for unassigned uppercase variables
-enable=check-unassigned-uppercase
+enable=check\-unassigned\-uppercase
 
-# Allow [ ! -z foo ] instead of suggesting -n
+# Allow [ ! \-z foo ] instead of suggesting \-n
 disable=SC2236
-\f[R]
-.fi
+.EE
 .PP
-If no \f[V].shellcheckrc\f[R] is found in any of the parent directories,
-ShellCheck will look in \f[V]\[ti]/.shellcheckrc\f[R] followed by the
-XDG config directory (usually \f[V]\[ti]/.config/shellcheckrc\f[R]) on
-Unix, or \f[V]%APPDATA%/shellcheckrc\f[R] on Windows.
+If no \f[CR].shellcheckrc\f[R] is found in any of the parent
+directories, ShellCheck will look in \f[CR]\[ti]/.shellcheckrc\f[R]
+followed by the XDG config directory (usually
+\f[CR]\[ti]/.config/shellcheckrc\f[R]) on Unix, or
+\f[CR]%APPDATA%/shellcheckrc\f[R] on Windows.
 Only the first file found will be used.
 .PP
 Note for Snap users: the Snap sandbox disallows access to hidden files.
-Use \f[V]shellcheckrc\f[R] without the dot instead.
+Use \f[CR]shellcheckrc\f[R] without the dot instead.
 .PP
 Note for Docker users: ShellCheck will only be able to look for files
-that are mounted in the container, so \f[V]\[ti]/.shellcheckrc\f[R] will
-not be read.
+that are mounted in the container, so \f[CR]\[ti]/.shellcheckrc\f[R]
+will not be read.
 .SH ENVIRONMENT VARIABLES
-.PP
-The environment variable \f[V]SHELLCHECK_OPTS\f[R] can be set with
+The environment variable \f[CR]SHELLCHECK_OPTS\f[R] can be set with
 default flags:
 .IP
-.nf
-\f[C]
-export SHELLCHECK_OPTS=\[aq]--shell=bash --exclude=SC2016\[aq]
-\f[R]
-.fi
+.EX
+export SHELLCHECK_OPTS=\[aq]\-\-shell=bash \-\-exclude=SC2016\[aq]
+.EE
 .PP
 Its value will be split on spaces and prepended to the command line on
 each invocation.
 .SH RETURN VALUES
-.PP
 ShellCheck uses the following exit codes:
 .IP \[bu] 2
 0: All files successfully scanned with no issues.
@@ -416,67 +392,59 @@ unknown flag).
 4: ShellCheck was invoked with bad options (e.g.
 unknown formatter).
 .SH LOCALE
-.PP
 This version of ShellCheck is only available in English.
-All files are leniently decoded as UTF-8, with a fallback of ISO-8859-1
-for invalid sequences.
-\f[V]LC_CTYPE\f[R] is respected for output, and defaults to UTF-8 for
-locales where encoding is unspecified (such as the \f[V]C\f[R] locale).
+All files are leniently decoded as UTF\-8, with a fallback of
+ISO\-8859\-1 for invalid sequences.
+\f[CR]LC_CTYPE\f[R] is respected for output, and defaults to UTF\-8 for
+locales where encoding is unspecified (such as the \f[CR]C\f[R] locale).
 .PP
 Windows users seeing
-\f[V]commitBuffer: invalid argument (invalid character)\f[R] should set
-their terminal to use UTF-8 with \f[V]chcp 65001\f[R].
+\f[CR]commitBuffer: invalid argument (invalid character)\f[R] should set
+their terminal to use UTF\-8 with \f[CR]chcp 65001\f[R].
 .SH KNOWN INCOMPATIBILITIES
-.PP
 (If nothing in this section makes sense, you are unlikely to be affected
 by it)
 .PP
 To avoid confusing and misguided suggestions, ShellCheck requires
-function bodies to be either \f[V]{ brace groups; }\f[R] or
-\f[V]( subshells )\f[R], and function names containing \f[V][]*=!\f[R]
-are only recognized after a \f[V]function\f[R] keyword.
+function bodies to be either \f[CR]{ brace groups; }\f[R] or
+\f[CR]( subshells )\f[R], and function names containing \f[CR][]*=!\f[R]
+are only recognized after a \f[CR]function\f[R] keyword.
 .PP
 The following unconventional function definitions are identical in Bash,
 but ShellCheck only recognizes the latter.
 .IP
-.nf
-\f[C]
+.EX
 [x!=y] () [[ $1 ]]
 function [x!=y] () { [[ $1 ]]; }
-\f[R]
-.fi
+.EE
 .PP
-Shells without the \f[V]function\f[R] keyword do not allow these
+Shells without the \f[CR]function\f[R] keyword do not allow these
 characters in function names to begin with.
-Function names containing \f[V]{}\f[R] are not supported at all.
+Function names containing \f[CR]{}\f[R] are not supported at all.
 .PP
-Further, if ShellCheck sees \f[V][x!=y]\f[R] it will assume this is an
+Further, if ShellCheck sees \f[CR][x!=y]\f[R] it will assume this is an
 invalid comparison.
 To invoke the above function, quote the command as in
-\f[V]\[aq][x!=y]\[aq]\f[R], or to retain the same globbing behavior, use
-\f[V]command [x!=y]\f[R].
+\f[CR]\[aq][x!=y]\[aq]\f[R], or to retain the same globbing behavior,
+use \f[CR]command [x!=y]\f[R].
 .PP
-ShellCheck imposes additional restrictions on the \f[V][\f[R] command to
-help diagnose common invalid uses.
-While \f[V][ $x= 1 ]\f[R] is defined in POSIX, ShellCheck will assume it
-was intended as the much more likely comparison
-\f[V][ \[dq]$x\[dq] = 1 ]\f[R] and fail accordingly.
-For unconventional or dynamic uses of the \f[V][\f[R] command, use
-\f[V]test\f[R] or \f[V]\[rs][\f[R] instead.
+ShellCheck imposes additional restrictions on the \f[CR][\f[R] command
+to help diagnose common invalid uses.
+While \f[CR][ $x= 1 ]\f[R] is defined in POSIX, ShellCheck will assume
+it was intended as the much more likely comparison
+\f[CR][ \[dq]$x\[dq] = 1 ]\f[R] and fail accordingly.
+For unconventional or dynamic uses of the \f[CR][\f[R] command, use
+\f[CR]test\f[R] or \f[CR]\[rs][\f[R] instead.
 .SH REPORTING BUGS
-.PP
 Bugs and issues can be reported on GitHub:
 .PP
 https://github.com/koalaman/shellcheck/issues
 .SH AUTHORS
-.PP
 ShellCheck is developed and maintained by Vidar Holen, with assistance
 from a long list of wonderful contributors.
 .SH COPYRIGHT
-.PP
-Copyright 2012-2022, Vidar Holen and contributors.
+Copyright 2012\-2024, Vidar Holen and contributors.
 Licensed under the GNU General Public License version 3 or later, see
 https://gnu.org/licenses/gpl.html
 .SH SEE ALSO
-.PP
 sh(1) bash(1)


Reply via email to