Patch from Georg Brandl: Fix co_lineno of decorated function and class objects. If you see an error in test_inspect please delete all pyc files.
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index 35a3b06..794e4fa 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -239,7 +239,7 @@
     fodderFile = mod2
 
     def test_wrapped_decorator(self):
-        self.assertSourceEqual(mod2.wrapped, 16, 17)
+        self.assertSourceEqual(mod2.wrapped, 14, 17)
 
     def test_replacing_decorator(self):
         self.assertSourceEqual(mod2.gone, 9, 10)
diff --git a/Misc/NEWS b/Misc/NEWS
index 1a3ae21..3d9f418 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -363,6 +363,8 @@
 Library
 -------
 
+- inspect.getsource() includes the decorators again.
+
 - Issue #1916. Added isgenerator() and isgeneratorfunction() to inspect.py.
 
 - #1224: Fixed bad url parsing when path begins with double slash.
diff --git a/Python/ast.c b/Python/ast.c
index 97486c5..8b68182 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -1015,6 +1015,12 @@
     } else if (TYPE(CHILD(n, 1)) == classdef) {
       thing = ast_for_classdef(c, CHILD(n, 1), decorator_seq);
     }
+    /* we count the decorators in when talking about the class' or
+     * function's line number */
+    if (thing) {
+        thing->lineno = LINENO(n);
+        thing->col_offset = n->n_col_offset;
+    }
     return thing;
 }