===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.440
diff -u -r1.440 common.inc
--- includes/common.inc	7 May 2005 01:48:06 -0000	1.440
+++ includes/common.inc	12 May 2005 14:29:33 -0000
@@ -1447,10 +1447,10 @@
  */
 
 /**
- * Generate an internal Drupal URL.
+ * Generate an URL.
  *
  * @param $path
- *   The Drupal path being linked to, such as "admin/node".
+ *   The path being linked to, such as "admin/node" or "http://www.drupal.org".
  * @param $query
  *   A query string to append to the link.
  * @param $fragment
@@ -1483,6 +1483,12 @@
   }
 
   $base = ($absolute ? $base_url .'/' : '');
+  
+  if (isset($path)) {
+    if (strpos($path, '://') < 5) {
+      return $path . (isset($query) ? '&'. $query : '') . $fragment;
+    }
+  }
 
   if (variable_get('clean_url', '0') == '0') {
     if (isset($path)) {
Index: includes/theme.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/theme.inc,v
retrieving revision 1.235
diff -u -r1.235 theme.inc
--- includes/theme.inc	6 May 2005 09:01:46 -0000	1.235
+++ includes/theme.inc	12 May 2005 14:29:34 -0000
@@ -309,12 +309,7 @@
             }
             $text = $value['text'][$i];
             $link = $value['link'][$i];
-            if (substr($link, 0, 7) == 'http://') {
-              $settings[$type .'_links'][] = '<a href="'. $link .'"'. drupal_attributes($attributes) .'>'. $text .'</a>';
-            }
-            else {
-              $settings[$type .'_links'][] = l($text, $link, $attributes);
-            }
+            $settings[$type .'_links'][] = l($text, $link, $attributes);
           }
         }
         if ($settings[$type .'_links'] == array()) {
