Index: trunk/lib/Text/FormBuilder.pm
===================================================================
--- trunk/lib/Text/FormBuilder.pm	(revision 67)
+++ trunk/lib/Text/FormBuilder.pm	(revision 68)
@@ -251,12 +251,5 @@
             }
         }
-    }    
-    
-    # remove false $$_{required} params because this messes up things at
-    # the CGI::FormBuilder::field level; it seems to be marking required
-    # based on the existance of a 'required' param, not whether it is
-    # true or defined
-    # TODO: check if this is still needed
-    $$_{required} or delete $$_{required} foreach @{ $self->{form_spec}{fields} };
+    }
     
     # assign the field names to the sections
Index: trunk/lib/Text/FormBuilder/grammar
===================================================================
--- trunk/lib/Text/FormBuilder/grammar	(revision 67)
+++ trunk/lib/Text/FormBuilder/grammar	(revision 68)
@@ -173,5 +173,5 @@
 	    list     => $list_var,
 	    validate => $item{'validate(?)'}[0],
-	    required => $required || 0,
+	    required => $required,
 	};
 	
@@ -191,5 +191,5 @@
 	
 	$type = undef;
-	$required = 0;
+	$required = undef;
 	$list_var = undef;
 	$size = undef;
@@ -233,5 +233,5 @@
 
 # for simple multiword values not involving punctuation
-simple_multiword: <skip:''> /\w[\w\t ]+/ { $item[2] }
+simple_multiword: <skip:''> /\w[\w\t ]*/ { $item[2] }
 
 # my attempt at a single-quoted, non-interpolating string
