Commit Graph

68 Commits

Author SHA1 Message Date
Victor Stinner 474652fe93
bpo-40204, doc: Fix syntax of C variables (GH-21846)
For example, fix the following Sphinx 3 errors:

Doc/c-api/buffer.rst:102: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 5]
  void \*obj
  -----^

Doc/c-api/arg.rst:130: WARNING: Unparseable C cross-reference: 'PyObject*'
Invalid C declaration: Expected end of definition. [error at 8]
  PyObject*
  --------^

The modified documentation is compatible with Sphinx 2 and Sphinx 3.
2020-08-13 22:11:50 +02:00
Victor Stinner 37bb289556
bpo-40943: PY_SSIZE_T_CLEAN required for '#' formats (GH-20784)
The PY_SSIZE_T_CLEAN macro must now be defined to use
PyArg_ParseTuple() and Py_BuildValue() "#" formats: "es#", "et#",
"s#", "u#", "y#", "z#", "U#" and "Z#". See the PEP 353.

Update _testcapi.test_buildvalue_issue38913().
2020-06-19 11:45:31 +02:00
Inada Naoki 57c7a0bdf4
Doc: int -> int or Py_ssize_t (GH-18663) 2020-02-26 15:04:39 +09:00
Serhiy Storchaka e835b31d2b
bpo-38600: NULL -> ``NULL``. (GH-17001)
Also fix some other formatting.
2019-10-30 21:37:16 +02:00
Serhiy Storchaka 25fc088607
bpo-38600: Change the mark up of NULL in the C API documentation. (GH-16950)
Replace all *NULL* with ``NULL``.
2019-10-30 12:03:20 +02:00
Stéphane Wirtel cbb6484573 Doc: Replace the deprecated highlightlang directive by highlight. (#13377)
highlightlang is deprecated since April 2018 in Sphinx.
See https://github.com/sphinx-doc/sphinx/pull/4845
2019-05-17 15:25:34 +05:30
INADA Naoki 42ec190761
bpo-33195: Doc: Deprecate Py_UNICODE in c-api/arg (GH-6329)
Py_UNICODE is deprecated since Python 3.3.
But the deprecation is missed in the c-api/arg document.
2018-04-04 13:59:08 +09:00
Serhiy Storchaka 84b8e92e46 bpo-29918: Add missed "const" modifiers in C API documentation. (#846) 2017-03-30 10:01:03 +03:00
Serhiy Storchaka 159f97b2d7 Issue #28496: Mark up constants 0, 1 and -1 that denote return values or
special input values as literal text.
2016-10-27 21:42:15 +03:00
Serhiy Storchaka 1ecf7d204d Issue #28496: Mark up constants 0, 1 and -1 that denote return values or
special input values as literal text.
2016-10-27 21:41:19 +03:00
Benjamin Peterson 47ff0734b8 more PY_LONG_LONG to long long 2016-09-08 09:15:54 -07:00
Martin Panter 0de01c4b30 Issue #24278: Merge argument parsing docs from 3.5 2016-08-04 01:51:32 +00:00
Martin Panter 6c7d5a2553 Issue #24278: Explain how argument parsing output buffers are managed 2016-08-03 14:35:05 +00:00
Serhiy Storchaka b133bb4977 Issue #27481: Docummented that ValueError is now raised instead of TypeError
in case of embedded null characters/bytes.  Patch by Xiang Zhang.
2016-07-12 09:15:00 +03:00
Serhiy Storchaka 6f379f4886 Issue #27481: Docummented that ValueError is now raised instead of TypeError
in case of embedded null characters/bytes.  Patch by Xiang Zhang.
2016-07-12 09:14:15 +03:00
Serhiy Storchaka f41b82fb19 Issue #26282: PyArg_ParseTupleAndKeywords() and Argument Clinic now support
positional-only and keyword parameters in the same function.
2016-06-09 16:30:29 +03:00
Martin Panter 3008b1c4bb Issue #26304: Merge doc wording from 3.5 2016-02-10 05:44:56 +00:00
Martin Panter c04fb56e36 Issue #26304: Change "allows to <verb>" to "allows <verb>ing" or similar
The original form is incorrect grammar and feels awkward, even though the
meaning is clear.
2016-02-10 05:44:01 +00:00
Serhiy Storchaka c4b813d05d Issue #26198: Fixed error messages for some argument parsing errors.
Fixed the documented about buffer overflow error for "es#" and "et#" format
units.
2016-02-08 01:06:11 +02:00
Serhiy Storchaka 1f847659f3 Issue #25706: Fixed markup in the documentation. 2015-11-23 16:43:54 +02:00
Serhiy Storchaka bf7b9ede1a Issue #25706: Fixed markup in the documentation. 2015-11-23 16:43:05 +02:00
Larry Hastings ab792ac704 Doc clarification / edification on the semantics of the 'w*' format unit. 2015-04-13 11:30:56 -04:00
Serhiy Storchaka b757c83ec6 Issue #22581: Use more "bytes-like object" throughout the docs and comments. 2014-12-05 22:25:22 +02:00
Georg Brandl a4c8c47961 #22613: remaining corrections in extending/reference docs (thanks Jacques Ducasse) 2014-10-31 10:38:49 +01:00
Larry Hastings 3732ed2414 Merge in all documentation changes since branching 3.4.0rc1. 2014-03-15 21:13:56 -07:00
Zachary Ware 28479d8c7d Issue #20460: Merge with 3.3 2014-01-31 12:06:48 -06:00
Zachary Ware a479b7505e Issue #20460: Render 'bytes' as a class, not a function.
Patch by OSAMU NAKAMURA.
2014-01-31 12:06:14 -06:00
Larry Hastings 2a727916c5 Issue #20226: Major improvements to Argument Clinic.
* You may now specify an expression as the default value for a
  parameter!  Example: "sys.maxsize - 1".  This support is
  intentionally quite limited; you may only use values that
  can be represented as static C values.
* Removed "doc_default", simplified support for "c_default"
  and "py_default".  (I'm not sure we still even need
  "py_default", but I'm leaving it in for now in case a
  use presents itself.)
* Parameter lines support a trailing '\\' as a line
  continuation character, allowing you to break up long lines.
* The argument parsing code generated when supporting optional
  groups now uses PyTuple_GET_SIZE instead of PyTuple_GetSize,
  leading to a 850% speedup in parsing.  (Just kidding, this
  is an unmeasurable difference.)
* A bugfix for the recent regression where the generated
  prototype from pydoc for builtins would be littered with
  unreadable "=<object ...>"" default values for parameters
  that had no default value.
* Converted some asserts into proper failure messages.
* Many doc improvements and fixes.
2014-01-16 11:32:01 -08:00
Ezio Melotti c228e96726 #16518: use "bytes-like object" throughout the docs. 2013-05-04 18:06:34 +03:00
Georg Brandl 61063cca6a Fix a couple of versionadded/versionchanged related markup errors. 2012-06-24 22:48:30 +02:00
Larry Hastings faf91e75ab Issue #14705: Add 'p' format character to PyArg_ParseTuple* for bool support. 2012-05-05 16:54:29 -07:00
Larry Hastings 83a9f48699 Issue #14328: Add keyword-only parameters to PyArg_ParseTupleAndKeywords.
They're optional-only for now (unlike in pure Python) but that's all
I needed.  The syntax can easily be relaxed if we want to support
required keyword-only arguments for extension types in the future.
2012-03-20 20:06:16 +00:00
Victor Stinner 3ba82aa765 c-api: Replace PyUnicodeObject* by PyObject* in "U" format doc 2011-12-01 02:52:55 +01:00
Eli Bendersky 906b88fb2a Issue #12380: PyArg_ParseTuple now accepts a bytearray for the 'c' format.
As a side effect, this now allows the rjust, ljust and center methods of
bytes and bytearray to accept a bytearray argument.

Patch by Petri Lehtinen
2011-07-29 07:05:08 +03:00
Antoine Pitrou d53dfa3fb1 Issue #10840: make it explicit that "s*" and friends provide contiguous memory. 2011-01-06 07:16:31 +00:00
Georg Brandl 60203b41b0 Migrate to Sphinx 1.0 C language constructs. 2010-10-06 10:11:56 +00:00
Georg Brandl 6faee4e2ce #9911: doc copyedits. 2010-09-21 14:48:28 +00:00
Georg Brandl 67b21b7547 Consistency check for versionadded/changed directives. 2010-08-17 15:07:14 +00:00
Victor Stinner 1f1ccc0386 #9158: Fix y* format of PyArg_Parse*() functions documentation 2010-07-05 21:36:21 +00:00
Victor Stinner 25e8ec4724 Issue #8850: Remove "w" and "w#" formats from PyArg_Parse*() functions, use
"w*" format instead. Add tests for "w*" format.
2010-06-25 00:02:38 +00:00
Victor Stinner 2aa3af4a16 Issue #8939: Improve arg.rst
* Add :ctype: to Py_BEGIN_ALLOW_THREADS and int
 * "s" and "s#" formats of Py_BuildValue(): specify that the Python object type
   is str in the description
2010-06-18 23:59:45 +00:00
Victor Stinner 06e49dd029 Issue #8592: PyArg_Parse*() functions raise a TypeError for "y", "u" and "Z"
formats if the string contains a null byte/character. Write unit tests for
string formats.
2010-06-13 18:21:50 +00:00
Victor Stinner 7909b0085a Fix some bugs in c-api/arg.rst documentation
* replace "the default encoding" by "'utf-8' encoding"
 * fix "w" / "w*" / "w#" doc: similar to "y" / "y*" / "y#"
   and not "s" / "s*" / "s#"
 * "u#": remove "Non-Unicode objects are handled by interpreting their
   read-buffer pointer ...", it's no more true
 * "es", "es#": remove "... and objects convertible to Unicode into a character
   buffer", it's no more true
 * Py_BuildValue(), "K" and "L" formats: specify the name of the C type on
   Windows (_int64 / unsigned _int64) as done for PyArg_Parse*() long long
   types
--CETTE ligne, et les suivantes ci-dessous, seront ignorées--

M    Doc/c-api/arg.rst
2010-06-11 23:30:12 +00:00
Victor Stinner 3dcb5acdb0 Issue #8838, #8339: Remove codecs.charbuffer_encode() and "t#" parsing format
Remove last references to the "char buffer" of the buffer protocol from
Python3.
2010-06-08 22:54:19 +00:00
Victor Stinner 69e25fa5b8 Issue #8925: fix types of Py_Parse*() and Py_BuildValue() functions
* Add links to Python types
 * Replace "string" by bytes or str
 * Replace "long" by "int"
 * Specify the default encoding
 * Fix reST syntax ("..note ::")
 * etc.
2010-06-07 21:20:41 +00:00
Victor Stinner 7eeb5b5e50 Issue #8848: U / U# formats of Py_BuildValue() are just alias to s / s# 2010-06-07 19:57:46 +00:00
Antoine Pitrou 83fd9b97b8 Issue #8593: Fix, reorder and improve the documentation for argument parsing 2010-05-03 15:57:23 +00:00
Benjamin Peterson 44d3d7854b add versionadded 2010-04-25 21:03:34 +00:00
Benjamin Peterson fb88636199 prevent the dict constructor from accepting non-string keyword args #8419
This adds PyArg_ValidateKeywordArguments, which checks that keyword arguments
are all strings, using an optimized method if possible.
2010-04-24 18:21:17 +00:00
Gregory P. Smith 2952148dd2 Merged revisions 77242 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77242 | gregory.p.smith | 2010-01-02 13:29:54 -0800 (Sat, 02 Jan 2010) | 3 lines

  Correct documentation for s* z* and w*, the argument that should be passed
  is the address of a Py_buffer, not a Py_buffer *.
........
2010-01-02 21:32:29 +00:00