1b8851fccSafresh1Revision history for Perl distribution PathTools. 2b8851fccSafresh1 3*e0680481Safresh13.87-3.88 4*e0680481Safresh1 5*e0680481Safresh1- Fix handling of empty path, VMS fixes. 6*e0680481Safresh1 7*e0680481Safresh13.86 8*e0680481Safresh1 9*e0680481Safresh1- Fix compilation warning on illumos based platforms 10*e0680481Safresh1 11*e0680481Safresh13.85 12*e0680481Safresh1 13*e0680481Safresh1- Fix issue related to tainting empty PATH 14*e0680481Safresh1 15*e0680481Safresh13.84 16*e0680481Safresh1 17*e0680481Safresh1- Add PerlIO_readlink backcompat defines to Cws.xs 18*e0680481Safresh1 19*e0680481Safresh13.83 20*e0680481Safresh1 21*e0680481Safresh1- More bugtracker changes, document maintainer is the Perl-5 Porters 22*e0680481Safresh1 23*e0680481Safresh13.82 24*e0680481Safresh1 25*e0680481Safresh1- Change to build so bugreports go to GitHub 26*e0680481Safresh1 27eac174f2Safresh13.81 28eac174f2Safresh1 29eac174f2Safresh1- compare inode numbers as strings (github #18788) 30eac174f2Safresh1 31eac174f2Safresh13.80 32eac174f2Safresh1 33eac174f2Safresh1- use the PerlLIO_*() functions for lstat() and readlink() to support 34eac174f2Safresh1 Win32 symlink support added to perl. 35eac174f2Safresh1 36eac174f2Safresh1- skip a test that assumes getcwd() doesn't return symlinks on Win32, where 37eac174f2Safresh1 it can. 38eac174f2Safresh1 39eac174f2Safresh13.79 40eac174f2Safresh1 41eac174f2Safresh1- fix an off-by-one in bsd_realpath() 42eac174f2Safresh1 43eac174f2Safresh13.78 44eac174f2Safresh1 45eac174f2Safresh1- fallback to Internals::getcwd() for getcwd() if available (requires 46eac174f2Safresh1 $Config{d_getcwd}) 47eac174f2Safresh1 48eac174f2Safresh13.77 49eac174f2Safresh1 50eac174f2Safresh1- don't translate "..." to "..\.." on Win32 51eac174f2Safresh1 52eac174f2Safresh13.76 53eac174f2Safresh1 54eac174f2Safresh1- test t/cwd_enoent.t - also accept ESTALE for a directory that no 55eac174f2Safresh1 longer exists (github #16699) 56eac174f2Safresh1 57b46d8ef2Safresh13.75 58b46d8ef2Safresh1- Fix t/abs2rel.t on 5.8.8 by changing mkpath call to be 59b46d8ef2Safresh1 compatible with older File::Path 60b46d8ef2Safresh1 615759b3d2Safresh13.74 625759b3d2Safresh1- No changes. 635759b3d2Safresh1 645759b3d2Safresh13.73 655759b3d2Safresh1- Define NEED_croak_xs_usage, fixing usage of croak_xs_usage() 665759b3d2Safresh1- [perl #132853] Add metadata (ABSTRACT, LICENSE, AUTHOR) 675759b3d2Safresh1- [perl #132733] Skip cwd_enoent test on Cygwin 685759b3d2Safresh1- [perl #132651] Avoid infinite recursion in _perl_abs_path() 695759b3d2Safresh1- [rt.cpan.org #114236] Compatibility with File::Path 2.06_04 705759b3d2Safresh1 715759b3d2Safresh13.72 725759b3d2Safresh1- [perl #132648] Correct error returns from fast_abs_path() 735759b3d2Safresh1 745759b3d2Safresh13.71 755759b3d2Safresh1- [perl #130818] Remove support for running PathTools on MacOS 765759b3d2Safresh1 and EPOC 775759b3d2Safresh1 785759b3d2Safresh13.70 795759b3d2Safresh1- Change strcmp into the easier to read strEQ 805759b3d2Safresh1 815759b3d2Safresh13.69 825759b3d2Safresh1- avoid loading modules repeatedly at runtime 835759b3d2Safresh1- replace 'use vars' by 'our' 845759b3d2Safresh1- Switch to XSLoader from Dynaloader 855759b3d2Safresh1 865759b3d2Safresh13.68 875759b3d2Safresh1- avoid warning from pre-5.8 code for detecting tainted values 885759b3d2Safresh1- make taint.t detect that a pre-5.8 Perl supports tainting 895759b3d2Safresh1- avoid a dynamic linking problem on Perl 5.6 905759b3d2Safresh1 915759b3d2Safresh13.67 - Mon Feb 27 09:33:04 EST 2017 925759b3d2Safresh1- Add security usage note to File::Spec::no_upwards 935759b3d2Safresh1 945759b3d2Safresh13.66 - Sat Nov 19 10:30:19 MST 2016 955759b3d2Safresh1- white space change so can compile under C++11 965759b3d2Safresh1 975759b3d2Safresh13.65 - Mon, 25 Jul 2016 23:15:33 -0700 985759b3d2Safresh1- (perl #127384)(CVE-2016-1238) 995759b3d2Safresh1 1005759b3d2Safresh13.64 - Tue May 24 10:00:19 MST 2016 1015759b3d2Safresh1- just minor pod changes to silence Pod::Checker 1025759b3d2Safresh1 103b8851fccSafresh13.62 - Mon Jan 11 08:39:19 EST 2016 104b8851fccSafresh1- ensure File::Spec::canonpath() preserves taint (CVE-2015-8607) 105b8851fccSafresh1 106b8851fccSafresh13.61 - Sun Dec 20 12:00:00 EST 2015 (bleadperl only release) 107b8851fccSafresh1- improve performance of cwd on Win32 miniperl 108b8851fccSafresh1 109b8851fccSafresh13.60 - Wed Nov 18 21:28:01 EST 2015 110b8851fccSafresh1- add File::Spec::AmigaOS -- and actually ship it, this time 111b8851fccSafresh1 112b8851fccSafresh13.59 - Fri Nov 13 18:38:01 EST 2015 113b8851fccSafresh1- no changes since 5.58_01 114b8851fccSafresh1 115b8851fccSafresh13.58_01 - Mon Nov 9 17:35:28 EST 2015 - TRIAL RELEASE 116b8851fccSafresh1- add File::Spec::AmigaOS 117b8851fccSafresh1- fix INSTALLDIRS on post-5.10 perls 118b8851fccSafresh1 119b8851fccSafresh13.56_02 - Thu Jul 16 11:28:57 EDT 2015 - TRIAL RELEASE 120b8851fccSafresh1- fix $VERSION in loaded modules 121b8851fccSafresh1 122b8851fccSafresh13.56_01 - Sat Jul 11 18:07:28 EDT 2015 - TRIAL RELEASE 123b8851fccSafresh1- CPAN release of the PathTools included in perl v5.22.0 124b8851fccSafresh1- support for z/OS sysplexed systems 125b8851fccSafresh1- long-deprecated "fixpath" and "eliminate_macros" VMS functions removed 126b8851fccSafresh1- avoid turning leading // into / on cygwin 127b8851fccSafresh1- Force barename base to be a directory in File::Spec::VMS:abs2rel 128b8851fccSafresh1- Revise Unix syntax detection File::Spec::VMS::abs2rel 129b8851fccSafresh1- compiles on Android now 130b8851fccSafresh1- fewer compiler warnings 131b8851fccSafresh1- eliminate some runtime perl warnings, too 132b8851fccSafresh1 133b8851fccSafresh13.47 - Fri May 23 18:52:00 2014 134b8851fccSafresh1- Improved Android support. 135b8851fccSafresh1- File::Spec::Unix->tmpdir: Always return an absolute path 136b8851fccSafresh1- File::Spec now has an XS version for performance. 137b8851fccSafresh1- QNX and VMS portability 138b8851fccSafresh1- tmpdir is updated when the environment changes. 139b8851fccSafresh1 140b8851fccSafresh13.40 - Wed Jan 16 07:30:00 2013 141b8851fccSafresh1- Stop inadvertently skipping Spec.t on VMS. (Craig Berry) 142b8851fccSafresh1- Rethink EFS in File::Spec::VMS. (Craig Berry) 143b8851fccSafresh1- File::Spec::UNIX->abs2rel() gets it wrong with ".." components 144b8851fccSafresh1 [perl #111510] (Volker Schatz) 145b8851fccSafresh1- Add C define to remove taint support from perl (Steffen Mueller) 146b8851fccSafresh1- Remove "register" declarations as they are no longer 147b8851fccSafresh1 useful (Karl Williamson) 148b8851fccSafresh1- Add test for fast_abs_path in LF dir 149b8851fccSafresh1 [perl #115962] (Father Chrysostomos) 150b8851fccSafresh1- Cwd::fast_abs_path's untaint should allow for multiline 151b8851fccSafresh1 directories (Joel Berger) 152b8851fccSafresh1 153b8851fccSafresh13.39_01 - Tue Dec 20 08:30:00 2011 154b8851fccSafresh1- [perl #51562] Problem & "solution" for building 5.10.0 with 155b8851fccSafresh1 win32+mingw+dmake (kmx) 156b8851fccSafresh1- Fix various compiler warnings from XS code (Zefram) 157b8851fccSafresh1- Fix typos (spelling errors) (Peter J. Acklam) 158b8851fccSafresh1- Remove Mac OS classic only tests from Cwd's Spec.t 159b8851fccSafresh1 and special case code from Cwd's cwd.t (Nicholas Clark) 160b8851fccSafresh1- Convert File::Spec's remaining tests to Test::More from Test 161b8851fccSafresh1 (Nicholas Clark) 162b8851fccSafresh1- dist/Cwd/lib/File/Spec/Win32.pm: Fix broken link (Karl Williamson) 163b8851fccSafresh1- In Cwd::_win32_cwd() avoid a string eval when checking if we're 164b8851fccSafresh1 miniperl (Nicholas Clark) 165b8851fccSafresh1- Add PERL_NO_GET_CONTEXT to Cwd (Nicholas Clark) 166b8851fccSafresh1- In Cwd.xs on VMS, don't compile bsd_realpath() at all (Nicholas Clark) 167b8851fccSafresh1- Merge the implementation of Cwd::{fastcwd,getcwd} using 168b8851fccSafresh1 ALIAS (Nicholas Clark) 169b8851fccSafresh1- In Cwd.xs, swap to defaulting to disabled prototypes (Nicholas Clark) 170b8851fccSafresh1- Remove duplicate $VERSION handling code, made redundant 171b8851fccSafresh1 in 3.28_01 (Nicholas Clark) 172b8851fccSafresh1- In Cwd.xs, tidy the conditional code related to symlinks 173b8851fccSafresh1 (Nicholas Clark) 174b8851fccSafresh1- Keep verbatim pod within 80 cols (Father Chrysostomos) 175b8851fccSafresh1- [RT #36079] Convert ` to ' in docs (Jim Keenan) 176b8851fccSafresh1- [rt.cpan.org #45885] File::Spec: Don’t use tainted tmpdir 177b8851fccSafresh1 in 5.6 (Father Chrysostomos) 178b8851fccSafresh1 179b8851fccSafresh13.33 - Mon Sep 20 18:00:00 2010 180b8851fccSafresh1- No functional changes since the previous release. 181b8851fccSafresh1- Fixes POD links 182b8851fccSafresh1 (part of core change2a6dc37471bea77f0c24fd1fe90c598a270c9968, 183b8851fccSafresh1 Florian Ragwitz) 184b8851fccSafresh1 185b8851fccSafresh13.32 - Sun Sep 19 18:00:00 2010 186b8851fccSafresh1 187b8851fccSafresh1- Promote to stable release. 188b8851fccSafresh1 189b8851fccSafresh13.31_03 - Fri Sep 17 20:00:00 2010 190b8851fccSafresh1 191b8851fccSafresh1- Colon delimiter and escaped delimiters for File::Spec::VMS 192b8851fccSafresh1 This is core change 61196b433b2b (Craig A. Berry) 193b8851fccSafresh1 194b8851fccSafresh13.31_02 - Fri Jul 23 20:00:00 2010 195b8851fccSafresh1 196b8851fccSafresh1- Add TODO test for File::Spec->rel2abs() when under a symlink. 197b8851fccSafresh1- Make catpath return an empty directory rather than the current 198b8851fccSafresh1 directory if the directory name is empty. This allows catpath 199b8851fccSafresh1 to play nice with non-rooted logical names, as in 200b8851fccSafresh1 catpath('sys$login:', '', 'login.com'); 201b8851fccSafresh1 (Craig A. Berry) 202b8851fccSafresh1- Fix abs2rel bug in handling a Unix-style input. 203b8851fccSafresh1 (Craig A. Berry) 204b8851fccSafresh1- Assorted clarification and simplification of the documentation. 205b8851fccSafresh1 (Craig A. Berry) 206b8851fccSafresh1 207b8851fccSafresh13.31 - Sun Nov 1 15:15:00 2009 208b8851fccSafresh1 209b8851fccSafresh1- Do not pack a Build.PL to avoid a circular dependency involving 210b8851fccSafresh1 ExtUtils::CBuilder (PathTools RT #50749) 211b8851fccSafresh1 212b8851fccSafresh13.30_02 - Tue Sep 29 08:17:00 2009 213b8851fccSafresh1 214b8851fccSafresh1- Remove more special logic required for core perl. 215b8851fccSafresh1 216b8851fccSafresh13.30_01 - Mon Sep 21 14:39:00 2009 217b8851fccSafresh1 218b8851fccSafresh1- Merge changes from core perl. 219b8851fccSafresh1 (Mostly changes regarding the lib->ext migration) 220b8851fccSafresh1 221b8851fccSafresh13.30 - Sun May 10 10:55:00 2009 222b8851fccSafresh1 223b8851fccSafresh1- Promote to stable release. 224b8851fccSafresh1 225b8851fccSafresh13.29_01 - Thu May 7 20:22:00 2009 226b8851fccSafresh1 227b8851fccSafresh1- Minor fixes for QNX6. [Sean Boudreau] 228b8851fccSafresh1 229b8851fccSafresh1- Update to support VMS in Unix compatible mode and/or file names using 230b8851fccSafresh1 extended character sets. (RT #42154) [John Malmberg] 231b8851fccSafresh1 232b8851fccSafresh1- VMS support for Unix and extended file specifications in File::Spec 233b8851fccSafresh1 (RT #42153) [John Malmberg] 234b8851fccSafresh1 235b8851fccSafresh13.29 - Wed Oct 29 20:48:11 2008 236b8851fccSafresh1 237b8851fccSafresh1- Promote to stable release. 238b8851fccSafresh1 239b8851fccSafresh13.28_03 - Mon Oct 27 22:12:11 2008 240b8851fccSafresh1 241b8851fccSafresh1- In Cwd.pm, pass the un-munged $VERSION to XSLoader/DynaLoader, 242b8851fccSafresh1 otherwise development releases fail tests on Win32. 243b8851fccSafresh1 244b8851fccSafresh13.28_02 - Mon Oct 27 20:13:11 2008 245b8851fccSafresh1 246b8851fccSafresh1 - Fixed some issues on QNX/NTO related to paths with double 247b8851fccSafresh1 slashes. [Matt Kraai & Nicholas Clark] 248b8851fccSafresh1 249b8851fccSafresh13.28_01 - Fri Jul 25 21:18:11 2008 250b8851fccSafresh1 251b8851fccSafresh1 - Fixed and clarified the behavior of splitpath() with a $no_file 252b8851fccSafresh1 argument on VMS. [Craig A. Berry, Peter Edwards] 253b8851fccSafresh1 254b8851fccSafresh1 - Removed some function prototypes and other Perl::Critic violations. 255b8851fccSafresh1 256b8851fccSafresh1 - canonpath() and catdir() and catfile() on Win32 now make an 257b8851fccSafresh1 explicit (and unnecessary) copy of their arguments right away, 258b8851fccSafresh1 because apparently if we don't, we sabotage all of Win32dom. [RT 259b8851fccSafresh1 #33675] 260b8851fccSafresh1 261b8851fccSafresh1 - The Makefile.PL now has 'use 5.005;' to explicitly show what 262b8851fccSafresh1 minimum version of perl we support. [Spotted by Alexandr Ciornii] 263b8851fccSafresh1 264b8851fccSafresh13.2701 - Mon Feb 11 21:43:51 2008 265b8851fccSafresh1 266b8851fccSafresh1 - Fixed an edge case for Win32 catdir('C:', 'foo') and catfile('C:', 267b8851fccSafresh1 'foo.txt') (which the caller's not really supposed to do, that's 268b8851fccSafresh1 what catpath() is for) that changed between versions. Now we're 269b8851fccSafresh1 back to the old behavior, which was to return C:\foo and C:\foo.txt . 270b8851fccSafresh1 [Audrey Tang] 271b8851fccSafresh1 272b8851fccSafresh13.27 - Wed Jan 16 20:20:49 2008 273b8851fccSafresh1 274b8851fccSafresh1 - If strlcpy() and strlcat() aren't available on the user's system, 275b8851fccSafresh1 we now use ppport.h to provide them, so our C code works. [Steve 276b8851fccSafresh1 Peters] 277b8851fccSafresh1 278b8851fccSafresh1 - Upgraded to a newer version of ppport.h [Steve Peters] 279b8851fccSafresh1 280b8851fccSafresh13.26 - Sun Jan 13 21:59:20 2008 281b8851fccSafresh1 282b8851fccSafresh1 - case_tolerant() on Cygwin will now avoid a painful death when 283b8851fccSafresh1 Cygwin::mount_flags() isn't defined, as is the case for perl < 284b8851fccSafresh1 5.10. It will now just return 1, which is what it always did 285b8851fccSafresh1 before it got so smart. [Spotted by Emanuele Zeppieri] 286b8851fccSafresh1 287b8851fccSafresh1 - abs_path() on Unix(ish) platforms has been upgraded to a much later 288b8851fccSafresh1 version of the underlying C code from BSD. [Michael Schwern] 289b8851fccSafresh1 290b8851fccSafresh13.2501 - Mon Dec 24 20:33:02 2007 291b8851fccSafresh1 292b8851fccSafresh1 - Reimplemented abs_path() on VMS to use 293b8851fccSafresh1 VMS::Filespec::vms_realpath() when it's available. [John E. Malmberg] 294b8851fccSafresh1 295b8851fccSafresh1 - tmpdir() on Cygwin now also looks in $ENV{TMP} and $ENV{TEMP}. 296b8851fccSafresh1 297b8851fccSafresh1 - case_tolerant() on Cygwin and Win32 now take an optional path 298b8851fccSafresh1 argument, defaulting to the C drive, to check for case tolerance, 299b8851fccSafresh1 because this fact can vary on different volumes. 300b8851fccSafresh1 301b8851fccSafresh1 - File::Spec on Unix now uses Cwd::getcwd() rather than Cwd::cwd() to 302b8851fccSafresh1 get the current directory because I guess someone on p5p thought it 303b8851fccSafresh1 was more appropriate. 304b8851fccSafresh1 305b8851fccSafresh1 - Added a large set of File::Spec tests for the Cygwin platform. 306b8851fccSafresh1 307b8851fccSafresh1 - abs_path() now behaves correctly with symbolic links on VMS. 308b8851fccSafresh1 309b8851fccSafresh1 - Someone fixed a couple of mysterious edge cases in VMS' canonpath() 310b8851fccSafresh1 and splitdir(). 311b8851fccSafresh1 312b8851fccSafresh13.25_01 - Sat Oct 13 21:13:57 2007 313b8851fccSafresh1 314b8851fccSafresh1 - Major fixes on Win32, including a rewrite of catdir(), catfile(), 315b8851fccSafresh1 and canonpath() in terms of a single body of code. [Heinrich Tegethoff] 316b8851fccSafresh1 317b8851fccSafresh1 - For Win32 and Cygwin, case-tolerance can vary depending on the 318b8851fccSafresh1 volume under scrutiny. When Win32API::File is available, it will 319b8851fccSafresh1 be employed to determine case-sensitivity of the given filesystem 320b8851fccSafresh1 (C: by default), otherwise we still return the default of 1. [Reini 321b8851fccSafresh1 Urban] 322b8851fccSafresh1 323b8851fccSafresh1 - On Cygwin, we added $ENV{'TMP'} and $ENV{'TEMP'} to the list of 324b8851fccSafresh1 possible places to look for tmpdir() return values. [Reini Urban] 325b8851fccSafresh1 326b8851fccSafresh1 - Added lots more tests for Cygwin. [Reini Urban] 327b8851fccSafresh1 328b8851fccSafresh1 - canonpath() with no arguments and canonpath(undef) now consistently 329b8851fccSafresh1 return undef on all platforms. [Spotted by Peter John Edwards] 330b8851fccSafresh1 331b8851fccSafresh1 - Fixed splitdir('') and splitdir(undef) and splitdir() to return an 332b8851fccSafresh1 empty list on VMS and MacOS, like it does on other platforms. 333b8851fccSafresh1 [Craig A. Berry] 334b8851fccSafresh1 335b8851fccSafresh1 - All .pm files now have the same $VERSION number, rather than a 336b8851fccSafresh1 hodgepodge of various numbers. 337b8851fccSafresh1 338b8851fccSafresh13.25 - Mon May 21 21:07:26 2007 339b8851fccSafresh1 340b8851fccSafresh1 - Added a workaround for auto-vivication-of-function-args Perl bug 341b8851fccSafresh1 (triggered by OS/2-specific code). [Ilya Zakharevich] 342b8851fccSafresh1 343b8851fccSafresh1 - Sync with a bleadperl change: miniperl can no longer use Win32::* 344b8851fccSafresh1 functions because it cannot load Win32.dll. [Jan Dubois] 345b8851fccSafresh1 346b8851fccSafresh1 - We only need to load ppport.h when building outside the core, so we 347b8851fccSafresh1 avoid using it when in the core. 348b8851fccSafresh1 349b8851fccSafresh13.24 - Sun Nov 19 22:52:49 2006 350b8851fccSafresh1 351b8851fccSafresh1 - Fixed a bug in the $ENV{PWD}-updating of Cwd::chdir() when a 352b8851fccSafresh1 dirhandle is passed in. [Steve Peters] 353b8851fccSafresh1 354b8851fccSafresh1 - Add perl 5.005 to the list of requirements in the 355b8851fccSafresh1 Build.PL/Makefile.PL/META.yml. 356b8851fccSafresh1 357b8851fccSafresh1 - Add ExtUtils::CBuilder to the list of build_requires in Build.PL. 358b8851fccSafresh1 359b8851fccSafresh1 - Improved performance of canonpath() on Unix-ish platforms - on my 360b8851fccSafresh1 OS X laptop it looks like it's about twice as fast. [Ruslan Zakirov] 361b8851fccSafresh1 362b8851fccSafresh13.23 - Wed Oct 11 12:11:25 2006 363b8851fccSafresh1 364b8851fccSafresh1 - Yet more Win32 fixes (sigh... seems like I'm fighting a neverending 365b8851fccSafresh1 waterbed...). This time, fixed file_name_is_absolute() to know 366b8851fccSafresh1 what it's doing when the path includes a volume but a relative 367b8851fccSafresh1 path, like C:foo.txt . This bug had impact in rel2abs() on Win32 368b8851fccSafresh1 too. 369b8851fccSafresh1 370b8851fccSafresh13.22 - Mon Oct 9 21:50:52 2006 371b8851fccSafresh1 372b8851fccSafresh1 - Fixed the t/crossplatform.t test on Win32 (and possibly other 373b8851fccSafresh1 volume-aware platforms) now that rel2abs() always adds a drive 374b8851fccSafresh1 letter. [Reported by several parties] 375b8851fccSafresh1 376b8851fccSafresh13.21 - Wed Oct 4 21:16:43 2006 377b8851fccSafresh1 378b8851fccSafresh1 - Added a bunch of X<> tags to the File::Spec docs to help 379b8851fccSafresh1 podindex. [Gabor Szabo] 380b8851fccSafresh1 381b8851fccSafresh1 - On Win32, abs2rel('C:\one\two\t\foo', 't\bar') should return 382b8851fccSafresh1 '..\foo' when the cwd is 'C:\one\two', but it wasn't noticing that 383b8851fccSafresh1 the two relevant volumes were the same so it would return the full 384b8851fccSafresh1 path 'C:\one\two\t\foo'. This is fixed. [Spotted by Alexandr 385b8851fccSafresh1 Ciornii] 386b8851fccSafresh1 387b8851fccSafresh1 - On Win32, rel2abs() now always adds a volume (drive letter) if the 388b8851fccSafresh1 given path doesn't have a volume (drive letter or UNC volume). 389b8851fccSafresh1 Previously it could return a value that didn't have a volume if the 390b8851fccSafresh1 input was a semi-absolute path like /foo/bar instead of a 391b8851fccSafresh1 fully-absolute path like C:/foo/bar . 392b8851fccSafresh1 393b8851fccSafresh13.19 Tue Jul 11 22:40:26 CDT 2006 394b8851fccSafresh1 395b8851fccSafresh1 - When abs2rel() is called with two relative paths 396b8851fccSafresh1 (e.g. abs2rel('foo/bar/baz', 'foo/bar')) the resolution algorithm 397b8851fccSafresh1 needlessly called cwd() (twice!) to turn both arguments into 398b8851fccSafresh1 absolute paths. Now it avoids the cwd() calls with a workaround, 399b8851fccSafresh1 making a big efficiency win when abs2rel() is called 400b8851fccSafresh1 repeatedly. [Brendan O'Dea] 401b8851fccSafresh1 402b8851fccSafresh1 - Added a build-time dependency on ExtUtils::Install version 1.39 403b8851fccSafresh1 when on Windows. This is necessary because version 1.39 knows how 404b8851fccSafresh1 to replace an in-use Cwd shared library, but previous versions 405b8851fccSafresh1 don't. [Suggested by Adam Kennedy] 406b8851fccSafresh1 407b8851fccSafresh1 - Fixed File::Spec::Win32->canonpath('foo/../bar'), which was 408b8851fccSafresh1 returning \bar, and now properly returns just bar. [Spotted by 409b8851fccSafresh1 Heinrich Tegethoff] 410b8851fccSafresh1 411b8851fccSafresh13.18 Thu Apr 27 22:01:38 CDT 2006 412b8851fccSafresh1 413b8851fccSafresh1 - Fixed some problems on VMS in which a directory called "0" would be 414b8851fccSafresh1 treated as a second-class citizen. [Peter (Stig) Edwards] 415b8851fccSafresh1 416b8851fccSafresh1 - Added a couple of regression tests to make sure abs2rel('/foo/bar', 417b8851fccSafresh1 '/') works as expected. [Chia-liang Kao] 418b8851fccSafresh1 419b8851fccSafresh1 - Added a couple of regression tests to make sure catdir('/', 420b8851fccSafresh1 'foo/bar') works as expected. [Mark Grimes] 421b8851fccSafresh1 422b8851fccSafresh13.17 Fri Mar 3 16:52:30 CST 2006 423b8851fccSafresh1 424b8851fccSafresh1 - The Cygwin version of Cwd::cwd() will croak if given any arguments 425b8851fccSafresh1 (which can happen if, for example, it's called as Cwd->cwd). Since 426b8851fccSafresh1 that croaking is bad, we now wrap the original cwd() in a 427b8851fccSafresh1 subroutine that ignores its arguments. We could skip this wrapping 428b8851fccSafresh1 if a future version of perl changes cygwin.c's cwd() to not barf 429b8851fccSafresh1 when fed an argument. [Jerry D. Hedden] 430b8851fccSafresh1 431b8851fccSafresh13.16 Mon Jan 30 20:48:41 CST 2006 432b8851fccSafresh1 433b8851fccSafresh1 - Updated to version 3.06 of ppport.h, which provides backward 434b8851fccSafresh1 compatibility XS layers for older perl versions. 435b8851fccSafresh1 436b8851fccSafresh1 - Clarify in the docs for File::Spec's abs2rel() and rel2abs() 437b8851fccSafresh1 methods that the cwd() function it discusses is 438b8851fccSafresh1 Cwd::cwd(). [Spotted by Steven Lembark] 439b8851fccSafresh1 440b8851fccSafresh1 - Apparently the version of File::Path that ships with perl 5.8.5 441b8851fccSafresh1 (and perhaps others) calls Cwd::getcwd() with an argument (perhaps 442b8851fccSafresh1 as a method?), which causes it to die with a prototyping error. 443b8851fccSafresh1 We've eliminated the prototype by using the "(...)" arglist, since 444b8851fccSafresh1 "PROTOTYPE: DISABLE" for the function didn't seem to work. [Spotted 445b8851fccSafresh1 by Eamon Daly and others] 446b8851fccSafresh1 447b8851fccSafresh13.15 Tue Dec 27 14:17:39 CST 2005 448b8851fccSafresh1 449b8851fccSafresh1 - The Cwd::getcwd() function on *nix is now a direct pass-through to 450b8851fccSafresh1 the underlying getcwd() C library function when possible. This is 451b8851fccSafresh1 safer and faster than the previous implementation, which just did 452b8851fccSafresh1 abs_path('.'). The pure-perl version has been kept for cases in 453b8851fccSafresh1 which the XS version can't load, such as when running under 454b8851fccSafresh1 miniperl. [Suggested by Nick Ing-Simmons] 455b8851fccSafresh1 456b8851fccSafresh1 - When Cwd searches for a 'pwd' executable in the $PATH, we now stop 457b8851fccSafresh1 after we find the first one rather than continuing the search. We 458b8851fccSafresh1 also avoid the $PATH search altogether when a 'pwd' was already 459b8851fccSafresh1 found in a well-known and well-trusted location like /bin or 460b8851fccSafresh1 /usr/bin. [Suggested by Nick Ing-Simmons] 461b8851fccSafresh1 462b8851fccSafresh1 - On Win32 abs2rel($path, $base) was failing whenever $base is the 463b8851fccSafresh1 root of a volume (such as C:\ or \\share\dir). This has been 464b8851fccSafresh1 fixed. [Reported by Bryan Daimler] 465b8851fccSafresh1 466b8851fccSafresh1 - In abs2rel() on VMS, we've fixed handling of directory trees so 467b8851fccSafresh1 that the test $file = File::Spec::VMS->abs2rel('[t1.t2.t3]file', 468b8851fccSafresh1 '[t1.t2.t3]') returns 'file' instead of an empty string. [John 469b8851fccSafresh1 E. Malmberg] 470b8851fccSafresh1 471b8851fccSafresh1 - In canonpath() on VMS, '[]' was totally optimized away instead of 472b8851fccSafresh1 just returning '[]'. Now it's fixed. [John E. Malmberg] 473b8851fccSafresh1 474b8851fccSafresh13.14 Thu Nov 17 18:08:44 CST 2005 475b8851fccSafresh1 476b8851fccSafresh1 - canonpath() has some logic in it that avoids collapsing a 477b8851fccSafresh1 //double/slash at the beginning of a pathname on platforms where 478b8851fccSafresh1 that means something special. It used to check the value of $^O 479b8851fccSafresh1 rather than the classname it was called as, which meant that 480b8851fccSafresh1 calling File::Spec::Cygwin->canonpath() didn't act like cygwin 481b8851fccSafresh1 unless you were actually *on* cygwin. Now it does. 482b8851fccSafresh1 483b8851fccSafresh1 - Fixed a major bug on Cygwin in which catdir() could sometimes 484b8851fccSafresh1 create things that look like //network/paths in cases when it 485b8851fccSafresh1 shouldn't (e.g. catdir("/", "foo", "bar")). 486b8851fccSafresh1 487b8851fccSafresh13.13 Tue Nov 15 23:50:37 CST 2005 488b8851fccSafresh1 489b8851fccSafresh1 - Calling tmpdir() on Win32 had the unintended side-effect of storing 490b8851fccSafresh1 some undef values in %INC for the TMPDIR, TEMP, and TMP entries if 491b8851fccSafresh1 they didn't exist already. This is probably a bug in perl itself 492b8851fccSafresh1 (submitted as #37441 on rt.perl.org), which we're now working 493b8851fccSafresh1 around. [Thomas L. Shinnick] 494b8851fccSafresh1 495b8851fccSafresh1 - Integrated a change from bleadperl - a certain #ifdef in Cwd.xs 496b8851fccSafresh1 needs to apply to WIN32 but not WinCE. [Vadim Konovalov] 497b8851fccSafresh1 498b8851fccSafresh1 - abs2rel() used to return the empty string when its two arguments 499b8851fccSafresh1 were identical, which made no sense. Now it returns 500b8851fccSafresh1 curdir(). [Spotted by David Golden] 501b8851fccSafresh1 502b8851fccSafresh1 - The Unix and Win32 implementations of abs2rel() have been unified. 503b8851fccSafresh1 504b8851fccSafresh13.12 Mon Oct 3 22:09:12 CDT 2005 505b8851fccSafresh1 506b8851fccSafresh1 - Fixed a testing error on OS/2 in which a drive letter for the root 507b8851fccSafresh1 directory was confusing things. [Ilya Zakharevich] 508b8851fccSafresh1 509b8851fccSafresh1 - Integrated a patch from bleadperl for fixing path() on 510b8851fccSafresh1 Win32. [Gisle Aas] 511b8851fccSafresh1 512b8851fccSafresh13.11 Sat Aug 27 20:12:55 CDT 2005 513b8851fccSafresh1 514b8851fccSafresh1 - Fixed a couple of typos in the documentation for 515b8851fccSafresh1 File::Spec::Mac. [Piotr Fusik] 516b8851fccSafresh1 517b8851fccSafresh13.10 Thu Aug 25 22:24:57 CDT 2005 518b8851fccSafresh1 519b8851fccSafresh1 - eliminate_macros() and fixpath() in File::Spec::VMS are now 520b8851fccSafresh1 deprecated, since they are MakeMaker-specific and now live inside 521b8851fccSafresh1 MakeMaker. [Michael Schwern] 522b8851fccSafresh1 523b8851fccSafresh1 - canonpath() on Win32 now collapses foo/.. (or foo\..) sections 524b8851fccSafresh1 correctly, rather than doing the "misguided" work it was previously 525b8851fccSafresh1 doing. Note that canonpath() on Unix still does NOT collapse these 526b8851fccSafresh1 sections, as doing so would be incorrect. [Michael Schwern] 527b8851fccSafresh1 528b8851fccSafresh13.09 Tue Jun 14 20:36:50 CDT 2005 529b8851fccSafresh1 530b8851fccSafresh1 - Added some block delimiters (brackets) in the Perl_getcwd_sv() XS 531b8851fccSafresh1 function, which were necessary to separate the variable 532b8851fccSafresh1 declarations from the statements when HAS_GETCWD is not 533b8851fccSafresh1 defined. [Yves] 534b8851fccSafresh1 535b8851fccSafresh1 - Apparently the _NT_cwd() routine is never defined externally like I 536b8851fccSafresh1 thought it was, so I simplified the code around it. 537b8851fccSafresh1 538b8851fccSafresh1 - When cwd() is implemented using the _backtick_pwd() function, it 539b8851fccSafresh1 sometimes could create accidental undef entries in %ENV under perl 540b8851fccSafresh1 5.6, because local($hash{key}) is somewhat broken. This is now 541b8851fccSafresh1 fixed with an appropriate workaround. [Neil Watkiss] 542b8851fccSafresh1 543b8851fccSafresh13.08 Sat May 28 10:10:29 CDT 2005 544b8851fccSafresh1 545b8851fccSafresh1 - Fixed a test failure with fast_abs_path() on Windows - it was 546b8851fccSafresh1 sensitive to the rootdir() change from version 3.07. [Steve Hay] 547b8851fccSafresh1 548b8851fccSafresh13.07 Fri May 6 07:46:45 CDT 2005 549b8851fccSafresh1 550b8851fccSafresh1 - Fixed a bug in which the special perl variable $^O would become 551b8851fccSafresh1 tainted under certain versions of perl. [Michael Schwern] 552b8851fccSafresh1 553b8851fccSafresh1 - File::Spec->rootdir() was returning / on Win32. Now it returns \ . 554b8851fccSafresh1 [Michael Schwern] 555b8851fccSafresh1 556b8851fccSafresh1 - We now avoid modifying @_ in tmpdir() when it's not strictly 557b8851fccSafresh1 necessary, which reportedly provides a modest performance 558b8851fccSafresh1 boost. [Richard Soderberg] 559b8851fccSafresh1 560b8851fccSafresh1 - Made a couple of slight changes to the Win32 code so that it works 561b8851fccSafresh1 (or works better) on Symbian OS phones. [Jarkko Hietaniemi] 562b8851fccSafresh1 563b8851fccSafresh13.06 Wed Apr 13 20:47:26 CDT 2005 564b8851fccSafresh1 565b8851fccSafresh1 (No changes in functionality) 566b8851fccSafresh1 567b8851fccSafresh1 - Added a note to the canonpath() docs about why it doesn't collapse 568b8851fccSafresh1 foo/../bar sections. 569b8851fccSafresh1 570b8851fccSafresh1 - The internal-only function bsd_realpath() in the XS file now uses 571b8851fccSafresh1 normal arg syntax instead of K&R syntax. [Nicholas Clark] 572b8851fccSafresh1 573b8851fccSafresh13.05 Mon Feb 28 07:22:58 CST 2005 574b8851fccSafresh1 575b8851fccSafresh1 - Fixed a bug in fast_abs_path() on Win32 in which forward- and 576b8851fccSafresh1 backward-slashes were confusing things. [demerphq] 577b8851fccSafresh1 578b8851fccSafresh1 - Failure to load the XS code in Cwd is no longer a fatal error 579b8851fccSafresh1 (though failure to compile it is still a fatal error in the build 580b8851fccSafresh1 process). This lets Cwd work under miniperl in the core. [Rafael 581b8851fccSafresh1 Garcia-Suarez] 582b8851fccSafresh1 583b8851fccSafresh1 - In the t/cwd.t test, don't enforce loading from blib/ if we're 584b8851fccSafresh1 testing in the perl core. [Rafael Garcia-Suarez] 585b8851fccSafresh1 586b8851fccSafresh13.04 Sun Feb 6 17:27:38 CST 2005 587b8851fccSafresh1 588b8851fccSafresh1 - For perls older than 5.006, the HAS_GETCWD symbol is not available, 589b8851fccSafresh1 because it wasn't checked for in older Configure scripts when perl 590b8851fccSafresh1 was built. We therefore just ask the user whether the getcwd() C 591b8851fccSafresh1 function is defined on their platform when their perl is old. 592b8851fccSafresh1 Maybe in the future we'll try to automate this. [Reported by 593b8851fccSafresh1 several parties] 594b8851fccSafresh1 595b8851fccSafresh1 - Remove lib/ppport.h from the distribution, so that MakeMaker 596b8851fccSafresh1 doesn't accidentally pick it up and install it as a lib 597b8851fccSafresh1 file. [Jerry Hedden] 598b8851fccSafresh1 599b8851fccSafresh1 - Fixed a testing error on VMS that occurred when a user had 600b8851fccSafresh1 read-access to the root of the current volume. [Craig A. Berry] 601b8851fccSafresh1 602b8851fccSafresh13.03 Fri Jan 21 21:44:05 CST 2005 603b8851fccSafresh1 604b8851fccSafresh1 - Fixed a testing error if the first file we find in the root 605b8851fccSafresh1 directory is a symlink. [Blair Zajac] 606b8851fccSafresh1 607b8851fccSafresh1 - Added a test to make sure Cwd.pm is loaded from blib/ during 608b8851fccSafresh1 testing, which seems to be an issue in some people's environments 609b8851fccSafresh1 and makes it awfully hard to debug things on my end. 610b8851fccSafresh1 611b8851fccSafresh1 - Skip the _perl_abs_path() tests on Cygwin - they don't usually 612b8851fccSafresh1 pass, and this function isn't used there anyway, so I decided not 613b8851fccSafresh1 to push it. Let 'em use `cwd`. 614b8851fccSafresh1 615b8851fccSafresh13.02 Sun Jan 9 19:29:52 CST 2005 616b8851fccSafresh1 617b8851fccSafresh1 - Fixed a bug in which Cwd::abs_path() called on a file in the root 618b8851fccSafresh1 directory returned strange results. [Bob Luckin] 619b8851fccSafresh1 620b8851fccSafresh1 - Straightened out the licensing details for the portion of the Cwd 621b8851fccSafresh1 module that comes from BSD sources. [Hugo van der Sanden] 622b8851fccSafresh1 623b8851fccSafresh1 - Removed the prototype from _perl_abs_path() and the XS version of 624b8851fccSafresh1 abs_path(), since all they seemed to be doing was causing people 625b8851fccSafresh1 grief, and since some platforms didn't have them anyway. 626b8851fccSafresh1 627b8851fccSafresh1 - Fixed a testing bug in which sometimes the wrong version of Cwd 628b8851fccSafresh1 (the version already installed on the user's machine) would get 629b8851fccSafresh1 loaded instead of the one we're building & installing. 630b8851fccSafresh1 631b8851fccSafresh1 - Sometimes getdcwd() returns a lower-case drive letter, so don't 632b8851fccSafresh1 require an upper-case letter in t/win32.t. [Jan Dubois] 633b8851fccSafresh1 634b8851fccSafresh1 - Fixed a memory leak in getdcwd() on win32. [Steve Hay] 635b8851fccSafresh1 636b8851fccSafresh1 - Added a copy of ppport.h to the distribution to aid compilation on 637b8851fccSafresh1 older versions of perl. [Suggested by Charlie Root] 638b8851fccSafresh1 639b8851fccSafresh1 - Don't bother looking for a 'pwd' executable on MSWin32 - there 640b8851fccSafresh1 won't be one, and looking for it can be extremely slow when lots of 641b8851fccSafresh1 disks are mounted. [Several people, including Andrew Burke] 642b8851fccSafresh1 643b8851fccSafresh1 - Eliminated a multi-argument form of open() that was causing a 644b8851fccSafresh1 syntax error on older versions of perl. [Fixed by Michael Schwern] 645b8851fccSafresh1 646b8851fccSafresh1 - The bug-fix changes for revision 0.90 of File::Spec somehow were 647b8851fccSafresh1 lost when I merged it into the PathTools distribution. They're 648b8851fccSafresh1 restored now. [Craig A. Berry] 649b8851fccSafresh1 650b8851fccSafresh1 - File::Spec->canonpath() will now reduce paths like '[d1.-]foo.dat' 651b8851fccSafresh1 down to '[000000]foo.dat' instead of '[]foo.dat' or 'foo.dat'. 652b8851fccSafresh1 This is in better accordance with the native filename syntax 653b8851fccSafresh1 parser. [Craig A. Berry] 654b8851fccSafresh1 655b8851fccSafresh1 - In order to remove a recursive dependency (PathTools -> Test-Simple 656b8851fccSafresh1 -> Test-Harness -> PathTools), we now include a copy of Test::More in 657b8851fccSafresh1 the distribution. It is only used for testing, it won't be installed 658b8851fccSafresh1 with the rest of the stuff. 659b8851fccSafresh1 660b8851fccSafresh1 - Removed some 5.6-isms from Cwd in order to get it to build with 661b8851fccSafresh1 older perls like 5.005. 662b8851fccSafresh1 663b8851fccSafresh1 - abs_path() on Windows was trampling on $ENV{PWD} - fixed. [Spotted 664b8851fccSafresh1 by Neil MacMullen] 665b8851fccSafresh1 666b8851fccSafresh1 - Added licensing/copyright statements to the POD in each .pm 667b8851fccSafresh1 file. [Spotted by Radoslaw Zielinski] 668b8851fccSafresh1 669b8851fccSafresh13.01 Mon Sep 6 22:28:06 CDT 2004 670b8851fccSafresh1 671b8851fccSafresh1 - Removed an unnecessary and confusing dependency on File::Spec from 672b8851fccSafresh1 the Makefile.PL and the Build.PL. 673b8851fccSafresh1 674b8851fccSafresh1 - Added a 'NAME' entry to the Makefile.PL, because otherwise it won't 675b8851fccSafresh1 even begin to work. [Reported by many] 676b8851fccSafresh1 677b8851fccSafresh13.00 Thu Sep 2 22:15:07 CDT 2004 678b8851fccSafresh1 679b8851fccSafresh1 - Merged Cwd and File::Spec into a single PathTools distribution. 680b8851fccSafresh1 This was done because the two modules use each other fairly 681b8851fccSafresh1 extensively, and extracting the common stuff into another 682b8851fccSafresh1 distribution was deemed nigh-impossible. The code in revision 3.00 683b8851fccSafresh1 of PathTools should be equivalent to the code in Cwd 2.21 and 684b8851fccSafresh1 File::Spec 0.90. 685b8851fccSafresh1 686b8851fccSafresh1================================================================== 687b8851fccSafresh1Prior to revision 3.00, Cwd and File::Spec were maintained as two 688b8851fccSafresh1separate distributions. The revision history for Cwd is shown here. 689b8851fccSafresh1The revision history for File::Spec is further below. 690b8851fccSafresh1================================================================== 691b8851fccSafresh1 692b8851fccSafresh1Cwd 2.21 Tue Aug 31 22:50:14 CDT 2004 693b8851fccSafresh1 694b8851fccSafresh1 - Removed "NO_META" from the Makefile.PL, since I'm not building the 695b8851fccSafresh1 distribution with MakeMaker anyway. [Rohan Carly] 696b8851fccSafresh1 697b8851fccSafresh1 - Only test _perl_abs_path() on platforms where it's expected to work 698b8851fccSafresh1 (platforms with '/' as the directory separator). [Craig A. Berry] 699b8851fccSafresh1 700b8851fccSafresh1Cwd 2.20 Thu Jul 22 08:23:53 CDT 2004 701b8851fccSafresh1 702b8851fccSafresh1 - On some implementations of perl on Win32, a memory leak (or worse?) 703b8851fccSafresh1 occurred when calling getdcwd(). This has been fixed. [PodMaster] 704b8851fccSafresh1 705b8851fccSafresh1 - Added tests for getdcwd() on Win32. 706b8851fccSafresh1 707b8851fccSafresh1 - Fixed a problem in the pure-perl implementation _perl_abs_path() 708b8851fccSafresh1 that caused a fatal error when run on plain files. [Nicholas Clark] 709b8851fccSafresh1 To exercise the appropriate test code on platforms that wouldn't 710b8851fccSafresh1 otherwise use _perl_abs_path(), run the tests with $ENV{PERL_CORE} 711b8851fccSafresh1 or $ENV{TEST_PERL_CWD_CODE} set. 712b8851fccSafresh1 713b8851fccSafresh1Cwd 2.19 Thu Jul 15 08:32:18 CDT 2004 714b8851fccSafresh1 715b8851fccSafresh1 - The abs_path($arg) fix from 2.18 didn't work for VMS, now it's 716b8851fccSafresh1 fixed there. [Craig Berry] 717b8851fccSafresh1 718b8851fccSafresh1Cwd 2.18 Thu Jun 24 08:22:57 CDT 2004 719b8851fccSafresh1 720b8851fccSafresh1 - Fixed a problem in which abs_path($arg) on some platforms could 721b8851fccSafresh1 only be called on directories, and died when called on files. This 722b8851fccSafresh1 was a problem in the pure-perl implementation _perl_abs_path(). 723b8851fccSafresh1 724b8851fccSafresh1 - Fixed fast_abs_path($arg) in the same way as abs_path($arg) above. 725b8851fccSafresh1 726b8851fccSafresh1 - On Win32, a function getdcwd($vol) has been added, which gets the 727b8851fccSafresh1 current working directory of the specified drive/volume. 728b8851fccSafresh1 [Steve Hay] 729b8851fccSafresh1 730b8851fccSafresh1 - Fixed a problem on perl 5.6.2 when built with the MULTIPLICITY 731b8851fccSafresh1 compile-time flags. [Yitzchak Scott-Thoennes] 732b8851fccSafresh1 733b8851fccSafresh1 - When looking for a `pwd` system command, we no longer assume the 734b8851fccSafresh1 path separator is ':'. 735b8851fccSafresh1 736b8851fccSafresh1 - On platforms where cwd() is implemented internally (like Win32), 737b8851fccSafresh1 don't look for a `pwd` command externally. This can greatly speed 738b8851fccSafresh1 up load time. [Stefan Scherer] 739b8851fccSafresh1 740b8851fccSafresh1 - The pure-perl version of abs_path() now has the same prototype as 741b8851fccSafresh1 the XS version (;$). 742b8851fccSafresh1 743b8851fccSafresh1Cwd 2.17 Wed Mar 10 07:55:36 CST 2004 744b8851fccSafresh1 745b8851fccSafresh1 - The change in 2.16 created a testing failure when tested from 746b8851fccSafresh1 within a path that contains symlinks (for instance, /tmp -> 747b8851fccSafresh1 /private/tmp). 748b8851fccSafresh1 749b8851fccSafresh1Cwd 2.16 Sat Mar 6 17:56:31 CST 2004 750b8851fccSafresh1 751b8851fccSafresh1 - For VMS compatibility (and to conform to Cwd's documented 752b8851fccSafresh1 interface), in the regression tests we now compare output results 753b8851fccSafresh1 to an absolute path. [Craig A. Berry] 754b8851fccSafresh1 755b8851fccSafresh1Cwd 2.15 Fri Jan 16 08:09:44 CST 2004 756b8851fccSafresh1 757b8851fccSafresh1 - Fixed a problem on static perl builds - while creating 758b8851fccSafresh1 Makefile.aperl, it was loading a mismatched version of Cwd from 759b8851fccSafresh1 blib/ . [Reported by Blair Zajac] 760b8851fccSafresh1 761b8851fccSafresh1Cwd 2.14 Thu Jan 8 18:51:08 CST 2004 762b8851fccSafresh1 763b8851fccSafresh1 - We now use File::Spec->canonpath() and properly-escaped regular 764b8851fccSafresh1 expressions when comparing paths in the regression tests. This 765b8851fccSafresh1 fixes some testing failures in 2.13 on non-Unix platforms. No 766b8851fccSafresh1 changes were made in the actual Cwd module code. [Steve Hay] 767b8851fccSafresh1 768b8851fccSafresh1Cwd 2.13 Fri Jan 2 22:29:42 CST 2004 769b8851fccSafresh1 770b8851fccSafresh1 - Changed a '//' comment to a '/* */' comment in the XS code, so that 771b8851fccSafresh1 it'll compile properly under ANSI C rules. [Jarkko Hietaniemi] 772b8851fccSafresh1 773b8851fccSafresh1 - Fixed a 1-character buffer overrun problem in the C code. [The BSD 774b8851fccSafresh1 people] 775b8851fccSafresh1 776b8851fccSafresh1Cwd 2.12 Fri Dec 19 17:04:52 CST 2003 777b8851fccSafresh1 778b8851fccSafresh1 - Fixed a bug on Cygwin - the output of realpath() should have been 779b8851fccSafresh1 tainted, but wasn't. [Reported by Tom Wyant] 780b8851fccSafresh1 781b8851fccSafresh1Cwd 2.10 Mon Dec 15 07:50:12 CST 2003 782b8851fccSafresh1 783b8851fccSafresh1 (Note that this release was mistakenly packaged as version 2.11, even 784b8851fccSafresh1 though it had an internal $VERSION variable of 2.10. Not sure how 785b8851fccSafresh1 THAT happened...) 786b8851fccSafresh1 787b8851fccSafresh1 - There was a dependency in the Makefile.PL on Module::Build, which 788b8851fccSafresh1 isn't necessary. I've removed it. 789b8851fccSafresh1 790b8851fccSafresh1Cwd 2.09 Thu Dec 11 20:30:58 CST 2003 791b8851fccSafresh1 792b8851fccSafresh1 - The module should now build & install using version 5.6 of perl. 793b8851fccSafresh1 794b8851fccSafresh1 - We now note a build-time dependency on version 0.19 of 795b8851fccSafresh1 Module::Build, which is necessary because we don't use the standard 796b8851fccSafresh1 lib/-based file layout. No version of Module::Build is required if 797b8851fccSafresh1 you use the Makefile.PL, just if you use the Build.PL . 798b8851fccSafresh1 799b8851fccSafresh1 - Removed some gratuitous uses of 5.6-isms like our(), with the aim 800b8851fccSafresh1 of backporting this module to perl 5.005. 801b8851fccSafresh1 802b8851fccSafresh1 - Simplified all code that autoloads Carp.pm and calls 803b8851fccSafresh1 carp()/croak(). 804b8851fccSafresh1 805b8851fccSafresh1 - Removed some redundant OS/2 code at the suggestion of Michael 806b8851fccSafresh1 Schwern and Ilya Zakharevich. 807b8851fccSafresh1 808b8851fccSafresh1 - Make sure the correct version of Cwd.pm is loaded in the regression 809b8851fccSafresh1 tests. [Sam Vilain] 810b8851fccSafresh1 811b8851fccSafresh1Cwd 2.08 Wed Oct 15 20:56 CDT 2003 812b8851fccSafresh1 813b8851fccSafresh1 - Code extracted from perl 5.8.1 and packaged as a separate CPAN 814b8851fccSafresh1 release by Ken Williams. 815b8851fccSafresh1 816b8851fccSafresh1================================================================== 817b8851fccSafresh1Prior to revision 3.00, Cwd and File::Spec were maintained as two 818b8851fccSafresh1separate distributions. The revision history for File::Spec is shown 819b8851fccSafresh1here. The revision history for Cwd is above. 820b8851fccSafresh1================================================================== 821b8851fccSafresh1 822b8851fccSafresh1File::Spec 0.90 Tue Aug 31 22:34:50 CDT 2004 823b8851fccSafresh1 824b8851fccSafresh1 - On VMS, directories use vmspath() and files use vmsify(), so 825b8851fccSafresh1 rel2abs() has to use some 'educated guessing' when dealing with 826b8851fccSafresh1 paths containing slashes. [Craig A. Berry] 827b8851fccSafresh1 828b8851fccSafresh1File::Spec 0.89 Sun Aug 29 19:02:32 CDT 2004 829b8851fccSafresh1 830b8851fccSafresh1 - Fixed some pathological cases on VMS which broke canonpath() and 831b8851fccSafresh1 splitdir(). [Richard Levitte and Craig A. Berry] 832b8851fccSafresh1 833b8851fccSafresh1 - Fixed rel2abs() on VMS when passed a unix-style relative 834b8851fccSafresh1 path. [Craig A. Berry] 835b8851fccSafresh1 836b8851fccSafresh1File::Spec 0.88 Thu Jul 22 23:14:32 CDT 2004 837b8851fccSafresh1 838b8851fccSafresh1 - rel2abs() on Win32 will now use the new Cwd::getdcwd() function, so 839b8851fccSafresh1 that things like rel2abs('D:foo.txt') work properly when the 840b8851fccSafresh1 current drive isn't 'D'. This requires Cwd version 2.18. 841b8851fccSafresh1 [Steve Hay] 842b8851fccSafresh1 843b8851fccSafresh1 - Got rid of a redundant double-backslash in a character 844b8851fccSafresh1 class. [Alexander Farber] 845b8851fccSafresh1 846b8851fccSafresh1 - Added much markup to pod for enhanced readability. [Andy Lester] 847b8851fccSafresh1 848b8851fccSafresh1File::Spec 0.87 Fri Dec 19 08:03:28 CST 2003 849b8851fccSafresh1 850b8851fccSafresh1 - With a one-line change in the tests, backported to perl 5.004. 851b8851fccSafresh1 [Issue reported by Barry Kemble] 852b8851fccSafresh1 853b8851fccSafresh1File::Spec 0.86 Fri Sep 26 10:07:39 CDT 2003 854b8851fccSafresh1 855b8851fccSafresh1 - This is the version released with perl 5.8.1. It is identical to 856b8851fccSafresh1 the code in the File::Spec beta 0.85_03. 857b8851fccSafresh1 858b8851fccSafresh1File::Spec 0.85_03 Mon Sep 15 09:35:53 CDT 2003 859b8851fccSafresh1 860b8851fccSafresh1 - On VMS, if catpath() receives volume specifiers in both its first 861b8851fccSafresh1 two arguments, it will now use the volume in the first argument 862b8851fccSafresh1 only. Previously it returned a non-syntactical result which 863b8851fccSafresh1 included both volumes. This change is the same in spirit to the 864b8851fccSafresh1 catpath() MacOS change from version 0.85_02. 865b8851fccSafresh1 866b8851fccSafresh1 - Fixed an abs2rel() bug on VMS - previously 867b8851fccSafresh1 abs2rel('[t1.t2.t3]file','[t1.t2]') returned '[t3]file', now it 868b8851fccSafresh1 properly returns '[.t3]file'. 869b8851fccSafresh1 870b8851fccSafresh1File::Spec 0.85_02 Fri Sep 12 17:11:13 CDT 2003 871b8851fccSafresh1 872b8851fccSafresh1 - abs2rel() now behaves more consistently across platforms with the 873b8851fccSafresh1 notion of a volume. If the volumes of the first and second 874b8851fccSafresh1 argument (the second argument may be implicit) do not agree, we do 875b8851fccSafresh1 not attempt to reconcile the paths, and simply return the first 876b8851fccSafresh1 argument. Previously the volume of the second argument was 877b8851fccSafresh1 (usually) ignored, resulting in sometimes-garbage output. 878b8851fccSafresh1 879b8851fccSafresh1 - catpath() on MacOS now looks for a volume element (i.e. "Macintosh HD:") 880b8851fccSafresh1 in its first argument, and then its second argument. The first 881b8851fccSafresh1 volume found will be used, and if none is found, none will be used. 882b8851fccSafresh1 883b8851fccSafresh1 - Fixed a problem in abs2rel() on Win32 in which the volume of the 884b8851fccSafresh1 current working directory would get added to the second argument if 885b8851fccSafresh1 none was specified. This might have been somewhat helpful, but it 886b8851fccSafresh1 was contrary to the documented behavior. For example, 887b8851fccSafresh1 abs2rel('C:/foo/bar', '/foo') used to return 'bar', now it returns 888b8851fccSafresh1 'C:/foo/bar' because there's no guarantee /foo is actually C:/foo . 889b8851fccSafresh1 890b8851fccSafresh1 - catdir('/', '../') on OS2 previously erroneously returned '//..', 891b8851fccSafresh1 and now it returns '/'. 892b8851fccSafresh1 893b8851fccSafresh1File::Spec 0.85_01 Thu Sep 11 16:18:54 CDT 2003 894b8851fccSafresh1 895b8851fccSafresh1 Working toward 0.86, the version that will be released with perl 5.8.1. 896b8851fccSafresh1 897b8851fccSafresh1 - The t/rel2abs2rel.t test now is a little friendlier about emitting 898b8851fccSafresh1 its diagnostic debugging output. [Jarkko Hietaniemi] 899b8851fccSafresh1 900b8851fccSafresh1 - We now only require() Cwd when it's needed, on demand. [Michael 901b8851fccSafresh1 Schwern, Tels] 902b8851fccSafresh1 903b8851fccSafresh1 - Fixed some POD errors and redundancies in OS2.pm and Cygwin.pm. 904b8851fccSafresh1 [Michael Schwern] 905b8851fccSafresh1 906b8851fccSafresh1 - The internal method cwd() has been renamed to _cwd(), since it was 907b8851fccSafresh1 never meant for public use. [Michael Schwern] 908b8851fccSafresh1 909b8851fccSafresh1 - Several methods in File::Spec::Unix that just return constant 910b8851fccSafresh1 strings have been sped up. catdir() has also been sped up there. 911b8851fccSafresh1 [Tels] 912b8851fccSafresh1 913b8851fccSafresh1 - Several canonpath() and catdir() bugs on Win32 have been fixed, and 914b8851fccSafresh1 tests added for them: 915b8851fccSafresh1 catdir('/', '../') -> '\\' (was '\..') 916b8851fccSafresh1 catdir('/', '..\\') -> '\\ (was '') 917b8851fccSafresh1 canonpath('\\../') -> '\\' (was '') 918b8851fccSafresh1 canonpath('\\..\\') -> '\\' (was '') 919b8851fccSafresh1 canonpath('/../') -> '\\' (was '\..') 920b8851fccSafresh1 canonpath('/..\\') -> '\\' (was '') 921b8851fccSafresh1 catdir('\\', 'foo') -> '\foo' (was '\\foo') 922b8851fccSafresh1 923b8851fccSafresh1 - catpath($volume, $dirs, $file) on Mac OS now ignores any volume 924b8851fccSafresh1 that might be part of $dirs, enabling catpath($volume, 925b8851fccSafresh1 catdir(rootdir(), 'foo'), '') to work portably across platforms. 926b8851fccSafresh1 927b8851fccSafresh1File::Spec 0.85 Tue Jul 22 11:31 CDT 2003 928b8851fccSafresh1 929b8851fccSafresh1 A bug-fix release relative to 0.84. I've forked development into a 930b8851fccSafresh1 "stable" branch (this one) and a more aggressive branch (as yet 931b8851fccSafresh1 unreleased), with an eye toward getting the stable features in perl 932b8851fccSafresh1 5.8.1. 933b8851fccSafresh1 934b8851fccSafresh1 - File::Spec::Mac->case_tolerant() returned 0 when it should have 935b8851fccSafresh1 returned 1. 936b8851fccSafresh1 937b8851fccSafresh1 - Many cases in File::Spec::Win32->abs2rel() were broken, because of 938b8851fccSafresh1 the way in which volumes were/weren't ignored. Unfortunately, part 939b8851fccSafresh1 of the regression tests were broken too. Now, if the $path 940b8851fccSafresh1 argument to abs2rel() is on a different volume than the $base 941b8851fccSafresh1 argument, the result will be an absolute path rather than the 942b8851fccSafresh1 broken relative path previous versions returned. 943b8851fccSafresh1 944b8851fccSafresh1 - Fixed a problem in File::Spec::Win32->canonpath, which was turning 945b8851fccSafresh1 \../foo into "foo" rather than \foo 946b8851fccSafresh1 947b8851fccSafresh1 - Greatly simplified the code in File::Spec::Unix->splitdir(). 948b8851fccSafresh1 949b8851fccSafresh1File::Spec 0.84_01 Fri Jul 11 16:14:29 CDT 2003 950b8851fccSafresh1 951b8851fccSafresh1 No actual code changes, just changes in other distribution files 952b8851fccSafresh1 953b8851fccSafresh1 - Dependencies are now listed explicitly in the Makefile.PL and 954b8851fccSafresh1 Build.PL scripts, as well as in the META.yml file. 955b8851fccSafresh1 956b8851fccSafresh1 - The t/abs2rel2abs.t test should now be more friendly about skipping 957b8851fccSafresh1 on platforms where it can't run properly. 958b8851fccSafresh1 959b8851fccSafresh1File::Spec 0.84 Wed Jul 9 22:21:23 CDT 2003 960b8851fccSafresh1 961b8851fccSafresh1 I (Ken)'ve taken the changes from bleadperl and created a new CPAN release 962b8851fccSafresh1 from them, since they're pretty important changes. The highlights, 963b8851fccSafresh1 from what I can tell, are listed here. 964b8851fccSafresh1 965b8851fccSafresh1 - A huge number of changes to File::Spec::Mac in order to bring it in 966b8851fccSafresh1 line with the other platforms. This work was mostly/completely 967b8851fccSafresh1 done by Thomas Wegner. 968b8851fccSafresh1 969b8851fccSafresh1 - The Epoc and Cygwin platforms are now supported. 970b8851fccSafresh1 971b8851fccSafresh1 - Lots of generically-applicable documentation has been taken from 972b8851fccSafresh1 File::Spec::Unix and put in File::Spec. 973b8851fccSafresh1 974b8851fccSafresh1 - A Build.PL has been provided for people who wish to install via 975b8851fccSafresh1 Module::Build. 976b8851fccSafresh1 977b8851fccSafresh1 - Some spurious warnings and errors in the tests have been 978b8851fccSafresh1 eliminated. [Michael Schwern] 979b8851fccSafresh1 980b8851fccSafresh1 - canonpath() on File::Spec::Unix now honors a //node-name at the 981b8851fccSafresh1 beginning of a path. 982b8851fccSafresh1 983b8851fccSafresh1 - Cwd.pm wasn't being loaded properly on MacOS. [Chris Nandor] 984b8851fccSafresh1 985b8851fccSafresh1 - Various POD fixups 986b8851fccSafresh1 987b8851fccSafresh1 - Several testing patches for the Epoc and Cygwin platforms [Tels] 988b8851fccSafresh1 989b8851fccSafresh1 - When running under taint mode and perl >= 5.8, all the tmpdir() 990b8851fccSafresh1 implementations now avoid returning a tainted path. 991b8851fccSafresh1 992b8851fccSafresh1 - File::Spec::OS2 now implements canonpath(), splitpath(), 993b8851fccSafresh1 splitdir(), catpath(), abs2rel(), and rel2abs() directly rather 994b8851fccSafresh1 than inheriting them from File::Spec::Unix. 995b8851fccSafresh1 996b8851fccSafresh1 - Added 'SYS:/temp' and 'C:/temp' to the list of possible tmpdir()s 997b8851fccSafresh1 on Win32. 998b8851fccSafresh1 999b8851fccSafresh1 - catfile() on Win32 and VMS will now automatically call canonpath() 1000b8851fccSafresh1 on its final argument. 1001b8851fccSafresh1 1002b8851fccSafresh1 - canonpath() on Win32 now does a much more extensive cleanup of the 1003b8851fccSafresh1 path. 1004b8851fccSafresh1 1005b8851fccSafresh1 - abs2rel() on Win32 now defaults to using cwd() as the base of 1006b8851fccSafresh1 relativity when no base is given. 1007b8851fccSafresh1 1008b8851fccSafresh1 - abs2rel() on Win32 now explicitly ignores any volume component in 1009b8851fccSafresh1 the $path argument. 1010b8851fccSafresh1 1011b8851fccSafresh1 - canonpath() on VMS now does []foo ==> foo, and foo.000000] ==> foo]. 1012b8851fccSafresh1 It also fixes a bug in multiple [000000.foo ==> [foo translations. 1013b8851fccSafresh1 1014b8851fccSafresh1 - tmpdir() on VMS now uses 'sys$scratch:' instead of 'sys$scratch'. 1015b8851fccSafresh1 1016b8851fccSafresh1 - abs2rel() on VMS now uses '000000' in both the path and the base. 1017b8851fccSafresh1 1018b8851fccSafresh1File::Spec 0.82 Wed Jun 28 11:24:05 EDT 2000 1019b8851fccSafresh1 - Mac.pm: file_name_is_absolute( '' ) now returns TRUE on all platforms 1020b8851fccSafresh1 - Spec.pm: unbreak C<$VERSION = '0.xx'> to be C<$VERSION = 0.xx>, so 1021b8851fccSafresh1 underscores can be used when I want to update CPAN without anyone 1022b8851fccSafresh1 needing to update the perl repository. 1023b8851fccSafresh1 - abs2rel, rel2abs doc tweaks 1024b8851fccSafresh1 - VMS.pm: get $path =~ /\s/ checks from perl repository. 1025b8851fccSafresh1 - Makefile.PL: added INSTALLDIRS => 'perl', since these are std. modules. 1026b8851fccSafresh1 - Remove vestigial context prototypes from &rel2abs until some future 1027b8851fccSafresh1 arrives where method prototypes are honored. 1028