[Jython-checkins] jython (merge 2.5 -> default): Merge 2.5.

frank.wierzbicki jython-checkins at python.org
Fri Feb 8 01:03:06 CET 2013


http://hg.python.org/jython/rev/f29453ef0415
changeset:   7010:f29453ef0415
parent:      7008:d9c03da9857f
parent:      7009:df829bcbd4f3
user:        Frank Wierzbicki <fwierzbicki at gmail.com>
date:        Thu Feb 07 16:02:49 2013 -0800
summary:
  Merge 2.5.

files:
  ACKNOWLEDGMENTS                        |   1 +
  NEWS                                   |   1 +
  src/org/python/core/PySystemState.java |  14 ++++++++++++++
  3 files changed, 16 insertions(+), 0 deletions(-)


diff --git a/ACKNOWLEDGMENTS b/ACKNOWLEDGMENTS
--- a/ACKNOWLEDGMENTS
+++ b/ACKNOWLEDGMENTS
@@ -93,6 +93,7 @@
     Costantino Cerbo
     Alex Groenholm
     Anselm Kruis
+    Andreas Stührk
     Dmitry Jemerov
     Miki Tebeka
     Jeff Allen
diff --git a/NEWS b/NEWS
--- a/NEWS
+++ b/NEWS
@@ -37,6 +37,7 @@
 
 Jython 2.5.4rc1
   Bugs Fixed
+    - [ 1936 ] JBoss 7, vfs protocol in use for jarFileName in PySystemState.
     - [ 1972 ] jython 2.5.3 sys.stdin.readline() hangs when jython launched as subprocess on Mac OS X.
     - [ 1962 ] Interactive console in Jython 2.5.3 needs CRTL-D to execute command.
     - [ 1676 ] NPE in defaultdict 
diff --git a/src/org/python/core/PySystemState.java b/src/org/python/core/PySystemState.java
--- a/src/org/python/core/PySystemState.java
+++ b/src/org/python/core/PySystemState.java
@@ -59,6 +59,7 @@
     private static final String JAR_URL_PREFIX = "jar:file:";
     private static final String JAR_SEPARATOR = "!";
     private static final String VFSZIP_PREFIX = "vfszip:";
+    private static final String VFS_PREFIX = "vfs:";
 
     public static final PyString version = new PyString(Version.getVersion());
 
@@ -1181,6 +1182,19 @@
                         }
                         jarFileName = urlString.substring(start, jarIndex);
                     }
+                } else if (urlString.startsWith(VFS_PREFIX)) {
+                    // vfs:/some/path/jython.jar/org/python/core/PySystemState.class
+                    final String path = PySystemState.class.getName().replace('.', '/');
+                    int jarIndex = urlString.indexOf(".jar/".concat(path));
+                    if (jarIndex > 0) {
+                        jarIndex += 4;
+                        int start = VFS_PREFIX.length();
+                        if (Platform.IS_WINDOWS) {
+                            // vfs:/C:/some/path/jython.jar/org/python/core/PySystemState.class
+                            start++;
+                        }
+                        jarFileName = urlString.substring(start, jarIndex);
+                    }
                 }
             } catch (Exception e) {}
         }

-- 
Repository URL: http://hg.python.org/jython


More information about the Jython-checkins mailing list