]> granicus.if.org Git - python/commitdiff
Consistency:
authorFred Drake <fdrake@acm.org>
Tue, 13 Jan 1998 18:51:10 +0000 (18:51 +0000)
committerFred Drake <fdrake@acm.org>
Tue, 13 Jan 1998 18:51:10 +0000 (18:51 +0000)
"Unix" ==> "\UNIX{}"

"C" ==> "\C{}"

"C++" ==> "\Cpp{}"

Doc/api.tex
Doc/api/api.tex

index ac6aba643e5dc2510c1fab39b37651acb244cc73..1a349e0f3301abe3274bbd92c4c17a4f0c6dbcc4 100644 (file)
@@ -20,7 +20,7 @@
 \begin{abstract}
 
 \noindent
-This manual documents the API used by C (or C++) programmers who want
+This manual documents the API used by \C{} (or \Cpp{}) programmers who want
 to write extension modules or embed Python.  It is a companion to
 ``Extending and Embedding the Python Interpreter'', which describes
 the general principles of extension writing but does not document the
@@ -42,12 +42,12 @@ source code releases.
 
 \chapter{Introduction}
 
-The Application Programmer's Interface to Python gives C and C++
+The Application Programmer's Interface to Python gives \C{} and \Cpp{}
 programmers access to the Python interpreter at a variety of levels.
-The API is equally usable from C++, but for brevity it is generally
-referred to as the Python/C API.  There are two fundamentally
-different reasons for using the Python/C API.  The first reason is to
-write ``extension modules'' for specific purposes; these are C modules
+The API is equally usable from \Cpp{}, but for brevity it is generally
+referred to as the Python/\C{} API.  There are two fundamentally
+different reasons for using the Python/\C{} API.  The first reason is to
+write ``extension modules'' for specific purposes; these are \C{} modules
 that extend the Python interpreter.  This is probably the most common
 use.  The second reason is to use Python as a component in a larger
 application; this technique is generally referred to as ``embedding''
@@ -97,7 +97,7 @@ return value of type \code{PyObject *}.  This type is a pointer
 object.  Since all Python object types are treated the same way by the
 Python language in most situations (e.g., assignments, scope rules,
 and argument passing), it is only fitting that they should be
-represented by a single C type.  All Python objects live on the heap:
+represented by a single \C{} type.  All Python objects live on the heap:
 you never declare an automatic or static variable of type
 \code{PyObject}, only pointer variables of type \code{PyObject *} can 
 be declared.
@@ -115,8 +115,8 @@ iff the object pointed to by \code{a} is a Python list.
 The reference count is important because today's computers have a 
 finite (and often severly limited) memory size; it counts how many 
 different places there are that have a reference to an object.  Such a 
-place could be another object, or a global (or static) C variable, or 
-a local variable in some C function.  When an object's reference count 
+place could be another object, or a global (or static) \C{} variable, or 
+a local variable in some \C{} function.  When an object's reference count 
 becomes zero, the object is deallocated.  If it contains references to 
 other objects, their reference count is decremented.  Those other 
 objects may be deallocated in turn, if this decrement makes their 
@@ -150,7 +150,7 @@ long as our variable is pointing to it.  If we know that there is at
 least one other reference to the object that lives at least as long as 
 our variable, there is no need to increment the reference count 
 temporarily.  An important situation where this arises is in objects 
-that are passed as arguments to C functions in an extension module 
+that are passed as arguments to \C{} functions in an extension module 
 that are called from Python; the call mechanism guarantees to hold a 
 reference to every argument for the duration of the call.
 
@@ -228,7 +228,7 @@ PySequence_SetItem(l, 2, x); Py_DECREF(x);
 You might find it strange that the ``recommended'' approach takes more
 code.  However, in practice, you will rarely use these ways of
 creating and populating a tuple or list.  There's a generic function,
