Index: modules/filter/filter.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.module,v
retrieving revision 1.362
diff -u -p -r1.362 filter.module
--- modules/filter/filter.module	14 Jan 2011 08:33:46 -0000	1.362
+++ modules/filter/filter.module	10 Feb 2011 20:37:38 -0000
@@ -1603,7 +1603,7 @@ function _filter_autop($text) {
   foreach ($chunks as $i => $chunk) {
     if ($i % 2) {
       // Opening or closing tag?
-      $open = ($chunk[1] != '/' || $chunk[1] != '!');
+      $open = ($chunk[1] != '/' && $chunk[1] != '!');
       $comment = (substr($chunk, 0, 4) == '<!--');
       list($tag) = preg_split('/[ >]/', substr($chunk, 2 - $open), 2);
       if (!$ignore) {
Index: modules/filter/filter.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.test,v
retrieving revision 1.84
diff -u -p -r1.84 filter.test
--- modules/filter/filter.test	4 Feb 2011 18:42:21 -0000	1.84
+++ modules/filter/filter.test	10 Feb 2011 20:37:39 -0000
@@ -833,6 +833,11 @@ class FilterUnitTestCase extends DrupalU
       '<blockquote><pre>aaa</pre></blockquote>' => array(
         "<blockquote><pre>aaa</pre></blockquote>" => TRUE,
       ),
+      // Bug 1054632, line breaks stopped working after an ignored chunk such
+      // as <pre>.
+      "aaa\n\n<pre>bbb</pre>ccc\n\nddd" => array(
+        "<p>aaa</p>\n<pre>bbb</pre><p>ccc</p>\n<p>ddd</p>" => TRUE,
+      ),
     );
     $this->assertFilteredString($filter, $tests);
 
