Commit Graph

49 Commits

Author SHA1 Message Date
Nick Coghlan c854ad6eb9 Correct a bug in the nested() example 2006-04-24 04:41:45 +00:00
Nick Coghlan d36c583656 Change proposed terminology from context object to context specifier 2006-04-24 03:22:30 +00:00
Nick Coghlan db32145d0e Clarify the original meanings I intended for various terms, and record the fact that gaining consensus on the terminology is still an open issue 2006-04-23 05:14:10 +00:00
Phillip J. Eby 453a6c7d77 Make "context" vs. "context manager" terminology consistent.
Originally, there were only context managers, so a lot of text referred
to context managers that now should refer to contexts since the
__context__ method was added.  All contexts are context managers, so
these references were technically correct in some sense, but are
easier to understand if the more-specific terms are used.
2006-04-18 18:55:17 +00:00
Phillip J. Eby 47e612f17c More info on the __exit__ return issue, per Guido's request 2006-03-25 04:31:37 +00:00
Phillip J. Eby 0d09dd2a6a Document the difference between a normal return from __exit__() and an
exception return.  Fix a problem with @contextmanager not detecting
a broken generator that yields after a throw().  Make @contextmanager
not reraise exceptions, but return a false value in that case instead.
2006-03-25 00:26:26 +00:00
Guido van Rossum f6659b5348 Update this PEP to reflect the new design: exceptions are swallowed only
when __exit__ returns a true value.
2006-03-09 17:39:53 +00:00
Hye-Shik Chang 5104007210 Fix an apparent typo in the expanded code. 2006-03-03 06:39:47 +00:00
Guido van Rossum 1b6075f020 343: fix bug in nested().
356: add some tentative future keywords.
3000: add some new ideas.
2006-03-01 17:06:46 +00:00
Guido van Rossum 1b6c373966 Fix two examples that were broken by the new semantics. 2006-02-28 22:49:15 +00:00
Neal Norwitz afdd996d22 Minor detail about the warning 2006-02-28 21:13:18 +00:00
Guido van Rossum d8e895c878 Clarify the expanded code -- exc is just used as a flag. 2006-02-28 21:05:40 +00:00
Guido van Rossum f038797f00 Change the PEP to add that __exit__() must re-raise the exception
passed in, if any.  This appears to be a deviation from how the PEP
was originally seen; but I think it's essential to be able to make a
simple promise about generators decorated with @contextmanager.

Added the transition plan and the __future__ statement.

