Index: includes/path.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/path.inc,v
retrieving revision 1.33
diff -u -p -r1.33 path.inc
--- includes/path.inc	3 Apr 2009 17:41:32 -0000	1.33
+++ includes/path.inc	4 May 2009 18:41:56 -0000
@@ -262,3 +262,25 @@ function drupal_match_path($path, $patte
   }
   return (bool)preg_match($regexps[$patterns], $path);
 }
+
+/**
+ * Return the current URL path of the page being viewed.
+ *
+ * Examples:
+ * - http://example.com/node/306 returns "node/306".
+ * - http://example.com/drupalfolder/node/306 returns "node/306" while
+ *   base_path() returns "/drupalfolder/".
+ * - http://example.com/path/alias (which is a path alias for
+ *   http://example.com/node/306) "node/306" as opposed to the path alias.
+ * 
+ * This function is not available in hook_boot; use $_GET['q'] instead. Also, be
+ * careful in the case of Example #3 if you use it in hook_boot as it
+ * will contain "path/alias". Calling drupal_bootstrap(DRUPAL_BOOTSTRAP_PATH)
+ * makes this function available with a return value of "node/306".
+ *
+ * @return
+ *   The current Drupal URL path.
+ */
+function current_path() {
+  return $_GET['q'];
+}
