From 418e694306c9293b26f3fb8b426e174940ab4d9c Mon Sep 17 00:00:00 2001 From: Graham Ollis Date: Sat, 19 Sep 2026 03:44:56 -0600 Subject: [PATCH 1/6] Clarify classic Mac OS (OS9) references in comments and pod Comments referring to "MacOS" were ambiguous with modern Darwin-based macOS. Add a pod section establishing "OS9" as shorthand for the classic, pre-OS X environment (covering Mac OS 7, 8 and 9), and reword the ambiguous comments to use that terminology. Fixes #43 Co-Authored-By: Claude Sonnet 5 --- lib/File/Which.pm | 15 ++++++++++++++- t/file_which.t | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/File/Which.pm b/lib/File/Which.pm index 915f8a3..544f078 100644 --- a/lib/File/Which.pm +++ b/lib/File/Which.pm @@ -94,6 +94,19 @@ certain it has ever been tested on VMS. If this platform is important to you and you can help me verify and or support it on that platform please contact me. +=head3 OS9 + +Prior to Mac OS X, "classic" Mac OS (System 7, 8 and 9) used C<$^O> value +C and had a very different filesystem and process model than the +Darwin-based macOS of today. Throughout this document and in the source +code, C is used as a shorthand to refer to this classic, pre-OS X +environment (covering Mac OS 7 and 8 as well as 9). Modern Apple macOS is +Unix-like and is covered by the L section +above instead. + +As of 2015 the current maintainer does not test on OS9, and this platform +is essentially unmaintained. + =cut our @EXPORT = 'which'; @@ -217,7 +230,7 @@ sub which { # Executable, normal case -x _ or ( - # MacOS doesn't mark as executable so we check -e + # OS9 (classic Mac OS) doesn't mark files as executable, so we check -e instead IS_MAC ## no critic (ValuesAndExpressions::ProhibitMixedBooleanOperators) || ( diff --git a/t/file_which.t b/t/file_which.t index d398249..3502e19 100644 --- a/t/file_which.t +++ b/t/file_which.t @@ -76,7 +76,7 @@ unless (File::Which::IS_VMS or File::Which::IS_MAC or File::Which::IS_WIN ) { ); } - # Make sure that .\ stuff works on DOSish, VMS, MacOS (. is in PATH implicitly). + # Make sure that .\ stuff works on DOSish, VMS, OS9 (classic Mac OS) (. is in PATH implicitly). SKIP: { unless ( File::Which::IS_WIN or File::Which::IS_VMS ) { skip("Not on a DOS or VMS filesystem", 1); From 6de89abb967c9cbf0d5c842135a03ac6f8d3b486 Mon Sep 17 00:00:00 2001 From: Graham Ollis Date: Sat, 19 Sep 2026 03:48:15 -0600 Subject: [PATCH 2/6] hopefully fix ci --- .github/workflows/linux.yml | 8 +++++--- .github/workflows/macos.yml | 4 ++-- .github/workflows/msys2-mingw.yml | 4 ++-- .github/workflows/static.yml | 2 +- .github/workflows/windows.yml | 4 ++-- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 5848471..33c9786 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -17,7 +17,9 @@ jobs: fail-fast: false matrix: cip_tag: - - "5.41" + - "5.45" + - "5.44" + - "5.42" - "5.40" - "5.38" - "5.36" @@ -40,7 +42,7 @@ jobs: CIP_TAG: ${{ matrix.cip_tag }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v7 - name: Bootstrap CIP run: | @@ -53,7 +55,7 @@ jobs: cip cache-key - name: Cache CPAN modules - uses: actions/cache@v2 + uses: actions/cache@v6 with: path: ~/.cip key: ${{ runner.os }}-build-${{ steps.cache-key.outputs.key }} diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index d2b8134..36b6276 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -23,7 +23,7 @@ jobs: fail-fast: false steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v7 - name: Set up Perl run: | @@ -40,7 +40,7 @@ jobs: ls -l perlversion.txt - name: Cache CPAN modules - uses: actions/cache@v1 + uses: actions/cache@v6 with: path: ~/perl5 key: ${{ runner.os }}-build-${{ hashFiles('perlversion.txt') }} diff --git a/.github/workflows/msys2-mingw.yml b/.github/workflows/msys2-mingw.yml index 2743442..6f203a0 100644 --- a/.github/workflows/msys2-mingw.yml +++ b/.github/workflows/msys2-mingw.yml @@ -34,7 +34,7 @@ jobs: git config --global core.eol lf shell: powershell - - uses: actions/checkout@v2 + - uses: actions/checkout@v7 - name: Set up Perl uses: msys2/setup-msys2@v2 @@ -57,7 +57,7 @@ jobs: ls perlversion.txt - name: Cache CPAN modules - uses: actions/cache@v1 + uses: actions/cache@v6 with: path: c:\cx key: ${{ runner.os }}-build-msys2-${{ hashFiles('perlversion.txt') }} diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index cba7de1..a5ed5f1 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -17,7 +17,7 @@ jobs: CIP_TAG: static steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v7 - name: Bootstrap CIP run: | diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 913e2d0..16cbd07 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -28,7 +28,7 @@ jobs: git config --global core.autocrlf false git config --global core.eol lf - - uses: actions/checkout@v2 + - uses: actions/checkout@v7 - name: Set up Perl run: | @@ -43,7 +43,7 @@ jobs: perl -V > perlversion.txt - name: Cache CPAN modules - uses: actions/cache@v1 + uses: actions/cache@v6 env: cache-name: cache-cpan-modules with: From de5e4f5f9354a1600fc33744f08cf62140214849 Mon Sep 17 00:00:00 2001 From: Graham Ollis Date: Sat, 19 Sep 2026 03:48:33 -0600 Subject: [PATCH 3/6] Update Changes for OS9 terminology clarification Co-Authored-By: Claude Sonnet 5 --- Changes | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Changes b/Changes index 9497d69..2eb4ee9 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,8 @@ Revision history for {{$dist->name}} {{$NEXT}} + - Clarify that "MacOS" in comments and docs refers to the classic, + pre-OS X environment (now called OS9 for short) (gh#43) 1.27 2021-05-07 04:54:31 -0600 - Production release identical to 1.26_01 From 8517ab4425ae3378eca5091725a927915ac02a1a Mon Sep 17 00:00:00 2001 From: Graham Ollis Date: Sat, 19 Sep 2026 03:49:41 -0600 Subject: [PATCH 4/6] include pr # in changes --- Changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Changes b/Changes index 2eb4ee9..5477db3 100644 --- a/Changes +++ b/Changes @@ -2,7 +2,7 @@ Revision history for {{$dist->name}} {{$NEXT}} - Clarify that "MacOS" in comments and docs refers to the classic, - pre-OS X environment (now called OS9 for short) (gh#43) + pre-OS X environment (now called OS9 for short) (gh#43, gh#47) 1.27 2021-05-07 04:54:31 -0600 - Production release identical to 1.26_01 From 230868ad7d3cf69529f64d8e9bbd11eb5ceafb4d Mon Sep 17 00:00:00 2001 From: Graham Ollis Date: Sat, 19 Sep 2026 03:54:53 -0600 Subject: [PATCH 5/6] Fix pod spelling test failure for macOS Add macOS to the stopwords list so xt/author/pod_spelling_system.t passes with the new OS9 pod section. Co-Authored-By: Claude Sonnet 5 --- lib/File/Which.pm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/File/Which.pm b/lib/File/Which.pm index 544f078..980e923 100644 --- a/lib/File/Which.pm +++ b/lib/File/Which.pm @@ -8,6 +8,9 @@ use File::Spec (); # ABSTRACT: Perl implementation of the which utility as an API # VERSION +=for stopwords +macOS + =head1 SYNOPSIS use File::Which; # exports which() From ba00074f0ffd05c48d17f939c1cd6ffbb9bc56ef Mon Sep 17 00:00:00 2001 From: Graham Ollis Date: Sat, 19 Sep 2026 03:59:19 -0600 Subject: [PATCH 6/6] Move macOS spelling stopword to author.yml Pod::Weaver relocates a =for stopwords block relative to recognized sections, which moved it past the words it was meant to protect and left xt/author/pod_spelling_system.t failing. This project's stopword list belongs in author.yml instead, which is applied globally regardless of pod ordering. Verified with `dzil test`. Co-Authored-By: Claude Sonnet 5 --- README.md | 13 +++++++++++++ author.yml | 1 + lib/File/Which.pm | 3 --- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index bb3420a..f192099 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,19 @@ certain it has ever been tested on VMS. If this platform is important to you and you can help me verify and or support it on that platform please contact me. +### OS9 + +Prior to Mac OS X, "classic" Mac OS (System 7, 8 and 9) used `$^O` value +`MacOS` and had a very different filesystem and process model than the +Darwin-based macOS of today. Throughout this document and in the source +code, `OS9` is used as a shorthand to refer to this classic, pre-OS X +environment (covering Mac OS 7 and 8 as well as 9). Modern Apple macOS is +Unix-like and is covered by the ["Linux, \*BSD and other UNIXes"](#linux-bsd-and-other-unixes) section +above instead. + +As of 2015 the current maintainer does not test on OS9, and this platform +is essentially unmaintained. + # FUNCTIONS ## which diff --git a/author.yml b/author.yml index aa1c86e..71ef27b 100644 --- a/author.yml +++ b/author.yml @@ -9,6 +9,7 @@ pod_spelling_system: - DocSet - Einar - Ellefsen + - macOS - OS2 - Stas - Win32 diff --git a/lib/File/Which.pm b/lib/File/Which.pm index 980e923..544f078 100644 --- a/lib/File/Which.pm +++ b/lib/File/Which.pm @@ -8,9 +8,6 @@ use File::Spec (); # ABSTRACT: Perl implementation of the which utility as an API # VERSION -=for stopwords -macOS - =head1 SYNOPSIS use File::Which; # exports which()