Index: form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.15
diff -u -F^function -r1.15 form.inc
--- form.inc	18 Nov 2005 13:48:09 -0000	1.15
+++ form.inc	21 Nov 2005 06:13:30 -0000
@@ -106,11 +106,13 @@ function drupal_validate_form($form_id, 
 
   _form_validate($form);
 
-  if (function_exists($form_id . '_validate')) {
-    call_user_func($form_id . '_validate', $form_id, $form_values);
-  }
-  elseif (function_exists($callback . '_validate')) {
-    call_user_func($callback . '_validate', $form_id, $form_values);
+  if (!isset($form['#validate_override'])) {
+    if (function_exists($form_id . '_validate')) {
+      call_user_func($form_id . '_validate', $form_id, $form_values);
+    }
+    elseif (function_exists($callback . '_validate')) {
+      call_user_func($callback . '_validate', $form_id, $form_values);
+    }
   }
 }

@@ -121,11 +123,13 @@ function drupal_execute_form($form_id, $
     $function($form_id, $form_values);
   }
 
-  if (function_exists($form_id . '_execute')) {
-    call_user_func($form_id . '_execute', $form_id, $form_values);
-  }
-  elseif (function_exists($callback . '_execute')) {
-    call_user_func($callback . '_execute', $form_id, $form_values);
+  if (!isset($form['#execute_override'])) {
+    if (function_exists($form_id . '_execute')) {
+      call_user_func($form_id . '_execute', $form_id, $form_values);
+    }
+    elseif (function_exists($callback . '_execute')) {
+      call_user_func($callback . '_execute', $form_id, $form_values);
+    }
   }
 }

