diff --git a/Doc/library/decimal.rst b/Doc/library/decimal.rst index 4eba76872a3..f3138a8e536 100644 --- a/Doc/library/decimal.rst +++ b/Doc/library/decimal.rst @@ -558,10 +558,9 @@ Decimal objects operands* (see :ref:`logical_operands_label`). The result is the digit-wise ``and`` of the two operands. - .. method:: logical_invert(other[, context]) + .. method:: logical_invert([context]) - :meth:`logical_invert` is a logical operation. The argument must - be a *logical operand* (see :ref:`logical_operands_label`). The + :meth:`logical_invert` is a logical operation. The result is the digit-wise inversion of the operand. .. method:: logical_or(other[, context]) diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst index d1b22dbd355..d1a033489f8 100644 --- a/Doc/library/multiprocessing.rst +++ b/Doc/library/multiprocessing.rst @@ -372,7 +372,9 @@ The :mod:`multiprocessing` package mostly replicates the API of the Note that a daemonic process is not allowed to create child processes. Otherwise a daemonic process would leave its children orphaned if it gets - terminated when its parent process exits. + terminated when its parent process exits. Additionally, these are **not** + Unix daemons or services, they are normal processes that will be + terminated (and not joined) if non-dameonic processes have exited. In addition to the :class:`Threading.Thread` API, :class:`Process` objects also support the following attributes and methods: diff --git a/Doc/library/optparse.rst b/Doc/library/optparse.rst index eae6121c028..0369aeb9931 100644 --- a/Doc/library/optparse.rst +++ b/Doc/library/optparse.rst @@ -637,8 +637,8 @@ option involved in the error; be sure to do the same when calling ``parser.error()`` from your application code. If :mod:`optparse`'s default error-handling behaviour does not suit your needs, -you'll need to subclass OptionParser and override its :meth:`exit` and/or -:meth:`error` methods. +you'll need to subclass OptionParser and override its :meth:`~OptionParser.exit` +and/or :meth:`~OptionParser.error` methods. .. _optparse-putting-it-all-together: diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst index 169801b0b47..2af54895f9e 100644 --- a/Doc/library/subprocess.rst +++ b/Doc/library/subprocess.rst @@ -68,7 +68,11 @@ This module defines one class called :class:`Popen`: needed: Usually, the program to execute is defined by the *args* argument. If ``shell=True``, the *executable* argument specifies which shell to use. On Unix, the default shell is :file:`/bin/sh`. On Windows, the default shell is - specified by the :envvar:`COMSPEC` environment variable. + specified by the :envvar:`COMSPEC` environment variable. The only reason you + would need to specify ``shell=True`` on Windows is where the command you + wish to execute is actually built in to the shell, eg ``dir``, ``copy``. + You don't need ``shell=True`` to run a batch file, nor to run a console-based + executable. *stdin*, *stdout* and *stderr* specify the executed programs' standard input, standard output and standard error file handles, respectively. Valid values diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst index 30e73ccc53c..955c7941d32 100644 --- a/Doc/library/unittest.rst +++ b/Doc/library/unittest.rst @@ -646,8 +646,8 @@ Test cases Run the test, collecting the result into the test result object passed as *result*. If *result* is omitted or :const:`None`, a temporary result - object is created (by calling the :meth:`defaultTestCase` method) and - used; this result object is not returned to :meth:`run`'s caller. + object is created (by calling the :meth:`defaultTestResult` method) and + used. The result object is not returned to :meth:`run`'s caller. The same effect may be had by simply calling the :class:`TestCase` instance. diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 89613ecbc21..fa39480e8cb 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -586,12 +586,14 @@ sys_setdlopenflags(PyObject *self, PyObject *args) PyDoc_STRVAR(setdlopenflags_doc, "setdlopenflags(n) -> None\n\ \n\ -Set the flags that will be used for dlopen() calls. Among other\n\ -things, this will enable a lazy resolving of symbols when importing\n\ -a module, if called as sys.setdlopenflags(0)\n\ -To share symbols across extension modules, call as\n\ -sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL)" -); +Set the flags used by the interpreter for dlopen calls, such as when the\n\ +interpreter loads extension modules. Among other things, this will enable\n\ +a lazy resolving of symbols when importing a module, if called as\n\ +sys.setdlopenflags(0). To share symbols across extension modules, call as\n\ +sys.setdlopenflags(ctypes.RTLD_GLOBAL). Symbolic names for the flag modules\n\ +can be either found in the ctypes module, or in the DLFCN module. If DLFCN\n\ +is not available, it can be generated from /usr/include/dlfcn.h using the\n\ +h2py script."); static PyObject * sys_getdlopenflags(PyObject *self, PyObject *args) @@ -605,10 +607,10 @@ sys_getdlopenflags(PyObject *self, PyObject *args) PyDoc_STRVAR(getdlopenflags_doc, "getdlopenflags() -> int\n\ \n\ -Return the current value of the flags that are used for dlopen()\n\ -calls. The flag constants are defined in the dl module." -); -#endif +Return the current value of the flags that are used for dlopen calls.\n\ +The flag constants are defined in the ctypes and DLFCN modules."); + +#endif /* HAVE_DLOPEN */ #ifdef USE_MALLOPT /* Link with -lmalloc (or -lmpc) on an SGI */