Enclosed please find a patch for the regression tests in :t:lib:{g,h,i}*.t These modifications have turned up at least one problem with GetOpt::Long.pm's self loading routines. I note that when I run a :lib:gol*.t test I typically see something like so: miniperl :lib:gol-basic.t Subroutine ConfigDefaults redefined at ::lib:Getopt:Long.pm line 71. 1..9 Can't locate ./::lib:Getopt:Long.pm at :lib:gol-basic.t line 16 note the leading "./" there. Note too the extensive prototyping used in Getopt::Long. At any rate here is the patch for many of these files: diff -ru :lib.d-f:gdbm.t :lib:gdbm.t --- :lib.d-f:gdbm.t Tue Jul 20 17:18:12 1999 +++ :lib:gdbm.t Sat May 20 10:33:26 2000 @@ -3,7 +3,7 @@ # $RCSfile: dbm.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:43 $ BEGIN { - unshift @INC, '../lib'; + unshift @INC, ($^O eq 'MacOS') ? '::lib:' : '../lib'; require Config; import Config; if ($Config{'extensions'} !~ /\bGDBM_File\b/) { print "1..0 # Skip: GDBM_File was not built\n"; diff -ru :lib.d-f:getopt.t :lib:getopt.t --- :lib.d-f:getopt.t Tue Jul 20 17:18:12 1999 +++ :lib:getopt.t Sat May 20 10:34:31 2000 @@ -2,7 +2,7 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + unshift @INC, ($^O eq 'MacOS') ? '::lib:' : '../lib'; } print "1..11\n"; diff -ru :lib.d-f:glob-basic.t :lib:glob-basic.t --- :lib.d-f:glob-basic.t Fri Mar 3 16:15:31 2000 +++ :lib:glob-basic.t Sat May 20 10:37:44 2000 @@ -2,7 +2,7 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + unshift @INC, ($^O eq 'MacOS') ? '::lib:' : '../lib'; require Config; import Config; if ($Config{'extensions'} !~ /\bFile\/Glob\b/i) { print "1..0\n"; diff -ru :lib.d-f:glob-case.t :lib:glob-case.t --- :lib.d-f:glob-case.t Tue Feb 22 10:07:34 2000 +++ :lib:glob-case.t Sun May 21 10:14:27 2000 @@ -2,7 +2,7 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + unshift @INC, ($^O eq 'MacOS') ? '::lib:' : '../lib'; require Config; import Config; if ($Config{'extensions'} !~ /\bFile\/Glob\b/i) { print "1..0\n"; diff -ru :lib.d-f:glob-global.t :lib:glob-global.t --- :lib.d-f:glob-global.t Tue Feb 22 10:08:25 2000 +++ :lib:glob-global.t Sun May 21 10:16:09 2000 @@ -2,7 +2,7 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + unshift @INC, ($^O eq 'MacOS') ? '::lib:' : '../lib'; require Config; import Config; if ($Config{'extensions'} !~ /\bFile\/Glob\b/i) { print "1..0\n"; diff -ru :lib.d-f:glob-taint.t :lib:glob-taint.t --- :lib.d-f:glob-taint.t Tue Feb 22 10:08:49 2000 +++ :lib:glob-taint.t Sun May 21 10:17:11 2000 @@ -2,7 +2,7 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + unshift @INC, ($^O eq 'MacOS') ? '::lib:' : '../lib'; require Config; import Config; if ($Config{'extensions'} !~ /\bFile\/Glob\b/i) { print "1..0\n"; diff -ru :lib.d-f:gol-basic.t :lib:gol-basic.t --- :lib.d-f:gol-basic.t Fri Sep 10 10:37:34 1999 +++ :lib:gol-basic.t Sun May 21 10:18:42 2000 @@ -2,7 +2,7 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + unshift @INC, ($^O eq 'MacOS') ? '::lib:' : '../lib'; } use Getopt::Long 2.17; diff -ru :lib.d-f:gol-compat.t :lib:gol-compat.t --- :lib.d-f:gol-compat.t Fri Sep 10 10:38:14 1999 +++ :lib:gol-compat.t Sun May 21 12:49:06 2000 @@ -2,7 +2,7 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + unshift @INC, ($^O eq 'MacOS') ? '::lib:' : '../lib'; } require "newgetopt.pl"; diff -ru :lib.d-f:gol-linkage.t :lib:gol-linkage.t --- :lib.d-f:gol-linkage.t Fri Sep 10 10:38:47 1999 +++ :lib:gol-linkage.t Sun May 21 12:52:06 2000 @@ -2,7 +2,7 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + unshift @INC, ($^O eq 'MacOS') ? '::lib:' : '../lib'; } use Getopt::Long; diff -ru :lib.d-f:h2ph.t :lib:h2ph.t --- :lib.d-f:h2ph.t Tue Jul 20 17:18:12 1999 +++ :lib:h2ph.t Sun May 21 12:53:01 2000 @@ -5,7 +5,7 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + unshift @INC, ($^O eq 'MacOS') ? '::lib:' : '../lib'; } print "1..2\n"; diff -ru :lib.d-f:hostname.t :lib:hostname.t --- :lib.d-f:hostname.t Tue Feb 15 18:56:23 2000 +++ :lib:hostname.t Sun May 21 12:54:01 2000 @@ -2,7 +2,7 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + unshift @INC, ($^O eq 'MacOS') ? '::lib:' : '../lib'; } use Sys::Hostname; diff -ru :lib.d-f:io_const.t :lib:io_const.t --- :lib.d-f:io_const.t Tue Jul 20 17:18:12 1999 +++ :lib:io_const.t Sun May 21 13:08:20 2000 @@ -2,7 +2,12 @@ BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } } } diff -ru :lib.d-f:io_dir.t :lib:io_dir.t --- :lib.d-f:io_dir.t Tue Jul 20 17:18:12 1999 +++ :lib:io_dir.t Sun May 21 13:10:28 2000 @@ -3,7 +3,12 @@ BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } } require Config; import Config; if ($] < 5.00326 || not $Config{'d_readdir'}) { diff -ru :lib.d-f:io_dup.t :lib:io_dup.t --- :lib.d-f:io_dup.t Tue Jul 20 17:18:12 1999 +++ :lib:io_dup.t Sun May 21 13:13:13 2000 @@ -3,7 +3,12 @@ BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } } } diff -ru :lib.d-f:io_linenum.t :lib:io_linenum.t --- :lib.d-f:io_linenum.t Tue Jul 20 17:18:13 1999 +++ :lib:io_linenum.t Sun May 21 13:36:15 2000 @@ -13,7 +13,12 @@ chdir 't'; $File =~ s/^t\W+//; # Remove first directory } - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } require strict; import strict; } diff -ru :lib.d-f:io_multihomed.t :lib:io_multihomed.t --- :lib.d-f:io_multihomed.t Tue Jul 20 17:18:13 1999 +++ :lib:io_multihomed.t Sun May 21 13:38:31 2000 @@ -3,7 +3,12 @@ BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } } } diff -ru :lib.d-f:io_pipe.t :lib:io_pipe.t --- :lib.d-f:io_pipe.t Tue Jul 20 17:18:13 1999 +++ :lib:io_pipe.t Sun May 21 13:40:12 2000 @@ -3,7 +3,12 @@ BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } } } diff -ru :lib.d-f:io_poll.t :lib:io_poll.t --- :lib.d-f:io_poll.t Sat Feb 26 06:34:57 2000 +++ :lib:io_poll.t Sun May 21 13:42:03 2000 @@ -3,7 +3,12 @@ BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } } } diff -ru :lib.d-f:io_sel.t :lib:io_sel.t --- :lib.d-f:io_sel.t Mon Mar 13 10:32:18 2000 +++ :lib:io_sel.t Sun May 21 13:43:42 2000 @@ -3,7 +3,12 @@ BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } } } diff -ru :lib.d-f:io_sock.t :lib:io_sock.t --- :lib.d-f:io_sock.t Tue Mar 14 05:15:40 2000 +++ :lib:io_sock.t Sun May 21 13:45:13 2000 @@ -3,7 +3,12 @@ BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } } } diff -ru :lib.d-f:io_taint.t :lib:io_taint.t --- :lib.d-f:io_taint.t Tue Jul 20 17:18:13 1999 +++ :lib:io_taint.t Sun May 21 13:46:36 2000 @@ -3,7 +3,12 @@ BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } } } diff -ru :lib.d-f:io_tell.t :lib:io_tell.t --- :lib.d-f:io_tell.t Tue Jul 20 17:18:13 1999 +++ :lib:io_tell.t Sun May 21 13:48:24 2000 @@ -3,7 +3,12 @@ BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } $tell_file = "TEST"; } else { diff -ru :lib.d-f:io_udp.t :lib:io_udp.t --- :lib.d-f:io_udp.t Sat Jul 24 21:35:23 1999 +++ :lib:io_udp.t Sun May 21 13:49:46 2000 @@ -3,7 +3,12 @@ BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } } } diff -ru :lib.d-f:io_unix.t :lib:io_unix.t --- :lib.d-f:io_unix.t Tue Mar 21 02:44:47 2000 +++ :lib:io_unix.t Sun May 21 13:51:10 2000 @@ -3,7 +3,12 @@ BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } } } diff -ru :lib.d-f:io_xs.t :lib:io_xs.t --- :lib.d-f:io_xs.t Tue Jul 20 17:18:13 1999 +++ :lib:io_xs.t Sun May 21 13:52:33 2000 @@ -3,7 +3,12 @@ BEGIN { unless(grep /blib/, @INC) { chdir 't' if -d 't'; - unshift @INC, '../lib' if -d '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:' if -d '::lib:'; + } + else { + unshift @INC, '../lib' if -d '../lib'; + } } } diff -ru :lib.d-f:ipc_sysv.t :lib:ipc_sysv.t --- :lib.d-f:ipc_sysv.t Sun Mar 19 07:18:14 2000 +++ :lib:ipc_sysv.t Sun May 21 13:53:26 2000 @@ -3,7 +3,7 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + unshift @INC, ($^O eq 'MacOS') ? '::lib:' : '../lib'; require Config; import Config; End of Patch. Peter Prymmer ==== Want to unsubscribe from this list? ==== Send mail with body "unsubscribe" to macperl-porters-request@macperl.org