diff --git a/Doc/api/api.tex b/Doc/api/api.tex
index e81edab..da26364 100644
--- a/Doc/api/api.tex
+++ b/Doc/api/api.tex
@@ -4,7 +4,7 @@
 
 \input{boilerplate}
 
-\makeindex			% tell \index to actually write the .idx file
+\makeindex                      % tell \index to actually write the .idx file
 
 
 \begin{document}
@@ -1476,6 +1476,14 @@
 \end{cfuncdesc}
 
 
+\begin{cfuncdesc}{PyObject*}{PyObject_Unicode}{PyObject *o}
+Compute a Unicode string representation of object \var{o}.  Returns the
+Unicode string representation on success, \NULL{} on failure.  This is
+the equivalent of the Python expression \samp{unistr(\var{o})}.
+Called by the \function{unistr()}\bifuncindex{unistr} built-in function.
+\end{cfuncdesc}
+
+
 \begin{cfuncdesc}{int}{PyCallable_Check}{PyObject *o}
 Determine if the object \var{o} is callable.  Return \code{1} if the
 object is callable and \code{0} otherwise.
@@ -3780,14 +3788,14 @@
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{PyObject*}{PyCObject_FromVoidPtr}{void* cobj, 
-	void (*destr)(void *)}
+        void (*destr)(void *)}
 Creates a \ctype{PyCObject} from the \code{void *}\var{cobj}.  The
 \var{destr} function will be called when the object is reclaimed, unless
 it is \NULL.
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{PyObject*}{PyCObject_FromVoidPtrAndDesc}{void* cobj,
-	void* desc, void (*destr)(void *, void *) }
+        void* desc, void (*destr)(void *, void *) }
 Creates a \ctype{PyCObject} from the \ctype{void *}\var{cobj}.  The
 \var{destr} function will be called when the object is reclaimed.  The
 \var{desc} argument can be used to pass extra callback data for the
@@ -4661,11 +4669,11 @@
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{PyObject*}{PyObject_Init}{PyObject *op,
-						PyTypeObject *type}
+                                                PyTypeObject *type}
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{PyVarObject*}{PyObject_InitVar}{PyVarObject *op,
-						PyTypeObject *type, int size}
+                                                PyTypeObject *type, int size}
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{\var{TYPE}*}{PyObject_New}{TYPE, PyTypeObject *type}
@@ -4909,6 +4917,6 @@
 \chapter{Reporting Bugs}
 \input{reportingbugs}
 
-\input{api.ind}			% Index -- must be last
+\input{api.ind}                 % Index -- must be last
 
 \end{document}
diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex
index 2f8dcf9..6b8d64c 100644
--- a/Doc/lib/libfuncs.tex
+++ b/Doc/lib/libfuncs.tex
@@ -694,6 +694,12 @@
 \versionadded{2.0}
 \end{funcdesc}
 
+\begin{funcdesc}{unistr}{object}
+Return a Unicode string containing a nicely printable representation of an
+object.  For Unicode, this returns the Unicode string itself.  For
+all other objects, it tries to convert \code{str(\var{object})] to Unicode.
+\end{funcdesc}
+
 \begin{funcdesc}{vars}{\optional{object}}
 Without arguments, return a dictionary corresponding to the current
 local symbol table.  With a module, class or class instance object as