-\code{Py_BuildValue()}, that can create most common objects from 
+\code{Py_BuildValue()}, that can create most common objects from \C{}
 values, directed by a ``format string''.  For example, the above two 
 blocks of code could be replaced by the following (which also takes 
 care of the error checking!):
@@ -328,7 +328,7 @@ long sum_sequence(PyObject *sequence)
 \subsection{Types}
 
 There are few other data types that play a significant role in 
-the Python/C API; most are simple C types such as \code{int}, 
+the Python/C API; most are simple \C{} types such as \code{int}, 
 \code{long}, \code{double} and \code{char *}.  A few structure types 
 are used to describe static tables used to list the functions exported 
 by a module or the data attributes of a new object type.  These will 
@@ -342,7 +342,7 @@ propagated to the caller, then to the caller's caller, and so on, till
 they reach the top-level interpreter, where they are reported to the 
 user accompanied by a stack traceback.
 
-For C programmers, however, error checking always has to be explicit.  
+For \C{} programmers, however, error checking always has to be explicit.  
 All functions in the Python/C API can raise exceptions, unless an 
 explicit claim is made otherwise in a function's documentation.  In 
 general, when a function encounters an error, it sets an exception, 
@@ -369,8 +369,8 @@ value, and the traceback.  These have the same meanings as the Python
 object \code{sys.exc_type}, \code{sys.exc_value}, 
 \code{sys.exc_traceback}; however, they are not the same: the Python 
 objects represent the last exception being handled by a Python 
-\code{try...except} statement, while the C level exception state only 
-exists while an exception is being passed on between C functions until 
+\code{try...except} statement, while the \C{} level exception state only 
+exists while an exception is being passed on between \C{} functions until 
 it reaches the Python interpreter, which takes care of transferring it 
 to \code{sys.exc_type} and friends.
 
@@ -410,7 +410,7 @@ def incr_item(dict, key):
     return item + 1
 \end{verbatim}
 
-Here is the corresponding C code, in all its glory:
+Here is the corresponding \C{} code, in all its glory:
 
 \begin{verbatim}
 int incr_item(PyObject *dict, PyObject *key)
@@ -453,7 +453,7 @@ int incr_item(PyObject *dict, PyObject *key)
 \end{verbatim}
 
 This example represents an endorsed use of the \code{goto} statement 
