? hyphen_remove_default_and_warn.patch
? nohup.out
Index: pathauto.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/pathauto/Attic/pathauto.inc,v
retrieving revision 1.1.2.8
diff -u -p -r1.1.2.8 pathauto.inc
--- pathauto.inc	21 Oct 2007 11:45:48 -0000	1.1.2.8
+++ pathauto.inc	21 Oct 2007 14:52:25 -0000
@@ -96,7 +96,6 @@ function pathauto_cleanstring($string, $
     $output = str_replace('/', '', $output);
   }
 
-  
   // Optionally remove accents and transliterate to a subset of ASCII-96 characters.
   if (variable_get('pathauto_transliterate', FALSE)) { 
 
@@ -345,6 +344,7 @@ function pathauto_get_placeholders($type
 function pathauto_clean_token_values($full) {
   foreach ($full->values as $key => $value) {
     
+    // If it's a "path" or "url friendly" token don't remove the "/" character
     if (substr($full->tokens[$key], -4, 4) === 'path' || substr($full->tokens[$key], -8, 8) === 'path-raw') {
       $full->values[$key] = pathauto_cleanstring($value, FALSE);
     }
Index: pathauto.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/pathauto/Attic/pathauto.install,v
retrieving revision 1.1.4.16
diff -u -p -r1.1.4.16 pathauto.install
--- pathauto.install	16 Oct 2007 14:31:55 -0000	1.1.4.16
+++ pathauto.install	21 Oct 2007 14:52:26 -0000
@@ -45,6 +45,9 @@ function pathauto_install() {
   variable_set('pathauto_user_pattern', 'users/[user-raw]');
   variable_set('pathauto_user_supportsfeeds', NULL);
   variable_set('pathauto_verbose', FALSE);
+  
+  // Make sure we "replace hyphen with separator" by default
+  variable_set('pathauto_punctuation_hyphen', 0) // 0 is replace
 
   // Set the weight to 1
   db_query("UPDATE {system} SET weight = 1 WHERE name = 'pathauto'");
Index: pathauto.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/pathauto/pathauto.module,v
retrieving revision 1.44.4.36
diff -u -p -r1.44.4.36 pathauto.module
--- pathauto.module	19 Oct 2007 00:55:15 -0000	1.44.4.36
+++ pathauto.module	21 Oct 2007 14:52:27 -0000
@@ -167,10 +167,10 @@ function pathauto_admin_settings() {
 
   $punctuation = pathauto_punctuation_chars();
   foreach ($punctuation as $name => $details) {
-    $form["punctuation"]["pathauto_punctuation_". $name ] = array('#type' => 'radios',
+    $form["punctuation"]["pathauto_punctuation_". $name ] = array('#type' => 'select',
       '#title' => $details['name'],
       '#default_value' => variable_get("pathauto_punctuation_". $name, 0),
-      '#options' => array(t('Remove'), t('Replace by separator'), t('No action (do not replace)')),
+      '#options' => array('0' => t('Remove'), '1' => t('Replace by separator'), '2' => t('No action (do not replace)')),
     );
   }
 
@@ -267,6 +267,21 @@ function pathauto_admin_settings() {
   return system_settings_form($form);
 }
 
+function pathauto_admin_settings_validate($form_id, $form_values) {
+  // Validate that the separator is not set to be removed per http://drupal.org/node/184119
+  // This isn't really all that bad so warn, but still allow them to save the value.
+  $separator = $form_values['pathauto_separator'];
+  $punctuation = pathauto_punctuation_chars();
+  foreach ($punctuation as $name => $details) {
+    if ($details['value'] == $separator) {
+      $action = $form_values['pathauto_punctuation_'. $name];
+      if ($action == 'remove') {
+        drupal_set_message(t('You have configured the @name to be the separator and to be removed when encountered in strings.  This can cause problems with your patterns and especially with the catpath and termpath patterns.',array('@name' => $details['name'])), 'error');
+      }
+    }
+  }
+}
+
 /**
  * Implementation of hook_token_values() for Pathauto specific tokens
  */
