Index: test/sass/results/constants.css
===================================================================
--- test/sass/results/constants.css	(revision 414)
+++ test/sass/results/constants.css	(working copy)
@@ -1,7 +1,7 @@
-#main { content: Hello!; qstr: Quo"ted"!; hstr: Hyph-en!; width: 30em; background-color: #000; color: #ffffaf; con: foo bar 9 hi there boom; con2: noquo quo; }
+#main { content: Hello!; qstr: Quo"ted"!; hstr: Hyph-en!; width: 30em; background-color: #000; color: #ffffaa; short-color: #112233; named-color: #808000; con: foo bar 9 hi there boom; con2: noquo quo; }
 #main #sidebar { background-color: #00ff98; num-normal: 10; num-dec: 10.2; num-dec0: 99; num-neg: -10; esc: 10+12; many: 6; order: 7; complex: #4c9db1hi16; }
 
-#plus { num-num: 7; num-num-un: 25em; num-num-un2: 23em; num-num-neg: 9.87; num-str: 100px; num-col: #bcbcbc; str-str: hi there; str-str2: hi there; str-col: 14em solid #1f2f3f; str-num: times: 13; col-num: #ff8aaa; col-col: #5f80ff; }
+#plus { num-num: 7; num-num-un: 25em; num-num-un2: 23em; num-num-neg: 9.87; num-str: 100px; num-col: #b7b7b7; str-str: hi there; str-str2: hi there; str-col: 14em solid #112233; str-num: times: 13; col-num: #ff7b9d; col-col: #5173ff; }
 
 #minus { num-num: 900; col-num: #f9f9f4; col-col: #000035; }
 
Index: test/sass/engine_test.rb
===================================================================
--- test/sass/engine_test.rb	(revision 414)
+++ test/sass/engine_test.rb	(working copy)
@@ -9,10 +9,10 @@
     "!a = 1 + " => 'Constant arithmetic error: "1 +"',
     "!a = 1 + 2 +" => 'Constant arithmetic error: "1 + 2 +"',
     "!a = \"b" => 'Unterminated string: "\\"b"',
-    "!a = #aaa - a" => 'Undefined operation: "#afafaf minus a"',
-    "!a = #aaa / a" => 'Undefined operation: "#afafaf div a"',
-    "!a = #aaa * a" => 'Undefined operation: "#afafaf times a"',
-    "!a = #aaa % a" => 'Undefined operation: "#afafaf mod a"',
+    "!a = #aaa - a" => 'Undefined operation: "#aaaaaa minus a"',
+    "!a = #aaa / a" => 'Undefined operation: "#aaaaaa div a"',
+    "!a = #aaa * a" => 'Undefined operation: "#aaaaaa times a"',
+    "!a = #aaa % a" => 'Undefined operation: "#aaaaaa mod a"',
     "!a = 1 - a" => 'Undefined operation: "1 minus a"',
     "!a = 1 * a" => 'Undefined operation: "1 times a"',
     "!a = 1 / a" => 'Undefined operation: "1 div a"',
Index: test/sass/templates/constants.sass
===================================================================
--- test/sass/templates/constants.sass	(revision 414)
+++ test/sass/templates/constants.sass	(working copy)
@@ -18,6 +18,8 @@
   :width = !width
   :background-color #000
   :color= !main_text
+  :short-color= #123
+  :named-color= olive
   :con= foo bar (!concat boom)
   :con2= noquo "quo"
   #sidebar
Index: lib/sass/constant/color.rb
===================================================================
--- lib/sass/constant/color.rb	(revision 414)
+++ lib/sass/constant/color.rb	(working copy)
@@ -2,11 +2,35 @@
 
 module Sass::Constant # :nodoc:
   class Color < Literal # :nodoc:
+
+    HTML4_COLORS = {
+      'black'   => 0x000000,
+      'silver'  => 0xc0c0c0,
+      'gray'    => 0x808080,
+      'white'   => 0xffffff,
+      'maroon'  => 0x800000,
+      'red'     => 0xff0000,
+      'purple'  => 0x800080,
+      'fuchsia' => 0xff00ff,
+      'green'   => 0x008000,
+      'lime'    => 0x00ff00,
+      'olive'   => 0x808000,
+      'yellow'  => 0xffff00,
+      'navy'    => 0x000080,
+      'blue'    => 0x0000ff,
+      'teal'    => 0x008080,
+      'aqua'    => 0x00ffff
+    }
   
     REGEXP = /\##{"([0-9a-fA-F]{1,2})" * 3}/
   
     def parse(value)
-      @value = value.scan(REGEXP)[0].map { |num| num.ljust(2, 'f').to_i(16) }
+      if (value =~ REGEXP)
+        @value = value.scan(REGEXP)[0].map { |num| num.ljust(2, num).to_i(16) }
+      else
+        color = HTML4_COLORS[value.downcase]
+        @value = (0..2).map{ |n| color >> (n << 3) & 0xff }.reverse
+      end
     end
     
     def plus(other)
Index: lib/sass/constant/literal.rb
===================================================================
--- lib/sass/constant/literal.rb	(revision 414)
+++ lib/sass/constant/literal.rb	(working copy)
@@ -10,7 +10,10 @@
   NUMBER  = /^(-?[0-9]*?\.?)([0-9]+)([^0-9\s]*)$/
 
   # The regular expression matching colors.
-  COLOR = /^\#(#{"[0-9a-fA-F]" * 3}|#{"[0-9a-fA-F]" * 6})/
+  COLOR = /^
+    \# (?: [0-9a-f]{3} | [0-9a-f]{6} ) |
+    #{ Sass::Constant::Color::HTML4_COLORS.keys.join '|' }
+  /ix
   
   def self.parse(value)
     case value
Index: lib/sass.rb
===================================================================
--- lib/sass.rb	(revision 414)
+++ lib/sass.rb	(working copy)
@@ -232,6 +232,10 @@
 #
 # === Colors
 #
+# Colors may be written as three- or six-digit hex numbers prefixed
+# by a pound sign (#), or as HTML4 color names. For example,
+# "#ff0", "#ffff00" and "yellow" all refer to the same color.
+#
 # Not only can arithmetic be done between colors and other colors,
 # but it can be done between colors and normal numbers.
 # In this case, the operation is done piecewise one each of the