-in C!  It illustrates the use of \code{PyErr_ExceptionMatches()} and 
+in \C{}!  It illustrates the use of \code{PyErr_ExceptionMatches()} and 
 \code{PyErr_Clear()} to handle specific exceptions, and the use of 
 \code{Py_XDECREF()} to dispose of owned references that may be 
 \NULL{} (note the `X' in the name; \code{Py_DECREF()} would crash 
@@ -483,7 +483,7 @@ will be executed later, it must be set explicitly with a call to
 \code{PySys_SetArgv(\var{argc}, \var{argv})} subsequent to the call 
 to \code{Py_Initialize()}.
 
-On most systems (in particular, on Unix and Windows, although the
+On most systems (in particular, on \UNIX{} and Windows, although the
 details are slightly different), \code{Py_Initialize()} calculates the
 module search path based upon its best guess for the location of the
 standard Python interpreter executable, assuming that the Python
@@ -532,13 +532,13 @@ Print a fatal error message and kill the process.  No cleanup is
 performed.  This function should only be invoked when a condition is
 detected that would make it dangerous to continue using the Python
 interpreter; e.g., when the object administration appears to be
-corrupted.  On Unix, the standard C library function \code{abort()} is 
+corrupted.  On \UNIX{}, the standard \C{} library function \code{abort()} is 
 called which will attempt to produce a \file{core} file.
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{void}{Py_Exit}{int status}
 Exit the current process.  This calls \code{Py_Finalize()} and then
-calls the standard C library function \code{exit(0)}.
+calls the standard \C{} library function \code{exit(0)}.
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{int}{Py_AtExit}{void (*func) ()}
@@ -605,7 +605,7 @@ PyMem_RESIZE(), PyMem_DEL(), PyMem_XDEL().
 
 The functions in this chapter will let you handle and raise Python
 exceptions.  It is important to understand some of the basics of
-Python exception handling.  It works somewhat like the Unix
+Python exception handling.  It works somewhat like the \UNIX{}
 \code{errno} variable: there is a global indicator (per thread) of the
 last error that occurred.  Most functions don't clear this on success,
 but will set it to indicate the cause of the error on failure.  Most
@@ -729,8 +729,8 @@ returns \NULL{} so an object allocation function can write
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{PyObject *}{PyErr_SetFromErrno}{PyObject *type}
-This is a convenience function to raise an exception when a C library
-function has returned an error and set the C variable \code{errno}.
+This is a convenience function to raise an exception when a \C{} library
+function has returned an error and set the \C{} variable \code{errno}.
 It constructs a tuple object whose first item is the integer
 \code{errno} value and whose second item is the corresponding error
 message (gotten from \code{strerror()}), and then calls
@@ -772,11 +772,11 @@ raised.
 PyObject *base, PyObject *dict}
 \strong{(NEW in 1.5a4!)}
 This utility function creates and returns a new exception object.  The
-\var{name} argument must be the name of the new exception, a C string
+\var{name} argument must be the name of the new exception, a \C{} string
 of the form \code{module.class}.  The \var{base} and \var{dict}
 arguments are normally \NULL{}.  Normally, this creates a class
 object derived from the root for all exceptions, the built-in name
-\code{Exception} (accessible in C as \code{PyExc_Exception}).  In this
+\code{Exception} (accessible in \C{} as \code{PyExc_Exception}).  In this
 case the \code{__module__} attribute of the new class is set to the
 first part (up to the last dot) of the \var{name} argument, and the
 class name is set to the last part (after the last dot).  When the
@@ -825,7 +825,7 @@ in Python 1.5a4):
 \chapter{Utilities}
 
 The functions in this chapter perform various utility tasks, such as
-parsing function arguments and constructing Python values from C
+parsing function arguments and constructing Python values from \C{}
 values.
 
 \section{OS Utilities}
@@ -842,7 +842,7 @@ the strings \code{"<stdin>"} or \code{"???"}.
 \begin{cfuncdesc}{long}{PyOS_GetLastModificationTime}{char *filename}
 Return the time of last modification of the file \code{filename}.
 The result is encoded in the same way as the timestamp returned by
-the standard C library function \code{time()}.
+the standard \C{} library function \code{time()}.
 \end{cfuncdesc}
 
 
@@ -1142,7 +1142,7 @@ of the Python expression: \code{apply(o, args)}.
 
 \begin{cfuncdesc}{PyObject*}{PyObject_CallFunction}{PyObject *callable_object, char *format, ...}
 Call a callable Python object \code{callable_object}, with a
-variable number of C arguments. The C arguments are described
+variable number of \C{} arguments. The \C{} arguments are described
 using a mkvalue-style format string. The format may be \NULL{},
 indicating that no arguments are provided.  Returns the
 result of the call on success, or \NULL{} on failure.  This is
@@ -1152,7 +1152,7 @@ the equivalent of the Python expression: \code{apply(o,args)}.
 
 \begin{cfuncdesc}{PyObject*}{PyObject_CallMethod}{PyObject *o, char *m, char *format, ...}
 Call the method named \code{m} of object \code{o} with a variable number of
-C arguments.  The C arguments are described by a mkvalue
+C arguments.  The \C{} arguments are described by a mkvalue
 format string.  The format may be \NULL{}, indicating that no
 arguments are provided. Returns the result of the call on
 success, or \NULL{} on failure.  This is the equivalent of the
@@ -1541,12 +1541,12 @@ statement: \code{o[key]=v}.
 \begin{cfuncdesc}{PyObject*}{PyFile_FromString}{char *file_name, char *mode}
 On success, returns a new file object that is opened on the
 file given by \code{file_name}, with a file mode given by \code{mode},
-where \code{mode} has the same semantics as the standard C routine,
+where \code{mode} has the same semantics as the standard \C{} routine,
 fopen.  On failure, return -1.
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{PyObject*}{PyFile_FromFile}{FILE *fp, char *file_name, char *mode, int close_on_del}
-Return a new file object for an already opened standard C
+Return a new file object for an already opened standard \C{}
 file pointer, \code{fp}.  A file name, \code{file_name}, and open mode,
 \code{mode}, must be provided as well as a flag, \code{close_on_del}, that
 indicates whether the file is to be closed when the file
@@ -1691,7 +1691,7 @@ modules, including the fundamental modules \code{__builtin__},
 also separate.  The new environment has no \code{sys.argv} variable.  
 It has new standard I/O stream file objects \code{sys.stdin}, 
 \code{sys.stdout} and \code{sys.stderr} (however these refer to the 
-same underlying \code{FILE} structures in the C library).
+same underlying \code{FILE} structures in the \C{} library).
 
 The return value points to the first thread state created in the new 
 sub-interpreter.  This thread state is made the current thread state.  
@@ -1775,7 +1775,7 @@ static storage; the caller should not modify its value.  This
 corresponds to the \code{prefix} variable in the top-level 
 \code{Makefile} and the \code{--prefix} argument to the 
 \code{configure} script at build time.  The value is available to 
-Python code as \code{sys.prefix}.  It is only useful on Unix.  See 
+Python code as \code{sys.prefix}.  It is only useful on \UNIX{}.  See 
 also the next function.
 \end{cfuncdesc}
 
@@ -1790,7 +1790,7 @@ the caller should not modify its value.  This corresponds to the
 \code{exec_prefix} variable in the top-level \code{Makefile} and the 
 \code{--exec_prefix} argument to the \code{configure} script at build 
 time.  The value is available to Python code as 
-\code{sys.exec_prefix}.  It is only useful on Unix.
+\code{sys.exec_prefix}.  It is only useful on \UNIX{}.
 
 Background: The exec-prefix differs from the prefix when platform 
 dependent files (such as executables and shared libraries) are 
@@ -1804,7 +1804,7 @@ software families, e.g.  Sparc machines running the Solaris 2.x
 operating system are considered the same platform, but Intel machines 
 running Solaris 2.x are another platform, and Intel machines running 
 Linux are yet another platform.  Different major revisions of the same 
-operating system generally also form different platforms.  Non-Unix 
+operating system generally also form different platforms.  Non-\UNIX{} 
 operating systems are a different story; the installation strategies 
 on those systems are so different that the prefix and exec-prefix are 
 meaningless, and set to the empty string.  Note that compiled Python 
@@ -1832,7 +1832,7 @@ Return the default module search path; this is computed from the
 program name (set by \code{Py_SetProgramName()} above) and some 
 environment variables.  The returned string consists of a series of 
 directory names separated by a platform dependent delimiter character.  
-The delimiter character is \code{':'} on Unix, \code{';'} on 
+The delimiter character is \code{':'} on \UNIX{}, \code{';'} on 
 DOS/Windows, and \code{'\\n'} (the ASCII newline character) on 
 Macintosh.  The returned string points into static storage; the caller 
 should not modify its value.  The value is available to Python code 
@@ -1858,7 +1858,7 @@ Python code as the list \code{sys.version}.
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{const char *}{Py_GetPlatform}{}
-Return the platform identifier for the current platform.  On Unix
+Return the platform identifier for the current platform.  On \UNIX{}
 this is formed from the ``official'' name of the operating system, 
 converted to lower case, followed by the major revision number; e.g., 
 for Solaris 2.x, which is also known as SunOS 5.x, the value is 
@@ -2014,7 +2014,7 @@ Reversely, when acquiring the lock and restoring the thread state, the
 lock must be acquired before storing the thread state pointer.
 
 Why am I going on with so much detail about this?  Because when
-threads are created from C, they don't have the global interpreter
+threads are created from \C{}, they don't have the global interpreter
 lock, nor is there a thread state data structure for them.  Such
 threads must bootstrap themselves into existence, by first creating a
 thread state data structure, then acquiring the lock, and finally
index ac6aba643e5dc2510c1fab39b37651acb244cc73..1a349e0f3301abe3274bbd92c4c17a4f0c6dbcc4 100644 (file)
@@ -20,7 +20,7 @@
 \begin{abstract}
 
 \noindent
-This manual documents the API used by C (or C++) programmers who want
+This manual documents the API used by \C{} (or \Cpp{}) programmers who want
 to write extension modules or embed Python.  It is a companion to
 ``Extending and Embedding the Python Interpreter'', which describes
 the general principles of extension writing but does not document the
@@ -42,12 +42,12 @@ source code releases.
 
 \chapter{Introduction}
 
-The Application Programmer's Interface to Python gives C and C++
+The Application Programmer's Interface to Python gives \C{} and \Cpp{}
 programmers access to the Python interpreter at a variety of levels.
-The API is equally usable from C++, but for brevity it is generally
-referred to as the Python/C API.  There are two fundamentally
-different reasons for using the Python/C API.  The first reason is to
-write ``extension modules'' for specific purposes; these are C modules
+The API is equally usable from \Cpp{}, but for brevity it is generally
+referred to as the Python/\C{} API.  There are two fundamentally
+different reasons for using the Python/\C{} API.  The first reason is to
+write ``extension modules'' for specific purposes; these are \C{} modules
 that extend the Python interpreter.  This is probably the most common
 use.  The second reason is to use Python as a component in a larger
 application; this technique is generally referred to as ``embedding''
@@ -97,7 +97,7 @@ return value of type \code{PyObject *}.  This type is a pointer
 object.  Since all Python object types are treated the same way by the
 Python language in most situations (e.g., assignments, scope rules,
 and argument passing), it is only fitting that they should be
-represented by a single C type.  All Python objects live on the heap:
+represented by a single \C{} type.  All Python objects live on the heap:
 you never declare an automatic or static variable of type
 \code{PyObject}, only pointer variables of type \code{PyObject *} can 
 be declared.
@@ -115,8 +115,8 @@ iff the object pointed to by \code{a} is a Python list.
 The reference count is important because today's computers have a 
 finite (and often severly limited) memory size; it counts how many 
 different places there are that have a reference to an object.  Such a 
-place could be another object, or a global (or static) C variable, or 
-a local variable in some C function.  When an object's reference count 
+place could be another object, or a global (or static) \C{} variable, or 
+a local variable in some \C{} function.  When an object's reference count 
 becomes zero, the object is deallocated.  If it contains references to 
 other objects, their reference count is decremented.  Those other 
 objects may be deallocated in turn, if this decrement makes their 
@@ -150,7 +150,7 @@ long as our variable is pointing to it.  If we know that there is at
 least one other reference to the object that lives at least as long as 
 our variable, there is no need to increment the reference count 
 temporarily.  An important situation where this arises is in objects 
-that are passed as arguments to C functions in an extension module 
+that are passed as arguments to \C{} functions in an extension module 
 that are called from Python; the call mechanism guarantees to hold a 
 reference to every argument for the duration of the call.
 
@@ -228,7 +228,7 @@ PySequence_SetItem(l, 2, x); Py_DECREF(x);
 You might find it strange that the ``recommended'' approach takes more
 code.  However, in practice, you will rarely use these ways of
 creating and populating a tuple or list.  There's a generic function,
-\code{Py_BuildValue()}, that can create most common objects from 
+\code{Py_BuildValue()}, that can create most common objects from \C{}
 values, directed by a ``format string''.  For example, the above two 
 blocks of code could be replaced by the following (which also takes 
 care of the error checking!):
@@ -328,7 +328,7 @@ long sum_sequence(PyObject *sequence)
 \subsection{Types}
 
 There are few other data types that play a significant role in 
-the Python/C API; most are simple C types such as \code{int}, 
+the Python/C API; most are simple \C{} types such as \code{int}, 
 \code{long}, \code{double} and \code{char *}.  A few structure types 
 are used to describe static tables used to list the functions exported 
 by a module or the data attributes of a new object type.  These will 
@@ -342,7 +342,7 @@ propagated to the caller, then to the caller's caller, and so on, till
 they reach the top-level interpreter, where they are reported to the 
 user accompanied by a stack traceback.
 
-For C programmers, however, error checking always has to be explicit.  
+For \C{} programmers, however, error checking always has to be explicit.  
 All functions in the Python/C API can raise exceptions, unless an 
 explicit claim is made otherwise in a function's documentation.  In 
 general, when a function encounters an error, it sets an exception, 
@@ -369,8 +369,8 @@ value, and the traceback.  These have the same meanings as the Python
 object \code{sys.exc_type}, \code{sys.exc_value}, 
 \code{sys.exc_traceback}; however, they are not the same: the Python 
 objects represent the last exception being handled by a Python 
-\code{try...except} statement, while the C level exception state only 
-exists while an exception is being passed on between C functions until 
+\code{try...except} statement, while the \C{} level exception state only 
+exists while an exception is being passed on between \C{} functions until 
 it reaches the Python interpreter, which takes care of transferring it 
 to \code{sys.exc_type} and friends.
 
@@ -410,7 +410,7 @@ def incr_item(dict, key):
     return item + 1
 \end{verbatim}
 
-Here is the corresponding C code, in all its glory:
+Here is the corresponding \C{} code, in all its glory:
 
 \begin{verbatim}
 int incr_item(PyObject *dict, PyObject *key)
@@ -453,7 +453,7 @@ int incr_item(PyObject *dict, PyObject *key)
 \end{verbatim}
 
 This example represents an endorsed use of the \code{goto} statement 
-in C!  It illustrates the use of \code{PyErr_ExceptionMatches()} and 
+in \C{}!  It illustrates the use of \code{PyErr_ExceptionMatches()} and 
 \code{PyErr_Clear()} to handle specific exceptions, and the use of 
 \code{Py_XDECREF()} to dispose of owned references that may be 
 \NULL{} (note the `X' in the name; \code{Py_DECREF()} would crash 
@@ -483,7 +483,7 @@ will be executed later, it must be set explicitly with a call to
 \code{PySys_SetArgv(\var{argc}, \var{argv})} subsequent to the call 
 to \code{Py_Initialize()}.
 
-On most systems (in particular, on Unix and Windows, although the
+On most systems (in particular, on \UNIX{} and Windows, although the
 details are slightly different), \code{Py_Initialize()} calculates the
 module search path based upon its best guess for the location of the
 standard Python interpreter executable, assuming that the Python
@@ -532,13 +532,13 @@ Print a fatal error message and kill the process.  No cleanup is
 performed.  This function should only be invoked when a condition is
 detected that would make it dangerous to continue using the Python
 interpreter; e.g., when the object administration appears to be
-corrupted.  On Unix, the standard C library function \code{abort()} is 
+corrupted.  On \UNIX{}, the standard \C{} library function \code{abort()} is 
 called which will attempt to produce a \file{core} file.
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{void}{Py_Exit}{int status}
 Exit the current process.  This calls \code{Py_Finalize()} and then
-calls the standard C library function \code{exit(0)}.
+calls the standard \C{} library function \code{exit(0)}.
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{int}{Py_AtExit}{void (*func) ()}
@@ -605,7 +605,7 @@ PyMem_RESIZE(), PyMem_DEL(), PyMem_XDEL().
 
 The functions in this chapter will let you handle and raise Python
 exceptions.  It is important to understand some of the basics of
-Python exception handling.  It works somewhat like the Unix
+Python exception handling.  It works somewhat like the \UNIX{}
 \code{errno} variable: there is a global indicator (per thread) of the
 last error that occurred.  Most functions don't clear this on success,
 but will set it to indicate the cause of the error on failure.  Most
@@ -729,8 +729,8 @@ returns \NULL{} so an object allocation function can write
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{PyObject *}{PyErr_SetFromErrno}{PyObject *type}
-This is a convenience function to raise an exception when a C library
-function has returned an error and set the C variable \code{errno}.
+This is a convenience function to raise an exception when a \C{} library
+function has returned an error and set the \C{} variable \code{errno}.
 It constructs a tuple object whose first item is the integer
 \code{errno} value and whose second item is the corresponding error
 message (gotten from \code{strerror()}), and then calls
@@ -772,11 +772,11 @@ raised.
 PyObject *base, PyObject *dict}
 \strong{(NEW in 1.5a4!)}
 This utility function creates and returns a new exception object.  The
-\var{name} argument must be the name of the new exception, a C string
+\var{name} argument must be the name of the new exception, a \C{} string
 of the form \code{module.class}.  The \var{base} and \var{dict}
 arguments are normally \NULL{}.  Normally, this creates a class
 object derived from the root for all exceptions, the built-in name
-\code{Exception} (accessible in C as \code{PyExc_Exception}).  In this
+\code{Exception} (accessible in \C{} as \code{PyExc_Exception}).  In this
 case the \code{__module__} attribute of the new class is set to the
 first part (up to the last dot) of the \var{name} argument, and the
 class name is set to the last part (after the last dot).  When the
@@ -825,7 +825,7 @@ in Python 1.5a4):
 \chapter{Utilities}
 
 The functions in this chapter perform various utility tasks, such as
