Index: branches/version-2_13-dev/data/module/PEAR.php
===================================================================
--- branches/version-2_13-dev/data/module/PEAR.php	(revision 23125)
+++ branches/version-2_13-dev/data/module/PEAR.php	(revision 23141)
@@ -15,5 +15,5 @@
  * @copyright  1997-2010 The Authors
  * @license    http://opensource.org/licenses/bsd-license.php New BSD License
- * @version    CVS: $Id: PEAR.php 313023 2011-07-06 19:17:11Z dufuz $
+ * @version    CVS: commit 01071ee7b71e4d38c4e96fdf0ae5e411841eaec7
  * @link       http://pear.php.net/package/PEAR
  * @since      File available since Release 0.1
@@ -79,5 +79,5 @@
  * @copyright  1997-2006 The PHP Group
  * @license    http://opensource.org/licenses/bsd-license.php New BSD License
- * @version    Release: 1.9.4
+ * @version    Release: @package_version@
  * @link       http://pear.php.net/package/PEAR
  * @see        PEAR_Error
@@ -250,4 +250,7 @@
     function isError($data, $code = null)
     {
+        if (!is_object($data)) {
+             return false;
+        }
         if (!is_a($data, 'PEAR_Error')) {
             return false;
@@ -485,4 +488,10 @@
             $message->error_message_prefix = '';
             $message     = $message->getMessage();
+
+            // Make sure right data gets passed.
+            $r = new ReflectionClass($error_class);
+            $c = $r->getConstructor();
+            $p = array_shift($c->getParameters());
+            $skipmsg = ($p->getName() != 'message');
         }
 
@@ -789,5 +798,5 @@
  * @copyright  1997-2006 The PHP Group
  * @license    http://opensource.org/licenses/bsd-license.php New BSD License
- * @version    Release: 1.9.4
+ * @version    Release: @package_version@
  * @link       http://pear.php.net/manual/en/core.pear.pear-error.php
  * @see        PEAR::raiseError(), PEAR::throwError()
