1Revision history for Perl distribution PathTools. 2 33.12 Mon Oct 3 22:09:12 CDT 2005 4 5 - Fixed a testing error on OS/2 in which a drive letter for the root 6 directory was confusing things. [Ilya Zakharevich] 7 8 - Integrated a patch from bleadperl for fixing path() on 9 Win32. [Gisle Aas] 10 113.11 Sat Aug 27 20:12:55 CDT 2005 12 13 - Fixed a couple of typos in the documentation for 14 File::Spec::Mac. [Piotr Fusik] 15 163.10 Thu Aug 25 22:24:57 CDT 2005 17 18 - eliminate_macros() and fixpath() in File::Spec::VMS are now 19 deprecated, since they are MakeMaker-specific and now live inside 20 MakeMaker. [Michael Schwern] 21 22 - canonpath() on Win32 now collapses foo/.. (or foo\..) sections 23 correctly, rather than doing the "misguided" work it was previously 24 doing. Note that canonpath() on Unix still does NOT collapse these 25 sections, as doing so would be incorrect. [Michael Schwern] 26 273.09 Tue Jun 14 20:36:50 CDT 2005 28 29 - Added some block delimiters (brackets) in the Perl_getcwd_sv() XS 30 function, which were necessary to separate the variable 31 declarations from the statements when HAS_GETCWD is not 32 defined. [Yves] 33 34 - Apparently the _NT_cwd() routine is never defined externally like I 35 thought it was, so I simplified the code around it. 36 37 - When cwd() is implemented using the _backtick_pwd() function, it 38 sometimes could create accidental undef entries in %ENV under perl 39 5.6, because local($hash{key}) is somewhat broken. This is now 40 fixed with an appropriate workaround. [Neil Watkiss] 41 423.08 Sat May 28 10:10:29 CDT 2005 43 44 - Fixed a test failure with fast_abs_path() on Windows - it was 45 sensitive to the rootdir() change from version 3.07. [Steve Hay] 46 473.07 Fri May 6 07:46:45 CDT 2005 48 49 - Fixed a bug in which the special perl variable $^O would become 50 tainted under certain versions of perl. [Michael Schwern] 51 52 - File::Spec->rootdir() was returning / on Win32. Now it returns \ . 53 [Michael Schwern] 54 55 - We now avoid modifying @_ in tmpdir() when it's not strictly 56 necessary, which reportedly provides a modest performance 57 boost. [Richard Soderberg] 58 59 - Made a couple of slight changes to the Win32 code so that it works 60 (or works better) on Symbian OS phones. [Jarkko Hietaniemi] 61 623.06 Wed Apr 13 20:47:26 CDT 2005 63 64 (No changes in functionality) 65 66 - Added a note to the canonpath() docs about why it doesn't collapse 67 foo/../bar sections. 68 69 - The internal-only function bsd_realpath() in the XS file now uses 70 normal arg syntax instead of K&R syntax. [Nicholas Clark] 71 723.05 Mon Feb 28 07:22:58 CST 2005 73 74 - Fixed a bug in fast_abs_path() on Win32 in which forward- and 75 backward-slashes were confusing things. [demerphq] 76 77 - Failure to load the XS code in Cwd is no longer a fatal error 78 (though failure to compile it is still a fatal error in the build 79 process). This lets Cwd work under miniperl in the core. [Rafael 80 Garcia-Suarez] 81 82 - In the t/cwd.t test, don't enforce loading from blib/ if we're 83 testing in the perl core. [Rafael Garcia-Suarez] 84 853.04 Sun Feb 6 17:27:38 CST 2005 86 87 - For perls older than 5.006, the HAS_GETCWD symbol is not available, 88 because it wasn't checked for in older Configure scripts when perl 89 was built. We therefore just ask the user whether the getcwd() C 90 function is defined on their platform when their perl is old. 91 Maybe in the future we'll try to automate this. [Reported by 92 several parties] 93 94 - Remove lib/ppport.h from the distribution, so that MakeMaker 95 doesn't accidentally pick it up and install it as a lib 96 file. [Jerry Hedden] 97 98 - Fixed a testing error on VMS that occurred when a user had 99 read-access to the root of the current volume. [Craig A. Berry] 100 1013.03 Fri Jan 21 21:44:05 CST 2005 102 103 - Fixed a testing error if the first file we find in the root 104 directory is a symlink. [Blair Zajac] 105 106 - Added a test to make sure Cwd.pm is loaded from blib/ during 107 testing, which seems to be an issue in some people's environments 108 and makes it awfully hard to debug things on my end. 109 110 - Skip the _perl_abs_path() tests on Cygwin - they don't usually 111 pass, and this function isn't used there anyway, so I decided not 112 to push it. Let 'em use `cwd`. 113 1143.02 Sun Jan 9 19:29:52 CST 2005 115 116 - Fixed a bug in which Cwd::abs_path() called on a file in the root 117 directory returned strange results. [Bob Luckin] 118 119 - Straightened out the licensing details for the portion of the Cwd 120 module that comes from BSD sources. [Hugo van der Sanden] 121 122 - Removed the prototype from _perl_abs_path() and the XS version of 123 abs_path(), since all they seemed to be doing was causing people 124 grief, and since some platforms didn't have them anyway. 125 126 - Fixed a testing bug in which sometimes the wrong version of Cwd 127 (the version already installed on the user's machine) would get 128 loaded instead of the one we're building & installing. 129 130 - Sometimes getdcwd() returns a lower-case drive letter, so don't 131 require an upper-case letter in t/win32.t. [Jan Dubois] 132 133 - Fixed a memory leak in getdcwd() on win32. [Steve Hay] 134 135 - Added a copy of ppport.h to the distribution to aid compilation on 136 older versions of perl. [Suggested by Charlie Root] 137 138 - Don't bother looking for a 'pwd' executable on MSWin32 - there 139 won't be one, and looking for it can be extremely slow when lots of 140 disks are mounted. [Several people, including Andrew Burke] 141 142 - Eliminated a multi-argument form of open() that was causing a 143 syntax error on older versions of perl. [Fixed by Michael Schwern] 144 145 - The bug-fix changes for revision 0.90 of File::Spec somehow were 146 lost when I merged it into the PathTools distribution. They're 147 restored now. [Craig A. Berry] 148 149 - File::Spec->canonpath() will now reduce paths like '[d1.-]foo.dat' 150 down to '[000000]foo.dat' instead of '[]foo.dat' or 'foo.dat'. 151 This is in better accordance with the native filename syntax 152 parser. [Craig A. Berry] 153 154 - In order to remove a recursive dependency (PathTools -> Test-Simple 155 -> Test-Harness -> PathTools), we now include a copy of Test::More in 156 the distribution. It is only used for testing, it won't be installed 157 with the rest of the stuff. 158 159 - Removed some 5.6-isms from Cwd in order to get it to build with 160 older perls like 5.005. 161 162 - abs_path() on Windows was trampling on $ENV{PWD} - fixed. [Spotted 163 by Neil MacMullen] 164 165 - Added licensing/copyright statements to the POD in each .pm 166 file. [Spotted by Radoslaw Zielinski] 167 1683.01 Mon Sep 6 22:28:06 CDT 2004 169 170 - Removed an unnecessary and confusing dependency on File::Spec from 171 the Makefile.PL and the Build.PL. 172 173 - Added a 'NAME' entry to the Makefile.PL, because otherwise it won't 174 even begin to work. [Reported by many] 175 1763.00 Thu Sep 2 22:15:07 CDT 2004 177 178 - Merged Cwd and File::Spec into a single PathTools distribution. 179 This was done because the two modules use each other fairly 180 extensively, and extracting the common stuff into another 181 distribution was deemed nigh-impossible. The code in revision 3.00 182 of PathTools should be equivalent to the code in Cwd 2.21 and 183 File::Spec 0.90. 184 185================================================================== 186Prior to revision 3.00, Cwd and File::Spec were maintained as two 187separate distributions. The revision history for Cwd is shown here. 188The revision history for File::Spec is further below. 189================================================================== 190 191Cwd 2.21 Tue Aug 31 22:50:14 CDT 2004 192 193 - Removed "NO_META" from the Makefile.PL, since I'm not building the 194 distribution with MakeMaker anyway. [Rohan Carly] 195 196 - Only test _perl_abs_path() on platforms where it's expected to work 197 (platforms with '/' as the directory separator). [Craig A. Berry] 198 199Cwd 2.20 Thu Jul 22 08:23:53 CDT 2004 200 201 - On some implementations of perl on Win32, a memory leak (or worse?) 202 occurred when calling getdcwd(). This has been fixed. [PodMaster] 203 204 - Added tests for getdcwd() on Win32. 205 206 - Fixed a problem in the pure-perl implementation _perl_abs_path() 207 that caused a fatal error when run on plain files. [Nicholas Clark] 208 To exercise the appropriate test code on platforms that wouldn't 209 otherwise use _perl_abs_path(), run the tests with $ENV{PERL_CORE} 210 or $ENV{TEST_PERL_CWD_CODE} set. 211 212Cwd 2.19 Thu Jul 15 08:32:18 CDT 2004 213 214 - The abs_path($arg) fix from 2.18 didn't work for VMS, now it's 215 fixed there. [Craig Berry] 216 217Cwd 2.18 Thu Jun 24 08:22:57 CDT 2004 218 219 - Fixed a problem in which abs_path($arg) on some platforms could 220 only be called on directories, and died when called on files. This 221 was a problem in the pure-perl implementation _perl_abs_path(). 222 223 - Fixed fast_abs_path($arg) in the same way as abs_path($arg) above. 224 225 - On Win32, a function getdcwd($vol) has been added, which gets the 226 current working directory of the specified drive/volume. 227 [Steve Hay] 228 229 - Fixed a problem on perl 5.6.2 when built with the MULTIPLICITY 230 compile-time flags. [Yitzchak Scott-Thoennes] 231 232 - When looking for a `pwd` system command, we no longer assume the 233 path separator is ':'. 234 235 - On platforms where cwd() is implemented internally (like Win32), 236 don't look for a `pwd` command externally. This can greatly speed 237 up load time. [Stefan Scherer] 238 239 - The pure-perl version of abs_path() now has the same prototype as 240 the XS version (;$). 241 242Cwd 2.17 Wed Mar 10 07:55:36 CST 2004 243 244 - The change in 2.16 created a testing failure when tested from 245 within a path that contains symlinks (for instance, /tmp -> 246 /private/tmp). 247 248Cwd 2.16 Sat Mar 6 17:56:31 CST 2004 249 250 - For VMS compatibility (and to conform to Cwd's documented 251 interface), in the regression tests we now compare output results 252 to an absolute path. [Craig A. Berry] 253 254Cwd 2.15 Fri Jan 16 08:09:44 CST 2004 255 256 - Fixed a problem on static perl builds - while creating 257 Makefile.aperl, it was loading a mismatched version of Cwd from 258 blib/ . [Reported by Blair Zajac] 259 260Cwd 2.14 Thu Jan 8 18:51:08 CST 2004 261 262 - We now use File::Spec->canonpath() and properly-escaped regular 263 expressions when comparing paths in the regression tests. This 264 fixes some testing failures in 2.13 on non-Unix platforms. No 265 changes were made in the actual Cwd module code. [Steve Hay] 266 267Cwd 2.13 Fri Jan 2 22:29:42 CST 2004 268 269 - Changed a '//' comment to a '/* */' comment in the XS code, so that 270 it'll compile properly under ANSI C rules. [Jarkko Hietaniemi] 271 272 - Fixed a 1-character buffer overrun problem in the C code. [The BSD 273 people] 274 275Cwd 2.12 Fri Dec 19 17:04:52 CST 2003 276 277 - Fixed a bug on Cygwin - the output of realpath() should have been 278 tainted, but wasn't. [Reported by Tom Wyant] 279 280Cwd 2.10 Mon Dec 15 07:50:12 CST 2003 281 282 (Note that this release was mistakenly packaged as version 2.11, even 283 though it had an internal $VERSION variable of 2.10. Not sure how 284 THAT happened...) 285 286 - There was a dependency in the Makefile.PL on Module::Build, which 287 isn't necessary. I've removed it. 288 289Cwd 2.09 Thu Dec 11 20:30:58 CST 2003 290 291 - The module should now build & install using version 5.6 of perl. 292 293 - We now note a build-time dependency on version 0.19 of 294 Module::Build, which is necessary because we don't use the standard 295 lib/-based file layout. No version of Module::Build is required if 296 you use the Makefile.PL, just if you use the Build.PL . 297 298 - Removed some gratuitous uses of 5.6-isms like our(), with the aim 299 of backporting this module to perl 5.005. 300 301 - Simplified all code that autoloads Carp.pm and calls 302 carp()/croak(). 303 304 - Removed some redundant OS/2 code at the suggestion of Michael 305 Schwern and Ilya Zakharevich. 306 307 - Make sure the correct version of Cwd.pm is loaded in the regression 308 tests. [Sam Vilain] 309 310Cwd 2.08 Wed Oct 15 20:56 CDT 2003 311 312 - Code extracted from perl 5.8.1 and packaged as a separate CPAN 313 release by Ken Williams. 314 315================================================================== 316Prior to revision 3.00, Cwd and File::Spec were maintained as two 317separate distributions. The revision history for File::Spec is shown 318here. The revision history for Cwd is above. 319================================================================== 320 321File::Spec 0.90 Tue Aug 31 22:34:50 CDT 2004 322 323 - On VMS, directories use vmspath() and files use vmsify(), so 324 rel2abs() has to use some 'educated guessing' when dealing with 325 paths containing slashes. [Craig A. Berry] 326 327File::Spec 0.89 Sun Aug 29 19:02:32 CDT 2004 328 329 - Fixed some pathological cases on VMS which broke canonpath() and 330 splitdir(). [Richard Levitte and Craig A. Berry] 331 332 - Fixed rel2abs() on VMS when passed a unix-style relative 333 path. [Craig A. Berry] 334 335File::Spec 0.88 Thu Jul 22 23:14:32 CDT 2004 336 337 - rel2abs() on Win32 will now use the new Cwd::getdcwd() function, so 338 that things like rel2abs('D:foo.txt') work properly when the 339 current drive isn't 'D'. This requires Cwd version 2.18. 340 [Steve Hay] 341 342 - Got rid of a redundant double-backslash in a character 343 class. [Alexander Farber] 344 345 - Added much markup to pod for enhanced readability. [Andy Lester] 346 347File::Spec 0.87 Fri Dec 19 08:03:28 CST 2003 348 349 - With a one-line change in the tests, backported to perl 5.004. 350 [Issue reported by Barry Kemble] 351 352File::Spec 0.86 Fri Sep 26 10:07:39 CDT 2003 353 354 - This is the version released with perl 5.8.1. It is identical to 355 the code in the File::Spec beta 0.85_03. 356 357File::Spec 0.85_03 Mon Sep 15 09:35:53 CDT 2003 358 359 - On VMS, if catpath() receives volume specifiers in both its first 360 two arguments, it will now use the volume in the first argument 361 only. Previously it returned a non-syntactical result which 362 included both volumes. This change is the same in spirit to the 363 catpath() MacOS change from version 0.85_02. 364 365 - Fixed an abs2rel() bug on VMS - previously 366 abs2rel('[t1.t2.t3]file','[t1.t2]') returned '[t3]file', now it 367 properly returns '[.t3]file'. 368 369File::Spec 0.85_02 Fri Sep 12 17:11:13 CDT 2003 370 371 - abs2rel() now behaves more consistently across platforms with the 372 notion of a volume. If the volumes of the first and second 373 argument (the second argument may be implicit) do not agree, we do 374 not attempt to reconcile the paths, and simply return the first 375 argument. Previously the volume of the second argument was 376 (usually) ignored, resulting in sometimes-garbage output. 377 378 - catpath() on MacOS now looks for a volume element (i.e. "Macintosh HD:") 379 in its first argument, and then its second argument. The first 380 volume found will be used, and if none is found, none will be used. 381 382 - Fixed a problem in abs2rel() on Win32 in which the volume of the 383 current working directory would get added to the second argument if 384 none was specified. This might have been somewhat helpful, but it 385 was contrary to the documented behavior. For example, 386 abs2rel('C:/foo/bar', '/foo') used to return 'bar', now it returns 387 'C:/foo/bar' because there's no guarantee /foo is actually C:/foo . 388 389 - catdir('/', '../') on OS2 previously erroneously returned '//..', 390 and now it returns '/'. 391 392File::Spec 0.85_01 Thu Sep 11 16:18:54 CDT 2003 393 394 Working toward 0.86, the version that will be released with perl 5.8.1. 395 396 - The t/rel2abs2rel.t test now is a little friendlier about emitting 397 its diagnostic debugging output. [Jarkko Hietaniemi] 398 399 - We now only require() Cwd when it's needed, on demand. [Michael 400 Schwern, Tels] 401 402 - Fixed some POD errors and redundancies in OS2.pm and Cygwin.pm. 403 [Michael Schwern] 404 405 - The internal method cwd() has been renamed to _cwd(), since it was 406 never meant for public use. [Michael Schwern] 407 408 - Several methods in File::Spec::Unix that just return constant 409 strings have been sped up. catdir() has also been sped up there. 410 [Tels] 411 412 - Several canonpath() and catdir() bugs on Win32 have been fixed, and 413 tests added for them: 414 catdir('/', '../') -> '\\' (was '\..') 415 catdir('/', '..\\') -> '\\ (was '') 416 canonpath('\\../') -> '\\' (was '') 417 canonpath('\\..\\') -> '\\' (was '') 418 canonpath('/../') -> '\\' (was '\..') 419 canonpath('/..\\') -> '\\' (was '') 420 catdir('\\', 'foo') -> '\foo' (was '\\foo') 421 422 - catpath($volume, $dirs, $file) on Mac OS now ignores any volume 423 that might be part of $dirs, enabling catpath($volume, 424 catdir(rootdir(), 'foo'), '') to work portably across platforms. 425 426File::Spec 0.85 Tue Jul 22 11:31 CDT 2003 427 428 A bug-fix release relative to 0.84. I've forked development into a 429 "stable" branch (this one) and a more aggressive branch (as yet 430 unreleased), with an eye toward getting the stable features in perl 431 5.8.1. 432 433 - File::Spec::Mac->case_tolerant() returned 0 when it should have 434 returned 1. 435 436 - Many cases in File::Spec::Win32->abs2rel() were broken, because of 437 the way in which volumes were/weren't ignored. Unfortunately, part 438 of the regression tests were broken too. Now, if the $path 439 argument to abs2rel() is on a different volume than the $base 440 argument, the result will be an absolute path rather than the 441 broken relative path previous versions returned. 442 443 - Fixed a problem in File::Spec::Win32->canonpath, which was turning 444 \../foo into "foo" rather than \foo 445 446 - Greatly simplified the code in File::Spec::Unix->splitdir(). 447 448File::Spec 0.84_01 Fri Jul 11 16:14:29 CDT 2003 449 450 No actual code changes, just changes in other distribution files 451 452 - Dependencies are now listed explicitly in the Makefile.PL and 453 Build.PL scripts, as well as in the META.yml file. 454 455 - The t/abs2rel2abs.t test should now be more friendly about skipping 456 on platforms where it can't run properly. 457 458File::Spec 0.84 Wed Jul 9 22:21:23 CDT 2003 459 460 I (Ken)'ve taken the changes from bleadperl and created a new CPAN release 461 from them, since they're pretty important changes. The highlights, 462 from what I can tell, are listed here. 463 464 - A huge number of changes to File::Spec::Mac in order to bring it in 465 line with the other platforms. This work was mostly/completely 466 done by Thomas Wegner. 467 468 - The Epoc and Cygwin platforms are now supported. 469 470 - Lots of generically-applicable documentation has been taken from 471 File::Spec::Unix and put in File::Spec. 472 473 - A Build.PL has been provided for people who wish to install via 474 Module::Build. 475 476 - Some spurious warnings and errors in the tests have been 477 eliminated. [Michael Schwern] 478 479 - canonpath() on File::Spec::Unix now honors a //node-name at the 480 beginning of a path. 481 482 - Cwd.pm wasn't being loaded properly on MacOS. [Chris Nandor] 483 484 - Various POD fixups 485 486 - Several testing patches for the Epoc and Cygwin platforms [Tels] 487 488 - When running under taint mode and perl >= 5.8, all the tmpdir() 489 implementations now avoid returning a tainted path. 490 491 - File::Spec::OS2 now implements canonpath(), splitpath(), 492 splitdir(), catpath(), abs2rel(), and rel2abs() directly rather 493 than inheriting them from File::Spec::Unix. 494 495 - Added 'SYS:/temp' and 'C:/temp' to the list of possible tmpdir()s 496 on Win32. 497 498 - catfile() on Win32 and VMS will now automatically call canonpath() 499 on its final argument. 500 501 - canonpath() on Win32 now does a much more extensive cleanup of the 502 path. 503 504 - abs2rel() on Win32 now defaults to using cwd() as the base of 505 relativity when no base is given. 506 507 - abs2rel() on Win32 now explicitly ignores any volume component in 508 the $path argument. 509 510 - canonpath() on VMS now does []foo ==> foo, and foo.000000] ==> foo]. 511 It also fixes a bug in multiple [000000.foo ==> [foo translations. 512 513 - tmpdir() on VMS now uses 'sys$scratch:' instead of 'sys$scratch'. 514 515 - abs2rel() on VMS now uses '000000' in both the path and the base. 516 517File::Spec 0.82 Wed Jun 28 11:24:05 EDT 2000 518 - Mac.pm: file_name_is_absolute( '' ) now returns TRUE on all platforms 519 - Spec.pm: unbreak C<$VERSION = '0.xx'> to be C<$VERSION = 0.xx>, so 520 underscores can be used when I want to update CPAN without anyone 521 needing to update the perl repository. 522 - abs2rel, rel2abs doc tweaks 523 - VMS.pm: get $path =~ /\s/ checks from perl repository. 524 - Makefile.PL: added INSTALLDIRS => 'perl', since these are std. modules. 525 - Remove vestigial context prototypes from &rel2abs until some future 526 arrives where method prototypes are honored. 527