--- orig	2010-06-28 17:37:13.000000000 -0400
+++ new	2010-06-28 17:37:13.000000000 -0400
@@ -132,6 +132,12 @@ function drush_variable_set() {
     return drush_set_error('DRUSH_VARIABLE_ERROR', dt('No value specified.'));
   }
 
+	//check if value being set is complex (serialized)
+	$serialized = @unserialize($value);
+	if ($serialized) {//the passed value is a serialized value, not just a string or int
+		$value = $serialized;
+	}
+
   $result = drush_variable_like($args[0]);
 
   $options[] = "$args[0] ". dt('(new variable)');