sass 3.2.18 → 3.2.19

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9f6abbc048da9f6709768f572ffc88afb98cfa0a
4
- data.tar.gz: 992bbcf163be9c207e31bdee3ba60dda859ce91c
3
+ metadata.gz: ee87925e31efa7b2b9f04b31651d51cda825569e
4
+ data.tar.gz: dd0e7f384e2a5625754529631f5b510757d1e0d5
5
5
  SHA512:
6
- metadata.gz: 0068a9022f76b5bdce37ffe7412435d339b9c54674d6433cbbbd578837408189065e00d3d70b115b0a3ce07b3d404b1ff468cb3e435d3792d73239a98fd01d5d
7
- data.tar.gz: dc16a831ca50b3b711c30069eda651b5cb4ab51c7b2eefd4260d7bff7611278ab1662835f8bd0fd89bcab71f1c7b8c0f06f80309652e58b63b906cc0352ce45e
6
+ metadata.gz: a865f9ebe4cc0a8f54d7f73679ff92c19401425f1f390d5b62e574decc98768a5e5fd96d54fa10e1daf701758c8532e555664e50fcb8664d9f489de7d413ab96
7
+ data.tar.gz: 09311860e8236dd537d391efa8e31dd2aaa8744932e4d2ca6a6e3d56174282b173bf614faeee4c4940b2c3ff465131ce783c408f3653ce53f7fc22d118ae90d7
data/Rakefile CHANGED
@@ -84,7 +84,7 @@ task :install => [:package] do
84
84
  end
85
85
 
86
86
  desc "Release a new Sass package to Rubyforge."
87
- task :release => [:package] do
87
+ task :release => [:check_release, :package] do
88
88
  name = File.read(scope("VERSION_NAME")).strip
89
89
  version = File.read(scope("VERSION")).strip
90
90
  # sh %{rubyforge add_release sass sass "#{name} (v#{version})" pkg/sass-#{version}.gem}
@@ -142,7 +142,7 @@ task :release_edge do
142
142
  sh %{git reset --hard origin/master}
143
143
  sh %{rake package}
144
144
  version = get_version
145
- sh %{rubyforge add_release sass sass "Bleeding Edge (v#{version})" pkg/sass-#{version}.gem}
145
+ # sh %{rubyforge add_release sass sass "Bleeding Edge (v#{version})" pkg/sass-#{version}.gem}
146
146
  sh %{gem push pkg/sass-#{version}.gem}
147
147
  end
148
148
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.2.18
1
+ 3.2.19
@@ -1 +1 @@
1
- 22 March 2014 23:08:14 UTC
1
+ 05 April 2014 19:55:56 UTC
@@ -107,18 +107,28 @@ module Sass
107
107
  # while the boolean represents whether or not the string
108
108
  # is following an interpolated segment.
109
109
  STRING_REGULAR_EXPRESSIONS = {
110
- [:double, false] => string_re('"', '"'),
111
- [:single, false] => string_re("'", "'"),
112
- [:double, true] => string_re('', '"'),
113
- [:single, true] => string_re('', "'"),
114
- [:uri, false] => /url\(#{W}(#{URLCHAR}*?)(#{W}\)|#\{)/,
115
- [:uri, true] => /(#{URLCHAR}*?)(#{W}\)|#\{)/,
110
+ :double => {
111
+ false => string_re('"', '"'),
112
+ true => string_re('', '"')
113
+ },
114
+ :single => {
115
+ false => string_re("'", "'"),
116
+ true => string_re('', "'")
117
+ },
118
+ :uri => {
119
+ false => /url\(#{W}(#{URLCHAR}*?)(#{W}\)|#\{)/,
120
+ true => /(#{URLCHAR}*?)(#{W}\)|#\{)/
121
+ },
116
122
  # Defined in https://developer.mozilla.org/en/CSS/@-moz-document as a
117
123
  # non-standard version of http://www.w3.org/TR/css3-conditional/
118
- [:url_prefix, false] => /url-prefix\(#{W}(#{URLCHAR}*?)(#{W}\)|#\{)/,
119
- [:url_prefix, true] => /(#{URLCHAR}*?)(#{W}\)|#\{)/,
120
- [:domain, false] => /domain\(#{W}(#{URLCHAR}*?)(#{W}\)|#\{)/,
121
- [:domain, true] => /(#{URLCHAR}*?)(#{W}\)|#\{)/,
124
+ :url_prefix => {
125
+ false => /url-prefix\(#{W}(#{URLCHAR}*?)(#{W}\)|#\{)/,
126
+ true => /(#{URLCHAR}*?)(#{W}\)|#\{)/
127
+ },
128
+ :domain => {
129
+ false => /domain\(#{W}(#{URLCHAR}*?)(#{W}\)|#\{)/,
130
+ true => /(#{URLCHAR}*?)(#{W}\)|#\{)/
131
+ }
122
132
  }
123
133
 
124
134
  # @param str [String, StringScanner] The source text to lex
@@ -253,7 +263,7 @@ module Sass
253
263
  end
254
264
 
255
265
  def string(re, open)
256
- return unless scan(STRING_REGULAR_EXPRESSIONS[[re, open]])
266
+ return unless scan(STRING_REGULAR_EXPRESSIONS[re][open])
257
267
  if @scanner[2] == '#{' #'
258
268
  @scanner.pos -= 2 # Don't actually consume the #{
259
269
  @interpolation_stack << re
@@ -954,10 +954,10 @@ MESSAGE
954
954
  end
955
955
 
956
956
  def _interp_string(type)
957
- return unless start = tok(Sass::Script::Lexer::STRING_REGULAR_EXPRESSIONS[[type, false]])
957
+ return unless start = tok(Sass::Script::Lexer::STRING_REGULAR_EXPRESSIONS[type][false])
958
958
  res = [start]
959
959
 
960
- mid_re = Sass::Script::Lexer::STRING_REGULAR_EXPRESSIONS[[type, true]]
960
+ mid_re = Sass::Script::Lexer::STRING_REGULAR_EXPRESSIONS[type][true]
961
961
  # @scanner[2].empty? means we've started an interpolated section
962
962
  while @scanner[2] == '#{'
963
963
  @scanner.pos -= 2 # Don't consume the #{
@@ -869,6 +869,10 @@ MSG
869
869
  end
870
870
  end
871
871
 
872
+ # @private
873
+ ATOMIC_WRITE_MUTEX = Mutex.new
874
+
875
+
872
876
  # This creates a temp file and yields it for writing. When the
873
877
  # write is complete, the file is moved into the desired location.
874
878
  # The atomicity of this operation is provided by the filesystem's
@@ -892,9 +896,12 @@ MSG
892
896
  rescue NotImplementedError
893
897
  # Not all OSes support fsync
894
898
  end
899
+ tmpfile.close # Windows cannot rename an open file.
895
900
  # Make file readable and writeable to all but respect umask (usually 022).
896
901
  File.chmod(perms & ~File.umask, tmpfile.path)
897
- File.rename tmpfile.path, filename
902
+ ATOMIC_WRITE_MUTEX.synchronize do
903
+ File.rename tmpfile.path, filename
904
+ end
898
905
  result
899
906
  ensure
900
907
  # close and remove the tempfile if it still exists,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sass
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.18
4
+ version: 3.2.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Weizenbaum
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-03-22 00:00:00.000000000 Z
13
+ date: 2014-04-05 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: yard