1 |
Author: zmedico |
2 |
Date: 2009-06-29 23:44:55 +0000 (Mon, 29 Jun 2009) |
3 |
New Revision: 13738 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/portage/__init__.py |
7 |
Log: |
8 |
Use a finally blocker to ensure _expand_new_virtuals properly resets eapi |
9 |
state when an exception is raised. |
10 |
|
11 |
|
12 |
Modified: main/trunk/pym/portage/__init__.py |
13 |
=================================================================== |
14 |
--- main/trunk/pym/portage/__init__.py 2009-06-29 23:34:42 UTC (rev 13737) |
15 |
+++ main/trunk/pym/portage/__init__.py 2009-06-29 23:44:55 UTC (rev 13738) |
16 |
@@ -6984,15 +6984,16 @@ |
17 |
prev_eapi = mytrees.get("eapi") |
18 |
mytrees["eapi"] = virtual_eapi |
19 |
|
20 |
- mycheck = dep_check(depstring, mydbapi, mysettings, myroot=myroot, |
21 |
- trees=trees, **pkg_kwargs) |
22 |
+ try: |
23 |
+ mycheck = dep_check(depstring, mydbapi, mysettings, |
24 |
+ myroot=myroot, trees=trees, **pkg_kwargs) |
25 |
+ finally: |
26 |
+ # Restore previous EAPI after recursion. |
27 |
+ if prev_eapi is not None: |
28 |
+ mytrees["eapi"] = prev_eapi |
29 |
+ else: |
30 |
+ del mytrees["eapi"] |
31 |
|
32 |
- # Restore previous EAPI after recursion. |
33 |
- if prev_eapi is not None: |
34 |
- mytrees["eapi"] = prev_eapi |
35 |
- else: |
36 |
- del mytrees["eapi"] |
37 |
- |
38 |
if not mycheck[0]: |
39 |
raise portage.exception.ParseError( |
40 |
"%s: %s '%s'" % (y[0], mycheck[1], depstring)) |