-parsing function arguments and constructing Python values from C
+parsing function arguments and constructing Python values from \C{}
 values.
 
 \section{OS Utilities}
@@ -842,7 +842,7 @@ the strings \code{"<stdin>"} or \code{"???"}.
 \begin{cfuncdesc}{long}{PyOS_GetLastModificationTime}{char *filename}
 Return the time of last modification of the file \code{filename}.
 The result is encoded in the same way as the timestamp returned by
-the standard C library function \code{time()}.
+the standard \C{} library function \code{time()}.
 \end{cfuncdesc}
 
 
@@ -1142,7 +1142,7 @@ of the Python expression: \code{apply(o, args)}.
 
 \begin{cfuncdesc}{PyObject*}{PyObject_CallFunction}{PyObject *callable_object, char *format, ...}
 Call a callable Python object \code{callable_object}, with a
-variable number of C arguments. The C arguments are described
+variable number of \C{} arguments. The \C{} arguments are described
 using a mkvalue-style format string. The format may be \NULL{},
 indicating that no arguments are provided.  Returns the
 result of the call on success, or \NULL{} on failure.  This is
@@ -1152,7 +1152,7 @@ the equivalent of the Python expression: \code{apply(o,args)}.
 
 \begin{cfuncdesc}{PyObject*}{PyObject_CallMethod}{PyObject *o, char *m, char *format, ...}
 Call the method named \code{m} of object \code{o} with a variable number of
