? modules/blogapi/blogapi56.test
? modules/blogapi/blogapi56.txt
? modules/simpletest/variable-profile-279455-1.patch
Index: profiles/default/default.profile
===================================================================
RCS file: /cvs/drupal/drupal/profiles/default/default.profile,v
retrieving revision 1.29
diff -u -p -r1.29 default.profile
--- profiles/default/default.profile	18 Sep 2008 10:44:19 -0000	1.29
+++ profiles/default/default.profile	25 Sep 2008 12:56:58 -0000
@@ -98,7 +98,7 @@ function default_profile_tasks(&$task, $
     array(
       'type' => 'page',
       'name' => st('Page'),
-      'module' => 'node',
+      'prefix' => 'node_content',
       'description' => st("A <em>page</em>, similar in form to an <em>article</em>, is a simple method for creating and displaying information that rarely changes, such as an \"About us\" section of a website. By default, a <em>page</em> entry does not allow visitor comments and is not featured on the site's initial home page."),
       'custom' => TRUE,
       'modified' => TRUE,
@@ -109,7 +109,7 @@ function default_profile_tasks(&$task, $
     array(
       'type' => 'article',
       'name' => st('Article'),
-      'module' => 'node',
+      'prefix' => 'node_content',
       'description' => st("An <em>article</em>, similar in form to a <em>page</em>, is ideal for creating and displaying content that informs or engages website visitors. Press releases, site announcements, and informal blog-like entries may all be created with an <em>article</em> entry. By default, an <em>article</em> entry is automatically featured on the site's initial home page, and provides the ability to post comments."),
       'custom' => TRUE,
       'modified' => TRUE,
Index: modules/blog/blog.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/blog/blog.module,v
retrieving revision 1.309
diff -u -p -r1.309 blog.module
--- modules/blog/blog.module	22 Jul 2008 20:00:55 -0000	1.309
+++ modules/blog/blog.module	25 Sep 2008 12:56:58 -0000
@@ -13,7 +13,7 @@ function blog_node_info() {
   return array(
     'blog' => array(
       'name' => t('Blog entry'),
-      'module' => 'blog',
+      'prefix' => 'blog',
       'description' => t('A <em>blog entry</em> is a single post to an online journal, or <em>blog</em>.'),
     )
   );
Index: modules/book/book.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/book/book.install,v
retrieving revision 1.22
diff -u -p -r1.22 book.install
--- modules/book/book.install	15 May 2008 21:19:24 -0000	1.22
+++ modules/book/book.install	25 Sep 2008 12:56:58 -0000
@@ -27,7 +27,7 @@ function _book_install_type_create() {
   $book_node_type = array(
     'type' => 'book',
     'name' => t('Book page'),
-    'module' => 'node',
+    'prefix' => 'node_content',
     'description' => t('A <em>book page</em> is a page of content, organized into a collection of related entries collectively known as a <em>book</em>. A <em>book page</em> automatically displays links to adjacent pages, providing a simple navigation system for organizing and reviewing structured content.'),
     'custom' => TRUE,
     'modified' => TRUE,
Index: modules/forum/forum.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/forum/forum.module,v
retrieving revision 1.464
diff -u -p -r1.464 forum.module
--- modules/forum/forum.module	19 Sep 2008 20:25:02 -0000	1.464
+++ modules/forum/forum.module	25 Sep 2008 12:56:58 -0000
@@ -292,7 +292,7 @@ function forum_node_info() {
   return array(
     'forum' => array(
       'name' => t('Forum topic'),
-      'module' => 'forum',
+      'prefix' => 'forum',
       'description' => t('A <em>forum topic</em> is the initial post to a new discussion thread within a forum.'),
       'title_label' => t('Subject'),
     )
Index: modules/node/content_types.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/content_types.inc,v
retrieving revision 1.57
diff -u -p -r1.57 content_types.inc
--- modules/node/content_types.inc	16 Jul 2008 21:59:27 -0000	1.57
+++ modules/node/content_types.inc	25 Sep 2008 12:56:58 -0000
@@ -51,7 +51,7 @@ function node_overview_types() {
 function node_type_form(&$form_state, $type = NULL) {
   if (!isset($type->type)) {
     $type = new stdClass();
-    $type->type = $type->name = $type->module = $type->description = $type->help = '';
+    $type->type = $type->name = $type->prefix = $type->description = $type->help = '';
     $type->min_word_count = 0;
     $type->has_title = TRUE;
     $type->has_body = TRUE;
@@ -170,9 +170,9 @@ function node_type_form(&$form_state, $t
     '#type' => 'value',
     '#value' => isset($type->orig_type) ? $type->orig_type : '',
   );
-  $form['module'] = array(
+  $form['prefix'] = array(
     '#type' => 'value',
-    '#value' => $type->module,
+    '#value' => $type->prefix,
   );
   $form['custom'] = array(
     '#type' => 'value',
@@ -271,7 +271,7 @@ function node_type_form_submit($form, &$
   $type->has_title = ($type->title_label != '');
   $type->has_body = ($type->body_label != '');
 
-  $type->module = !empty($form_state['values']['module']) ? $form_state['values']['module'] : 'node';
+  $type->prefix = !empty($form_state['values']['prefix']) ? $form_state['values']['prefix'] : 'node_content';
   $type->custom = $form_state['values']['custom'];
   $type->modified = TRUE;
   $type->locked = $form_state['values']['locked'];
Index: modules/node/node.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.install,v
retrieving revision 1.6
diff -u -p -r1.6 node.install
--- modules/node/node.install	15 Apr 2008 08:39:03 -0000	1.6
+++ modules/node/node.install	25 Sep 2008 12:56:58 -0000
@@ -293,8 +293,8 @@ function node_schema() {
         'not null' => TRUE,
         'default' => '',
       ),
-      'module' => array(
-        'description' => t('The module that implements this type.'),
+      'prefix' => array(
+        'description' => t('The prefix used for callbacks corresponding to this node type.'),
         'type' => 'varchar',
         'length' => 255,
         'not null' => TRUE,
@@ -380,3 +380,23 @@ function node_schema() {
 
   return $schema;
 }
+
+/**
+ * Drupal 6.x to 7.x updates
+ */
+
+/**
+ * Fix node type 'module' attribute to avoid name-space conflicts.
+ */
+function node_update_7000() {
+  $ret = array();
+
+  $ret[] = update_sql("UPDATE {node_type} SET module = 'node_content' WHERE module = 'node'");
+  db_change_field($ret, 'node_type', 'module', 'prefix', array('type' => 'varchar', 'length' => 255, 'not null' => TRUE));
+
+  return $ret;
+}
+
+/**
+ * End of 6.x to 7.x updates
+ */
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.977
diff -u -p -r1.977 node.module
--- modules/node/node.module	17 Sep 2008 20:37:32 -0000	1.977
+++ modules/node/node.module	25 Sep 2008 12:56:58 -0000
@@ -465,8 +465,8 @@ function node_get_types($op = 'types', $
       return $_node_types;
     case 'type':
       return isset($_node_types[$type]) ? $_node_types[$type] : FALSE;
-    case 'module':
-      return isset($_node_types[$type]->module) ? $_node_types[$type]->module : FALSE;
+    case 'prefix':
+      return isset($_node_types[$type]->prefix) ? $_node_types[$type]->prefix : FALSE;
     case 'names':
       return $_node_names;
     case 'name':
@@ -520,18 +520,37 @@ function node_type_save($info) {
   if (empty($info->custom)) {
     $info->custom = 0;
   }
+  if (empty($info->modified)) {
+    $info->modified = 0;
+  }
   if (empty($info->locked)) {
     $info->locked = 0;
   }
+  $fields = array(
+    'type' => $info->type,
+    'name' => $info->name,
+    'prefix' => $info->prefix,
+    'has_title' => $info->has_title,
+    'title_label' => $info->title_label,
+    'has_body' => $info->has_body,
+    'body_label' => $info->body_label,
+    'description' => $info->description,
+    'help' => $info->help,
+    'min_word_count' => $info->min_word_count,
+    'custom' => $info->custom,
+    'modified' => $info->modified,
+    'locked' => $info->locked,
+  );
 
   if ($is_existing) {
-    db_query("UPDATE {node_type} SET type = '%s', name = '%s', module = '%s', has_title = %d, title_label = '%s', has_body = %d, body_label = '%s', description = '%s', help = '%s', min_word_count = %d, custom = %d, modified = %d, locked = %d WHERE type = '%s'", $info->type, $info->name, $info->module, $info->has_title, $info->title_label, $info->has_body, $info->body_label, $info->description, $info->help, $info->min_word_count, $info->custom, $info->modified, $info->locked, $existing_type);
+    db_update('node_type')->fields($fields)->condition('type', $existing_type)->execute();
 
     module_invoke_all('node_type', 'update', $info);
     return SAVED_UPDATED;
   }
   else {
-    db_query("INSERT INTO {node_type} (type, name, module, has_title, title_label, has_body, body_label, description, help, min_word_count, custom, modified, locked, orig_type) VALUES ('%s', '%s', '%s', %d, '%s', %d, '%s', '%s', '%s', %d, %d, %d, %d, '%s')", $info->type, $info->name, $info->module, $info->has_title, $info->title_label, $info->has_body, $info->body_label, $info->description, $info->help, $info->min_word_count, $info->custom, $info->modified, $info->locked, $info->orig_type);
+    $fields['orig_type'] = $info->type;
+    db_insert('node_type')->fields($fields)->execute();
 
     module_invoke_all('node_type', 'insert', $info);
     return SAVED_NEW;
@@ -588,8 +607,8 @@ function _node_types_build() {
   while ($type_object = db_fetch_object($type_result)) {
     // Check for node types from disabled modules and mark their types for removal.
     // Types defined by the node module in the database (rather than by a separate
-    // module using hook_node_info) have a module value of 'node'.
-    if ($type_object->module != 'node' && empty($info_array[$type_object->type])) {
+    // module using hook_node_info) have a prefix value of 'node_content'.
+    if ($type_object->prefix != 'node_content' && empty($info_array[$type_object->type])) {
       $type_object->disabled = TRUE;
     }
     if (!isset($_node_types[$type_object->type]) || $type_object->modified) {
@@ -659,12 +678,8 @@ function _node_type_set_defaults($info) 
  *   TRUE iff the $hook exists in the node type of $node.
  */
 function node_hook(&$node, $hook) {
-  $module = node_get_types('module', $node);
-  if ($module == 'node') {
-    // Avoid function name collisions.
-    $module = 'node_content';
-  }
-  return module_hook($module, $hook);
+  $prefix = node_get_types('prefix', $node);
+  return module_hook($prefix, $hook);
 }
 
 /**
@@ -681,11 +696,8 @@ function node_hook(&$node, $hook) {
  */
 function node_invoke(&$node, $hook, $a2 = NULL, $a3 = NULL, $a4 = NULL) {
   if (node_hook($node, $hook)) {
-    $module = node_get_types('module', $node);
-    if ($module == 'node') {
-      $module = 'node_content'; // Avoid function name collisions.
-    }
-    $function = $module . '_' . $hook;
+    $prefix = node_get_types('prefix', $node);
+    $function = $prefix . '_' . $hook;
     return ($function($node, $a2, $a3, $a4));
   }
 }
@@ -1171,7 +1183,7 @@ function node_perm() {
   );
 
   foreach (node_get_types() as $type) {
-    if ($type->module == 'node') {
+    if ($type->prefix == 'node_content') {
       $perms += node_list_permissions($type);
     }
   }
@@ -2086,11 +2098,8 @@ function node_access($op, $node, $accoun
 
   // Can't use node_invoke('access', $node), because the access hook takes the
   // $op parameter before the $node parameter.
-  $module = node_get_types('module', $node);
-  if ($module == 'node') {
-    $module = 'node_content'; // Avoid function name collisions.
-  }
-  $access = module_invoke($module, 'access', $op, $node, $account);
+  $prefix = node_get_types('prefix', $node);
+  $access = module_invoke($prefix, 'access', $op, $node, $account);
   if (!is_null($access)) {
     return $access;
   }
Index: modules/poll/poll.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/poll/poll.module,v
retrieving revision 1.272
diff -u -p -r1.272 poll.module
--- modules/poll/poll.module	17 Sep 2008 07:11:57 -0000	1.272
+++ modules/poll/poll.module	25 Sep 2008 12:56:58 -0000
@@ -174,7 +174,7 @@ function poll_node_info() {
   return array(
     'poll' => array(
       'name' => t('Poll'),
-      'module' => 'poll',
+      'prefix' => 'poll',
       'description' => t('A <em>poll</em> is a question with a set of possible responses. A <em>poll</em>, once created, automatically provides a simple running count of the number of votes received for each response.'),
       'title_label' => t('Question'),
       'has_body' => FALSE,
