haml 3.1.3 → 3.1.4

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of haml might be problematic. Click here for more details.

Files changed (134) hide show
  1. data/Rakefile +42 -17
  2. data/VERSION +1 -1
  3. data/lib/haml/compiler.rb +3 -3
  4. data/lib/haml/helpers/action_view_mods.rb +4 -3
  5. data/lib/haml/template.rb +3 -1
  6. data/test/gemfiles/Gemfile.rails-2.0.x +8 -0
  7. data/test/gemfiles/Gemfile.rails-2.0.x.lock +38 -0
  8. data/test/gemfiles/Gemfile.rails-2.1.x +8 -0
  9. data/test/gemfiles/Gemfile.rails-2.1.x.lock +38 -0
  10. data/test/gemfiles/Gemfile.rails-2.2.x +8 -0
  11. data/test/gemfiles/Gemfile.rails-2.2.x.lock +38 -0
  12. data/test/gemfiles/Gemfile.rails-2.3.x +8 -0
  13. data/test/gemfiles/Gemfile.rails-2.3.x.lock +40 -0
  14. data/test/gemfiles/Gemfile.rails-3.0.x +8 -0
  15. data/test/gemfiles/Gemfile.rails-3.0.x.lock +85 -0
  16. data/test/gemfiles/Gemfile.rails-3.1.x +8 -0
  17. data/test/gemfiles/Gemfile.rails-3.1.x.lock +98 -0
  18. data/test/gemfiles/Gemfile.rails-xss-2.3.x +9 -0
  19. data/test/gemfiles/Gemfile.rails-xss-2.3.x.lock +42 -0
  20. data/test/haml/engine_test.rb +19 -0
  21. data/test/haml/html2haml_test.rb +1 -1
  22. data/test/haml/template_test.rb +20 -2
  23. data/test/haml/templates/partial_layout.haml +4 -1
  24. data/test/linked_rails.rb +4 -4
  25. data/vendor/sass/VERSION +1 -1
  26. data/vendor/sass/doc-src/SASS_CHANGELOG.md +115 -2
  27. data/vendor/sass/doc-src/SASS_REFERENCE.md +12 -4
  28. data/vendor/sass/lib/sass.rb +1 -0
  29. data/vendor/sass/lib/sass/cache_stores/base.rb +3 -1
  30. data/vendor/sass/lib/sass/cache_stores/filesystem.rb +2 -0
  31. data/vendor/sass/lib/sass/css.rb +2 -1
  32. data/vendor/sass/lib/sass/engine.rb +39 -23
  33. data/vendor/sass/lib/sass/environment.rb +11 -0
  34. data/vendor/sass/lib/sass/exec.rb +14 -1
  35. data/vendor/sass/lib/sass/importers/base.rb +2 -1
  36. data/vendor/sass/lib/sass/importers/filesystem.rb +18 -13
  37. data/vendor/sass/lib/sass/less.rb +2 -2
  38. data/vendor/sass/lib/sass/logger.rb +15 -0
  39. data/vendor/sass/lib/sass/logger/base.rb +32 -0
  40. data/vendor/sass/lib/sass/logger/log_level.rb +49 -0
  41. data/vendor/sass/lib/sass/plugin.rb +4 -8
  42. data/vendor/sass/lib/sass/plugin/compiler.rb +42 -17
  43. data/vendor/sass/lib/sass/plugin/configuration.rb +0 -2
  44. data/vendor/sass/lib/sass/railtie.rb +1 -1
  45. data/vendor/sass/lib/sass/script/funcall.rb +14 -1
  46. data/vendor/sass/lib/sass/script/functions.rb +44 -1
  47. data/vendor/sass/lib/sass/script/interpolation.rb +9 -0
  48. data/vendor/sass/lib/sass/script/lexer.rb +6 -1
  49. data/vendor/sass/lib/sass/script/list.rb +7 -0
  50. data/vendor/sass/lib/sass/script/literal.rb +5 -0
  51. data/vendor/sass/lib/sass/script/node.rb +8 -0
  52. data/vendor/sass/lib/sass/script/number.rb +28 -5
  53. data/vendor/sass/lib/sass/script/operation.rb +8 -0
  54. data/vendor/sass/lib/sass/script/parser.rb +12 -5
  55. data/vendor/sass/lib/sass/script/string_interpolation.rb +9 -0
  56. data/vendor/sass/lib/sass/script/unary_operation.rb +7 -0
  57. data/vendor/sass/lib/sass/script/variable.rb +5 -0
  58. data/vendor/sass/lib/sass/scss/parser.rb +78 -38
  59. data/vendor/sass/lib/sass/scss/rx.rb +2 -1
  60. data/vendor/sass/lib/sass/scss/static_parser.rb +2 -2
  61. data/vendor/sass/lib/sass/shared.rb +1 -1
  62. data/vendor/sass/lib/sass/tree/comment_node.rb +24 -11
  63. data/vendor/sass/lib/sass/tree/debug_node.rb +1 -1
  64. data/vendor/sass/lib/sass/tree/each_node.rb +1 -1
  65. data/vendor/sass/lib/sass/tree/extend_node.rb +1 -1
  66. data/vendor/sass/lib/sass/tree/for_node.rb +2 -2
  67. data/vendor/sass/lib/sass/tree/function_node.rb +1 -1
  68. data/vendor/sass/lib/sass/tree/if_node.rb +1 -14
  69. data/vendor/sass/lib/sass/tree/mixin_def_node.rb +1 -1
  70. data/vendor/sass/lib/sass/tree/mixin_node.rb +2 -2
  71. data/vendor/sass/lib/sass/tree/node.rb +2 -5
  72. data/vendor/sass/lib/sass/tree/prop_node.rb +2 -9
  73. data/vendor/sass/lib/sass/tree/return_node.rb +1 -1
  74. data/vendor/sass/lib/sass/tree/rule_node.rb +9 -2
  75. data/vendor/sass/lib/sass/tree/variable_node.rb +1 -1
  76. data/vendor/sass/lib/sass/tree/visitors/check_nesting.rb +17 -18
  77. data/vendor/sass/lib/sass/tree/visitors/convert.rb +10 -5
  78. data/vendor/sass/lib/sass/tree/visitors/deep_copy.rb +87 -0
  79. data/vendor/sass/lib/sass/tree/visitors/perform.rb +50 -19
  80. data/vendor/sass/lib/sass/tree/visitors/set_options.rb +97 -0
  81. data/vendor/sass/lib/sass/tree/visitors/to_css.rb +9 -15
  82. data/vendor/sass/lib/sass/tree/warn_node.rb +1 -1
  83. data/vendor/sass/lib/sass/tree/while_node.rb +1 -1
  84. data/vendor/sass/lib/sass/util.rb +58 -6
  85. data/vendor/sass/sass.gemspec +2 -1
  86. data/vendor/sass/test/Gemfile +4 -0
  87. data/vendor/sass/test/Gemfile.lock +19 -0
  88. data/vendor/sass/test/sass/cache_test.rb +15 -0
  89. data/vendor/sass/test/sass/conversion_test.rb +2 -6
  90. data/vendor/sass/test/sass/css2sass_test.rb +9 -0
  91. data/vendor/sass/test/sass/engine_test.rb +124 -26
  92. data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.css +1 -0
  93. data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.scss +1 -0
  94. data/vendor/sass/test/sass/functions_test.rb +13 -0
  95. data/vendor/sass/test/sass/importer_test.rb +110 -0
  96. data/vendor/sass/test/sass/logger_test.rb +58 -0
  97. data/vendor/sass/test/sass/plugin_test.rb +16 -13
  98. data/vendor/sass/test/sass/script_conversion_test.rb +2 -0
  99. data/vendor/sass/test/sass/script_test.rb +18 -0
  100. data/vendor/sass/test/sass/scss/css_test.rb +7 -1
  101. data/vendor/sass/test/sass/scss/scss_test.rb +37 -13
  102. data/vendor/sass/test/sass/templates/bork5.sass +3 -0
  103. data/vendor/sass/test/sass/templates/nested_bork5.sass +2 -0
  104. data/vendor/sass/test/sass/test_helper.rb +1 -1
  105. data/vendor/sass/test/sass/util_test.rb +12 -0
  106. data/vendor/sass/vendor/fssm/Gemfile +3 -0
  107. data/vendor/sass/vendor/fssm/LICENSE +1 -1
  108. data/vendor/sass/vendor/fssm/README.markdown +55 -27
  109. data/vendor/sass/vendor/fssm/Rakefile +6 -54
  110. data/vendor/sass/vendor/fssm/example.rb +6 -3
  111. data/vendor/sass/vendor/fssm/fssm.gemspec +17 -70
  112. data/vendor/sass/vendor/fssm/lib/fssm.rb +7 -3
  113. data/vendor/sass/vendor/fssm/lib/fssm/backends/fsevents.rb +1 -1
  114. data/vendor/sass/vendor/fssm/lib/fssm/backends/inotify.rb +2 -2
  115. data/vendor/sass/vendor/fssm/lib/fssm/backends/polling.rb +2 -2
  116. data/vendor/sass/vendor/fssm/lib/fssm/backends/rbfsevent.rb +42 -0
  117. data/vendor/sass/vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb +10 -10
  118. data/vendor/sass/vendor/fssm/lib/fssm/monitor.rb +19 -9
  119. data/vendor/sass/vendor/fssm/lib/fssm/path.rb +24 -21
  120. data/vendor/sass/vendor/fssm/lib/fssm/pathname.rb +13 -479
  121. data/vendor/sass/vendor/fssm/lib/fssm/state/directory.rb +29 -11
  122. data/vendor/sass/vendor/fssm/lib/fssm/state/file.rb +1 -1
  123. data/vendor/sass/vendor/fssm/lib/fssm/support.rb +41 -12
  124. data/vendor/sass/vendor/fssm/lib/fssm/tree.rb +6 -6
  125. data/vendor/sass/vendor/fssm/lib/fssm/version.rb +3 -0
  126. data/vendor/sass/vendor/fssm/profile/prof-cache.rb +3 -3
  127. data/vendor/sass/vendor/fssm/profile/prof-pathname-rubinius.rb +35 -0
  128. data/vendor/sass/vendor/fssm/profile/prof-pathname.rb +7 -7
  129. data/vendor/sass/vendor/fssm/spec/count_down_latch.rb +151 -0
  130. data/vendor/sass/vendor/fssm/spec/monitor_spec.rb +202 -0
  131. data/vendor/sass/vendor/fssm/spec/path_spec.rb +36 -15
  132. data/vendor/sass/vendor/fssm/spec/spec_helper.rb +6 -6
  133. metadata +36 -5
  134. data/vendor/sass/vendor/fssm/VERSION.yml +0 -5
