--- D:\AppServ\d6\sites\all\modules\reptag\tags\block.tags.ori.inc	Tue Sep 09 21:45:34 2008
+++ D:\AppServ\d6\sites\all\modules\reptag\tags\block.tags.inc	Tue Sep 09 21:45:12 2008
@@ -21,7 +21,7 @@
   
     "#{BLOCK:([0-9]+)}#e"          => "theme('block', (object)module_invoke('block', 'block', 'view', '\\1'));",
     "#{BLOCK:(.*?):([0-9]+)}#e"    => "theme('block', (object)module_invoke('\\1', 'block', 'view', '\\2'));",
-    "#{BLOCK:(.*?):(.+?)}#e"       => "theme('block', (object)_reptag_block_by_title('\\2','\\1'));",
+    "#{BLOCK:(.*?):(.+?)(:.*?)?}#e"       => "theme('block', (object)_reptag_block_by_title('\\2','\\1', '\\3'));",
     "#{BLOCK:(.+?)}#e"             => "theme('block', (object)_reptag_block_by_title('\\1'));"
     
   );
@@ -47,14 +47,22 @@
   foreach ($list as $key => $block) {
     // seach by either admin block label or blocks display label
     if ($block['info'] == $subject) {
-      return module_invoke($module, 'block', 'view', $key);
+      $output = module_invoke($module, 'block', 'view', $key);
     }
     $block = module_invoke($module, 'block', 'view', $key);
     if ($key == $subject) {
-      return $block;
+      $output = $block;
     }
     if ($block['subject'] == $subject) {
-      return $block;
+      $output = $block;
+    }
+    if (!empty($output)) {
+      if (empty($title)) {
+        return $output;
+      } else {
+        $output['subject'] = ($title == ':#none#') ? '' : t($title);
+        return $output;      
+      }
     }
   }
 }
