Index: pathauto.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/pathauto/pathauto.admin.inc,v
retrieving revision 1.20
diff -u -p -r1.20 pathauto.admin.inc
--- pathauto.admin.inc	13 Sep 2008 08:54:06 -0000	1.20
+++ pathauto.admin.inc	3 Jul 2009 19:02:29 -0000
@@ -94,16 +94,7 @@ function pathauto_admin_settings() {
     '#description' => t('Maximum number of objects of a given type which should be aliased during a bulk update. The default is 50 and the recommended number depends on the speed of your server. If bulk updates "time out" or result in a "white screen" then reduce the number.'),
   );
 
-  $actions = array(
-    t('Do nothing. Leave the old alias intact.'),
-    t('Create a new alias. Leave the existing alias functioning.'),
-    t('Create a new alias. Delete the old alias.'),
-  );
-
-  if (function_exists('path_redirect_save')) {
-    $actions[] = t('Create a new alias. Redirect from old alias.');
-  }
-  elseif (variable_get('pathauto_update_action', PATHAUTO_UPDATE_ACTION_DELETE) == PATHAUTO_UPDATE_ACTION_REDIRECT) {
+  if (!module_exists('path_redirect') && variable_get('pathauto_update_action', PATHAUTO_UPDATE_ACTION_DELETE) == PATHAUTO_UPDATE_ACTION_REDIRECT) {
     // the redirect action is selected, but path_redirect is not enabled
     // let's set the variable back to the default
     variable_set('pathauto_update_action', PATHAUTO_UPDATE_ACTION_DELETE);
@@ -113,8 +104,14 @@ function pathauto_admin_settings() {
     '#type' => 'radios',
     '#title' => t('Update action'),
     '#default_value' => variable_get('pathauto_update_action', PATHAUTO_UPDATE_ACTION_DELETE),
-    '#options' => $actions,
+    '#options' => array(
+      PATHAUTO_UPDATE_ACTION_NO_NEW => t('Do nothing. Leave the old alias intact.'),
+      PATHAUTO_UPDATE_ACTION_LEAVE => t('Create a new alias. Leave the existing alias functioning.'),
+      PATHAUTO_UPDATE_ACTION_DELETE => t('Create a new alias. Delete the old alias.'),
+      PATHAUTO_UPDATE_ACTION_REDIRECT => t('<strong>Recommended</strong>: Create a new alias. Redirect from old alias.'),
+    ),
     '#description' => t('What should Pathauto do when updating an existing content item which already has an alias?'),
+    '#process' => array('expand_radios', 'pathauto_process_update_action'),
   );
 
   $disable_transliteration = FALSE;
@@ -306,6 +303,17 @@ function pathauto_admin_settings() {
 }
 
 /**
+ * Disable the redirect update option if the path_redirect module is disabled.
+ */
+function pathauto_process_update_action($element) {
+  if (!module_exists('path_redirect')) {
+    $element[PATHAUTO_UPDATE_ACTION_REDIRECT]['#disabled'] = TRUE;
+    $element[PATHAUTO_UPDATE_ACTION_REDIRECT]['#title'] .= ' ' . t('This option requires the <a href="@path-redirect">Path redirect module</a>.', array('@path-redirect' => 'http://drupal.org/project/path_redirect'));
+  }
+  return $element;
+}
+
+/**
  * Helper function for pathauto_admin_settings().
  *
  * See if they are using all -raw tokens available
Index: pathauto.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/pathauto/pathauto.inc,v
retrieving revision 1.51
diff -u -p -r1.51 pathauto.inc
--- pathauto.inc	21 Mar 2009 00:24:28 -0000	1.51
+++ pathauto.inc	3 Jul 2009 19:02:30 -0000
@@ -40,7 +40,7 @@ define('PATHAUTO_UPDATE_ACTION_DELETE', 
 /**
  * "Create a new alias. Redirect from old alias."
  *
- * This is only available when the Path Redirect module is.
+ * This is only available when the Path Redirect module is enabled.
  */
 define('PATHAUTO_UPDATE_ACTION_REDIRECT', 3);
 
Index: pathauto.info
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/pathauto/pathauto.info,v
retrieving revision 1.5
diff -u -p -r1.5 pathauto.info
--- pathauto.info	21 Mar 2009 00:24:28 -0000	1.5
+++ pathauto.info	3 Jul 2009 19:02:30 -0000
@@ -3,5 +3,5 @@ name = Pathauto
 description = Provides a mechanism for modules to automatically generate aliases for the content they manage.
 dependencies[] = path
 dependencies[] = token
-suggests[] = path_redirect
+recommends[] = path_redirect
 core = 6.x
Index: pathauto.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/pathauto/pathauto.install,v
retrieving revision 1.13
diff -u -p -r1.13 pathauto.install
--- pathauto.install	28 May 2008 16:04:35 -0000	1.13
+++ pathauto.install	3 Jul 2009 19:02:30 -0000
@@ -9,6 +9,25 @@
  */
 
 /**
+* Implementation of hook_requirements().
+*/
+function pathauto_requirements($phase) {
+  $requirements = array();
+  $t = get_t();
+
+  if (variable_get('pathauto_update_action', 2) == 2 && !module_exists('path_redirect')) {
+    $requirements['pathauto_redirects'] = array(
+      'title' => $t('Pathauto alias update action'),
+      'value' => 'Automatic redirection not enabled',
+      'description' => $t('Pathauto strongly recommends installing and enabling the <a href="@path-redirect">Path redirect module</a> to automatically create redirects when aliases are changed. This helps prevent your users from receiving page not found (404) errors.', array('@path-redirect' => url('http://drupal.org/project/path_redirect'))),
+      'severity' => REQUIREMENT_WARNING,
+    );
+  }
+
+  return $requirements;
+}
+
+/**
  * Implementation of hook_install().
  */
 function pathauto_install() {
@@ -40,7 +59,7 @@ function pathauto_install() {
   variable_set('pathauto_node_story_pattern', '');
   variable_set('pathauto_punctuation_quotes', 0);
   variable_set('pathauto_separator', '-');
-  variable_set('pathauto_update_action', '2');
+  variable_set('pathauto_update_action', module_exists('path_redirect') ? 3 : 2);
   variable_set('pathauto_user_bulkupdate', FALSE);
   variable_set('pathauto_user_pattern', 'users/[user-raw]');
   variable_set('pathauto_user_supportsfeeds', NULL);
