@@ -92,9 +92,9 @@ For objects, the machinery is in :meth:`object.__getattribute__` which
9292transforms ``b.x `` into ``type(b).__dict__['x'].__get__(b, type(b)) ``. The
9393implementation works through a precedence chain that gives data descriptors
9494priority over instance variables, instance variables priority over non-data
95- descriptors, and assigns lowest priority to :meth: `__getattr__ ` if provided. The
96- full C implementation can be found in :c:func: `PyObject_GenericGetAttr() ` in
97- `Objects/object.c < http://svn.python.org/view/python/trunk/Objects/object.c?view=markup >`_ \ .
95+ descriptors, and assigns lowest priority to :meth: `__getattr__ ` if provided.
96+ The full C implementation can be found in :c:func: `PyObject_GenericGetAttr() ` in
97+ :source: `Objects/object.c ` .
9898
9999For classes, the machinery is in :meth: `type.__getattribute__ ` which transforms
100100``B.x `` into ``B.__dict__['x'].__get__(None, B) ``. In pure Python, it looks
@@ -124,8 +124,8 @@ and then returns ``A.__dict__['m'].__get__(obj, B)``. If not a descriptor,
124124search using :meth: `object.__getattribute__ `.
125125
126126The implementation details are in :c:func: `super_getattro() ` in
127- `Objects/typeobject.c < http://svn.python.org/view/python/trunk/Objects/typeobject.c?view=markup >`_
128- and a pure Python equivalent can be found in `Guido's Tutorial `_.
127+ :source: `Objects/typeobject.c `. and a pure Python equivalent can be found in
128+ `Guido's Tutorial `_.
129129
130130.. _`Guido's Tutorial` : http://www.python.org/2.2.3/descrintro.html#cooperation
131131
@@ -300,10 +300,9 @@ Running the interpreter shows how the function descriptor works in practice::
300300
301301The output suggests that bound and unbound methods are two different types.
302302While they could have been implemented that way, the actual C implementation of
303- :c:type: `PyMethod_Type ` in
304- `Objects/classobject.c <http://svn.python.org/view/python/trunk/Objects/classobject.c?view=markup >`_
305- is a single object with two different representations depending on whether the
306- :attr: `im_self ` field is set or is *NULL * (the C equivalent of *None *).
303+ :c:type: `PyMethod_Type ` in :source: `Objects/classobject.c ` is a single object
304+ with two different representations depending on whether the :attr: `im_self `
305+ field is set or is *NULL * (the C equivalent of *None *).
307306
308307Likewise, the effects of calling a method object depend on the :attr: `im_self `
309308field. If set (meaning bound), the original function (stored in the
0 commit comments