Index: devel_generate.fields.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/devel/devel_generate.fields.inc,v
retrieving revision 1.1
diff -u -p -0 -r1.1 devel_generate.fields.inc
--- devel_generate.fields.inc	3 Sep 2009 16:12:44 -0000	1.1
+++ devel_generate.fields.inc	20 Oct 2009 05:53:16 -0000
@@ -13 +13 @@
-function cck_generate_fields(&$object, $bundle) {
+function cck_generate_fields(&$object, $obj_type, $bundle) {
@@ -15 +15 @@ function cck_generate_fields(&$object, $
-  $instances = field_info_instances($bundle);
+  $instances = field_info_instances($obj_type, $bundle);
Index: devel_generate.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/devel/devel_generate.inc,v
retrieving revision 1.58
diff -u -p -0 -r1.58 devel_generate.inc
--- devel_generate.inc	14 Oct 2009 14:44:48 -0000	1.58
+++ devel_generate.inc	20 Oct 2009 05:53:17 -0000
@@ -134,0 +135 @@ function devel_generate_add_comments($no
+    $comment->language = FIELD_LANGUAGE_NONE;
@@ -160,0 +162 @@ function devel_generate_vocabs($records,
+    $voc->machine_name = _devel_str_to_machine_name($voc->name);
@@ -233 +235 @@ function devel_generate_taxonomy_data($n
-    drupal_set_message(t('Created the following new vocabularies: !vocs', array('!vocs' => theme('item_list', $new_vocs))));
+    drupal_set_message(t('Created the following new vocabularies: !vocs', array('!vocs' => theme('item_list', array('items' => $new_vocs)))));
@@ -238 +240 @@ function devel_generate_taxonomy_data($n
-    drupal_set_message(t('Created the following new terms: !terms', array('!terms' => theme('item_list', $new_terms))));
+    drupal_set_message(t('Created the following new terms: !terms', array('!terms' => theme('item_list', array('items' => $new_terms)))));
@@ -366,0 +369,5 @@ function devel_create_greeking($words, $
+/**
+ * Fills all taxonomy type fields of a node with between 0 and 5 random terms
+ * 
+ * @param object $node
+ */
@@ -368,8 +375,30 @@ function devel_generate_add_terms(&$node
-  $vocabs = taxonomy_get_vocabularies($node->type);
-  foreach ($vocabs as $vocab) {
-    $sql = "SELECT tid FROM {taxonomy_term_data} WHERE vid = :vid ORDER BY RAND()";
-    $result = db_query_range($sql, 0, 5 , array(':vid' => $vocab->vid));
-    foreach($result as $row) {
-      $node->taxonomy[] = $row->tid;
-      if (!$vocab->multiple) {
-        break;
+  $taxonomy_fields = field_info_instances('node', $node->type);
+  foreach ($taxonomy_fields as $key => $field) {
+    $finfo = field_info_field($key);
+    if ($finfo['module'] == 'taxonomy') {
+      $allowed_terms = taxonomy_allowed_values($finfo);
+      $max_terms = $finfo['cardinality'];
+      if ($max_terms > 5 || $max_terms == -1) {
+        $max_terms = 5;
+      }
+      $max_terms = min(array(count($allowed_terms), $max_terms));
+      $no_terms = rand(0, $max_terms);
+      if (!$no_terms) {
+        return;
+      }
+      $terms = array_rand($allowed_terms, $no_terms);
+      
+      // array_rand is kinda retarded.  Returns mixed.
+      if (is_scalar($terms)) {
+        $terms = array($terms);
+      }
+
+      if (!is_array($node->{$key})) {
+        $node->{$key} = array();
+      }
+      if (!is_array($node->{$key}[FIELD_LANGUAGE_NONE])) {
+          $node->{$key}[FIELD_LANGUAGE_NONE] = array();
+      }
+
+      foreach ($terms as $omgthisapisucks) {
+        $node->{$key}[FIELD_LANGUAGE_NONE][] = array('value' => $omgthisapisucks);
@@ -502 +531 @@ function devel_generate_content_add_node
-  cck_generate_fields($node, $node->type);
+  cck_generate_fields($node, 'node', $node->type);
@@ -506,0 +536,4 @@ function devel_generate_content_add_node
+
+function _devel_str_to_machine_name($string) {
+  return preg_replace('/[^a-z0-9_]/s', '_', $string);
+}
\ No newline at end of file
Index: devel_generate.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/devel/devel_generate.module,v
retrieving revision 1.36
diff -u -p -0 -r1.36 devel_generate.module
--- devel_generate.module	14 Oct 2009 14:44:48 -0000	1.36
+++ devel_generate.module	20 Oct 2009 05:53:17 -0000
@@ -265 +265 @@ function devel_generate_node_insert(&$no
-      path_set_alias("node/$node->nid", "node-$node->nid-$node->type");
+      path_save(array('source' => "node/$node->nid", 'alias' => "node-$node->nid-$node->type", 'language' => 'en'));