-C arguments.  The C arguments are described by a mkvalue
+C arguments.  The \C{} arguments are described by a mkvalue
 format string.  The format may be \NULL{}, indicating that no
 arguments are provided. Returns the result of the call on
 success, or \NULL{} on failure.  This is the equivalent of the
@@ -1541,12 +1541,12 @@ statement: \code{o[key]=v}.
 \begin{cfuncdesc}{PyObject*}{PyFile_FromString}{char *file_name, char *mode}
 On success, returns a new file object that is opened on the
 file given by \code{file_name}, with a file mode given by \code{mode},
-where \code{mode} has the same semantics as the standard C routine,
+where \code{mode} has the same semantics as the standard \C{} routine,
 fopen.  On failure, return -1.
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{PyObject*}{PyFile_FromFile}{FILE *fp, char *file_name, char *mode, int close_on_del}
-Return a new file object for an already opened standard C
+Return a new file object for an already opened standard \C{}
 file pointer, \code{fp}.  A file name, \code{file_name}, and open mode,
 \code{mode}, must be provided as well as a flag, \code{close_on_del}, that
 indicates whether the file is to be closed when the file
@@ -1691,7 +1691,7 @@ modules, including the fundamental modules \code{__builtin__},
 also separate.  The new environment has no \code{sys.argv} variable.  
 It has new standard I/O stream file objects \code{sys.stdin}, 
 \code{sys.stdout} and \code{sys.stderr} (however these refer to the 
-same underlying \code{FILE} structures in the C library).
+same underlying \code{FILE} structures in the \C{} library).
 
 The return value points to the first thread state created in the new 
 sub-interpreter.  This thread state is made the current thread state.  
