Index: token_actions.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/token/token_actions.module,v
retrieving revision 1.4.2.5
diff -u -F^[^a-z]*function -r1.4.2.5 token_actions.module
--- token_actions.module	2 Aug 2008 17:20:36 -0000	1.4.2.5
+++ token_actions.module	10 Sep 2008 23:49:28 -0000
@@ -129,10 +129,7 @@ function token_actions_send_email_action
  * Sends an email.
  */
 function token_actions_send_email_action($object, $context) {
-  $context['global'] = NULL;
-  if (!empty($context['node']) && empty($context['user'])) {
-    $context['user'] = user_load(array('uid' => $context['node']->uid));
-  }
+  token_normalize_context($context);
   $params['from'] = variable_get('site_mail', ini_get('sendmail_from'));
   $recipient = token_replace_multiple($context['recipient'], $context);
   $params['subject'] = str_replace(array("\r", "\n"), '', token_replace_multiple($context['subject'], $context));
@@ -185,10 +182,7 @@ function token_actions_message_action_su
  * Sends a configurable message to the current user's screen.
  */
 function token_actions_message_action(&$object, $context = array()) {
-  $context['global'] = NULL;
-  if (!empty($context['node']) && empty($context['user'])) {
-    $context['user'] = user_load(array('uid' => $context['node']->uid));
-  }
+  token_normalize_context($context);
   $context['message'] = token_replace_multiple($context['message'], $context);
   drupal_set_message($context['message']);
 }
@@ -227,9 +221,21 @@ function token_actions_goto_action_submi
 }
 
 function token_actions_goto_action($object, $context) {
+  token_normalize_context($context);
+  drupal_goto(token_replace_multiple($context['url'], $context));
+}
+
+/**
+ * Load, into the context, the common objects user and node so we can use their
+ * tokens. Somtimes Trigger, or Actions, load them for us, but sometimes not.
+ */
+function token_normalize_context(&$context) {
   $context['global'] = NULL;
-  if (!empty($context['node']) && empty($context['user'])) {
+  if (empty($context['user']) && !empty($context['node'])) {
     $context['user'] = user_load(array('uid' => $context['node']->uid));
   }
-  drupal_goto(token_replace_multiple($context['url'], $context));
+  if (empty($context['node']) && !empty($context['comment']) && !empty($context['comment']->nid)) {
+    $context['node'] = node_load($context['comment']->nid);
+  }
 }
+
