Commit Graph

224 Commits

Author SHA1 Message Date
Marc-André Lemburg 3e3eacb5fc Fixed "u#" parser marker to pass through Unicode objects as-is without
going through the buffer interface API.

Added tests for this to the _testcapi module and updated docs.
2002-01-09 16:21:27 +00:00
Fred Drake 5f29319197 Replace the "Cookbook approach" with the approach documented in
PC/example_nt/readme.txt; this one does not rely on any external scripts.
This "fixes" SF bug #221671 and most of SF bug #225003.
2001-12-13 17:20:32 +00:00
Fred Drake 145b479508 Added discussion of protecting against screwing up the exception state in
an object's deallocator, including an example of how to do this.
2001-12-11 19:28:22 +00:00
Guido van Rossum 44b3f76adf More info about the cycle detector. 2001-12-07 17:57:56 +00:00
Tim Peters 874c4f0f99 Trivial spelling repair on new cyclic garbage text. 2001-12-07 17:51:41 +00:00
Fred Drake 024e647972 Added more information about reference counting limitations and the cycle
detector.
This closes SF bug #484950.
2001-12-07 17:30:40 +00:00
Fred Drake 92024d1a99 Clarify the description of the creation of an owned reference from an API
function.
This closes SF bug #486657.
2001-11-29 07:16:19 +00:00
Fred Drake 99181ac64e Add an index entry for the discussion of PyEval_CallObject().
This is related to SF bug #485165.
2001-11-29 05:02:34 +00:00
Fred Drake c37b65ee10 Clean up some markup cruft. A number of the macros that take no
parameters (like \UNIX) are commonly entered using an empty group to
separate the markup from a following inter-word space; this is not
needed when the next character is punctuation, or the markup is the
last thing in the enclosing group.  These cases were marked
inconsistently; the empty group is now *only* used when needed.
2001-11-28 07:26:15 +00:00
Fred Drake ef6373a4f6 Exhibit good form in C code: always provide docstrings in method tables, and
always fill in all slots of table entries.
Fixed a few minor markup errors.
2001-11-17 06:50:42 +00:00
Fred Drake 0aa811c527 Use the \note and \warning macros where appropriate. 2001-10-20 04:24:09 +00:00
Guido van Rossum 7a59445e37 Document required return values -1, 0, 1 for tp_compare handler, as
suggested in SF patch #424475.  Also document exception return.
2001-10-16 20:32:05 +00:00
Tim Peters d38b1c74f3 SF [#466125] PyLong_AsLongLong works for any integer.
Generalize PyLong_AsLongLong to accept int arguments too.  The real point
is so that PyArg_ParseTuple's 'L' code does too.  That code was
undocumented (AFAICT), so documented it.
2001-09-30 05:09:37 +00:00
Fred Drake 3ab0ac7cd4 Remove comment that no longer applies. 2001-09-26 22:26:45 +00:00
Fred Drake 396ca574dd Document the rule that Python.h must be included before any standard
headers.  This is the final checkin for SF bug #458768.
2001-09-06 16:30:30 +00:00
Fred Drake 9b88b4c9e8 Do not #include <stdio.h> since Python.h already does that. 2001-09-06 16:20:33 +00:00
Fred Drake adaca02f9e Use the standard argument convention for main(), and conform to the
Python/C style guide.
2001-09-06 16:17:24 +00:00
Barry Warsaw da21ce3e31 On Fred's suggestion, convert sprintf() examples to use
PyString_FromFormat().  Also fixed one grammar problem, and a few
other mark-up issues.  Sample code not checked.
2001-08-29 01:41:58 +00:00
Fred Drake cc8f44b884 Split "Extending & Embedding" into separate files, one per chapter. 2001-08-20 19:30:29 +00:00
Fred Drake ce1650f3a5 A large contribution from Dave Kuhlman describing what each of the slots
in the type object is used for, for many of the more commonly used slots.
Thanks!

(But there is still a lot more to write on this topic.)
Markup and organizational changes by your friendly neighborhood
documentation czar.
2001-08-15 19:07:18 +00:00
Fred Drake 53765753c4 Lots of new text and example code on embedding Python in C, contributed
by Albert Hofkamp.  Some editing has been done for style and markup
consistency.

This also supplies an example of importing modules and calling a function
defined in the module, so this closes SF bug #440037 as well.

(The long example code was moved to a separate file so that it would
format properly.)
2001-08-04 01:58:36 +00:00
Martin v. Löwis 4f1cd8bdcb Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774. 2001-07-26 13:41:06 +00:00
Fred Drake 3332778f35 Corrected a section reference (title was wrong).
Added information on the return values of PyArg_ParseTuple() and
PyArg_ParseTupleAndKeywords().
2001-07-20 20:59:49 +00:00
Fred Drake 7a889ceb1e Minor change to match the style guide. 2001-07-14 02:27:22 +00:00
Fred Drake 15e33d828c Fix up a few style nits -- avoid "e.g." and "i.e." -- these make
translation more difficult, as well as reading the English more
difficult for non-native speakers.
2001-07-06 06:49:32 +00:00
Fred Drake d5df09cfb6 Update to include the license information in a less annoying place. 2001-06-20 21:37:34 +00:00
Marc-André Lemburg 6f15e5796e Added new parser markers 'et' and 'et#' which do not recode string
objects but instead assume that they use the requested encoding.

This is needed on Windows to enable opening files by passing in
Unicode file names.
2001-05-02 17:16:16 +00:00
Fred Drake f531ad698c Markup nit: For the Python documents, we use \empt instead of \textit. 2001-03-19 04:19:56 +00:00
Fred Drake 93fe96a3c8 Py_BuildValue(): Add "D" conversion to create a Python complex value from
a Py_complex C value.

Patch by Walter Dörwald.
This closes SF patch #407148.
2001-03-12 21:06:31 +00:00
Fred Drake 80d4c07775 There was a real leak in the "export a C API" example; fix that one.
(There are too many initspam() functions; they need to be renamed
post-beta.)
2001-03-02 19:48:06 +00:00
Fred Drake 0539bfaaa4 There is no longer a -X option to the interpreter, so remove the comments
on how PyErr_NewException() behaves in that case.

Clarify why an owned reference is kept in an extension module's
variable that refers to the result of PyErr_NewException(); one reader
thought that was a leak.

Clean up some tabs and simplify some markup.
2001-03-02 18:15:11 +00:00
Fred Drake f6a9617ba0 Michael Hudson <mwh21@cam.ac.uk>:
New material on defining extension types.  Thanks!

(Small markup adjustments made, but this is mostly as received.)
2001-02-19 19:22:00 +00:00
Fred Drake bcb09fa33f Worked around bug SF #125880: changed the text of three sections that
really nasty TeX source to "bleed" into the PDF "bookmarks".
2001-01-22 18:38:00 +00:00
Fred Drake 0ac000cd54 Updates to reflect pending changes to the XML conversion process. 2000-11-22 16:42:37 +00:00
Fred Drake aa126e1e21 Corrected a number of typos reported by Gilles Civario
<gcivario@users.sourceforge.net>.

This closes bug #122562.
2000-11-17 18:20:33 +00:00
Fred Drake 4bc0aed3a6 Fix cut & paste error that describes three paramters when there are only
two [bug #119729].

Update use of distutils.sysconfig that "broke" when Greg W. changed the API
[bug #119645].
2000-11-02 21:49:17 +00:00
Fred Drake 585698aa59 All acknowledgements have been moved to the Doc/ACKS file.
Adjusted to reflect the rename of Setup.in to Setup.dist.

Added pointer to the "Distributing Python Modules" manual in the
appropriate place.
2000-10-26 17:19:58 +00:00
Fred Drake 4dc1a6d6ba Added some comments on the interaction of reload() and extension modules.
Based on comments from Chris Barker <cbarker@jps.net>.
2000-10-02 22:38:09 +00:00
Fred Drake ed773ef78d Include the new text on reporting bugs in a few useful places.
This closes SourceForge bug #114792.
2000-09-21 21:35:22 +00:00
Marc-André Lemburg 3578b77312 Special case the "s#" PyArg_Parse() token for Unicode objects:
"s#" will now return a pointer to the default encoded string data
of the Unicode object instead of a pointer to the raw UTF-16
data.

The latter is still available via PyObject_AsReadBuffer().
2000-09-21 21:08:08 +00:00
Fred Drake 1c25803647 Add a brief section on linking Python as an embedded scripting language.
This closes SourceForge bug #110833.
2000-09-08 22:54:53 +00:00
Fred Drake 4e15945fff Markup errors: \cfuntion -> \cfunction 2000-08-11 17:09:23 +00:00
Marc-André Lemburg 8b9835cdb2 Added descriptions of the new parser markers for PyArg_ParseTuple(). 2000-08-03 19:38:07 +00:00
Greg Stein c2844af87b needs a space 2000-07-09 16:27:33 +00:00
Fred Drake a83b68a143 Remove the only Py_PROTO in the docs. 2000-07-09 03:35:10 +00:00
Fred Drake 1739be50cb Small grammatical correction from Frank Stajano. Added comment with
suggestion from Frank for an example and further explanation.
2000-06-30 17:58:34 +00:00
Fred Drake ec105d0993 Enhanced memory-reference information in the description of Py_BuildValue(),
based on response from Frank Stajano <fstajano@uk.research.att.com>.
2000-06-28 16:15:08 +00:00
Fred Drake 2b9e180ec3 Added memory-reference information to the description of Py_BuildValue(),
based on comments from Frank Stajano <fstajano@uk.research.att.com>.
2000-06-28 15:32:29 +00:00
Fred Drake 65e69002a2 Oops, better also note that the module initialization function must be
extern "C" for C++.
2000-05-10 20:36:34 +00:00
Fred Drake 2d54523551 Section "The Module's Method Table and Initialization Function":
Explain that the name of the initialization function must be
        init<module>().  Omission noted by Daniel Kozan
        <crum@dev-group.com>.
2000-05-10 20:33:18 +00:00
Fred Drake 25871c001f Brian Hooper <brian_takashi@hotmail.com>:
Added 'u' and 'u#' tags for PyArg_ParseTuple - these turn a
PyUnicodeObject argument into a Py_UNICODE * buffer, or a Py_UNICODE *
buffer plus a length with the '#'.  Also added an analog to 'U'
for Py_BuildValue.
2000-05-03 15:17:02 +00:00
Fred Drake 3c3507fd4f Documentation patch describing the 'u' and 'u#' format specifiers,
from Brian Hooper <brian_takashi@hotmail.com>.
2000-04-28 14:43:33 +00:00
Fred Drake 54fd8452a1 Merge in changes from the 1.5.2p2 release. 2000-04-03 04:54:28 +00:00
Fred Drake 9fa76f1090 Use \citetitle in several places, and \programopt where appropriate. 1999-11-10 16:01:43 +00:00
Fred Drake 8779f648d2 Added descriptions of the t#, w, and w# PyArg_ParseTuple() format
characters; these are the ones for the buffer interface.
1999-08-27 15:28:15 +00:00
Fred Drake 82ac24ffb0 Minor markup nit. 1999-07-02 14:29:14 +00:00
Fred Drake a48a083edb Added paragraph about potential re-initialization of extension
modules; responding to suggestion by Robin Boerdijk
<Robin.Boerdijk@nl.origin-it.com>.
1999-06-18 19:17:28 +00:00
Fred Drake 5f342ac2a7 Always use "section" when referring to sections of a document, not "Section". 1999-04-29 02:47:40 +00:00
Fred Drake a4a90ddeac Clarify that the Modules/ directory is in an unpacked source
distribution; this is not clear for Windows users.
1999-04-29 02:44:50 +00:00
Fred Drake c0fcbc1ac6 Update starship URLs. 1999-04-29 02:30:04 +00:00
Fred Drake 52e2d51ef3 Fixed latex2html weirdness for a footnote. 1999-04-05 21:26:37 +00:00
Fred Drake dc12ec8ca0 Fix a number of typos and small grammatical nits pointed out by Detlef
Lannert <lannert@lannert.rz.uni-duesseldorf.de>.

Added a comment explaining the cast in the method table for the
keyword arguments sample code, in response to another comment by
Detlef.
1999-03-09 18:36:55 +00:00
Fred Drake ba21d10d9b Added note about *static* after description of *shared*. 1999-02-22 18:21:17 +00:00
Fred Drake 9226d8e8a8 Removed "This will be discussed later." where it's not. Reported by
Clay Spence <cspence@sarnoff.com>; see entry in ../TODO.
1999-02-22 14:55:46 +00:00
Fred Drake 29fb54f0ca Update note about the (...) format specifier for PyArg_ParseTuple(). 1999-02-18 03:50:01 +00:00
Fred Drake 8e0151725d Small updates and grammatical adjustments.
Remove comment about this manual being out of date from the abstract.
1999-02-17 18:12:14 +00:00
Fred Drake 33698f818b Removed old dynamic linking chapter.
Integrated information on Windows DLLs from Chris Phoenix (Thanks!).

Added "Acknowledgements" area to thank contributing authors.
1999-02-16 23:06:32 +00:00
Fred Drake 3de61bc13f Integrated notes on building extension modules on Windows, by Neil
Schemenauer <neil_schemenauer@transcanada.com>.

Thanks, Neil!
1999-02-16 21:14:16 +00:00
Fred Drake abfd7d6701 Small grammatical fix; missing comma. 1999-02-16 17:34:51 +00:00
Fred Drake 295fb434ed Make it clear that Demo/embed/ is from the source distribution. 1999-02-16 17:29:42 +00:00
Fred Drake ec9fbe90be Added section "Providing a C API for an Extension Module" by Konrad
Hinsen.

"\C{}" --> "C"
1999-02-15 16:20:25 +00:00
Fred Drake f9918f25b1 Minor nit to prevent dropping a space in the HTML generation. 1999-02-05 18:30:49 +00:00
Guido van Rossum d358afeec0 Document 'N' format character for Py_BuildValue -- like 'O' but doesn't INCREF. 1998-12-23 05:02:08 +00:00
Fred Drake 2f8592cbea Ignore the byproducts of SGML/XML conversions for now. 1998-12-01 18:58:28 +00:00
Fred Drake e743fd01ac Rationalize a word-space markup to not break in the LaTeX->*ML
conversion tools currently being constructed.

Add a chapter from Jim Fulton on using Misc/Makefile.pre.in.  Still
preliminary.  The "Dynamic Loading" chapter needs to be updated (and
possibly removed, since it's no longer an issue for most (any?)
users.
1998-11-24 17:07:29 +00:00
Fred Drake 5e8aa549d1 Update the example in "Calling Python Functions from C" to use
METH_VARARGS conventions and PyArg_ParseTuple(), and document the flag
and where to look for PyArg_ParseTuple() info.

Response to comment from Don Bashford <bashford@scripps.edu>.
1998-11-16 18:34:07 +00:00
Fred Drake 9f86b662d1 Update to use a separate page for front matter. 1998-07-28 21:55:19 +00:00
Fred Drake b85fbec83b "ZeroDevisionError" --> "ZeroDivisionError"
Thanks, AMK!
1998-04-13 00:50:04 +00:00
Fred Drake e7957184d2 Change \sectcode to logical markup. 1998-04-04 07:17:47 +00:00
Fred Drake dc40904a32 Hyphenate "built-in" for consistency. 1998-04-02 18:54:54 +00:00
Fred Drake b789c70d05 Minor markup nits. 1998-04-02 16:19:15 +00:00
Fred Drake a0dbddfcc0 Markup consistency nits.
Fix indentation in code sample in PyArg_ParseTuple() section.

Added one index entry.

Fix include file reference in "Shared Libraries" to print <...> instead of
the upside-down versions of ! and ?.
1998-04-02 06:50:02 +00:00
Fred Drake f3aa0e0627 Revert the index stuff to work better with LaTeX2HTML. 1998-03-17 06:23:13 +00:00
Fred Drake 7d20ffe245 Adjust the index inclusion for the new index support. 1998-03-09 16:39:22 +00:00
Fred Drake cd05ca9762 Remove unnecessary blank line in long code sample.
Remove a confusing article.
1998-03-07 05:32:08 +00:00
Fred Drake 3fe985fc28 Simplify some of the escaping around ']' in \item[...] markup in light of
a fix to LaTeX2HTML from Ross Moore.  Yeah!
1998-03-04 03:51:42 +00:00
Fred Drake 6659c30b67 Convert LaTeX support to create a new class of documents. HTML generation
now requires LaTeX2HTML 98.1p1 or newer (& and is still in progress).

This means that doing things to change the formatting of the manuals (at the
"normal user" level, like A4 paper), can happen in just one place, rather
than in each document file.
1998-03-03 22:02:19 +00:00
Fred Drake 40e72f7fbd Fix typo. 1998-03-03 19:37:38 +00:00
Fred Drake d7bb3032c1 Marked reference to the Python Library Reference with \emph{}.
Changed sample module creation of an exception to use PyErr_NewException().

Logical markup.
1998-03-03 17:52:07 +00:00
Fred Drake 3da06a69b9 Marked references to the other manuals as \emph{} in the abstract.
Added \label{}s for logical addressing.
1998-02-26 18:49:12 +00:00
Guido van Rossum 2474d68548 Fix up description of 'S' format; as Dave Ascher pointed out, it
was ungrammatical to the point of saying the opposite of what it
should say.
1998-02-26 17:07:11 +00:00
Fred Drake 628f59814e Make sure the ']' in the content of the \item[] isn't used as the ending ']'. 1998-02-25 15:48:16 +00:00
Fred Drake 1aedbd8b0a "--" --> "---" in two places. 1998-02-16 14:47:27 +00:00
Fred Drake 1e11a5c117 Remove \bcode / \ecode everywhere.
Make all the indentations in {verbatim} environments have column 0 of the
listing in column 0 of the file.

Remove pagenumbering / pagestyle cruft.
1998-02-13 07:11:32 +00:00
Guido van Rossum afcd589027 Retract the statement that all functions called by Python (even method
defs) need to be declared extern "C" -- it seems to have no basis in
truth (any more?).
1998-02-05 19:59:39 +00:00
Fred Drake b6e5032d9c Added description of "D" format for PyArg_ParseTuple(), including example
use with function name provided as well.

Wrapped up PyArg_ParseTupleAndKeywords() description and provided example
based on Geoff Philbrick's example to the mailing list.
1998-02-04 20:26:31 +00:00
Fred Drake ca6567fb3f Use \url{} to mark URLs. 1998-01-22 20:44:18 +00:00
Fred Drake 53396f66c1 Consistency: In two \section{} headers, change {\tt ...} to \sectcode{...}. 1998-01-19 02:48:37 +00:00
Fred Drake af8a015c93 Consistency: "{\bf ...}" ==> "\strong{...}"
"{\em ...}" ==> "\emph{...}"

	      Not at all sure what to do with "{\rm ...}".
	      Leaving it for now.
1998-01-14 14:51:31 +00:00
Fred Drake 4d4f9e726a Removed \mytableofcontents; just use \tableofcontents. 1998-01-13 22:25:02 +00:00
Fred Drake dca8792b52 Added openright option the the \documentclass{} for each of the manuals. 1998-01-13 16:53:23 +00:00
Fred Drake 0fd8268189 Revise prologue and frontmatter to use latex2e (not in 2.09 compatibility
mode) and take advantage of changes in myformat.sty.

Change "C" to "\C{}" and "\code{NULL}" to "\NULL{}" everywhere for consistency
and control.

Started a description of PyArg_ParseTupleAndKeywords().
1998-01-09 05:39:38 +00:00
Guido van Rossum fdacc58bfe Added pointer to api.tex and note about the out-of-date-ness of this
document.
1997-10-07 14:40:16 +00:00
Guido van Rossum 98046b90d0 Minor typo only. 1997-08-14 19:50:18 +00:00
Guido van Rossum e47da0ae04 AMK's megapatch:
* \bcode, \ecode added everywhere
	* \label{module-foo} added everywhere
	* A few \seealso sections added.
	* Indentation fixed inside verbatim in lib*tex files
1997-07-17 16:34:52 +00:00
Guido van Rossum debf2e8a53 Fix dropped word. 1997-07-17 15:58:43 +00:00
Guido van Rossum 9231c8f176 Made a start with api.tex, the Python-C API Reference Manual.
Removed extref.tex (which provided the starting point).
Also removed qua.tex, which is out of date and no longer needed.
1997-05-15 21:43:21 +00:00
Guido van Rossum 7e924dd10d Correct typo in PyArg_ParseTuple example.
Add reference to DLD 3.3 at http://www-swiss.ai.mit.edu/~jaffer/DLD.html.
1997-02-10 16:51:52 +00:00
Guido van Rossum d16ddb610a Typos reported by Tamito Kajiyama. 1996-12-13 02:38:17 +00:00
Guido van Rossum 305ed11a74 Remove mention of HAVE_CONFIG_H 1996-08-19 22:59:46 +00:00
Guido van Rossum 267e80d4d4 Added doco for abstract interface 1996-08-09 21:01:07 +00:00
Guido van Rossum ed39cd05c2 change warning about C++ 1995-10-08 00:17:19 +00:00
Guido van Rossum 7ec5957022 typo bf should be \bf 1995-04-07 15:35:33 +00:00
Guido van Rossum b92112da0e yet a better introduction 1995-03-20 14:24:09 +00:00
Guido van Rossum f23e0fe3be micro change 1995-03-18 11:04:29 +00:00
Guido van Rossum 5049bcb164 another round (sigh :-( ) 1995-03-13 16:55:23 +00:00
Guido van Rossum 16cd7f9f12 Moved author and date to boilerplate.tex.
Added copyright.tex to all files.
Added descr of check_interval to libsys.tex.
Corrected lotsa typos in tut.tex (thanks to George M. Sipe).
Corrected mktuple (should be newtupleobject) example in ext.tex.
1994-10-06 10:29:26 +00:00
Guido van Rossum 16d6e7109d Lots of small corrections by Andrew Kuchling (plus all new rotor docs) 1994-08-08 12:30:22 +00:00
Guido van Rossum 6938f06047 Merge alpha100 branch back to main trunk 1994-08-01 12:22:53 +00:00
Guido van Rossum fbee23e55b Documented the fact that IRIX 5.x also supports Sun style shared
libraries.
1994-01-01 17:32:24 +00:00
Guido van Rossum 83eb962528 * {lib,ref,ext,tut}.tex: added explicit \date{<date> \\ <release>}.
* lib2.tex: change bogus \\var to \var.
1993-11-23 16:28:45 +00:00
Guido van Rossum 6f0132f490 * text2latex.py: call main() instead of always processing ext.tex.
* Makefile: added 'ext' to 'all' target
* ext.tex: more changes towards a readable text
* lib4.tex (posix): added set{uid,gid}
* lib2.tex (array): restored doc for typecode and itemsize (which were
  there but not visible for dir())
1993-11-19 13:13:22 +00:00
Guido van Rossum db65a6ce55 * ext.tex: did most of the tedious changes from plain ASCII text to LaTeX.
* text2latex.py: automatically put function names in \code{}.
* lib.tex, ref.tex, ext.tex, qua.tex, tut.tex: use new P.O.Box number in
  address.
1993-11-05 17:11:16 +00:00
Guido van Rossum 7a2dba2a00 * ext.tex: documentation for extending, reference counts, and embedding
(formerly ../misc/{EXTENDING,REFCNT,EMBEDDING}).  Also affects Makefile.
* text2latex.py: script to do part of the conversion from an plain ASCI
  text file (in my particular style) to LaTeX.
  (Chapter/section/subsection headers, and verbatim sections.)
* partparse.py, texipre.dat, fix.el, Makefile: Minor cleanup of latex ->
  info conversion process (at least it works again, and with less
  debugging output).  Removed fix.sh.
* lib1.tex (section{Built-in Functions}): adapt description of str() and
  repr() to new situation.
* lib3.tex (Module os): added exec*() variants.
* lib3.tex (Module posix): added execve().
* lib2.tex (Module array): documented reality; remove typecode and
itemsize, add byteswap, rename read/write to fromfile/tofile, and
re-alphabetized.
* lib1.tex (Built-in Functions): renamed bagof() to filter().
1993-11-05 14:45:11 +00:00