Index: modules/filter/filter.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.module,v
retrieving revision 1.361
diff -u -p -r1.361 filter.module
--- modules/filter/filter.module	9 Dec 2010 02:04:16 -0000	1.361
+++ modules/filter/filter.module	19 Dec 2010 12:59:30 -0000
@@ -1364,7 +1364,7 @@ function _filter_url_settings($form, &$f
  */
 function _filter_url($text, $filter) {
   // Tags to skip and not recurse into.
-  $ignore_tags = 'a|script|style|code|pre';
+  $ignore_tags = 'a|script|style|code|pre|textarea';
 
   // Pass length to regexp callback.
   _filter_url_trim(NULL, $filter->settings['filter_url_length']);
Index: modules/filter/filter.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.test,v
retrieving revision 1.82
diff -u -p -r1.82 filter.test
--- modules/filter/filter.test	1 Dec 2010 00:00:21 -0000	1.82
+++ modules/filter/filter.test	19 Dec 2010 12:59:30 -0000
@@ -1338,6 +1338,27 @@ HTML www.example21.com soup by person@ex
         'href="http://www.example28.com"' => TRUE,
       ),
       '
+<textarea>
+Anything inside a textarea must be skipped.
+<p>Test &lt;br/&gt;: This is a www.example17.com example <strong>with</strong> various http://www.example18.com tags. *<br/>
+ It is important www.example19.com to *<br/>test different URLs and http://www.example20.com in the same paragraph. *<br>
+HTML www.example21.com soup by person@example22.com can litererally http://www.example23.com contain *img*<img> anything. Just a www.example24.com with http://www.example25.com thrown in. www.example26.com from person@example27.com with extra http://www.example28.com.
+</textarea>
+' => array(
+        'href="http://www.example17.com"' => FALSE,
+        'href="http://www.example18.com"' => FALSE,
+        'href="http://www.example19.com"' => FALSE,
+        'href="http://www.example20.com"' => FALSE,
+        'href="http://www.example21.com"' => FALSE,
+        'href="mailto:person@example22.com"' => FALSE,
+        'href="http://www.example23.com"' => FALSE,
+        'href="http://www.example24.com"' => FALSE,
+        'href="http://www.example25.com"' => FALSE,
+        'href="http://www.example26.com"' => FALSE,
+        'href="mailto:person@example27.com"' => FALSE,
+        'href="http://www.example28.com"' => FALSE,
+      ),
+      '
 <script>
 <!--
   // @see www.example.com