Also some miscellaneous cleanup.
2006-02-28 20:58:17 +00:00
Guido van Rossum 53c1f1795e Change the translation slightly.
ctx.__exit__ is now bound before ctx.__enter__;
ctx.__enter__ is still called before the try-block
is entered, but VAR is assigned *inside* the try-block.
Clarify what happens to break, continue, return.
2006-02-27 21:08:43 +00:00
Neal Norwitz 80bb3418b1 Fix a few small issues. opening() is introduced later. 2006-02-20 22:24:44 +00:00
Neal Norwitz f860cb242a Guido accepted 342 and 343 at EuroPython keynote. 342 was commited. 2006-02-08 06:22:22 +00:00
Nick Coghlan 781dcd1b39 Update with outcome of recent python-dev discussions 2005-10-29 06:08:12 +00:00
Nick Coghlan 28b01bed0e Revert PEP 343 to draft status until Guido is happy with the update 2005-10-17 09:15:06 +00:00
Nick Coghlan 1ddf93a58c Change name of PEP 343 to something less interesting but more obviously descriptive 2005-10-16 07:35:50 +00:00
Nick Coghlan a4e8e16f80 Update PEP 343 to reflect post-acceptance python-dev discussions 2005-10-16 07:30:17 +00:00
Guido van Rossum cc0bfb59f2 Rename class ContextManager to ContextWrapper, per Nick's proposal. 2005-07-12 16:28:56 +00:00
Guido van Rossum f2d367de26 Rename @with_template and class Wrapper to @contextmanager and class
ContextManager.  Mark open issues as resolved.
2005-07-12 16:27:53 +00:00
Raymond Hettinger 95fd996744 Mark 342 and 343 as accepted. Mark 254 as abandoned. 2005-06-28 07:39:09 +00:00
Phillip J. Eby 5b3f4e8ce0 PEP 343: Remove functionality now covered under PEP 342. 2005-06-26 02:21:21 +00:00
Raymond Hettinger 461d444be3 Optional arguments for throw() to match raise syntax 2005-06-17 21:58:59 +00:00
Guido van Rossum a61abd2828 Restrict 'as VAR' to VAR being a single variable or a parenthesized
series of variables.  This keeps the door open for a future extension
with multiple as-clauses.
2005-06-11 05:14:20 +00:00
Guido van Rossum b69c21f1e7 Add Wiki link. 2005-06-06 17:15:17 +00:00
Michael W. Hudson 9893f796ea Incredibly minor clarification. 2005-06-03 09:32:57 +00:00
Guido van Rossum 235d1d29e2 Include suggestions from Nick Coghlan. 2005-06-02 15:13:55 +00:00
Guido van Rossum 787d7a1050 Raise RuntimeError in close(). Add list of open issues. 2005-06-02 14:56:36 +00:00
Guido van Rossum b71b1ff13d List PEPs that can be rejected once this is accepted. This turned up
a surprise: PEP 319.
2005-06-01 21:01:11 +00:00
Guido van Rossum c76b8b40fc Address most of Phillip Eby's comments. 2005-06-01 16:45:25 +00:00
Guido van Rossum a942512355 Specify generator enhancements. Change keyword to 'with'. 2005-06-01 15:13:37 +00:00
Guido van Rossum 0c4151b242 Warn readers of coming attractions. 2005-05-31 20:27:15 +00:00
Guido van Rossum a9a33511f4 More generic decimal example. 2005-05-18 14:24:27 +00:00
Guido van Rossum 324efa3d31 Outdent "return +s" and explain why. Thanks Raymond! 2005-05-18 03:58:29 +00:00
Guido van Rossum 2dcf31c84a Add a variant of the decimal example. 2005-05-18 02:53:26 +00:00
Guido van Rossum b99aa09cf2 Elaborate Decimal context example, thanks to Michael Chermside. 2005-05-17 22:15:50 +00:00
Guido van Rossum 6d466b9e14 *Really* move the __enter__ call where it belongs. 2005-05-16 13:42:52 +00:00
Guido van Rossum 22bae2bbd0 Move the __enter__ call out of the try suite. I was nuts putting it
inside.
2005-05-16 00:36:01 +00:00
David Goodger 5c42550605 fixed typos 2005-05-15 00:45:42 +00:00
Guido van Rossum cea61e0c0a __exit__ is always called with 3 args. 2005-05-14 17:36:15 +00:00
Guido van Rossum 9dccdb93a1 Break last line of intro differently so "PEP 310" can be a hyperlink. 2005-05-14 05:20:21 +00:00
Guido van Rossum 72d772445b Explain the __exit__() signature. 2005-05-14 05:18:36 +00:00
Guido van Rossum a83f881582 Slight elaboration for readers who don't recall PEP 310. 2005-05-14 05:08:23 +00:00
Guido van Rossum 33cff6d943 Add a motivational section, remove tabs, add colons, and some very
minor edits.
2005-05-14 05:02:28 +00:00
Guido van Rossum 3df485114c Various clarifications. Mention Decimal context example. Clarify
that I don't like having files etc. implement __enter__ and __exit__
directly.
2005-05-14 04:02:10 +00:00
Guido van Rossum e9086b2485 Don't be wishy-washy about the call to __exit__().
Fix the redirecting_stdout() example (remove the try/finally).
2005-05-14 02:02:40 +00:00
Guido van Rossum 3e348d5237 Add PEP 343: Anonymous Block Redux 2005-05-14 00:08:20 +00:00