Index: modules/block/block.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/block/block.admin.inc,v
retrieving revision 1.12
diff -u -p -r1.12 block.admin.inc
--- modules/block/block.admin.inc	26 Nov 2007 16:36:42 -0000	1.12
+++ modules/block/block.admin.inc	14 Dec 2007 13:22:32 -0000
@@ -155,8 +155,8 @@ function block_admin_configure(&$form_st
     '#type' => 'textfield',
     '#title' => t('Block title'),
     '#maxlength' => 64,
-    '#description' =>  $module == 'block' ? t('The title of the block as shown to the user.') : t('Override the default title for the block. Use <em>&lt;none&gt;</em> to display no title, or leave blank to use the default block title.'),
-    '#default_value' => $edit['title'],
+    '#description' =>  $module == 'block' ? t('The title of the block as shown to the user.<br />Leave it blank to use the description, to display no title enter: ') .'<em>&lt;'. t('none') .'&gt;</em>.' : t('Override the default title for the block.<br />Leave it blank to use the default block title, to display no title enter: ') .'<em>&lt;'. t('none') .'&gt;</em>.',
+    '#default_value' => $edit['title'] == BLOCK_TITLE_NONE ? '<'. t('none') .'>' : $edit['title'],
     '#weight' => -18,
   );
 
@@ -263,6 +263,12 @@ function block_admin_configure_validate(
     if (empty($form_state['values']['info']) || db_result(db_query("SELECT COUNT(*) FROM {boxes} WHERE bid != %d AND info = '%s'", $form_state['values']['delta'], $form_state['values']['info']))) {
       form_set_error('info', t('Please ensure that each block description is unique.'));
     }
+    if (empty($form_state['values']['title'])) {
+      $form_state['values']['title'] = $form_state['values']['info'];
+    }
+  }
+  if ($form_state['values']['title'] == '<'. t('none') .'>') {
+    $form_state['values']['title'] = BLOCK_TITLE_NONE;
   }
 }
 
@@ -292,6 +298,12 @@ function block_add_block_form_validate($
   if (empty($form_state['values']['info']) || db_result(db_query("SELECT COUNT(*) FROM {boxes} WHERE info = '%s'", $form_state['values']['info']))) {
     form_set_error('info', t('Please ensure that each block description is unique.'));
   }
+  if (empty($form_state['values']['title'])) {
+    $form_state['values']['title'] = $form_state['values']['info'];
+  }
+  elseif ($form_state['values']['title'] == '<'. t('none') .'>') {
+    $form_state['values']['title'] = BLOCK_TITLE_NONE;
+  }
 }
 
 /**
Index: modules/block/block.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/block/block.module,v
retrieving revision 1.289
diff -u -p -r1.289 block.module
--- modules/block/block.module	8 Dec 2007 14:06:20 -0000	1.289
+++ modules/block/block.module	14 Dec 2007 13:22:33 -0000
@@ -13,6 +13,12 @@
 define('BLOCK_REGION_NONE', -1);
 
 /**
+ * Denotes that a custom block is has no title or a system block
+ * title is overriden.
+ */
+define('BLOCK_TITLE_NONE', -1);
+
+/**
  * Constants defining cache granularity for blocks.
  *
  * Modules specify the caching patterns for their blocks using binary
@@ -454,7 +460,7 @@ function block_list($region) {
           // Override default block title if a custom display title is present.
           if ($block->title) {
             // Check plain here to allow module generated titles to keep any markup.
-            $block->subject = $block->title == '<none>' ? '' : check_plain($block->title);
+            $block->subject = $block->title == BLOCK_TITLE_NONE ? '' : check_plain($block->title);
           }
           $blocks[$block->region]["{$block->module}_{$block->delta}"] = $block;
         }
