Index: includes/coder_6x.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/coder/includes/coder_6x.inc,v
retrieving revision 1.17.2.44
diff -u -r1.17.2.44 coder_6x.inc
--- includes/coder_6x.inc 20 Feb 2008 14:52:41 -0000 1.17.2.44
+++ includes/coder_6x.inc 20 Feb 2008 16:51:53 -0000
@@ -431,6 +431,12 @@
       '#value' => 'function\s+[a-z0-9_]+_(access)\s*\(('. $argex .'\s*,\s*)('. $argex .')\s*\)',
       '#warning_callback' => '_coder_6x_hook_access_warning',
     ),
+    array(
+      '#type' => 'regex',
+      '#function' => '_submit$',
+      '#value' => '\s+return\s+('. $argex .');',
+      '#warning_callback' => '_coder_6x_form_submit_warning',
+    ),
   );
   $review = array(
     '#title' => t('Converting 5.x modules to 6.x'),
@@ -1149,3 +1155,10 @@
     '#link' => 'http://drupal.org/node/114774#hook_access',
   );
 }
+
+function _coder_6x_form_submit_warning() {
+  return array(
+    '#warning' => t('Submit handlers use $form_state rather than returning urls'),
+    '#link' => 'http://drupal.org/node/144132#redirect',
+  );
+}
Index: tests/coder_6x.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/coder/tests/coder_6x.inc,v
retrieving revision 1.5.2.22
diff -u -r1.5.2.22 coder_6x.inc
--- tests/coder_6x.inc 20 Feb 2008 14:52:41 -0000 1.5.2.22
+++ tests/coder_6x.inc 20 Feb 2008 16:51:53 -0000
@@ -172,6 +172,8 @@
 function myform_submit($form_id, $form) { // This will fail.
   $form['#submit']['newsubmit'] = array();
   $form['#submit'][] = "newsubmit";
+  return $foo; // Not ok.
+  return 'my/path'; // Not ok.
 }

 function mymodule_info($field = 0) {
