Index: modules/block/block.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/block/block.admin.inc,v
retrieving revision 1.72
diff -u -p -r1.72 block.admin.inc
--- modules/block/block.admin.inc	15 Jan 2010 10:59:21 -0000	1.72
+++ modules/block/block.admin.inc	20 Jan 2010 19:51:03 -0000
@@ -210,7 +210,7 @@ function block_admin_configure($form, &$
   );
 
   // Module-specific block configuration.
-  if ($settings = module_invoke($block->module, 'block_configure', $block->delta)) {
+  if ($settings = module_invoke($block->module, 'block_configure', $form_state, $block->delta)) {
     foreach ($settings as $k => $v) {
       $form['settings'][$k] = $v;
     }
Index: modules/block/block.api.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/block/block.api.php,v
retrieving revision 1.9
diff -u -p -r1.9 block.api.php
--- modules/block/block.api.php	17 Oct 2009 05:50:28 -0000	1.9
+++ modules/block/block.api.php	20 Jan 2010 19:51:03 -0000
@@ -72,6 +72,9 @@ function hook_block_info() {
 /**
  * Configuration form for the block.
  *
+ * @param &$form_state
+ *   The current form state. Required for AHAH callbacks to function
+ *   properly.
  * @param $delta
  *   Which block to return. This is a descriptive string used to identify
  *   blocks within each module and also within the theme system.
@@ -82,7 +85,7 @@ function hook_block_info() {
  *
  * For a detailed usage example, see block_example.module.
  */
-function hook_block_configure($delta = '') {
+function hook_block_configure(&$form_state, $delta = '') {
   if ($delta == 'exciting') {
     $form['items'] = array(
       '#type' => 'select',