@@ -0,0 +1,98 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ actionmailer (3.1.0)
5
+ actionpack (= 3.1.0)
6
+ mail (~> 2.3.0)
7
+ actionpack (3.1.0)
8
+ activemodel (= 3.1.0)
9
+ activesupport (= 3.1.0)
10
+ builder (~> 3.0.0)
11
+ erubis (~> 2.7.0)
12
+ i18n (~> 0.6)
13
+ rack (~> 1.3.2)
14
+ rack-cache (~> 1.0.3)
15
+ rack-mount (~> 0.8.2)
16
+ rack-test (~> 0.6.1)
17
+ sprockets (~> 2.0.0)
18
+ activemodel (3.1.0)
19
+ activesupport (= 3.1.0)
20
+ bcrypt-ruby (~> 3.0.0)
21
+ builder (~> 3.0.0)
22
+ i18n (~> 0.6)
23
+ activerecord (3.1.0)
24
+ activemodel (= 3.1.0)
25
+ activesupport (= 3.1.0)
26
+ arel (~> 2.2.1)
27
+ tzinfo (~> 0.3.29)
28
+ activeresource (3.1.0)
29
+ activemodel (= 3.1.0)
30
+ activesupport (= 3.1.0)
31
+ activesupport (3.1.0)
32
+ multi_json (~> 1.0)
33
+ arel (2.2.1)
34
+ bcrypt-ruby (3.0.1)
35
+ builder (3.0.0)
36
+ erubis (2.7.0)
37
+ hike (1.2.1)
38
+ hpricot (0.8.4)
39
+ i18n (0.6.0)
40
+ json (1.6.1)
41
+ mail (2.3.0)
42
+ i18n (>= 0.4.0)
43
+ mime-types (~> 1.16)
44
+ treetop (~> 1.4.8)
45
+ mime-types (1.16)
46
+ multi_json (1.0.3)
47
+ polyglot (0.3.2)
48
+ rack (1.3.3)
49
+ rack-cache (1.0.3)
50
+ rack (>= 0.4)
51
+ rack-mount (0.8.3)
52
+ rack (>= 1.0.0)
53
+ rack-ssl (1.3.2)
54
+ rack
55
+ rack-test (0.6.1)
56
+ rack (>= 1.0)
57
+ rails (3.1.0)
58
+ actionmailer (= 3.1.0)
59
+ actionpack (= 3.1.0)
60
+ activerecord (= 3.1.0)
61
+ activeresource (= 3.1.0)
62
+ activesupport (= 3.1.0)
63
+ bundler (~> 1.0)
64
+ railties (= 3.1.0)
65
+ railties (3.1.0)
66
+ actionpack (= 3.1.0)
67
+ activesupport (= 3.1.0)
68
+ rack-ssl (~> 1.3.2)
69
+ rake (>= 0.8.7)
70
+ rdoc (~> 3.4)
71
+ thor (~> 0.14.6)
72
+ rake (0.9.2)
73
+ rdoc (3.9.4)
74
+ ruby_parser (2.3.0)
75
+ sexp_processor (~> 3.0)
76
+ sass (3.1.7)
77
+ sexp_processor (3.0.6)
78
+ sprockets (2.0.0)
79
+ hike (~> 1.2)
80
+ rack (~> 1.0)
81
+ tilt (!= 1.3.0, ~> 1.1)
82
+ thor (0.14.6)
83
+ tilt (1.3.3)
84
+ treetop (1.4.10)
85
+ polyglot
86
+ polyglot (>= 0.3.1)
87
+ tzinfo (0.3.29)
88
+
89
+ PLATFORMS
90
+ ruby
91
+
92
+ DEPENDENCIES
93
+ erubis
94
+ hpricot
95
+ json
96
+ rails (>= 3.1.0, < 3.2.0)
97
+ ruby_parser
98
+ sass
@@ -0,0 +1,9 @@
1
+ source :gemcutter
2
+
3
+ gem 'json'
4
+ gem 'ruby_parser'
5
+ gem 'hpricot'
6
+ gem 'erubis'
7
+ gem 'sass'
8
+ gem 'rails', '>= 2.3.0', '< 2.4.0'
9
+ gem 'rails_xss', '>= 0.1.1'
@@ -0,0 +1,42 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ actionmailer (2.3.14)
5
+ actionpack (= 2.3.14)
6
+ actionpack (2.3.14)
7
+ activesupport (= 2.3.14)
8
+ rack (~> 1.1.0)
9
+ activerecord (2.3.14)
10
+ activesupport (= 2.3.14)
11
+ activeresource (2.3.14)
12
+ activesupport (= 2.3.14)
13
+ activesupport (2.3.14)
14
+ erubis (2.7.0)
15
+ hpricot (0.8.4)
16
+ json (1.6.1)
17
+ rack (1.1.2)
18
+ rails (2.3.14)
19
+ actionmailer (= 2.3.14)
20
+ actionpack (= 2.3.14)
21
+ activerecord (= 2.3.14)
22
+ activeresource (= 2.3.14)
23
+ activesupport (= 2.3.14)
24
+ rake (>= 0.8.3)
25
+ rails_xss (0.1.3)
26
+ rake (0.9.2)
27
+ ruby_parser (2.3.0)
28
+ sexp_processor (~> 3.0)
29
+ sass (3.1.7)
30
+ sexp_processor (3.0.6)
31
+
32
+ PLATFORMS
33
+ ruby
34
+
35
+ DEPENDENCIES
36
+ erubis
37
+ hpricot
38
+ json
39
+ rails (>= 2.3.0, < 2.4.0)
40
+ rails_xss (>= 0.1.1)
41
+ ruby_parser
42
+ sass
@@ -398,6 +398,25 @@ HAML
398
398
 