@@ -1775,7 +1775,7 @@ static storage; the caller should not modify its value.  This
 corresponds to the \code{prefix} variable in the top-level 
 \code{Makefile} and the \code{--prefix} argument to the 
 \code{configure} script at build time.  The value is available to 
-Python code as \code{sys.prefix}.  It is only useful on Unix.  See 
+Python code as \code{sys.prefix}.  It is only useful on \UNIX{}.  See 
 also the next function.
 \end{cfuncdesc}
 
@@ -1790,7 +1790,7 @@ the caller should not modify its value.  This corresponds to the
 \code{exec_prefix} variable in the top-level \code{Makefile} and the 
 \code{--exec_prefix} argument to the \code{configure} script at build 
 time.  The value is available to Python code as 
-\code{sys.exec_prefix}.  It is only useful on Unix.
+\code{sys.exec_prefix}.  It is only useful on \UNIX{}.
 
 Background: The exec-prefix differs from the prefix when platform 
 dependent files (such as executables and shared libraries) are 
@@ -1804,7 +1804,7 @@ software families, e.g.  Sparc machines running the Solaris 2.x
 operating system are considered the same platform, but Intel machines 
 running Solaris 2.x are another platform, and Intel machines running 
 Linux are yet another platform.  Different major revisions of the same 
