backed out 648b42a75739, which was a NON-trivial whitespace commit.  It broke the Typography class's string replacements, for instance
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index 3166e2f..cd89f8f 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -1,4 +1,4 @@
-<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 /**
  * CodeIgniter
  *
@@ -31,25 +31,25 @@
 	var	$useragent		= "CodeIgniter";
 	var	$mailpath		= "/usr/sbin/sendmail";	// Sendmail path
 	var	$protocol		= "mail";	// mail/sendmail/smtp
-	var	$smtp_host		= "";		// SMTP Server. Example: mail.earthlink.net
+	var	$smtp_host		= "";		// SMTP Server.  Example: mail.earthlink.net
 	var	$smtp_user		= "";		// SMTP Username
 	var	$smtp_pass		= "";		// SMTP Password
 	var	$smtp_port		= "25";		// SMTP Port
 	var	$smtp_timeout	= 5;		// SMTP Timeout in seconds
-	var	$wordwrap		= TRUE;		// TRUE/FALSE Turns word-wrap on/off
+	var	$wordwrap		= TRUE;		// TRUE/FALSE  Turns word-wrap on/off
 	var	$wrapchars		= "76";		// Number of characters to wrap at.
-	var	$mailtype		= "text";	// text/html Defines email formatting
+	var	$mailtype		= "text";	// text/html  Defines email formatting
 	var	$charset		= "utf-8";	// Default char set: iso-8859-1 or us-ascii
 	var	$multipart		= "mixed";	// "mixed" (in the body) or "related" (separate)
 	var $alt_message	= '';		// Alternative message for HTML emails
-	var	$validate		= FALSE;	// TRUE/FALSE. Enables email validation
+	var	$validate		= FALSE;	// TRUE/FALSE.  Enables email validation
 	var	$priority		= "3";		// Default priority (1 - 5)
 	var	$newline		= "\n";		// Default newline. "\r\n" or "\n" (Use "\r\n" to comply with RFC 822)
-	var $crlf			= "\n";		// The RFC 2045 compliant CRLF for quoted-printable is "\r\n". Apparently some servers,
+	var $crlf			= "\n";		// The RFC 2045 compliant CRLF for quoted-printable is "\r\n".  Apparently some servers,
 									// even on the receiving end think they need to muck with CRLFs, so using "\n", while
 									// distasteful, is the only thing that seems to work for all environments.
-	var $send_multipart	= TRUE;		// TRUE/FALSE - Yahoo does not like multipart alternative, so this is an override. Set to FALSE for Yahoo.
-	var	$bcc_batch_mode	= FALSE;	// TRUE/FALSE Turns on/off Bcc batch feature
+	var $send_multipart	= TRUE;		// TRUE/FALSE - Yahoo does not like multipart alternative, so this is an override.  Set to FALSE for Yahoo.
+	var	$bcc_batch_mode	= FALSE;	// TRUE/FALSE  Turns on/off Bcc batch feature
 	var	$bcc_batch_size	= 200;		// If bcc_batch_mode = TRUE, sets max number of Bccs in each batch
 	var $_safe_mode		= FALSE;
 	var	$_subject		= "";
@@ -396,7 +396,7 @@
 	{
 		$this->_attach_name[] = $filename;
 		$this->_attach_type[] = $this->_mime_types(next(explode('.', basename($filename))));
-		$this->_attach_disp[] = $disposition; // Can also be 'inline' Not sure if it matters
+		$this->_attach_disp[] = $disposition; // Can also be 'inline'  Not sure if it matters
 		return $this;
 	}
 
@@ -600,7 +600,7 @@
 		$from = str_replace(">", "", $from);
 		$from = str_replace("<", "", $from);
 
-		return "<".uniqid('').strstr($from, '@').">";
+		return  "<".uniqid('').strstr($from, '@').">";
 	}
 
 	// --------------------------------------------------------------------
@@ -660,15 +660,15 @@
 	 */
 	private function _get_content_type()
 	{
-		if	($this->mailtype == 'html' && count($this->_attach_name) == 0)
+		if	($this->mailtype == 'html' &&  count($this->_attach_name) == 0)
 		{
 			return 'html';
 		}
-		elseif	($this->mailtype == 'html' && count($this->_attach_name) > 0)
+		elseif	($this->mailtype == 'html' &&  count($this->_attach_name)  > 0)
 		{
 			return 'html-attach';
 		}
-		elseif	($this->mailtype == 'text' && count($this->_attach_name) > 0)
+		elseif	($this->mailtype == 'text' &&  count($this->_attach_name)  > 0)
 		{
 			return 'plain-attach';
 		}
@@ -881,7 +881,7 @@
 
 		// Use PHP's native public function to do the initial wordwrap.
 		// We set the cut flag to FALSE so that any individual words that are
-		// too long get left alone. In the next step we'll deal with them.
+		// too long get left alone.  In the next step we'll deal with them.
 		$str = wordwrap($str, $charlim, "\n", FALSE);
 
 		// Split the string into individual lines of text and cycle through them
@@ -999,7 +999,7 @@
 	 */
 	private function _build_message()
 	{
-		if ($this->wordwrap === TRUE AND $this->mailtype != 'html')
+		if ($this->wordwrap === TRUE  AND  $this->mailtype != 'html')
 		{
 			$this->_body = $this->word_wrap($this->_body);
 		}
@@ -1135,7 +1135,7 @@
 				return FALSE;
 			}
 
-			$h = "--".$this->_atc_boundary.$this->newline;
+			$h  = "--".$this->_atc_boundary.$this->newline;
 			$h .= "Content-type: ".$ctype."; ";
 			$h .= "name=\"".$basename."\"".$this->newline;
 			$h .= "Content-Disposition: ".$this->_attach_disp[$i].";".$this->newline;
@@ -1237,7 +1237,7 @@
 				// encode = signs
 				if ($ascii == '61')
 				{
-					$char = $escape.strtoupper(sprintf('%02s', dechex($ascii))); // =3D
+					$char = $escape.strtoupper(sprintf('%02s', dechex($ascii)));  // =3D
 				}
 
 				// If we're at the character limit, add the line to the output,
@@ -1267,7 +1267,7 @@
 	/**
 	 * Prep Q Encoding
 	 *
-	 * Performs "Q Encoding" on a string for use in email headers. It's related
+	 * Performs "Q Encoding" on a string for use in email headers.  It's related
 	 * but not identical to quoted-printable, so it has its own method
 	 *
 	 * @access	public
@@ -1349,7 +1349,7 @@
 			$this->reply_to($this->_headers['From']);
 		}
 
-		if (( ! isset($this->_recipients) AND ! isset($this->_headers['To'])) AND
+		if (( ! isset($this->_recipients) AND ! isset($this->_headers['To']))  AND
 			( ! isset($this->_bcc_array) AND ! isset($this->_headers['Bcc'])) AND
 			( ! isset($this->_headers['Cc'])))
 		{
@@ -1359,7 +1359,7 @@
 
 		$this->_build_headers();
 
-		if ($this->bcc_batch_mode AND count($this->_bcc_array) > 0)
+		if ($this->bcc_batch_mode  AND  count($this->_bcc_array) > 0)
 		{
 			if (count($this->_bcc_array) > $this->bcc_batch_size)
 				return $this->batch_bcc_send();
@@ -1380,7 +1380,7 @@
 	// --------------------------------------------------------------------
 
 	/**
-	 * Batch Bcc Send. Sends groups of BCCs in batches
+	 * Batch Bcc Send.  Sends groups of BCCs in batches
 	 *
 	 * @access	public
 	 * @return	bool
@@ -1752,7 +1752,7 @@
 	// --------------------------------------------------------------------
 
 	/**
-	 * SMTP Authenticate
+	 *  SMTP Authenticate
 	 *
 	 * @access	private
 	 * @return	bool
@@ -1764,7 +1764,7 @@
 			return TRUE;
 		}
 
-		if ($this->smtp_user == "" AND $this->smtp_pass == "")
+		if ($this->smtp_user == ""  AND  $this->smtp_pass == "")
 		{
 			$this->_set_error_message('lang:email_no_smtp_unpw');
 			return FALSE;