Index: trunk/lib/Text/FormBuilder.pm
===================================================================
--- trunk/lib/Text/FormBuilder.pm	(revision 83)
+++ trunk/lib/Text/FormBuilder.pm	(revision 84)
@@ -1135,4 +1135,8 @@
     static
 
+For multi-select fields, append a C<*> to the field type:
+
+    colors:select*
+
 To change the size of the input field, add a bracketed subscript after the
 field name (but before the descriptive label):
@@ -1291,6 +1295,4 @@
 =head2 Language/Parser
 
-Support the C<multiple> attribute for a field.
-
 Make sure that multiple runs of the parser don't share data.
 
Index: trunk/lib/Text/FormBuilder/grammar
===================================================================
--- trunk/lib/Text/FormBuilder/grammar	(revision 83)
+++ trunk/lib/Text/FormBuilder/grammar	(revision 84)
@@ -19,4 +19,5 @@
 	@options,
 	$required,
+	$multiple,
 	$list_var,
 	$size,
@@ -187,5 +188,5 @@
 
 # this is the real heart of the thing
-field: name field_size(?) growable(?) label(?) hint(?) type(?) other(?) default(?) option_list(?) validate(?) comment(?)
+field: name field_size(?) growable(?) label(?) hint(?) type(?) multi(?) other(?) default(?) option_list(?) validate(?) comment(?)
     {
 	my $field = {
@@ -194,4 +195,5 @@
 	    label    => $item{'label(?)'}[0],
 	    comment  => $item{'hint(?)'}[0],
+	    multiple => $item{'multi(?)'}[0],
 	    type     => $item{'type(?)'}[0],
 	    other    => $item{'other(?)'}[0],
@@ -218,4 +220,5 @@
 	$type = undef;
 	$required = undef;
+	$multiple = undef;
 	$list_var = undef;
 	$size = undef;
@@ -254,4 +257,6 @@
 builtin_field: /textarea|text|password|file|checkbox|radio|select|hidden|static/
 
+multi: '*' { 1 }
+
 other: '+' 'other' { 1 }
 
