[New-bugs-announce] [issue20287] Argument Clinic: support diverting output to buffer, external file, etc

Larry Hastings report at bugs.python.org
Fri Jan 17 08:35:58 CET 2014


New submission from Larry Hastings:

The long-awaited, highly desirable "buffer" patch is here!  With features I figured would never see the light of day.

Changes in this patch:

* New directive "output":
    output <field> <destination>
  redirects a "field" (subsection of Clinic's generated code)
  to an alternate "destination" (someplace besides the output block)
  predefined destinations: block buffer file two-pass suppress

* Alternate use of "output":
    output preset <name>
  redirects all destinations en mass based on a precreated scenario
  predefined presets: original file buffer partial-buffer two-pass

* New directive "destination":
    destination <name> <type> [<filename>]
  creates new destinations for use with "output"
  valid types: buffer file two-pass suppress

* New directive "dump":
    dump <destination>
  dumps the contents of a destination into the current file

* New directive "preserve":
    preserve
  preserves the current output in an output block (used by "file"
  destinations)

* New directive "set":
   set line_prefix <prefix>
   set line_suffix <suffix>

* New output template, uses PyArg_UnpackTuple

* New compact output template, for simple METH_O, only one line

* "args" and "kwargs" variables in C renamed to "_args" and "_kwargs"

Patch is not ready for checkin, as it still needs documentation.  But it's ready for code review!

There's a lot of churn in the C files.  That's due to the following
changes, in order of frequency:

  * "args" -> "_args"
  * "kwargs" -> "_kwargs"
  * new concise METH_O template
  * PyArg_UnpackTuple generator

----------
assignee: larry
files: larry.clinic.buffer.patch.1.txt
messages: 208325
nosy: georg.brandl, larry, pitrou, serhiy.storchaka
priority: normal
severity: normal
stage: patch review
status: open
title: Argument Clinic: support diverting output to buffer, external file, etc
type: enhancement
versions: Python 3.4
Added file: http://bugs.python.org/file33503/larry.clinic.buffer.patch.1.txt

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue20287>
_______________________________________


More information about the New-bugs-announce mailing list