diff --git a/ChangeLog b/ChangeLog index a3198553b0..4b24bbe208 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sun Jul 7 01:58:25 2013 Akinori MUSHA + + * lib/fileutils.rb (FileUtils#symbolic_modes_to_i): Fix the wrong + character class [+-=], which happened to match all desired + characters but also match undesired characters. + Sun Jul 7 01:54:44 2013 Akinori MUSHA * lib/fileutils.rb (FileUtils#chown, FileUtils#chown_R): Fix the diff --git a/lib/fileutils.rb b/lib/fileutils.rb index d3bc0834e1..723ad91000 100644 --- a/lib/fileutils.rb +++ b/lib/fileutils.rb @@ -904,8 +904,8 @@ module FileUtils def symbolic_modes_to_i(modes, path) #:nodoc: current_mode = (File.stat(path).mode & 07777) modes.split(/,/).inject(0) do |mode, mode_sym| - mode_sym = "a#{mode_sym}" if mode_sym =~ %r!^[+-=]! - target, mode = mode_sym.split %r![+-=]! + mode_sym = "a#{mode_sym}" if mode_sym =~ %r!^[=+-]! + target, mode = mode_sym.split %r![=+-]! user_mask = user_mask(target) mode_mask = mode_mask(mode ? mode : "", path) diff --git a/version.h b/version.h index d0dfe6d5a7..40826a6285 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.0.0" #define RUBY_RELEASE_DATE "2013-07-07" -#define RUBY_PATCHLEVEL 253 +#define RUBY_PATCHLEVEL 254 #define RUBY_RELEASE_YEAR 2013 #define RUBY_RELEASE_MONTH 7