Index: modules/node/node.api.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.api.php,v
retrieving revision 1.72
diff -u -r1.72 node.api.php
--- modules/node/node.api.php	22 Aug 2010 13:52:58 -0000	1.72
+++ modules/node/node.api.php	31 Aug 2010 15:36:19 -0000
@@ -967,35 +967,45 @@
  * Display a node editing form.
  *
  * This hook, implemented by node modules, is called to retrieve the form
- * that is displayed when one attempts to "create/edit" an item. This form is
- * displayed at the URI http://www.example.com/?q=node/<add|edit>/nodetype.
+ * that is displayed to create or edit a node. This form is displayed at path
+ * node/add/[nodetype] or node/[node ID]/edit.
+ *
+ * The submit and preview buttons, administrative and display controls, and
+ * sections added by other modules (such as path settings, menu settings,
+ * comment settings, and fields managed by the Field UI module) are
+ * displayed automatically by the node module. This hook just needs to
+ * return the node title and form editing fields specific to the node type.
+ *
+ * For a detailed usage example, see node_example.module.
  *
  * @param $node
  *   The node being added or edited.
  * @param $form_state
  *   The form state array. Changes made to this variable will have no effect.
- * @return
- *   An array containing the form elements to be displayed in the node
- *   edit form.
- *
- * The submit and preview buttons, taxonomy controls, and administrative
- * accoutrements are displayed automatically by node.module. This hook
- * needs to return the node title, the body text area, and fields
- * specific to the node type.
  *
- * For a detailed usage example, see node_example.module.
+ * @return
+ *   An array containing the title and any custom form elements to be displayed
+ *   in the node editing form.
  *
  * @ingroup node_api_hooks
  */
 function hook_form($node, $form_state) {
   $type = node_type_get_type($node);
 
+  $form['title'] = array(
+    '#type' => 'textfield',
+    '#title' => check_plain($type->title_label),
+    '#default_value' => !empty($node->title) ? $node->title : '',
+    '#required' => TRUE, '#weight' => -5
+  );
+
   $form['field1'] = array(
     '#type' => 'textfield',
     '#title' => t('Custom field'),
     '#default_value' => $node->field1,
     '#maxlength' => 127,
   );
+
   $form['selectbox'] = array(
     '#type' => 'select',
     '#title' => t('Select box'),
