[Python-Dev] list comprehensions patch - updated for current CVS version

Skip Montanaro skip@mojam.com (Skip Montanaro)
Mon, 24 Apr 2000 23:37:42 -0500 (CDT)


--j8B4LC7gVY
Content-Type: text/plain; charset=us-ascii
Content-Description: message body and .signature
Content-Transfer-Encoding: 7bit

For those folks that might want to fiddle with list comprehensions I tweaked 
Greg Ewing's list comprehensions patch to work with the current CVS tree.
The attached gzip'd patch contains diffs for

    Grammar/Grammar
    Include/graminit.h
    Lib/test/test_grammar.py
    Lib/test/output/test_grammar
    Python/compile.c
    Python/graminit.c

I would have updated the corresponding section of the language reference,
but the BNF there didn't match the contents of Grammar/Grammar, so I was a
bit unclear what needed doing.  If it gets that far perhaps someone else can
contribute the necessary verbiage or at least point me in the right
direction.

-- 
Skip Montanaro | http://www.mojam.com/
skip@mojam.com | http://www.musi-cal.com/


--j8B4LC7gVY
Content-Type: application/octet-stream
Content-Description: list comprehensions patch for Python
Content-Disposition: attachment;
	filename="listcomp.patch.gz"
Content-Transfer-Encoding: base64

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
9E4QXNtdAAA=

--j8B4LC7gVY--