Merged revisions 75276 via svnmerge from
svn+ssh://pythondev@www.python.org/python/branches/py3k

................
  r75276 | mark.dickinson | 2009-10-07 20:23:50 +0100 (Wed, 07 Oct 2009) | 12 lines

  Merged revisions 75275 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r75275 | mark.dickinson | 2009-10-07 20:22:05 +0100 (Wed, 07 Oct 2009) | 6 lines

    Issue #7048: logb should round its result when that result doesn't fit
    into the available precision.  (Tests for this change are included in
    the most recent set of testcases from the Decimal Specification site;
    those testcases will be updated shortly.)
  ........
................
diff --git a/Lib/decimal.py b/Lib/decimal.py
index e3fa8cb..62dcd40 100644
--- a/Lib/decimal.py
+++ b/Lib/decimal.py
@@ -3209,7 +3209,8 @@
         # otherwise, simply return the adjusted exponent of self, as a
         # Decimal.  Note that no attempt is made to fit the result
         # into the current context.
-        return Decimal(self.adjusted())
+        ans = Decimal(self.adjusted())
+        return ans._fix(context)
 
     def _islogical(self):
         """Return True if self is a logical operand.
diff --git a/Misc/NEWS b/Misc/NEWS
index 0420a82..4b6ff0b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -27,6 +27,9 @@
 Library
 -------
 
+- Issue #7048: Force Decimal.logb to round its result when that result
+  is too large to fit in the current precision.
+
 - Issue #6236, #6348: Fix various failures in the I/O library under AIX
   and other platforms, when using a non-gcc compiler. Patch by egreen.