399
399
  # Regression tests
400
400
 
401
+ unless Haml::Util.ruby1_8?
402
+ def test_indentation_after_dynamic_attr_hash
403
+ assert_equal(<<HTML, render(<<HAML))
404
+ <html>
405
+ <body>
406
+ <img src='test' />
407
+ foo
408
+ bar
409
+ </body>
410
+ </html>
411
+ HTML
412
+ %html
413
+ %body
414
+ %img{:src => 'te'+'st'}
415
+ = "foo\\nbar"
416
+ HAML
417
+ end
418
+ end
419
+
401
420
  def test_whitespace_nuke_with_both_newlines
402
421
  assert_equal("<p>foo</p>\n", render('%p<= "\nfoo\n"'))
403
422
  assert_equal(<<HTML, render(<<HAML))
@@ -219,7 +219,7 @@ HTML
219
219
  end
220
220
 
221
221
  def test_style_to_css_filter
222
- assert_equal(<<HAML.rstrip, render_erb(<<HTML))
222
+ assert_equal(<<HAML.rstrip, render(<<HTML))
223
223
  :css
224
224
  foo {
225
225
  bar: baz;
@@ -297,6 +297,22 @@ HAML
297
297
  end
298
298
  end
299
299
 
300
+ if ActionPack::VERSION::MAJOR >= 3
301
+ # Rails 3's #label helper can take a block.
302
+ def test_form_builder_label_with_block
303
+ assert_equal(<<HTML, render(<<HAML, :action_view))
304
+ <form #{rails_form_attr}action="" method="post">#{rails_form_opener}
305
+ <label for="article_title">Block content
306
+ </label>
307
+ </form>
308
+ HTML
309
+ #{rails_block_helper_char} form_for #{form_for_calling_convention(:article)}, :url => '' do |f|
310
+ = f.label :title do
311
+ Block content
312
+ HAML
313
+ end
314
+ end
315
+
300
316
  ## XSS Protection Tests
301
317
 
302
318
  # In order to enable these, either test against Rails 3.0
@@ -394,13 +410,15 @@ HTML
394
410
  HAML
395
411
  end
396
412
 
397
- def test_rjs
398
- assert_equal(<<HTML, render(<<HAML, :action_view))
413
+ if defined?(ActionView::Helpers::PrototypeHelper)
414
+ def test_rjs
415
+ assert_equal(<<HTML, render(<<HAML, :action_view))
399
416
  window.location.reload();
400
417
  HTML
401
418
  = update_page do |p|
402
419
  - p.reload
403
420
  HAML
421
+ end
404
422
  end
405
423
 
406
424
  def test_cache
@@ -1,5 +1,8 @@
1
1
  %h1 Partial layout used with for block:
2
- - if Haml::Util.ap_geq_3?
2
+ - if Haml::Util.ap_geq?("3.2.0.alpha1")
3
+ = render :layout => 'layout_for_partial' do
4
+ %p Some content within a layout
5
+ - elsif Haml::Util.ap_geq_3?
3
6
  = render :layout => 'layout_for_partial.haml' do
4
7
  %p Some content within a layout
5
8
  - else
@@ -8,16 +8,16 @@ if File.exists?(linked_rails) && !$:.include?(linked_rails + '/activesupport/lib
8
8
  $:.unshift linked_rails + '/railties/lib'
9
9
  end
10
10
  require 'rubygems'
11
+ require 'action_pack'
11
12
  require 'action_controller'
12
13
  require 'action_view'
13
14
 
14
- begin
15
+ if ActionPack::VERSION::MAJOR >= 3
15
16
  # Necessary for Rails 3
16
17
  require 'rails'
17
- rescue LoadError
18
- # Necessary for Rails 2.3.7
18
+ else
19
+ # Necessary for Rails 2.3.*
19
20
  require 'initializer'
20
- rescue LoadError
21
21
  end
22
22
 
23
23
  if defined?(Rails::Application) # Rails 3
@@ -1 +1 @@
1
- 3.1.0
1
+ 3.1.11
@@ -3,7 +3,120 @@
3
3
  * Table of contents
4
4
  {:toc}
5
5
 
6
- ## 3.1.0 (Unreleased)
6
+ ## 3.1.11
7
+
8
+ * Allow control directives (such as `@if`) to be nested beneath properties.
9
+ * Allow property names to begin with a hyphen followed by interpolation (e.g. `-#{...}`).
10
+ * Fix a parsing error with interpolation in comma-separated lists.
11
+ * Make `--cache-store` with with `--update`.
12
+ * Properly report `ArgumentError`s that occur within user-defined functions.
13
+ * Don't crash on JRuby if the underlying Java doesn't support every Unicode encoding.
14
+ * Add new `updated_stylesheet` callback, which is run after each stylesheet has
15
+ been successfully compiled. Thanks to [Christian Peters](https://github.com/ChristianPeters).
16
+ * Allow absolute paths to be used in an importer with a different root.
17
+ * Don't destructively modify the options when running `Sass::Plugin.force_update`.
18
+
19
+ ### Deprecations -- Must Read!
20
+
21
+ * The `updating_stylesheet` is deprecated and will be removed in a
22
+ future release. Use the new `updated_stylesheet` callback instead.
23
+
24
+ ## 3.1.10
25
+
26
+ * Fix another aspect of the 3.1.8 regression relating to `+`.
27
+
28
+ ## 3.1.9
29
+
30
+ * Fix a regression in 3.1.8 that broke the `+` combinator in selectors.
31
+
32
+ * Deprecate the loud-comment flag when used with silent comments (e.g. `//!`).
33
+ Using it with multi-line comments (e.g. `/*!`) still works.
34
+
35
+ ## 3.1.8
36
+
37
+ * Deprecate parent selectors followed immediately by identifiers (e.g. `&foo`).
38
+ This should never have worked, since it violates the rule
39
+ of `&` only being usable where an element selector would.
40
+
41
+ * Add a `--force` option to the `sass` executable which makes `--update`
42
+ always compile all stylesheets, even if the CSS is newer.
43
+
44
+ * Disallow semicolons at the end of `@import` directives in the indented syntax.
45
+
46
+ * Don't error out when being used as a library without requiring `fileutil`.
47
+
48
+ * Don't crash when Compass-style sprite imports are used with `StalenessChecker`
49
+ (thanks to [Matthias Bauer](https://github.com/moeffju)).
50
+
51
+ * The numeric precision of numbers in Sass can now be set using the
52
+ `--precision` option to the command line. Additionally, the default
53
+ number of digits of precision in Sass output can now be
54
+ changed by setting `Sass::Script::Number.precision` to an integer
55
+ (defaults to 3). Since this value can now be changed, the `PRECISION`
56
+ constant in `Sass::Script::Number` has been deprecated. In the unlikely
57
+ event that you were using it in your code, you should now use
58
+ `Sass::Script::Number.precision_factor` instead.
59
+
60
+ * Don't crash when running `sass-convert` with selectors with two commas in a row.
61
+
62
+ * Explicitly require Ruby >= 1.8.7 (thanks [Eric Mason](https://github.com/ericmason)).
63
+
64
+ * Properly validate the nesting of elements in imported stylesheets.
65
+
66
+ * Properly compile files in parent directories with `--watch` and `--update`.
67
+
68
+ * Properly null out options in mixin definitions before caching them. This fixes
69
+ a caching bug that has been plaguing some Rails 3.1 users.
70
+
71
+ ## 3.1.7
72
+
73
+ * Don't crash when doing certain operations with `@function`s.
74
+
75
+ ## 3.1.6
76
+
77
+ * The option `:trace_selectors` can now be used to emit a full trace
78
+ before each selector. This can be helpful for in-browser debugging of
79
+ stylesheet imports and mixin includes. This option supersedes the
80
+ `:line_comments` option and is superseded by the `:debug_info`
81
+ option.
82
+
83
+ * Fix a bug where long `@if`/`@else` chains would cause exponential slowdown
84
+ under some circumstances.
85
+
86
+ ## 3.1.5
87
+
88
+ * Updated the vendored FSSM version, which will avoid segfaults on OS
89
+ X Lion when using `--watch`.
90
+
91
+ ## 3.1.4
92
+
93
+ * Sass no longer unnecessarily caches the sass options hash.
94
+ This allows objects that cannot be marshaled to be placed into the
95
+ options hash.
96
+
97
+ ## 3.1.3
98
+
99
+ * Sass now logs message thru a logger object which can be changed to
100
+ provide integration with other frameworks' logging infrastructure.
101
+
102
+
103
+ ## 3.1.2
104
+
105
+ * Fix some issues that were breaking Sass when running within Rubinius.
106
+ * Fix some issues that were affecting Rails 3.1 integration.
107
+ * New function `zip` allows several lists to be combined into one
108
+ list of lists. For example:
109
+ `zip(1px 1px 3px, solid dashed solid, red green blue)` becomes
110
+ `1px solid red, 1px dashed green, 3px solid blue`
111
+ * New function `index` returns the list index of a value
112
+ within a list. For example: `index(1px solid red, solid)`
113
+ returns `2`. When the value is not found `false` is returned.
114
+
115
+ ## 3.1.1
116
+
117
+ * Make sure `Sass::Plugin` is loaded at the correct time in Rails 3.
118
+
119
+ ## 3.1.0
7
120
 
8
121
  * Add an {Sass::Script::Functions#invert `invert` function} that takes the inverse of colors.
9
122
 
@@ -135,7 +248,7 @@ or by commas (e.g. `Helvetica, Arial, sans-serif`).
135
248
  In addition, individual values count as single-item lists.
136
249
 
137
250
  Lists won't behave any differently in Sass 3.1 than they did in 3.0.
138
- However, you can now do more with them using the new {file:Sass/Script/Functions.html#list-functions list functions}:
251
+ However, you can now do more with them using the new [list functions](Sass/Script/Functions.html#list-functions):
139
252
 
140
253
  * The {Sass::Script::Functions#nth `nth($list, $n)` function} returns the nth item in a list.
141
254
  For example, `nth(1px 2px 10px, 2)` returns the second item, `2px`.
@@ -295,7 +295,15 @@ Available options are:
295
295
  and mixins.
296
296
  This option may also be called `:line_comments`.
297
297
  Automatically disabled when using the `:compressed` output style
298
- or the `:debug_info` option.
298
+ or the `:debug_info`/`:trace_selectors` options.
299
+
300
+ {#trace_selectors-option} `:trace_selectors`
301
+ : When set to true, emit a full trace of imports and mixins before
302
+ each selector. This can be helpful for in-browser debugging of
303
+ stylesheet imports and mixin includes. This option supersedes
304
+ the `:line_comments` option and is superseded by the
305
+ `:debug_info` option. Automatically disabled when using the
306
+ `:compressed` output style.
299
307
 
300
308
  {#debug_info-option} `:debug_info`
301
309
  : When set to true, causes the line number and file
@@ -476,7 +484,7 @@ are all in the `font` namespace.
476
484
  In CSS, if you want to set a bunch of properties in the same namespace,
477
485
  you have to type it out each time.
478
486
  Sass provides a shortcut for this:
479
- just write the namespace one,
487
+ just write the namespace once,
480
488
  then nest each of the sub-properties within it.
481
489
  For example:
482
490
 
@@ -658,7 +666,7 @@ Lists are just a series of other values, separated by either spaces or commas.
658
666
  In fact, individual values count as lists, too: they're just lists with one item.
659
667
 
660
668
  On their own, lists don't do much,
661
- but the {file:Sass/Script/Functions.html#list-functions Sass list functions}
669
+ but the [Sass list functions](Sass/Script/Functions.html#list-functions)
662
670
  make them useful.
663
671
  The {Sass::Script::Functions#nth nth function} can access items in a list,
664
672
  the {Sass::Script::Functions#join join function} can join multiple lists together,
@@ -903,7 +911,7 @@ for boolean values.
903
911
 
904
912
  Lists don't support any special operations.
905
913
  Instead, they're manipulated using the
906
- {file:Sass/Script/Functions.html#list-functions list functions}.
914
+ [list functions](Sass/Script/Functions.html#list-functions).
907
915
 
908
916
  ### Parentheses
909
917
 
@@ -65,6 +65,7 @@ module Sass
65
65
  end
66
66
  end
67
67
 
68
+ require 'sass/logger'
68
69
  require 'sass/util'
69
70
 
70
71
  require 'sass/engine'