diff --git a/Doc/library/configparser.rst b/Doc/library/configparser.rst
index afceb8d..6f0ae6a 100644
--- a/Doc/library/configparser.rst
+++ b/Doc/library/configparser.rst
@@ -1007,7 +1007,7 @@
       .. versionadded:: 3.2
 
 
-   .. method:: get(section, option, raw=False, [vars, fallback])
+   .. method:: get(section, option, *, raw=False, vars=None[, fallback])
 
       Get an *option* value for the named *section*.  If *vars* is provided, it
       must be a dictionary.  The *option* is looked up in *vars* (if provided),
@@ -1025,21 +1025,21 @@
          (especially when using the mapping protocol).
 
 
-   .. method:: getint(section, option, raw=False, [vars, fallback])
+   .. method:: getint(section, option, *, raw=False, vars=None[, fallback])
 
       A convenience method which coerces the *option* in the specified *section*
       to an integer.  See :meth:`get` for explanation of *raw*, *vars* and
       *fallback*.
 
 
-   .. method:: getfloat(section, option, raw=False, [vars, fallback])
+   .. method:: getfloat(section, option, *, raw=False, vars=None[, fallback])
 
       A convenience method which coerces the *option* in the specified *section*
       to a floating point number.  See :meth:`get` for explanation of *raw*,
       *vars* and *fallback*.
 
 
-   .. method:: getboolean(section, option, raw=False, [vars, fallback])
+   .. method:: getboolean(section, option, *, raw=False, vars=None[, fallback])
 
       A convenience method which coerces the *option* in the specified *section*
       to a Boolean value.  Note that the accepted values for the option are
@@ -1149,7 +1149,13 @@
 RawConfigParser Objects
 -----------------------
 
-.. class:: RawConfigParser(defaults=None, dict_type=collections.OrderedDict, allow_no_value=False, delimiters=('=', ':'), comment_prefixes=('#', ';'), inline_comment_prefixes=None, strict=True, empty_lines_in_values=True, default_section=configaparser.DEFAULTSECT, interpolation=None)
+.. class:: RawConfigParser(defaults=None, dict_type=collections.OrderedDict, \
+                           allow_no_value=False, *, delimiters=('=', ':'), \
+                           comment_prefixes=('#', ';'), \
+                           inline_comment_prefixes=None, strict=True, \
+                           empty_lines_in_values=True, \
+                           default_section=configparser.DEFAULTSECT[, \
+                           interpolation])
 
    Legacy variant of the :class:`ConfigParser` with interpolation disabled
    by default and unsafe ``add_section`` and ``set`` methods.
diff --git a/Doc/library/nntplib.rst b/Doc/library/nntplib.rst
index ef507e1..247efb7 100644
--- a/Doc/library/nntplib.rst
+++ b/Doc/library/nntplib.rst
@@ -474,10 +474,10 @@
 them have been superseded by newer commands in :rfc:`3977`.
 
 
-.. method:: NNTP.xhdr(header, string, *, file=None)
+.. method:: NNTP.xhdr(hdr, str, *, file=None)
 
-   Send an ``XHDR`` command.  The *header* argument is a header keyword, e.g.
-   ``'subject'``.  The *string* argument should have the form ``'first-last'``
+   Send an ``XHDR`` command.  The *hdr* argument is a header keyword, e.g.
+   ``'subject'``.  The *str* argument should have the form ``'first-last'``
    where *first* and *last* are the first and last article numbers to search.
    Return a pair ``(response, list)``, where *list* is a list of pairs ``(id,
    text)``, where *id* is an article number (as a string) and *text* is the text of