-operating system generally also form different platforms.  Non-Unix 
+operating system generally also form different platforms.  Non-\UNIX{} 
 operating systems are a different story; the installation strategies 
 on those systems are so different that the prefix and exec-prefix are 
 meaningless, and set to the empty string.  Note that compiled Python 
@@ -1832,7 +1832,7 @@ Return the default module search path; this is computed from the
 program name (set by \code{Py_SetProgramName()} above) and some 
 environment variables.  The returned string consists of a series of 
 directory names separated by a platform dependent delimiter character.  
-The delimiter character is \code{':'} on Unix, \code{';'} on 
+The delimiter character is \code{':'} on \UNIX{}, \code{';'} on 
 DOS/Windows, and \code{'\\n'} (the ASCII newline character) on 
 Macintosh.  The returned string points into static storage; the caller 
 should not modify its value.  The value is available to Python code 
@@ -1858,7 +1858,7 @@ Python code as the list \code{sys.version}.
 \end{cfuncdesc}
 
 \begin{cfuncdesc}{const char *}{Py_GetPlatform}{}
-Return the platform identifier for the current platform.  On Unix
+Return the platform identifier for the current platform.  On \UNIX{}
 this is formed from the ``official'' name of the operating system, 
 converted to lower case, followed by the major revision number; e.g., 
 for Solaris 2.x, which is also known as SunOS 5.x, the value is 
@@ -2014,7 +2014,7 @@ Reversely, when acquiring the lock and restoring the thread state, the
 lock must be acquired before storing the thread state pointer.
 
 Why am I going on with so much detail about this?  Because when
-threads are created from C, they don't have the global interpreter
+threads are created from \C{}, they don't have the global interpreter
 lock, nor is there a thread state data structure for them.  Such
 threads must bootstrap themselves into existence, by first creating a
 thread state data structure, then acquiring the lock, and finally