Index: rules/modules/node.rules.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/rules/rules/modules/Attic/node.rules.inc,v
retrieving revision 1.1.2.40
diff -u -p -r1.1.2.40 node.rules.inc
--- rules/modules/node.rules.inc	26 Mar 2010 13:56:01 -0000	1.1.2.40
+++ rules/modules/node.rules.inc	10 Sep 2010 22:07:14 -0000
@@ -37,6 +37,11 @@ function node_rules_event_info() {
         'page' => array('type' => 'boolean', 'label' => t('Content is displayed as page')),
       ),
     ),
+    'node_prepare' => array(
+      'label' => t('Content is going to be edited'),
+      'module' => 'Node',
+      'arguments' => rules_events_node_arguments(t('edited content'), t('content author')),
+    ),
     'node_delete' => array(
       'label' => t('After deleting content'),
       'module' => 'Node',
Index: rules/modules/rules.events.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/rules/rules/modules/Attic/rules.events.inc,v
retrieving revision 1.1.2.14
diff -u -p -r1.1.2.14 rules.events.inc
--- rules/modules/rules.events.inc	27 Jul 2010 11:09:27 -0000	1.1.2.14
+++ rules/modules/rules.events.inc	10 Sep 2010 22:07:14 -0000
@@ -15,7 +15,7 @@
  */
 function rules_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
 
-  if (in_array($op, array('view', 'insert', 'update', 'presave', 'delete'))) {
+  if (in_array($op, array('view', 'insert', 'update', 'presave', 'delete', 'prepare'))) {
     // We pass the node by reference so that changes are saved automatically on op submit
     $arguments = ($op == 'view') ? array('node' => &$node, 'teaser' => $teaser, 'page' => $page) : array('node' => &$node);
     rules_invoke_event('node_'. $op, $arguments);
