diff options
45 files changed, 156 insertions, 163 deletions
diff --git a/Doc/ext/extending.tex b/Doc/ext/extending.tex index 87d3736..6df443c 100644 --- a/Doc/ext/extending.tex +++ b/Doc/ext/extending.tex @@ -384,7 +384,7 @@ int main(int argc, char **argv) An example may be found in the file \file{Demo/embed/demo.c} in the Python source distribution. -\strong{Note:} Removing entries from \code{sys.modules} or importing +\note{Removing entries from \code{sys.modules} or importing compiled modules into multiple interpreters within a process (or following a \cfunction{fork()} without an intervening \cfunction{exec()}) can create problems for some extension modules. @@ -394,7 +394,7 @@ Note also that the \function{reload()} function can be used with extension modules, and will call the module initialization function (\cfunction{initspam()} in the example), but will not load the module again if it was loaded from a dynamically loadable object file -(\file{.so} on \UNIX, \file{.dll} on Windows). +(\file{.so} on \UNIX, \file{.dll} on Windows).} A more substantial example module is included in the Python source distribution as \file{Modules/xxmodule.c}. This file may be used as a @@ -828,11 +828,11 @@ format units in \var{items}. The C arguments must correspond to the individual format units in \var{items}. Format units for sequences may be nested. -\strong{Note:} Prior to Python version 1.5.2, this format specifier +\note{Prior to Python version 1.5.2, this format specifier only accepted a tuple containing the individual parameters, not an arbitrary sequence. Code which previously caused \exception{TypeError} to be raised here may now proceed without an -exception. This is not expected to be a problem for existing code. +exception. This is not expected to be a problem for existing code.} \end{description} @@ -950,9 +950,9 @@ with the type information from \var{format} from left to right. On success, \cfunction{PyArg_ParseTupleAndKeywords()} returns true, otherwise it returns false and raises an appropriate exception. -\strong{Note:} Nested tuples cannot be parsed when using keyword +\note{Nested tuples cannot be parsed when using keyword arguments! Keyword parameters passed in which are not present in the -\var{kwlist} will cause \exception{TypeError} to be raised. +\var{kwlist} will cause \exception{TypeError} to be raised.} Here is an example module which uses keywords, based on an example by Geoff Philbrick (\email{philbrick@hks.com}):% diff --git a/Doc/lib/libal.tex b/Doc/lib/libal.tex index 39ad273..7159d6f 100644 --- a/Doc/lib/libal.tex +++ b/Doc/lib/libal.tex @@ -20,13 +20,13 @@ Symbolic constants from the C header file \code{<audio.h>} are defined in the standard module \refmodule[al-constants]{AL}\refstmodindex{AL}, see below. -\strong{Warning:} the current version of the audio library may dump core +\warning{The current version of the audio library may dump core when bad argument values are passed rather than returning an error status. Unfortunately, since the precise circumstances under which this may happen are undocumented and hard to check, the Python interface can provide no protection against this kind of problems. (One example is specifying an excessive queue size --- there is no -documented upper limit.) +documented upper limit.)} The module defines the following functions: diff --git a/Doc/lib/libarray.tex b/Doc/lib/libarray.tex index 868770e..ac02b87 100644 --- a/Doc/lib/libarray.tex +++ b/Doc/lib/libarray.tex @@ -77,12 +77,12 @@ addresses, such as certain \cfunction{ioctl()} operations. The returned numbers are valid as long as the array exists and no length-changing operations are applied to it. -\strong{Note:} When using array objects from code written in C or +\note{When using array objects from code written in C or \Cpp{} (the only way to effectively make use of this information), it makes more sense to use the buffer interface supported by array objects. This method is maintained for backward compatibility and should be avoided in new code. The buffer interface is documented in -the \citetitle[../api/newTypes.html]{Python/C API Reference Manual}. +the \citetitle[../api/newTypes.html]{Python/C API Reference Manual}.} \end{methoddesc} \begin{methoddesc}[array]{byteswap}{} diff --git a/Doc/lib/libcgihttp.tex b/Doc/lib/libcgihttp.tex index 61cd08c..bab1c37 100644 --- a/Doc/lib/libcgihttp.tex +++ b/Doc/lib/libcgihttp.tex @@ -15,8 +15,8 @@ interface compatible with from \class{SimpleHTTPServer.SimpleHTTPRequestHandler} but can also run CGI scripts. -\strong{Note:} This module is \UNIX{} dependent since it creates the -CGI process using \function{os.fork()} and \function{os.exec()}. +\note{This module is \UNIX{} dependent since it creates the +CGI process using \function{os.fork()} and \function{os.exec()}.} The \module{CGIHTTPServer} module defines the following class: diff --git a/Doc/lib/libcmpcache.tex b/Doc/lib/libcmpcache.tex index 58b03e2..8991477 100644 --- a/Doc/lib/libcmpcache.tex +++ b/Doc/lib/libcmpcache.tex @@ -13,9 +13,9 @@ as it uses \function{statcache.stat()} instead of \function{os.stat()} (see the \refmodule{statcache} module for information on the difference). -\strong{Note:} Using the \refmodule{statcache} module to provide +\note{Using the \refmodule{statcache} module to provide \function{stat()} information results in trashing the cache invalidation mechanism: results are not as reliable. To ensure ``current'' results, use \function{cmp.cmp()} instead of the version defined in this module, or use \function{statcache.forget()} to -invalidate the appropriate entries. +invalidate the appropriate entries.} diff --git a/Doc/lib/libcodecs.tex b/Doc/lib/libcodecs.tex index 844f6ec..396b4b3 100644 --- a/Doc/lib/libcodecs.tex +++ b/Doc/lib/libcodecs.tex @@ -103,10 +103,10 @@ also defines these utility functions: Open an encoded file using the given \var{mode} and return a wrapped version providing transparent encoding/decoding. -\strong{Note:} The wrapped version will only accept the object format +\note{The wrapped version will only accept the object format defined by the codecs, i.e.\ Unicode objects for most built-in codecs. Output is also codec-dependent and will usually be Unicode as -well. +well.} \var{encoding} specifies the encoding which is to be used for the the file. @@ -335,7 +335,7 @@ order to be compatible to the Python codec registry. Read one line from the input stream and return the decoded data. - Note: Unlike the \method{readlines()} method, this method inherits + Unlike the \method{readlines()} method, this method inherits the line breaking knowledge from the underlying stream's \method{readline()} method -- there is currently no support for line breaking using the codec decoder due to lack of line buffering. diff --git a/Doc/lib/libcurses.tex b/Doc/lib/libcurses.tex index 605cc26..18984e2 100644 --- a/Doc/lib/libcurses.tex +++ b/Doc/lib/libcurses.tex @@ -49,9 +49,9 @@ The module \module{curses} defines the following exception: Exception raised when a curses library function returns an error. \end{excdesc} -\strong{Note:} Whenever \var{x} or \var{y} arguments to a function +\note{Whenever \var{x} or \var{y} arguments to a function or a method are optional, they default to the current cursor location. -Whenever \var{attr} is optional, it defaults to \constant{A_NORMAL}. +Whenever \var{attr} is optional, it defaults to \constant{A_NORMAL}.} The module \module{curses} defines the following functions: @@ -516,8 +516,8 @@ characters are left as they are. \begin{funcdesc}{ungetch}{ch} Push \var{ch} so the next \method{getch()} will return it. -\strong{Note:} only one \var{ch} can be pushed before \method{getch()} -is called. +\note{Only one \var{ch} can be pushed before \method{getch()} +is called.} \end{funcdesc} \begin{funcdesc}{ungetmouse}{id, x, y, z, bstate} @@ -542,10 +542,10 @@ Window objects, as returned by \function{initscr()} and following methods: \begin{methoddesc}{addch}{\optional{y, x,} ch\optional{, attr}} -\strong{Note:} A \emph{character} means a C character (an +\note{A \emph{character} means a C character (an \ASCII{} code), rather then a Python character (a string of length 1). (This note is true whenever the documentation mentions a character.) -The builtin \function{ord()} is handy for conveying strings to codes. +The builtin \function{ord()} is handy for conveying strings to codes.} Paint character \var{ch} at \code{(\var{y}, \var{x})} with attributes \var{attr}, overwriting any character previously painter at that @@ -614,9 +614,9 @@ below for more details. The characters must be specified as integers; using one-character strings will cause \exception{TypeError} to be raised. -\strong{Note:} A \code{0} value for any parameter will cause the +\note{A \code{0} value for any parameter will cause the default character to be used for that parameter. Keyword parameters -can \emph{not} be used. The defaults are listed in this table: +can \emph{not} be used. The defaults are listed in this table:} \begin{tableiii}{l|l|l}{var}{Parameter}{Description}{Default value} \lineiii{ls}{Left side}{\constant{ACS_VLINE}} @@ -1182,8 +1182,8 @@ These are inherited from the VT100 terminal, and will generally be available on software emulations such as X terminals. When there is no graphic available, curses falls back on a crude printable ASCII approximation. -\strong{Note:} These are available only after \function{initscr()} has -been called. +\note{These are available only after \function{initscr()} has +been called.} \begin{longtableii}{l|l}{code}{ACS code}{Meaning} \lineii{ACS_BBSS}{alternate name for upper right corner} diff --git a/Doc/lib/libdl.tex b/Doc/lib/libdl.tex index b9a3241..8d1220f 100644 --- a/Doc/lib/libdl.tex +++ b/Doc/lib/libdl.tex @@ -10,12 +10,10 @@ The \module{dl} module defines an interface to the \UNIX{} platforms for handling dynamically linked libraries. It allows the program to call arbitrary functions in such a library. -\strong{Note:} This module will not work unless -\begin{verbatim} -sizeof(int) == sizeof(long) == sizeof(char *) -\end{verbatim} +\note{This module will not work unless +\code{sizeof(int) == sizeof(long) == sizeof(char *)} If this is not the case, \exception{SystemError} will be raised on -import. +import.} The \module{dl} module defines the following function: diff --git a/Doc/lib/libfpformat.tex b/Doc/lib/libfpformat.tex index 577b50b..a3a6282 100644 --- a/Doc/lib/libfpformat.tex +++ b/Doc/lib/libfpformat.tex @@ -8,8 +8,8 @@ The \module{fpformat} module defines functions for dealing with floating point numbers representations in 100\% pure -Python. \strong{Note:} This module is unneeded: everything here could -be done via the \code{\%} string interpolation operator. +Python. \note{This module is unneeded: everything here could +be done via the \code{\%} string interpolation operator.} The \module{fpformat} module defines the following functions and an exception: diff --git a/Doc/lib/libgetopt.tex b/Doc/lib/libgetopt.tex index fff3043..1348921 100644 --- a/Doc/lib/libgetopt.tex +++ b/Doc/lib/libgetopt.tex @@ -25,9 +25,9 @@ recognize, with options that require an argument followed by a colon (\character{:}; i.e., the same format that \UNIX{} \cfunction{getopt()} uses). -\strong{Note:} Unlike GNU \cfunction{getopt()}, after a non-option +\note{Unlike GNU \cfunction{getopt()}, after a non-option argument, all further arguments are considered also non-options. -This is similar to the way non-GNU \UNIX{} systems work. +This is similar to the way non-GNU \UNIX{} systems work.} \var{long_options}, if specified, must be a list of strings with the names of the long options which should be supported. The leading diff --git a/Doc/lib/libgl.tex b/Doc/lib/libgl.tex index cf51651..ecf4c36 100644 --- a/Doc/lib/libgl.tex +++ b/Doc/lib/libgl.tex @@ -10,11 +10,10 @@ This module provides access to the Silicon Graphics \emph{Graphics Library}. It is available only on Silicon Graphics machines. -\strong{Warning:} -Some illegal calls to the GL library cause the Python interpreter to dump -core. +\warning{Some illegal calls to the GL library cause the Python +interpreter to dump core. In particular, the use of most GL calls is unsafe before the first -window is opened. +window is opened.} The module is too large to document here in its entirety, but the following should help you to get started. diff --git a/Doc/lib/libhttplib.tex b/Doc/lib/libhttplib.tex index 6808ef4..245f650 100644 --- a/Doc/lib/libhttplib.tex +++ b/Doc/lib/libhttplib.tex @@ -9,9 +9,9 @@ This module defines classes which implement the client side of the HTTP and HTTPS protocols. It is normally not used directly --- the module \refmodule{urllib}\refstmodindex{urllib} uses it to handle URLs -that use HTTP and HTTPS. \strong{Note:} HTTPS support is only +that use HTTP and HTTPS. \note{HTTPS support is only available if the \refmodule{socket} module was compiled with SSL -support. +support.} The module defines one class, \class{HTTP}: diff --git a/Doc/lib/libinspect.tex b/Doc/lib/libinspect.tex index d554843..1283cdd 100644 --- a/Doc/lib/libinspect.tex +++ b/Doc/lib/libinspect.tex @@ -272,7 +272,7 @@ line within that list. The optional \var{context} argument specifies the number of lines of context to return, which are centered around the current line. -\strong{Warning:} Keeping references to frame objects, as found in +\warning{Keeping references to frame objects, as found in the first element of the frame records these functions return, can cause your program to create reference cycles. Once a reference cycle has been created, the lifespan of all objects which can be accessed @@ -280,7 +280,7 @@ from the objects which form the cycle can become much longer even if Python's optional cycle detector is enabled. If such cycles must be created, it is important to ensure they are explicitly broken to avoid the delayed destruction of objects and increased memory consumption -which occurs. +which occurs.} \begin{funcdesc}{getframeinfo}{frame\optional{, context}} Get information about a frame or traceback object. A 5-tuple diff --git a/Doc/lib/liblocale.tex b/Doc/lib/liblocale.tex index 28e9e3f..72dc69c 100644 --- a/Doc/lib/liblocale.tex +++ b/Doc/lib/liblocale.tex @@ -298,10 +298,10 @@ represent time in the am/pm format. \end{datadesc} \begin{datadesc}{DAY_1 ... DAY_7} -Return name of the n-th day of the week. \strong{Warning:} this +Return name of the n-th day of the week. \warning{This follows the US convention of \constant{DAY_1} being Sunday, not the international convention (ISO 8601) that Monday is the first day of -the week. +the week.} \end{datadesc} \begin{datadesc}{ABDAY_1 ... ABDAY_7} @@ -327,9 +327,9 @@ Return separator character for thousands (groups of three digits). \begin{datadesc}{YESEXPR} Return a regular expression that can be used with the regex function to recognize a positive response to a yes/no question. -\strong{Warning:} the expression is in the syntax suitable for the +\warning{The expression is in the syntax suitable for the \cfunction{regex()} function from the C library, which might differ -from the syntax used in \refmodule{re}. +from the syntax used in \refmodule{re}.} \end{datadesc} \begin{datadesc}{NOEXPR} diff --git a/Doc/lib/libmarshal.tex b/Doc/lib/libmarshal.tex index cd38a8c..013e7f8 100644 --- a/Doc/lib/libmarshal.tex +++ b/Doc/lib/libmarshal.tex @@ -72,9 +72,9 @@ The module defines these functions: \exception{TypeError}. The file must be an open file object opened in binary mode (\code{'rb'} or \code{'r+b'}). - \strong{Warning:} If an object containing an unsupported type was + \warning{If an object containing an unsupported type was marshalled with \function{dump()}, \function{load()} will substitute - \code{None} for the unmarshallable type. + \code{None} for the unmarshallable type.} \end{funcdesc} \begin{funcdesc}{dumps}{value} diff --git a/Doc/lib/liboperator.tex b/Doc/lib/liboperator.tex index e8348ed..7d34a0f 100644 --- a/Doc/lib/liboperator.tex +++ b/Doc/lib/liboperator.tex @@ -220,9 +220,9 @@ sequence \var{v}. The \module{operator} module also defines a few predicates to test the -type of objects. \strong{Note:} Be careful not to misinterpret the +type of objects. \note{Be careful not to misinterpret the results of these functions; only \function{isCallable()} has any -measure of reliability with instance objects. For example: +measure of reliability with instance objects. For example:} \begin{verbatim} >>> class C: @@ -245,28 +245,28 @@ unbound methods, class objects, and instance objects which support the \begin{funcdesc}{isMappingType}{o} Returns true if the object \var{o} supports the mapping interface. This is true for dictionaries and all instance objects. -\strong{Warning:} There is no reliable way to test if an instance +\warning{There is no reliable way to test if an instance supports the complete mapping protocol since the interface itself is ill-defined. This makes this test less useful than it otherwise might -be. +be.} \end{funcdesc} \begin{funcdesc}{isNumberType}{o} Returns true if the object \var{o} represents a number. This is true for all numeric types implemented in C, and for all instance objects. -\strong{Warning:} There is no reliable way to test if an instance +\warning{There is no reliable way to test if an instance supports the complete numeric interface since the interface itself is ill-defined. This makes this test less useful than it otherwise might -be. +be.} \end{funcdesc} \begin{funcdesc}{isSequenceType}{o} Returns true if the object \var{o} supports the sequence protocol. This returns true for all objects which define sequence methods in C, -and for all instance objects. \strong{Warning:} There is no reliable +and for all instance objects. \warning{There is no reliable way to test if an instance supports the complete sequence interface since the interface itself is ill-defined. This makes this test less -useful than it otherwise might be. +useful than it otherwise might be.} \end{funcdesc} diff --git a/Doc/lib/libpanel.tex b/Doc/lib/libpanel.tex index d91ec8f..f2db0b0 100644 --- a/Doc/lib/libpanel.tex +++ b/Doc/lib/libpanel.tex @@ -25,12 +25,11 @@ that accompanies the Panel Library and creates the described panels. It returns a list of panel objects. \end{funcdesc} -\strong{Warning:} -the Python interpreter will dump core if you don't create a GL window -before calling +\warning{The Python interpreter will dump core if you don't create a +GL window before calling \code{panel.mkpanel()} or -\code{panel.defpanellist()}. +\code{panel.defpanellist()}.} \section{\module{panelparser} --- None} @@ -69,9 +68,7 @@ which transparently exports most functions from but redefines \code{pnl.dopanel()}. -\strong{Warning:} -the Python interpreter will dump core if you don't create a GL window -before calling -\code{pnl.mkpanel()}. +\warning{The Python interpreter will dump core if you don't create a +GL window before calling \code{pnl.mkpanel()}.} The module is too large to document here in its entirety. diff --git a/Doc/lib/libpickle.tex b/Doc/lib/libpickle.tex index 3107114..8885ade 100644 --- a/Doc/lib/libpickle.tex +++ b/Doc/lib/libpickle.tex @@ -30,13 +30,13 @@ store them in a database. The module to pickle and unpickle objects on DBM-style database files. -\strong{Note:} The \module{pickle} module is rather slow. A +\note{The \module{pickle} module is rather slow. A reimplementation of the same algorithm in C, which is up to 1000 times faster, is available as the \refmodule{cPickle}\refbimodindex{cPickle} module. This has the same interface except that \class{Pickler} and \class{Unpickler} are factory functions, not classes (so they cannot be used as base classes -for inheritance). +for inheritance).} Although the \module{pickle} module can use the built-in module \refmodule{marshal}\refbimodindex{marshal} internally, it differs from @@ -110,11 +110,11 @@ Furthermore, all its instance variables must be picklable. \setindexsubitem{(pickle protocol)} When a pickled class instance is unpickled, its \method{__init__()} method -is normally \emph{not} invoked. \strong{Note:} This is a deviation +is normally \emph{not} invoked. \note{This is a deviation from previous versions of this module; the change was introduced in -Python 1.5b2. The reason for the change is that in many cases it is +Python 1.5. The reason for the change is that in many cases it is desirable to have a constructor that requires arguments; it is a -(minor) nuisance to have to provide a \method{__getinitargs__()} method. +(minor) nuisance to have to provide a \method{__getinitargs__()} method.} If it is desirable that the \method{__init__()} method be called on unpickling, a class can define a method \method{__getinitargs__()}, diff --git a/Doc/lib/libposix.tex b/Doc/lib/libposix.tex index 9bbc336..5da3783 100644 --- a/Doc/lib/libposix.tex +++ b/Doc/lib/libposix.tex @@ -85,11 +85,11 @@ passed on by \function{execv()}, \function{popen()} or export statements to the command string for \function{system()} or \function{popen()}. -\strong{Note:} The \refmodule{os} module provides an alternate +\note{The \refmodule{os} module provides an alternate implementation of \code{environ} which updates the environment on modification. Note also that updating \code{os.environ} will render this dictionary obsolete. Use of the \refmodule{os} for this is -recommended over direct access to the \module{posix} module. +recommended over direct access to the \module{posix} module.} \end{datadesc} Additional contents of this module should only be accessed via the diff --git a/Doc/lib/libposixfile.tex b/Doc/lib/libposixfile.tex index d3445f7..cbfcf73 100644 --- a/Doc/lib/libposixfile.tex +++ b/Doc/lib/libposixfile.tex @@ -11,10 +11,10 @@ \indexii{\POSIX{}}{file object} -\strong{Note:} This module will become obsolete in a future release. +\note{This module will become obsolete in a future release. The locking operation that it provides is done better and more portably by the \function{fcntl.lockf()} call.% -\withsubitem{(in module fcntl)}{\ttindex{lockf()}} +\withsubitem{(in module fcntl)}{\ttindex{lockf()}}} This module implements some additional functionality over the built-in file objects. In particular, it implements file locking, control over diff --git a/Doc/lib/libposixpath.tex b/Doc/lib/libposixpath.tex index bc26ddd..1a5fd88 100644 --- a/Doc/lib/libposixpath.tex +++ b/Doc/lib/libposixpath.tex @@ -7,9 +7,9 @@ This module implements some useful functions on pathnames. \index{path!operations} -\strong{Warning:} On Windows, many of these functions do not properly +\warning{On Windows, many of these functions do not properly support UNC pathnames. \function{splitunc()} and \function{ismount()} -do handle them correctly. +do handle them correctly.} \begin{funcdesc}{abspath}{path} diff --git a/Doc/lib/libpwd.tex b/Doc/lib/libpwd.tex index 784f478..ae2551b 100644 --- a/Doc/lib/libpwd.tex +++ b/Doc/lib/libpwd.tex @@ -24,13 +24,13 @@ following items from the password database (see \code{<pwd.h>}), in order: The uid and gid items are integers, all others are strings. \exception{KeyError} is raised if the entry asked for cannot be found. -\strong{Note:} In traditional \UNIX{} the field \code{pw_passwd} usually +\note{In traditional \UNIX{} the field \code{pw_passwd} usually contains a password encrypted with a DES derived algorithm (see module \refmodule{crypt}\refbimodindex{crypt}). However most modern unices use a so-called \emph{shadow password} system. On those unices the field \code{pw_passwd} only contains a asterisk (\code{'*'}) or the letter \character{x} where the encrypted password is stored in a file -\file{/etc/shadow} which is not world readable. +\file{/etc/shadow} which is not world readable.} It defines the following items: diff --git a/Doc/lib/libre.tex b/Doc/lib/libre.tex index 7ee1efd..1fba741 100644 --- a/Doc/lib/libre.tex +++ b/Doc/lib/libre.tex @@ -482,8 +482,8 @@ ignored. match the pattern; note that this is different from a zero-length match. - \strong{Note:} If you want to locate a match anywhere in - \var{string}, use \method{search()} instead. + \note{If you want to locate a match anywhere in + \var{string}, use \method{search()} instead.} \end{funcdesc} \begin{funcdesc}{split}{pattern, string\optional{, maxsplit\code{ = 0}}} @@ -618,8 +618,8 @@ attributes: match the pattern; note that this is different from a zero-length match. - \strong{Note:} If you want to locate a match anywhere in - \var{string}, use \method{search()} instead. + \note{If you want to locate a match anywhere in + \var{string}, use \method{search()} instead.} The optional second parameter \var{pos} gives an index in the string where the search is to start; it defaults to \code{0}. This is not diff --git a/Doc/lib/librexec.tex b/Doc/lib/librexec.tex index d5e2d02..6184a48 100644 --- a/Doc/lib/librexec.tex +++ b/Doc/lib/librexec.tex @@ -15,10 +15,10 @@ Code executed in this restricted environment will only have access to modules and functions that are deemed safe; you can subclass \class{RExec} to add or remove capabilities as desired. -\emph{Note:} The \class{RExec} class can prevent code from performing +\note{The \class{RExec} class can prevent code from performing unsafe operations like reading or writing disk files, or using TCP/IP sockets. However, it does not protect against code using extremely -large amounts of memory or processor time. +large amounts of memory or processor time.} \begin{classdesc}{RExec}{\optional{hooks\optional{, verbose}}} Returns an instance of the \class{RExec} class. diff --git a/Doc/lib/libselect.tex b/Doc/lib/libselect.tex index 9113460..937de76 100644 --- a/Doc/lib/libselect.tex +++ b/Doc/lib/libselect.tex @@ -58,10 +58,10 @@ returned by \function{socket.socket()},% You may also define a \dfn{wrapper} class yourself, as long as it has an appropriate \method{fileno()} method (that really returns a file descriptor, not just a random integer). -\strong{Note:}\index{WinSock} File objects on Windows are not -acceptable, but sockets are. On Windows, the underlying -\cfunction{select()} function is provided by the WinSock library, and -does not handle file desciptors that don't originate from WinSock. +\note{File objects on Windows are not acceptable, but sockets +are.\index{WinSock} On Windows, the underlying \cfunction{select()} +function is provided by the WinSock library, and does not handle file +desciptors that don't originate from WinSock.} \end{funcdesc} \subsection{Polling Objects diff --git a/Doc/lib/libsmtplib.tex b/Doc/lib/libsmtplib.tex index 484ef1f..526b4a1 100644 --- a/Doc/lib/libsmtplib.tex +++ b/Doc/lib/libsmtplib.tex @@ -99,12 +99,10 @@ received from the server. \begin{methoddesc}{connect}{\optional{host\optional{, port}}} Connect to a host on a given port. The defaults are to connect to the local host at the standard SMTP port (25). - If the hostname ends with a colon (\character{:}) followed by a number, that suffix will be stripped off and the number interpreted as the port number to use. - -Note: This method is automatically invoked by the constructor if a +This method is automatically invoked by the constructor if a host is specified during instantiation. \end{methoddesc} @@ -157,7 +155,7 @@ Returns a tuple consisting of code 250 and a full \rfc{822} address (including human name) if the user address is valid. Otherwise returns an SMTP error code of 400 or greater and an error string. -Note: many sites disable SMTP \samp{VRFY} in order to foil spammers. +\note{Many sites disable SMTP \samp{VRFY} in order to foil spammers.} \end{methoddesc} \begin{methoddesc}{login}{user, password} @@ -199,9 +197,9 @@ need to use different ESMTP options to different recipients you have to use the low-level methods such as \method{mail}, \method{rcpt} and \method{data} to send the message.) -\strong{Note:} The \var{from_addr} and \var{to_addrs} parameters are +\note{The \var{from_addr} and \var{to_addrs} parameters are used to construct the message envelope used by the transport agents. -The \class{SMTP} does not modify the message headers in any way. +The \class{SMTP} does not modify the message headers in any way.} If there has been no previous \samp{EHLO} or \samp{HELO} command this session, this method tries ESMTP \samp{EHLO} first. If the server does diff --git a/Doc/lib/libsocket.tex b/Doc/lib/libsocket.tex index e8109eb..8fd624c 100644 --- a/Doc/lib/libsocket.tex +++ b/Doc/lib/libsocket.tex @@ -271,7 +271,7 @@ the name of a PEM formatted file that contains your private key. \var{certfile} is a PEM formatted certificate chain file. On success, a new \class{SSLObject} is returned. -\strong{Warning:} This does not do any certificate verification! +\warning{This does not do any certificate verification!} \end{funcdesc} \begin{funcdesc}{fromfd}{fd, family, type\optional{, proto}} @@ -373,10 +373,10 @@ to the socket on the other end of the connection. \begin{methoddesc}[socket]{bind}{address} Bind the socket to \var{address}. The socket must not already be bound. (The format of \var{address} depends on the address family --- see -above.) \strong{Note:} This method has historically accepted a pair +above.) \note{This method has historically accepted a pair of parameters for \constant{AF_INET} addresses instead of only a tuple. This was never intentional and is no longer be available in -Python 2.0. +Python 2.0.} \end{methoddesc} \begin{methoddesc}[socket]{close}{} @@ -388,10 +388,10 @@ Sockets are automatically closed when they are garbage-collected. \begin{methoddesc}[socket]{connect}{address} Connect to a remote socket at \var{address}. (The format of \var{address} depends on the address family --- see -above.) \strong{Note:} This method has historically accepted a pair +above.) \note{This method has historically accepted a pair of parameters for \constant{AF_INET} addresses instead of only a tuple. This was never intentional and is no longer available in -Python 2.0 and later. +Python 2.0 and later.} \end{methoddesc} \begin{methoddesc}[socket]{connect_ex}{address} @@ -401,10 +401,10 @@ instead of raising an exception for errors returned by the C-level can still raise exceptions). The error indicator is \code{0} if the operation succeeded, otherwise the value of the \cdata{errno} variable. This is useful, e.g., for asynchronous connects. -\strong{Note:} This method has historically accepted a pair of +\note{This method has historically accepted a pair of parameters for \constant{AF_INET} addresses instead of only a tuple. This was never intentional and is no longer be available in Python -2.0 and later. +2.0 and later.} \end{methoddesc} \begin{methoddesc}[socket]{fileno}{} diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex index b06cd5e..ef1cf8c 100644 --- a/Doc/lib/libstdtypes.tex +++ b/Doc/lib/libstdtypes.tex @@ -1215,8 +1215,8 @@ Files have the following methods: \begin{methoddesc}[file]{isatty}{} Return true if the file is connected to a tty(-like) device, else - false. \strong{Note:} If a file-like object is not associated - with a real file, this method should \emph{not} be implemented. + false. \note{If a file-like object is not associated + with a real file, this method should \emph{not} be implemented.} \end{methoddesc} \begin{methoddesc}[file]{fileno}{} @@ -1227,9 +1227,9 @@ Files have the following methods: operating system. This can be useful for other, lower level interfaces that use file descriptors, such as the \refmodule{fcntl}\refbimodindex{fcntl} module or - \function{os.read()} and friends. \strong{Note:} File-like objects + \function{os.read()} and friends. \note{File-like objects which do not have a real file descriptor should \emph{not} provide - this method! + this method!} \end{methoddesc} \begin{methoddesc}[file]{read}{\optional{size}} @@ -1258,9 +1258,9 @@ Files have the following methods: non-negative, it is a maximum byte count (including the trailing newline) and an incomplete line may be returned. An empty string is returned when \EOF{} is hit - immediately. Note: Unlike \code{stdio}'s \cfunction{fgets()}, the + immediately. \note{Unlike \code{stdio}'s \cfunction{fgets()}, the returned string contains null characters (\code{'\e 0'}) if they - occurred in the input. + occurred in the input.} \end{methoddesc} \begin{methoddesc}[file]{readlines}{\optional{sizehint}} @@ -1307,7 +1307,7 @@ Files have the following methods: \end{methoddesc} \begin{methoddesc}[file]{write}{str} - Write a string to the file. There is no return value. Note: Due to + Write a string to the file. There is no return value. Due to buffering, the string may not actually show up in the file until the \method{flush()} or \method{close()} method is called. \end{methoddesc} @@ -1359,9 +1359,9 @@ zero. This will be automatic for most classes implemented in Python (care may be needed for objects that override attribute access); types implemented in C will have to provide a writable \member{softspace} attribute. -\strong{Note:} This attribute is not used to control the +\note{This attribute is not used to control the \keyword{print} statement, but to allow the implementation of -\keyword{print} to keep track of its internal state. +\keyword{print} to keep track of its internal state.} \end{memberdesc} diff --git a/Doc/lib/libstdwin.tex b/Doc/lib/libstdwin.tex index a77fb26..a75edf6 100644 --- a/Doc/lib/libstdwin.tex +++ b/Doc/lib/libstdwin.tex @@ -4,7 +4,7 @@ The modules in this chapter are available only on those systems where the STDWIN library is available. STDWIN runs on \UNIX{} under X11 and on the Macintosh. See CWI report CS-R8817. -\strong{Warning:} Using STDWIN is not recommended for new +\warning{Using STDWIN is not recommended for new applications. It has never been ported to Microsoft Windows or Windows NT, and for X11 or the Macintosh it lacks important functionality --- in particular, it has no tools for the construction @@ -12,7 +12,7 @@ of dialogs. For most platforms, alternative, native solutions exist (though none are currently documented in this manual): Tkinter for \UNIX{} under X11, native Xt with Motif or Athena widgets for \UNIX{} under X11, Win32 for Windows and Windows NT, and a collection of -native toolkit interfaces for the Macintosh. +native toolkit interfaces for the Macintosh.} \section{\module{stdwin} --- @@ -175,8 +175,8 @@ all windows). Methods of menu objects are described below. Note: normally, menus are created locally; see the window method \method{menucreate()} below. -\strong{Warning:} the menu only appears in a window as long as the object -returned by this call exists. +\warning{The menu only appears in a window as long as the object +returned by this call exists.} \end{funcdesc} \begin{funcdesc}{newbitmap}{width, height} @@ -337,8 +337,8 @@ left corner (relative to the upper left corner of the screen). Create a menu object referring to a local menu (a menu that appears only in this window). Methods of menu objects are described below. -\strong{Warning:} the menu only appears as long as the object -returned by this call exists. +\warning{The menu only appears as long as the object +returned by this call exists.} \end{methoddesc} \begin{methoddesc}[window]{scroll}{rect, point} diff --git a/Doc/lib/libstring.tex b/Doc/lib/libstring.tex index 7e74c18..5f71ec8 100644 --- a/Doc/lib/libstring.tex +++ b/Doc/lib/libstring.tex @@ -100,11 +100,11 @@ The functions defined in this module are: this behaves identical to the built-in function \function{float()}\bifuncindex{float} when passed a string. - \strong{Note:} When passing in a string, values for NaN\index{NaN} + \note{When passing in a string, values for NaN\index{NaN} and Infinity\index{Infinity} may be returned, depending on the underlying C library. The specific set of strings accepted which cause these values to be returned depends entirely on the C library - and is known to vary. + and is known to vary.} \end{funcdesc} \begin{funcdesc}{atoi}{s\optional{, base}} @@ -194,10 +194,10 @@ The functions defined in this module are: each character in \var{from} into the character at the same position in \var{to}; \var{from} and \var{to} must have the same length. - \strong{Warning:} don't use strings derived from \constant{lowercase} + \warning{Don't use strings derived from \constant{lowercase} and \constant{uppercase} as arguments; in some locales, these don't have the same length. For case conversions, always use - \function{lower()} and \function{upper()}. + \function{lower()} and \function{upper()}.} \end{funcdesc} \begin{funcdesc}{split}{s\optional{, sep\optional{, maxsplit}}} diff --git a/Doc/lib/libsys.tex b/Doc/lib/libsys.tex index 09891e0..4059e02 100644 --- a/Doc/lib/libsys.tex +++ b/Doc/lib/libsys.tex @@ -99,7 +99,7 @@ It is always available. encapsulates the call stack at the point where the exception originally occurred. \obindex{traceback} - \strong{Warning:} assigning the \var{traceback} return value to a + \warning{Assigning the \var{traceback} return value to a local variable in a function that is handling an exception will cause a circular reference. This will prevent anything referenced by a local variable in the same function or by the traceback from @@ -109,7 +109,7 @@ It is always available. exception type and value. If you do need the traceback, make sure to delete it after use (best done with a \keyword{try} ... \keyword{finally} statement) or to call \function{exc_info()} in - a function that does not itself handle an exception. + a function that does not itself handle an exception.} \end{funcdesc} \begin{datadesc}{exc_type} @@ -169,9 +169,9 @@ It is always available. function will be called when the interpreter exits. Only one function may be installed in this way; to allow multiple functions which will be called at termination, use the \refmodule{atexit} - module. Note: the exit function is not called when the program is + module. \note{The exit function is not called when the program is killed by a signal, when a Python fatal internal error is detected, - or when \code{os._exit()} is called. + or when \code{os._exit()} is called.} \end{datadesc} \begin{funcdesc}{getdefaultencoding}{} diff --git a/Doc/lib/libtabnanny.tex b/Doc/lib/libtabnanny.tex index 238b3b5..7985d9e 100644 --- a/Doc/lib/libtabnanny.tex +++ b/Doc/lib/libtabnanny.tex @@ -14,8 +14,8 @@ For the time being this module is intended to be called as a script. However it is possible to import it into an IDE and use the function \function{check()} described below. -\strong{Warning:} The API provided by this module is likely to change -in future releases; such changes may not be backward compatible. +\warning{The API provided by this module is likely to change +in future releases; such changes may not be backward compatible.} \begin{funcdesc}{check}{file_or_dir} If \var{file_or_dir} is a directory and not a symbolic link, then diff --git a/Doc/lib/libtime.tex b/Doc/lib/libtime.tex index d28e863..81d1352 100644 --- a/Doc/lib/libtime.tex +++ b/Doc/lib/libtime.tex @@ -120,8 +120,9 @@ is defined. This is negative if the local DST timezone is east of UTC Convert a tuple representing a time as returned by \function{gmtime()} or \function{localtime()} to a 24-character string of the following form: \code{'Sun Jun 20 23:21:05 1993'}. If \var{tuple} is not provided, the -current time as returned by \function{localtime()} is used. Note: unlike -the C function of the same name, there is no trailing newline. +current time as returned by \function{localtime()} is used. +\note{Unlike the C function of the same name, there is no trailing +newline.} \versionchanged[Allowed \var{tuple} to be omitted]{2.1} \end{funcdesc} @@ -276,10 +277,10 @@ provided as part of the input string are filled in with default values; the specific values are platform-dependent as the XPG standard does not provide sufficient information to constrain the result. -\strong{Note:} This function relies entirely on the underlying +\note{This function relies entirely on the underlying platform's C library for the date parsing, and some of these libraries are buggy. There's nothing to be done about this short of a new, -portable implementation of \cfunction{strptime()}. +portable implementation of \cfunction{strptime()}.} Availability: Most modern \UNIX{} systems. \end{funcdesc} diff --git a/Doc/lib/libunittest.tex b/Doc/lib/libunittest.tex index 0bc3b25..06d76af 100644 --- a/Doc/lib/libunittest.tex +++ b/Doc/lib/libunittest.tex @@ -345,9 +345,9 @@ testcase = unittest.FunctionTestCase(testSomething, tearDown=deleteSomethingDB) \end{verbatim} -\strong{Note:} PyUnit supports the use of \exception{AssertionError} +\note{PyUnit supports the use of \exception{AssertionError} as an indicator of test failure, but does not recommend it. Future -versions may treat \exception{AssertionError} differently. +versions may treat \exception{AssertionError} differently.} \subsection{Classes and functions @@ -708,12 +708,12 @@ configurable properties. \class{TestCase} and creates an instance of the class for each test method defined for the class. - \strong{Warning:} While using a hierarchy of + \warning{While using a hierarchy of \class{Testcase}-derived classes can be convenient in sharing fixtures and helper functions, defining test methods on base classes that are not intended to be instantiated directly does not play well with this method. Doing so, however, can be useful when the - fixtures are different and defined in subclasses. + fixtures are different and defined in subclasses.} \end{methoddesc} \begin{methoddesc}[TestLoader]{loadTestsFromName}{name\optional{, module}} diff --git a/Doc/lib/liburllib.tex b/Doc/lib/liburllib.tex index fb9524a..49cd3c6 100644 --- a/Doc/lib/liburllib.tex +++ b/Doc/lib/liburllib.tex @@ -213,12 +213,12 @@ which defaults 10. The parameters to the constructor are the same as those for \class{URLopener}. -\strong{Note:} When performing basic authentication, a +\note{When performing basic authentication, a \class{FancyURLopener} instance calls its \method{prompt_user_passwd()} method. The default implementation asks the users for the required information on the controlling terminal. A subclass may override this method to support more appropriate behavior -if needed. +if needed.} \end{classdesc} Restrictions: diff --git a/Doc/lib/liburllib2.tex b/Doc/lib/liburllib2.tex index 0be3bbb..46d4f66 100644 --- a/Doc/lib/liburllib2.tex +++ b/Doc/lib/liburllib2.tex @@ -391,8 +391,8 @@ for \method{http_error_default()}. \subsection{HTTPRedirectHandler Objects \label{http-redirect-handler}} -\strong{Note:} 303 redirection is not supported by this version of -\module{urllib2}. +\note{303 redirection is not supported by this version of +\module{urllib2}.} \begin{methoddesc}[HTTPRedirectHandler]{http_error_301}{req, fp, code, msg, hdrs} diff --git a/Doc/lib/libwhrandom.tex b/Doc/lib/libwhrandom.tex index 41b0c83..c5df0ef 100644 --- a/Doc/lib/libwhrandom.tex +++ b/Doc/lib/libwhrandom.tex @@ -6,10 +6,10 @@ \deprecated{2.1}{Use \refmodule{random} instead.} -\strong{Note:} This module was an implementation detail of the +\note{This module was an implementation detail of the \refmodule{random} module in releases of Python prior to 2.1. It is no longer used. Please do not use this module directly; use -\refmodule{random} instead. +\refmodule{random} instead.} This module implements a Wichmann-Hill pseudo-random number generator class that is also named \class{whrandom}. Instances of the diff --git a/Doc/lib/libwinsound.tex b/Doc/lib/libwinsound.tex index a176221..0418c74 100644 --- a/Doc/lib/libwinsound.tex +++ b/Doc/lib/libwinsound.tex @@ -21,10 +21,10 @@ two functions and several constants. The \var{duration} parameter specifies the number of milliseconds the sound should last. If the system is not able to beep the speaker, \exception{RuntimeError} is raised. - \strong{Note:} Under Windows 95 and 98, the Windows \cfunction{Beep()} + \note{Under Windows 95 and 98, the Windows \cfunction{Beep()} function exists but is useless (it ignores its arguments). In that case Python simulates it via direct port manipulation (added in version - 2.1). It's unknown whether that will work on all systems. + 2.1). It's unknown whether that will work on all systems.} \versionadded{1.6} \end{funcdesc} @@ -85,9 +85,9 @@ winsound.PlaySound("*", winsound.SND_ALIAS) The \var{sound} parameter to \function{PlaySound()} is a memory image of a WAV file, as a string. - \strong{Note:} This module does not support playing from a memory + \note{This module does not support playing from a memory image asynchronously, so a combination of this flag and - \constant{SND_ASYNC} will raise \exception{RuntimeError}. + \constant{SND_ASYNC} will raise \exception{RuntimeError}.} \end{datadesc} \begin{datadesc}{SND_PURGE} diff --git a/Doc/lib/xmldom.tex b/Doc/lib/xmldom.tex index 17e21c0..bf71800 100644 --- a/Doc/lib/xmldom.tex +++ b/Doc/lib/xmldom.tex @@ -274,11 +274,11 @@ This is especially useful for DOM implementations which use any sort of proxy architecture (because more than one object can refer to the same node). -\strong{Note:} This is based on a proposed DOM Level 3 API which is +\note{This is based on a proposed DOM Level 3 API which is still in the ``working draft'' stage, but this particular interface appears uncontroversial. Changes from the W3C will not necessarily affect this method in the Python DOM interface (though any new W3C -API for this would also be supported). +API for this would also be supported).} \end{methoddesc} \begin{methoddesc}[Node]{appendChild}{newChild} @@ -619,12 +619,12 @@ child nodes. The content of the text node as a string. \end{memberdesc} -\strong{Note:} The use of a \class{CDATASection} node does not +\note{The use of a \class{CDATASection} node does not indicate that the node represents a complete CDATA marked section, only that the content of the node was part of a CDATA section. A single CDATA section may be represented by more than one node in the document tree. There is no way to determine whether two adjacent -\class{CDATASection} nodes represent different CDATA marked sections. +\class{CDATASection} nodes represent different CDATA marked sections.} \subsubsection{ProcessingInstruction Objects \label{dom-pi-objects}} diff --git a/Doc/lib/xmlsaxhandler.tex b/Doc/lib/xmlsaxhandler.tex index 8d9c519..5fb2f17 100644 --- a/Doc/lib/xmlsaxhandler.tex +++ b/Doc/lib/xmlsaxhandler.tex @@ -263,13 +263,13 @@ appropriate events in the input document: \var{content} may be a Unicode string or a byte string; the \code{expat} reader module produces always Unicode strings. - \strong{Note:} The earlier SAX 1 interface provided by the Python + \note{The earlier SAX 1 interface provided by the Python XML Special Interest Group used a more Java-like interface for this method. Since most parsers used from Python did not take advantage of the older interface, the simpler signature was chosen to replace it. To convert old code to the new interface, use \var{content} instead of slicing content with the old \var{offset} and - \var{length} parameters. + \var{length} parameters.} \end{methoddesc} \begin{methoddesc}[ContentHandler]{ignorableWhitespace}{} diff --git a/Doc/mac/libctb.tex b/Doc/mac/libctb.tex index 9950a41..337ca0f 100644 --- a/Doc/mac/libctb.tex +++ b/Doc/mac/libctb.tex @@ -65,9 +65,9 @@ object). This will make all connection object methods work asynchronously, with the callback routine being called upon completion. -\emph{Note:} for reasons beyond my understanding the callback routine +\note{For reasons beyond my understanding, the callback routine is currently never called. You are advised against using asynchronous -calls for the time being. +calls for the time being.} \end{memberdesc} diff --git a/Doc/mac/libmacfs.tex b/Doc/mac/libmacfs.tex index 1ffc421..d9a6489 100644 --- a/Doc/mac/libmacfs.tex +++ b/Doc/mac/libmacfs.tex @@ -20,8 +20,8 @@ pathname, (2) an \pytype{FSSpec} object or (3) a 3-tuple \citetitle{Inside Macintosh:\ Files}. A description of aliases and the Standard File package can also be found there. -\strong{Note:} A module, \refmodule{macfsn}, is auto-imported to replace -StandardFile calls in macfs with NavServices calls. +\note{A module, \refmodule{macfsn}, is auto-imported to replace +StandardFile calls in \module{macfs} with NavServices calls.} \begin{funcdesc}{FSSpec}{file} Create an \pytype{FSSpec} object for the specified file. diff --git a/Doc/ref/ref3.tex b/Doc/ref/ref3.tex index 32b6de4..c8edde5 100644 --- a/Doc/ref/ref3.tex +++ b/Doc/ref/ref3.tex @@ -935,7 +935,7 @@ situation can only be remedied by explicitly breaking the cycles; the latter two situations can be resolved by storing None in \code{sys.exc_traceback} or \code{sys.last_traceback}. -\strong{Warning:} due to the precarious circumstances under which +\warning{Due to the precarious circumstances under which \method{__del__()} methods are invoked, exceptions that occur during their execution are ignored, and a warning is printed to \code{sys.stderr} instead. Also, when \method{__del__()} is invoked is response to a module @@ -947,7 +947,7 @@ guarantees that globals whose name begins with a single underscore are deleted from their module before other globals are deleted; if no other references to such globals exist, this may help in assuring that imported modules are still available at the time when the -\method{__del__()} method is called. +\method{__del__()} method is called.} \end{methoddesc} \begin{methoddesc}[object]{__repr__}{self} @@ -1198,9 +1198,9 @@ If \var{key} is of an inappropriate type, \exception{TypeError} may be raised; if of a value outside the set of indexes for the sequence (after any special interpretation of negative values), \exception{IndexError} should be raised. -\strong{Note:} \keyword{for} loops expect that an +\note{\keyword{for} loops expect that an \exception{IndexError} will be raised for illegal indexes to allow -proper detection of the end of the sequence. +proper detection of the end of the sequence.} \end{methoddesc} \begin{methoddesc}[container object]{__setitem__}{self, key, value} diff --git a/Doc/ref/ref7.tex b/Doc/ref/ref7.tex index c9e33f9..5c076e3 100644 --- a/Doc/ref/ref7.tex +++ b/Doc/ref/ref7.tex @@ -161,7 +161,7 @@ e.g., \code{range(3)} returns the list \code{[0, 1, 2]}. \bifuncindex{range} \indexii{Pascal}{language} -\strong{Warning:} There is a subtlety when the sequence is being modified +\warning{There is a subtlety when the sequence is being modified by the loop (this can only occur for mutable sequences, i.e. lists). An internal counter is used to keep track of which item is used next, and this is incremented on each iteration. When this counter has @@ -174,7 +174,7 @@ current item will be treated again the next time through the loop. This can lead to nasty bugs that can be avoided by making a temporary copy using a slice of the whole sequence, e.g., \index{loop!over mutable sequence} -\index{mutable sequence!loop over} +\index{mutable sequence!loop over}} \begin{verbatim} for x in a[:]: diff --git a/Doc/texinputs/license.tex b/Doc/texinputs/license.tex index fc10421..a92476b 100644 --- a/Doc/texinputs/license.tex +++ b/Doc/texinputs/license.tex @@ -36,11 +36,11 @@ GPL-compatible; the table below summarizes the various releases. \linev{2.2}{2.1.1}{2001}{PSF}{yes} \end{tablev} -\strong{Note:} GPL-compatible doesn't mean that we're distributing +\note{GPL-compatible doesn't mean that we're distributing Python under the GPL. All Python licenses, unlike the GPL, let you distribute a modified version without making your changes open source. The GPL-compatible licenses make it possible to combine Python with -other software that is released under the GPL; the others don't. +other software that is released under the GPL; the others don't.} Thanks to the many outside volunteers who have worked under Guido's direction to make these releases possible. |