Index: modules/node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node.module,v retrieving revision 1.541 diff -u -F^f -r1.541 node.module --- modules/node.module 26 Oct 2005 14:49:59 -0000 1.541 +++ modules/node.module 28 Oct 2005 00:17:33 -0000 @@ -1608,13 +1608,7 @@ function node_form($node) { $form['type'] = array('#type' => 'value', '#value' => $node->type); // Get the node-specific bits. - // We can't use node_invoke() because $param must be passed by reference. - $function = node_get_base($node) .'_form'; - $param = array(); - if (function_exists($function)) { - $node_form = $function($node, $param); - $form = array_merge($form, $function($node, $param)); - } + $form = array_merge($form, node_invoke($node, 'form')); /** * Node author information @@ -1772,7 +1766,9 @@ function node_preview($node) { // Display a preview of the node: // Previewing alters $node so it needs to be cloned. if (!form_get_errors()) { - $output = theme('node_preview', drupal_clone($node)); + $cloned_node = drupal_clone($node); + $cloned_node->in_preview = TRUE; + $output = theme('node_preview', $cloned_node); } drupal_set_title(t('Preview')); drupal_set_breadcrumb(array(l(t('Home'), NULL), l(t('create content'), 'node/add'), l(t('Submit %name', array('%name' => node_get_name($node))), 'node/add/'. $node->type)));