You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(107) |
Dec
(67) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(76) |
Feb
(125) |
Mar
(72) |
Apr
(13) |
May
(18) |
Jun
(12) |
Jul
(129) |
Aug
(47) |
Sep
(1) |
Oct
(36) |
Nov
(128) |
Dec
(124) |
| 2002 |
Jan
(59) |
Feb
|
Mar
(14) |
Apr
(14) |
May
(72) |
Jun
(9) |
Jul
(3) |
Aug
(5) |
Sep
(18) |
Oct
(65) |
Nov
(28) |
Dec
(12) |
| 2003 |
Jan
(10) |
Feb
(2) |
Mar
(4) |
Apr
(33) |
May
(21) |
Jun
(9) |
Jul
(29) |
Aug
(34) |
Sep
(4) |
Oct
(8) |
Nov
(15) |
Dec
(4) |
| 2004 |
Jan
(26) |
Feb
(12) |
Mar
(11) |
Apr
(9) |
May
(7) |
Jun
|
Jul
(5) |
Aug
|
Sep
(3) |
Oct
(7) |
Nov
(1) |
Dec
(10) |
| 2005 |
Jan
(2) |
Feb
(72) |
Mar
(16) |
Apr
(39) |
May
(48) |
Jun
(97) |
Jul
(57) |
Aug
(13) |
Sep
(16) |
Oct
(24) |
Nov
(100) |
Dec
(24) |
| 2006 |
Jan
(15) |
Feb
(34) |
Mar
(33) |
Apr
(31) |
May
(79) |
Jun
(64) |
Jul
(41) |
Aug
(64) |
Sep
(31) |
Oct
(46) |
Nov
(55) |
Dec
(37) |
| 2007 |
Jan
(32) |
Feb
(61) |
Mar
(11) |
Apr
(58) |
May
(46) |
Jun
(30) |
Jul
(94) |
Aug
(93) |
Sep
(86) |
Oct
(69) |
Nov
(125) |
Dec
(177) |
| 2008 |
Jan
(169) |
Feb
(97) |
Mar
(74) |
Apr
(113) |
May
(120) |
Jun
(334) |
Jul
(215) |
Aug
(237) |
Sep
(72) |
Oct
(189) |
Nov
(126) |
Dec
(160) |
| 2009 |
Jan
(180) |
Feb
(45) |
Mar
(98) |
Apr
(140) |
May
(151) |
Jun
(71) |
Jul
(107) |
Aug
(119) |
Sep
(73) |
Oct
(121) |
Nov
(14) |
Dec
(6) |
| 2010 |
Jan
(13) |
Feb
(9) |
Mar
(10) |
Apr
(64) |
May
(3) |
Jun
(16) |
Jul
(7) |
Aug
(23) |
Sep
(17) |
Oct
(37) |
Nov
(5) |
Dec
(8) |
| 2011 |
Jan
(10) |
Feb
(11) |
Mar
(77) |
Apr
(11) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Finn B. <bc...@us...> - 2001-01-15 18:38:30
|
Update of /cvsroot/jython/jython/installer In directory usw-pr-cvs1:/tmp/cvs-serv21763 Modified Files: liftoff.filelist Log Message: Added the new files for reload support. Index: liftoff.filelist =================================================================== RCS file: /cvsroot/jython/jython/installer/liftoff.filelist,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** liftoff.filelist 2000/12/25 11:02:29 1.8 --- liftoff.filelist 2001/01/15 18:38:23 1.9 *************** *** 53,56 **** --- 53,57 ---- t Lib/javaos.py ..\Lib\javaos.py t Lib/javapath.py ..\Lib\javapath.py + t Lib/jreload.py ..\Lib\jreload.py t Lib/marshal.py ..\Lib\marshal.py t Lib/socket.py ..\Lib\socket.py *************** *** 305,308 **** --- 306,313 ---- t org/python/util/PythonObjectInputStream.java ..\org\python\util\PythonObjectInputStream.java t org/python/util/Makefile ..\org\python\util\Makefile + t Lib/jxxload_help/DiscardHelp.java ..\Lib\jxxload_help\DiscardHelp.java + t Lib/jxxload_help/PackageManager.java ..\Lib\jxxload_help\PackageManager.java + t Lib/jxxload_help/PathVFS.java ..\Lib\jxxload_help\PathVFS.java + t Lib/jxxload_help/PathVFSJavaLoader.java ..\Lib\jxxload_help\PathVFSJavaLoader.java # # Library modules from CPython |
|
From: Finn B. <bc...@us...> - 2001-01-15 18:27:46
|
Update of /cvsroot/jython/jython/org/python/util
In directory usw-pr-cvs1:/tmp/cvs-serv17173
Modified Files:
PythonInterpreter.java
Log Message:
Added an initialize() convinience method.
Index: PythonInterpreter.java
===================================================================
RCS file: /cvsroot/jython/jython/org/python/util/PythonInterpreter.java,v
retrieving revision 2.5
retrieving revision 2.6
diff -C2 -r2.5 -r2.6
*** PythonInterpreter.java 2000/12/11 18:56:34 2.5
--- PythonInterpreter.java 2001/01/15 18:27:38 2.6
***************
*** 2,5 ****
--- 2,6 ----
package org.python.util;
import org.python.core.*;
+ import java.util.*;
/**
***************
*** 16,20 ****
PyObject locals;
! // Initialize from a possibly precompiled Python module
/**
--- 17,41 ----
PyObject locals;
! /**
! * Initialize the jython runtime. This method should only be
! * called once, and should be call before any other python objects
! * are created (included a PythonInterpreter).
! *
! * @param preProperties A set of properties. Typically
! * System.getProperties() is used.
! * @param postProperties An other set of properties. Values like
! * python.home, python.path and all other
! * values from the registry files can be
! * added to this property set. PostProperties
! * will override system properties and
! * registry properties.
! * @param argv Command line argument. These values will
! * assigned to sys.argv.
! */
! public static void initialize(Properties preProperties,
! Properties postProperties,
! String[] argv) {
! PySystemState.initialize(preProperties, postProperties, argv);
! }
/**
|
|
From: Finn B. <bc...@us...> - 2001-01-15 18:26:49
|
Update of /cvsroot/jython/jython/org/python/core
In directory usw-pr-cvs1:/tmp/cvs-serv16760
Modified Files:
PySystemState.java
Log Message:
Updated to rc1.
Index: PySystemState.java
===================================================================
RCS file: /cvsroot/jython/jython/org/python/core/PySystemState.java,v
retrieving revision 2.41
retrieving revision 2.42
diff -C2 -r2.41 -r2.42
*** PySystemState.java 2001/01/10 16:30:12 2.41
--- PySystemState.java 2001/01/15 18:26:42 2.42
***************
*** 14,18 ****
* The current version of JPython.
*/
! public static String version = "2.0beta2";
/**
--- 14,18 ----
* The current version of JPython.
*/
! public static String version = "2.0rc1";
/**
|
|
From: Finn B. <bc...@us...> - 2001-01-15 18:26:01
|
Update of /cvsroot/jython/jython/installer In directory usw-pr-cvs1:/tmp/cvs-serv16453 Modified Files: liftoff.props Log Message: Updated to rc1. Index: liftoff.props =================================================================== RCS file: /cvsroot/jython/jython/installer/liftoff.props,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** liftoff.props 2001/01/10 16:27:24 1.6 --- liftoff.props 2001/01/15 18:25:53 1.7 *************** *** 2,9 **** product.author=The Jython Team product.string=Jython ! product.version=2.0beta2 java.minVersion=1.1 product.root= ! destination.package_prefix=jython-2.0b2 license.licenseText=LICENSE.txt product.readmeText=README.txt --- 2,9 ---- product.author=The Jython Team product.string=Jython ! product.version=2.0rc1 java.minVersion=1.1 product.root= ! destination.package_prefix=jython-2.0rc1 license.licenseText=LICENSE.txt product.readmeText=README.txt |
|
From: Finn B. <bc...@us...> - 2001-01-15 18:25:29
|
Update of /cvsroot/jython/htdocs/images In directory usw-pr-cvs1:/tmp/cvs-serv16264 Modified Files: jython-new-small.gif Log Message: Using Ivan Kougaenko's icon. Index: jython-new-small.gif =================================================================== RCS file: /cvsroot/jython/htdocs/images/jython-new-small.gif,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 Binary files /tmp/cvsxQ7i7d and /tmp/cvsGVLd2h differ |
|
From: Finn B. <bc...@us...> - 2001-01-15 18:25:01
|
Update of /cvsroot/jython/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv16066 Modified Files: install.ht Log Message: Updated to rc1. Index: install.ht =================================================================== RCS file: /cvsroot/jython/htdocs/install.ht,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** install.ht 2001/01/10 11:25:13 1.8 --- install.ht 2001/01/15 18:24:53 1.9 *************** *** 6,13 **** <A HREF="http://liftoff.sourceforge.net">LiftOff</A>. To install Jython, open the command line to the directory in which ! you have placed the jython-20b2.class file and then type: <BLOCKQUOTE> ! <P><java interpreter> jython-20b2</P> </BLOCKQUOTE> --- 6,13 ---- <A HREF="http://liftoff.sourceforge.net">LiftOff</A>. To install Jython, open the command line to the directory in which ! you have placed the jython-20rc1.class file and then type: <BLOCKQUOTE> ! <P><java interpreter> jython-20rc1</P> </BLOCKQUOTE> *************** *** 17,25 **** <BLOCKQUOTE> ! <P><TT>java jython-20b2</TT></P> ! <P><TT>jre jython-20b2</TT></P> ! <P><TT>jview jython-20b2</TT> </BLOCKQUOTE> --- 17,25 ---- <BLOCKQUOTE> ! <P><TT>java jython-20rc1</TT></P> ! <P><TT>jre jython-20rc1</TT></P> ! <P><TT>jview jython-20rc1</TT> </BLOCKQUOTE> *************** *** 27,37 **** <BLOCKQUOTE> ! <P><TT>env CLASSPATH=. java jython-20b2</TT> ! <P><TT>java -cp . jython-20b2</TT> ! <P><TT>java -classpath . jython-20b2</TT> ! <P><TT>jview /cp:. jython-20b2</TT> </BLOCKQUOTE> --- 27,37 ---- <BLOCKQUOTE> ! <P><TT>env CLASSPATH=. java jython-20rc1</TT> ! <P><TT>java -cp . jython-20rc1</TT> ! <P><TT>java -classpath . jython-20rc1</TT> ! <P><TT>jview /cp:. jython-20rc1</TT> </BLOCKQUOTE> *************** *** 42,46 **** to your PATH, so running the <tt>java jython-20a</tt> command will make jython use the JRE. Specify the full path if you want to use JDK instead, ie: ! <tt>c:\Programs\JDK1.2\bin\java -cp . jython-20b2</tt>. <P>If you do not have a GUI, then add <tt>-o dir_to_install_to</tt> to the --- 42,46 ---- to your PATH, so running the <tt>java jython-20a</tt> command will make jython use the JRE. Specify the full path if you want to use JDK instead, ie: ! <tt>c:\Programs\JDK1.2\bin\java -cp . jython-20rc1</tt>. <P>If you do not have a GUI, then add <tt>-o dir_to_install_to</tt> to the *************** *** 50,54 **** <BLOCKQUOTE> ! <P><TT><java interpreter> jython-20b2 -o Jython-2.0 demo lib source</TT> </BLOCKQUOTE> --- 50,54 ---- <BLOCKQUOTE> ! <P><TT><java interpreter> jython-20rc1 -o Jython-2.0 demo lib source</TT> </BLOCKQUOTE> *************** *** 82,86 **** <A HREF="mailto:jyt...@li...">jython-dev</A>. ! <P>As a workaround you can extract the jython-20b2.class manually. The class file is basicly a .zip file and most unzip programs can manage to extract the contents of the class into a directory. --- 82,86 ---- <A HREF="mailto:jyt...@li...">jython-dev</A>. ! <P>As a workaround you can extract the jython-20rc1.class manually. The class file is basicly a .zip file and most unzip programs can manage to extract the contents of the class into a directory. |
|
From: Finn B. <bc...@us...> - 2001-01-15 18:24:39
|
Update of /cvsroot/jython/htdocs
In directory usw-pr-cvs1:/tmp/cvs-serv15911
Modified Files:
index.ht
Log Message:
Updated to rc1.
Index: index.ht
===================================================================
RCS file: /cvsroot/jython/htdocs/index.ht,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** index.ht 2001/01/10 11:25:13 1.11
--- index.ht 2001/01/15 18:24:32 1.12
***************
*** 16,27 ****
! <h3><em><font size=+1 color="red">Jython News</font></em></h3>
<dl>
! <p><dt><b>Jython 2.0 beta 2 released!</b>
<dd>Download the lastest relase of Jython <a href="download.html">here</a>,
or <a href="NEWS.html">read a summary</a>
! of recent changes. (10-jan-2001).
<p><dt><b>Jython 2.0 beta 1 released!</b>
--- 16,33 ----
! <h3><font size=+1 color="#666699">Jython News</font></h3>
<dl>
! <p><dt><b>Jython 2.0 release candidate 1 released!</b>
<dd>Download the lastest relase of Jython <a href="download.html">here</a>,
or <a href="NEWS.html">read a summary</a>
! of recent changes. (15-jan-2001).
!
! <p><dt><b>New website layout.</b>
! <dd>New colors and an icon created by Ivan Kougaenko. (15-jan-2001).
!
! <p><dt><b>Jython 2.0 beta 2 released!</b>
! <dd>The second beta release of Jython is available (10-jan-2001).
<p><dt><b>Jython 2.0 beta 1 released!</b>
***************
*** 32,44 ****
for installation and setup of Jython on MacOS. (27-dec-2000).
- <p><dt><b>Jython 2.0 alpha 3 released!</b>
- <dd>The second alpha release of Jython is available (25-dec-2000).
-
- <p><dt><b>Jython 2.0 alpha 2 released!</b>
- <dd>The second alpha release of Jython is available (17-dec-2000).
-
- <p><dt><b>Jython 2.0 alpha 1 released!</b>
- <dd>The first alpha release of Jython is available (26-nov-2000).
-
<p><dt><b>Jython project announced</b>
<dd>The Jython project have been created on sourceforge. Read the
--- 38,41 ----
***************
*** 48,52 ****
! <h3><em><font size=+1 color="red">Jython In the press</font></em></h3>
<dl>
--- 45,49 ----
! <h3><font size=+1 color="#666699">Jython In the press</font></h3>
<dl>
***************
*** 70,74 ****
</dl>
! <font size=-1> last updated 10-jan-2001 </font>
--- 67,71 ----
</dl>
! <font size=-1> last updated 15-jan-2001 </font>
|
|
From: Finn B. <bc...@us...> - 2001-01-15 18:24:05
|
Update of /cvsroot/jython/htdocs
In directory usw-pr-cvs1:/tmp/cvs-serv15615
Modified Files:
download.ht
Log Message:
Updated to rc1.
Removed refrence to PSA.
Index: download.ht
===================================================================
RCS file: /cvsroot/jython/htdocs/download.ht,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** download.ht 2001/01/10 11:25:13 1.6
--- download.ht 2001/01/15 18:23:58 1.7
***************
*** 33,37 ****
<li><a href="license.html">Read the license</a>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=12867">
! Download Jython 2.0 beta 2</a>
<li><a href="install.html">View Installation instructions</a>
</ul>
--- 33,37 ----
<li><a href="license.html">Read the license</a>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=12867">
! Download Jython 2.0 release candidate 1</a>
<li><a href="install.html">View Installation instructions</a>
</ul>
***************
*** 76,85 ****
your project, or your company, so we can add it to the
<a href="users.html">Jython Users</a> page.
-
- <p><li><b>Join the PSA (<i>optional</i>)</b>
-
- <p>Show you support for Python and Jython by joining the
- <a href="http://www.python.org/psa/">Python
- Software Activity</a>!
</UL>
--- 76,79 ----
|
|
From: Finn B. <bc...@us...> - 2001-01-15 18:23:26
|
Update of /cvsroot/jython/jython/Doc/images In directory usw-pr-cvs1:/tmp/cvs-serv15283 Modified Files: jython-new-small.gif Log Message: Using Ivan Kougaenko's icon. Index: jython-new-small.gif =================================================================== RCS file: /cvsroot/jython/jython/Doc/images/jython-new-small.gif,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 Binary files /tmp/cvsGjBfYQ and /tmp/cvsQJeaTx differ |
|
From: Finn B. <bc...@us...> - 2001-01-15 18:22:15
|
Update of /cvsroot/jython/jython
In directory usw-pr-cvs1:/tmp/cvs-serv14794
Modified Files:
build.xml
Log Message:
Added compilation of the sources in jxxload_help.
Index: build.xml
===================================================================
RCS file: /cvsroot/jython/jython/build.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** build.xml 2000/12/17 19:47:22 1.5
--- build.xml 2001/01/15 18:21:44 1.6
***************
*** 76,79 ****
--- 76,85 ----
/>
+ <javac
+ srcdir="${sourceDir}/Lib"
+ includes="jxxload_help/**"
+ destdir="${outputDir}/"
+ />
+
<copy file="org/python/modules/ucnhash.dat"
todir="${outputDir}/org/python/modules" />
|
|
From: Finn B. <bc...@us...> - 2001-01-15 18:20:07
|
Update of /cvsroot/jython/jython
In directory usw-pr-cvs1:/tmp/cvs-serv14423
Modified Files:
README.txt
Log Message:
Updated to rc1.
Fixed a typo.
Index: README.txt
===================================================================
RCS file: /cvsroot/jython/jython/README.txt,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** README.txt 2001/01/10 16:27:49 1.8
--- README.txt 2001/01/15 18:19:59 1.9
***************
*** 1,3 ****
! Welcome to Jython 2.0 beta 2
=============================
--- 1,3 ----
! Welcome to Jython 2.0 rc 1
=============================
***************
*** 16,20 ****
- The user configuration file is now called <user.home>/.jython
! - The jar file conytaining all jython is now called jython.jar.
- Text files will pass data read and written through the default
--- 16,21 ----
- The user configuration file is now called <user.home>/.jython
! - The jar file containing all the jython classes is now called
! jython.jar.
- Text files will pass data read and written through the default
|
|
From: Finn B. <bc...@us...> - 2001-01-15 18:18:57
|
Update of /cvsroot/jython/jython In directory usw-pr-cvs1:/tmp/cvs-serv13763 Modified Files: NEWS Log Message: Updated to rc1. Index: NEWS =================================================================== RCS file: /cvsroot/jython/jython/NEWS,v retrieving revision 2.22 retrieving revision 2.23 diff -C2 -r2.22 -r2.23 *** NEWS 2001/01/10 11:25:43 2.22 --- NEWS 2001/01/15 18:18:50 2.23 *************** *** 1,4 **** --- 1,14 ---- Jython NEWS + 15-Jan-2001 Jython 2.0 release candidate 1 + + New features + - Experimental support for reloading java packages. Thanks to + Samuele Pedroni for all his work on the Jython/Java integration. + + Bug fixes. + - Prevent a NPE when a .jar on the classpath is corrupt. Instead + a message with the original IOException is printed. + 10-Jan-2001 Jython 2.0 beta 2 |
|
From: Finn B. <bc...@us...> - 2001-01-15 18:18:10
|
Update of /cvsroot/jython/jython
In directory usw-pr-cvs1:/tmp/cvs-serv13568
Modified Files:
ACKNOWLEDGMENTS
Log Message:
Added Brian Zimmer & Ivan Kougaenko. Updated the list names.
Index: ACKNOWLEDGMENTS
===================================================================
RCS file: /cvsroot/jython/jython/ACKNOWLEDGMENTS,v
retrieving revision 2.6
retrieving revision 2.7
diff -C2 -r2.6 -r2.7
*** ACKNOWLEDGMENTS 2000/11/24 16:54:07 2.6
--- ACKNOWLEDGMENTS 2001/01/15 18:18:02 2.7
***************
*** 13,18 ****
Finn Bock has been a frequent and valuable contributor to the
! JPy...@py... mailing list, and has provided bug
! fixes and these important modules:
cPickle.java
--- 13,17 ----
Finn Bock has been a frequent and valuable contributor to the
! Jython, and has provided bug fixes and these important modules:
cPickle.java
***************
*** 26,34 ****
Samuele Pedroni have designed and implemented the improved
! PackageManagers and fixed a lot of bugs.
! A huge thanks goes to all the members of the jpython-interest
! mailing list. Other folks who have contributed to JPython in ways
! large and small, in no particular order:
Greg Ward
--- 25,34 ----
Samuele Pedroni have designed and implemented the improved
! PackageManagers and java reload support and also fixed a lot
! of bugs.
! A huge thanks goes to all the members of the jpython/jython
! mailing lists. Other folks who have contributed to JPython and
! Jython in ways large and small, in no particular order:
Greg Ward
***************
*** 42,45 ****
--- 42,47 ----
Bernhard Bablok
Dj Walker-Morgan
+ Brian Zimmer
+ Ivan Kougaenko
|
|
From: Samuele P. <ped...@us...> - 2001-01-15 04:52:06
|
Update of /cvsroot/jython/jython/Lib/jxxload_help
In directory usw-pr-cvs1:/tmp/cvs-serv22086
Added Files:
DiscardHelp.java PackageManager.java PathVFS.java
PathVFSJavaLoader.java
Log Message:
experimental java classes reload support (0.1).
--- NEW FILE ---
// Copyright 2000 Samuele Pedroni
package jxxload_help;
import org.python.core.PyJavaClass;
public class DiscardHelp extends Object {
private DiscardHelp() {
}
private static boolean check(Class c,ClassLoader loader,java.util.Vector interfaces) {
try {
Class s = c;
do {
if (s.getClassLoader() == loader) return true;
s = s.getSuperclass();
} while (s != null);
for(java.util.Enumeration enum=interfaces.elements(); enum.hasMoreElements();) {
Class intf = (Class)enum.nextElement();
if (intf.isAssignableFrom(c)) return true;
}
} catch(SecurityException e) {
}
return false;
}
// clearly not thread safe
public static void discard(ClassLoader loader,java.util.Vector interfaces) {
org.python.core.InternalTables tbl = PyJavaClass.getInternalTables();
tbl._beginCanonical();
PyJavaClass jc;
while ((jc = (PyJavaClass)tbl._next()) != null ) {
Class c = (Class)jc.__tojava__(Class.class);
if(check(c,loader,interfaces)) tbl._flushCurrent();
}
tbl._beginOverAdapterClasses();
Class c;
while ((c = (Class)tbl._next()) != null) {
if(interfaces.contains(c)) tbl._flushCurrent();
}
tbl._beginOverAdapters();
while ((c = (Class)tbl._next()) != null) {
if(interfaces.contains(c)) tbl._flushCurrent();
}
}
}
--- NEW FILE ---
// Copyright 2000 Samuele Pedroni
package jxxload_help;
public class PackageManager extends org.python.core.PathPackageManager {
private ClassLoader parent;
private ClassLoader loader;
public PathVFS vfs;
public synchronized ClassLoader getLoader() {
if (loader == null) loader = new PathVFSJavaLoader(vfs,parent);
return loader;
}
public synchronized void resetLoader() {
loader = null;
}
// ??pending add cache support?
public PackageManager(org.python.core.PyList path,ClassLoader parent) {
vfs = new PathVFS();
this.parent = parent;
for (int i = 0; i < path.__len__(); i++) {
String entry = path.__finditem__(i).toString();
if (entry.endsWith(".jar") || entry.endsWith(".zip")) {
addJarToPackages(new java.io.File(entry),false);
} else {
java.io.File dir = new java.io.File(entry);
if (entry.length() == 0 || dir.isDirectory()) addDirectory(dir);
}
vfs.addVFS(entry);
}
}
public Class findClass(String pkg,String name,String reason) {
if (pkg != null && pkg.length()>0) name = pkg + '.' + name;
try {
return getLoader().loadClass(name);
}
catch(ClassNotFoundException e) {
return null;
}
catch (LinkageError e) {
throw org.python.core.Py.JavaError(e);
}
}
}
--- NEW FILE ---
// Copyright 2000 Samuele Pedroni
package jxxload_help;
import java.util.Vector;
import java.util.Hashtable;
import java.util.Enumeration;
import java.util.zip.ZipFile;
import java.util.zip.ZipEntry;
import java.io.*;
public class PathVFS extends Object {
public interface VFS {
public InputStream open(String id);
}
public static class JarVFS implements VFS {
private ZipFile zipfile;
public JarVFS(String fname) throws IOException {
zipfile = new ZipFile(fname);
}
public InputStream open(String id) {
ZipEntry ent = zipfile.getEntry(id);
if (ent == null) return null;
try {
return zipfile.getInputStream(ent);
} catch(IOException e) {
return null;
}
}
}
public static class DirVFS implements VFS {
private String prefix;
public DirVFS(String dir) {
if (dir.length() == 0)
prefix = null;
else
prefix = dir;
}
public InputStream open(String id) {
File file = new File(prefix,id.replace('/',File.separatorChar));
if (file.isFile()) {
try {
return new BufferedInputStream(new FileInputStream(file));
} catch(IOException e) {
return null;
}
}
return null;
}
}
private Vector vfs = new Vector();
private Hashtable once = new Hashtable();
private final static Object PRESENT = new Object();
public void addVFS(String fname) {
if (fname.length() == 0) {
if (!once.containsKey("")) {
once.put("",PRESENT);
vfs.addElement(new DirVFS(""));
}
return;
}
try {
File file = new File(fname);
String canon = file.getCanonicalPath().toString();
if (!once.containsKey(canon)) {
once.put(canon,PRESENT);
if (file.isDirectory()) vfs.addElement(new DirVFS(fname));
else if (file.exists() && (fname.endsWith(".jar") || fname.endsWith(".zip"))) {
vfs.addElement(new JarVFS(fname));
}
}
} catch(IOException e) {}
}
public InputStream open(String id) {
for(Enumeration enum = vfs.elements(); enum.hasMoreElements();) {
VFS v = (VFS)enum.nextElement();
InputStream stream = v.open(id);
if (stream != null) return stream;
}
return null;
}
}
--- NEW FILE ---
// Copyright 2000 Samuele Pedroni
package jxxload_help;
public class PathVFSJavaLoader extends ClassLoader {
private ClassLoader parent;
private PathVFS vfs;
public java.util.Vector interfaces = new java.util.Vector();
public PathVFSJavaLoader(PathVFS vfs,ClassLoader parent) {
this.vfs = vfs;
this.parent = parent;
}
protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
Class c;
c = findLoadedClass(name);
if (c != null) return c;
try {
if (parent != null) return parent.loadClass(name);
} catch(ClassNotFoundException e) {
}
java.io.InputStream in = vfs.open(name.replace('.','/')+".class");
if (in == null) throw new ClassNotFoundException(name);
try {
int av = in.available();
byte[] buf = new byte[av];
in.read(buf);
in.close();
return loadClassFromBytes(name,buf);
} catch(java.io.IOException e) {
throw new ClassNotFoundException(name);
}
}
private Class loadClassFromBytes(String name, byte[] data) {
Class c = defineClass(name, data, 0, data.length);
resolveClass(c);
if (c.isInterface()) interfaces.addElement(c);
if (!org.python.core.Options.skipCompile) {
Compiler.compileClass(c);
}
return c;
}
}
|
|
From: Samuele P. <ped...@us...> - 2001-01-15 04:50:46
|
Update of /cvsroot/jython/jython/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv21981
Added Files:
jreload.py
Log Message:
experimental java classes reload support (0.1).
--- NEW FILE ---
# java classes reload support (experimental)
# Copyright 2000 Samuele Pedroni
# ?? doc pending
__version__ = "0.1"
import sys
from org.python.core import imp,PyJavaPackage,PyJavaClass
import jxxload_help
class _Unload:
def __init__(self,ls):
self.ls = ls
self.loader = ls._mgr.loader
def do_unload(self,pkg):
for n in pkg.__dict__.keys():
e = pkg.__dict__[n]
if isinstance(e,PyJavaClass):
if PyJavaClass.isLazy(e): continue
if e.classLoader is self.loader:
del pkg.__dict__[n]
elif isinstance(e,PyJavaPackage):
self.do_unload(e)
def __call__(self):
if self.loader:
self.do_unload(self.ls._top)
loader = self.loader
jxxload_help.DiscardHelp.discard(loader,loader.interfaces)
if self.ls._mgr.loader is self.loader:
self.ls._mgr.resetLoader()
self.loader = None
class LoadSet:
# ?? for the moment from import * and dir do not work for LoadSet, but work for
# contained pkgs
# need java impl as PyObject
def __init__(self,name,path):
mgr = jxxload_help.PackageManager(path,imp.getSyspathJavaLoader())
self._name = name
self._mgr = mgr
self._top = mgr.topLevelPackage
def __getattr__(self,name):
if name == 'unload':
return _Unload(self)
else:
return getattr(self._top,name)
def __repr__(self):
return "<java load-set %s>" % self._name
def makeLoadSet(name,path):
if sys.modules.has_key('name'): return sys.modules[name]
sys.modules[name] = ls = LoadSet(name,path)
return ls
_reload = reload
def _do_reload(mgr,pkg):
pkg_name = pkg.__name__
for n in pkg.__dict__.keys():
e = pkg.__dict__[n]
if isinstance(e,PyJavaClass):
if PyJavaClass.isLazy(e): continue
del pkg.__dict__[n]
try :
c = mgr.findClass(pkg_name,n);
if c:
pkg.__dict__[n] = c
except:
pass
elif isinstance(e,PyJavaPackage):
_do_reload(mgr,e)
def reload(ls):
if isinstance(ls,LoadSet):
ls._mgr.resetLoader()
_do_reload(ls._mgr,ls._top)
else:
return _reload(ls)
|
|
From: Samuele P. <ped...@us...> - 2001-01-15 04:49:27
|
Update of /cvsroot/jython/jython/Lib/jxxload_help In directory usw-pr-cvs1:/tmp/cvs-serv21846/jxxload_help Log Message: Directory /cvsroot/jython/jython/Lib/jxxload_help added to the repository |
|
From: Samuele P. <ped...@us...> - 2001-01-15 04:44:42
|
Update of /cvsroot/jython/jython/org/python/core
In directory usw-pr-cvs1:/tmp/cvs-serv21563
Modified Files:
PyJavaClass.java __builtin__.java
Log Message:
minimal changes to core for jreload. should be safe.
Index: PyJavaClass.java
===================================================================
RCS file: /cvsroot/jython/jython/org/python/core/PyJavaClass.java,v
retrieving revision 2.28
retrieving revision 2.29
diff -C2 -r2.28 -r2.29
*** PyJavaClass.java 2000/12/16 13:37:14 2.28
--- PyJavaClass.java 2001/01/15 04:44:33 2.29
***************
*** 19,22 ****
--- 19,25 ----
}
+ public static final boolean isLazy(PyJavaClass jc) { // ?? for jreload
+ return jc.proxyClass == null;
+ }
public static final PyJavaClass lookup(String name,PackageManager mgr) {
***************
*** 794,798 ****
public Object __tojava__(Class c) {
! initialize();
return super.__tojava__(c);
}
--- 797,801 ----
public Object __tojava__(Class c) {
! if (c != PyJavaClass.class) initialize(); // ?? for isLazy
return super.__tojava__(c);
}
Index: __builtin__.java
===================================================================
RCS file: /cvsroot/jython/jython/org/python/core/__builtin__.java,v
retrieving revision 2.22
retrieving revision 2.23
diff -C2 -r2.22 -r2.23
*** __builtin__.java 2000/12/11 18:43:15 2.22
--- __builtin__.java 2001/01/15 04:44:33 2.23
***************
*** 59,62 ****
--- 59,66 ----
case 9:
return __builtin__.apply(arg1, arg2);
+ case 10:
+ if (!(arg2 instanceof PyClass))
+ throw Py.TypeError("isinstance(): 2nd arg is not a class");
+ return Py.newBoolean(__builtin__.isinstance(arg1,(PyClass) arg2));
default:
throw argCountError(2);
***************
*** 117,120 ****
--- 121,125 ----
dict.__setitem__("tuple", new BuiltinFunctions("tuple", 8, 1));
dict.__setitem__("apply", new BuiltinFunctions("apply", 9, 2, 3));
+ dict.__setitem__("isinstance", new BuiltinFunctions("isinstance", 10, 2)); // ?? for jreload
dict.__setitem__("__import__", new ImportFunction());
}
|
|
From: Samuele P. <ped...@us...> - 2001-01-15 04:43:40
|
Update of /cvsroot/jython/jython/org/python/core
In directory usw-pr-cvs1:/tmp/cvs-serv21489
Modified Files:
CachedJarsPackageManager.java
Log Message:
solves bug when reporting local fs "corrupted" jars.
Index: CachedJarsPackageManager.java
===================================================================
RCS file: /cvsroot/jython/jython/org/python/core/CachedJarsPackageManager.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** CachedJarsPackageManager.java 2000/12/17 15:57:52 1.3
--- CachedJarsPackageManager.java 2001/01/15 04:43:30 1.4
***************
*** 270,274 ****
// silently skip any bad directories
warning("skipping bad jar, '" +
! jarurl.toString() + "'");
}
--- 270,274 ----
// silently skip any bad directories
warning("skipping bad jar, '" +
! (jarfile!=null?jarfile.toString():jarurl.toString()) + "'"); // ?? solve bug
}
|
|
From: Finn B. <bc...@us...> - 2001-01-10 16:29:53
|
Update of /cvsroot/jython/jython/org/python/core
In directory usw-pr-cvs1:/tmp/cvs-serv28247
Modified Files:
PySystemState.java
Log Message:
Updated to beta2.
Index: PySystemState.java
===================================================================
RCS file: /cvsroot/jython/jython/org/python/core/PySystemState.java,v
retrieving revision 2.40
retrieving revision 2.41
diff -C2 -r2.40 -r2.41
*** PySystemState.java 2000/12/31 11:20:43 2.40
--- PySystemState.java 2001/01/10 16:30:12 2.41
***************
*** 14,18 ****
* The current version of JPython.
*/
! public static String version = "2.0beta1";
/**
--- 14,18 ----
* The current version of JPython.
*/
! public static String version = "2.0beta2";
/**
|
|
From: Finn B. <bc...@us...> - 2001-01-10 16:27:30
|
Update of /cvsroot/jython/jython In directory usw-pr-cvs1:/tmp/cvs-serv27640 Modified Files: README.txt Log Message: Updated to beta2. Index: README.txt =================================================================== RCS file: /cvsroot/jython/jython/README.txt,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** README.txt 2000/12/31 11:26:25 1.7 --- README.txt 2001/01/10 16:27:49 1.8 *************** *** 1,3 **** ! Welcome to Jython 2.0 beta 1 ============================= --- 1,3 ---- ! Welcome to Jython 2.0 beta 2 ============================= |
|
From: Finn B. <bc...@us...> - 2001-01-10 16:27:06
|
Update of /cvsroot/jython/jython/installer In directory usw-pr-cvs1:/tmp/cvs-serv27534 Modified Files: liftoff.props Log Message: Updated to beta2. Index: liftoff.props =================================================================== RCS file: /cvsroot/jython/jython/installer/liftoff.props,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** liftoff.props 2000/12/31 11:27:27 1.5 --- liftoff.props 2001/01/10 16:27:24 1.6 *************** *** 2,9 **** product.author=The Jython Team product.string=Jython ! product.version=2.0beta1 java.minVersion=1.1 product.root= ! destination.package_prefix=jython-2.0b1 license.licenseText=LICENSE.txt product.readmeText=README.txt --- 2,9 ---- product.author=The Jython Team product.string=Jython ! product.version=2.0beta2 java.minVersion=1.1 product.root= ! destination.package_prefix=jython-2.0b2 license.licenseText=LICENSE.txt product.readmeText=README.txt |
|
From: Finn B. <bc...@us...> - 2001-01-10 11:31:52
|
Update of /cvsroot/jython/jython/org/python/core
In directory usw-pr-cvs1:/tmp/cvs-serv10361
Modified Files:
Py.java
Log Message:
exec(): Allow a file as argument to exec.
Index: Py.java
===================================================================
RCS file: /cvsroot/jython/jython/org/python/core/Py.java,v
retrieving revision 2.29
retrieving revision 2.30
diff -C2 -r2.29 -r2.30
*** Py.java 2000/12/17 15:11:27 2.29
--- Py.java 2001/01/10 11:32:10 2.30
***************
*** 1056,1064 ****
code = (PyCode)o;
else {
if (o instanceof PyString)
! code = __builtin__.compile(o.toString(), "<string>", "exec");
! else
throw Py.TypeError(
! "exec: argument 1 must be string or code object");
}
Py.runCode(code, locals, globals);
--- 1056,1071 ----
code = (PyCode)o;
else {
+ String contents = null;
if (o instanceof PyString)
! contents = o.toString();
! else if (o instanceof PyFile) {
! PyFile fp = (PyFile)o;
! if (fp.closed)
! return;
! contents = fp.read().toString();
! } else
throw Py.TypeError(
! "exec: argument 1 must be string, code or file object");
! code = __builtin__.compile(contents, "<string>", "exec");
}
Py.runCode(code, locals, globals);
|
|
From: Finn B. <bc...@us...> - 2001-01-10 11:27:11
|
Update of /cvsroot/jython/jython/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv9638
Modified Files:
socket.py
Log Message:
Added Brian Zimmer's patch for getfqdn().
Index: socket.py
===================================================================
RCS file: /cvsroot/jython/jython/Lib/socket.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** socket.py 2000/12/05 19:25:48 1.8
--- socket.py 2001/01/10 11:27:29 1.9
***************
*** 22,25 ****
--- 22,51 ----
SOCK_STREAM = 2
+ def _gethostbyaddr(name):
+ # This is as close as I can get; at least the types are correct...
+ addresses = java.net.InetAddress.getAllByName(gethostbyname(name))
+ names = []
+ addrs = []
+ for addr in addresses:
+ names.append(addr.getHostName())
+ addrs.append(addr.getHostAddress())
+ return (names, addrs)
+
+ def getfqdn(name=None):
+ """
+ Return a fully qualified domain name for name. If name is omitted or empty
+ it is interpreted as the local host. To find the fully qualified name,
+ the hostname returned by gethostbyaddr() is checked, then aliases for the
+ host, if available. The first name which includes a period is selected.
+ In case no fully qualified domain name is available, the hostname is retur
+ New in version 2.0.
+ """
+ if not name:
+ name = gethostname()
+ names, addrs = _gethostbyaddr(name)
+ for a in names:
+ if a.find(".") >= 0:
+ return a
+ return name
def gethostname():
***************
*** 30,40 ****
def gethostbyaddr(name):
! # This is as close as I can get; at least the types are correct...
! addresses = java.net.InetAddress.getAllByName(gethostbyname(name))
! names = []
! addrs = []
! for addr in addresses:
! names.append(addr.getHostName())
! addrs.append(addr.getHostAddress())
return (names[0], names, addrs)
--- 56,60 ----
def gethostbyaddr(name):
! names, addrs = _gethostbyaddr(name)
return (names[0], names, addrs)
|
|
From: Finn B. <bc...@us...> - 2001-01-10 11:25:25
|
Update of /cvsroot/jython/jython
In directory usw-pr-cvs1:/tmp/cvs-serv9260
Modified Files:
NEWS
Log Message:
Updated to beta2.
Index: NEWS
===================================================================
RCS file: /cvsroot/jython/jython/NEWS,v
retrieving revision 2.21
retrieving revision 2.22
diff -C2 -r2.21 -r2.22
*** NEWS 2001/01/07 09:20:05 2.21
--- NEWS 2001/01/10 11:25:43 2.22
***************
*** 1,9 ****
Jython NEWS
! xx-Jan-2001 Jython 2.0 beta 2
Bug fixes.
- Fixed innerclass names with '$' #127200
- Fixed a bug where final methods were overriden in proxy #127201.
31-Dec-2000 Jython 2.0 beta 1
--- 1,14 ----
Jython NEWS
! 10-Jan-2001 Jython 2.0 beta 2
+ New features
+ - Added socket.getfqdn(). Thanks to Brian Zimmer for the patch.
+
Bug fixes.
- Fixed innerclass names with '$' #127200
- Fixed a bug where final methods were overriden in proxy #127201.
+ - Fixed a bug in exec which allow a fileobject to be passed in.
+ Thanks to Brian Zimmer for the patch.
31-Dec-2000 Jython 2.0 beta 1
|
|
From: Finn B. <bc...@us...> - 2001-01-10 11:24:55
|
Update of /cvsroot/jython/htdocs
In directory usw-pr-cvs1:/tmp/cvs-serv9187
Modified Files:
NEWS.ht download.ht index.ht install.ht
Log Message:
Updated to beta2.
Index: NEWS.ht
===================================================================
RCS file: /cvsroot/jython/htdocs/NEWS.ht,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** NEWS.ht 2000/12/31 13:39:21 1.4
--- NEWS.ht 2001/01/10 11:25:13 1.5
***************
*** 2,5 ****
--- 2,16 ----
Jython NEWS
+ 10-Jan-2001 Jython 2.0 beta 2
+
+ New features
+ - Added socket.getfqdn(). Thanks to Brian Zimmer for the patch.
+
+ Bug fixes.
+ - Fixed innerclass names with '$' #127200
+ - Fixed a bug where final methods were overriden in proxy #127201.
+ - Fixed a bug in exec which allow a fileobject to be passed in.
+ Thanks to Brian Zimmer for the patch.
+
31-Dec-2000 Jython 2.0 beta 1
Index: download.ht
===================================================================
RCS file: /cvsroot/jython/htdocs/download.ht,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** download.ht 2000/12/31 13:33:51 1.5
--- download.ht 2001/01/10 11:25:13 1.6
***************
*** 33,37 ****
<li><a href="license.html">Read the license</a>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=12867">
! Download Jython 2.0 beta 1</a>
<li><a href="install.html">View Installation instructions</a>
</ul>
--- 33,37 ----
<li><a href="license.html">Read the license</a>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=12867">
! Download Jython 2.0 beta 2</a>
<li><a href="install.html">View Installation instructions</a>
</ul>
Index: index.ht
===================================================================
RCS file: /cvsroot/jython/htdocs/index.ht,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** index.ht 2000/12/31 13:34:22 1.10
--- index.ht 2001/01/10 11:25:13 1.11
***************
*** 12,16 ****
<li><A HREF="download.html">Download</a> the lastest version.
<li><A HREF="docs/index.html">Documentation</A>
! <li>The Jython <A HREF="docs/faq.html">FAQ</A>.
</ul>
--- 12,16 ----
<li><A HREF="download.html">Download</a> the lastest version.
<li><A HREF="docs/index.html">Documentation</A>
! <li>The Jython <A HREF="http://jython.sourceforge.net/cgi-bin/faqw.py?req=index">FAQ</A>.
</ul>
***************
*** 20,27 ****
<dl>
! <p><dt><b>Jython 2.0 beta 1 released!</b>
<dd>Download the lastest relase of Jython <a href="download.html">here</a>,
or <a href="NEWS.html">read a summary</a>
! of recent changes. (31-dec-2000).
<p><dt><b>Step by step installation instruction for MacOS.</b>
--- 20,30 ----
<dl>
! <p><dt><b>Jython 2.0 beta 2 released!</b>
<dd>Download the lastest relase of Jython <a href="download.html">here</a>,
or <a href="NEWS.html">read a summary</a>
! of recent changes. (10-jan-2001).
!
! <p><dt><b>Jython 2.0 beta 1 released!</b>
! <dd>The first beta release of Jython is available (31-dec-2000).
<p><dt><b>Step by step installation instruction for MacOS.</b>
***************
*** 67,71 ****
</dl>
! <font size=-1> last updated 25-dec-2000 </font>
--- 70,74 ----
</dl>
! <font size=-1> last updated 10-jan-2001 </font>
Index: install.ht
===================================================================
RCS file: /cvsroot/jython/htdocs/install.ht,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** install.ht 2000/12/31 13:34:43 1.7
--- install.ht 2001/01/10 11:25:13 1.8
***************
*** 6,13 ****
<A HREF="http://liftoff.sourceforge.net">LiftOff</A>.
To install Jython, open the command line to the directory in which
! you have placed the jython-20b1.class file and then type:
<BLOCKQUOTE>
! <P><java interpreter> jython-20b1</P>
</BLOCKQUOTE>
--- 6,13 ----
<A HREF="http://liftoff.sourceforge.net">LiftOff</A>.
To install Jython, open the command line to the directory in which
! you have placed the jython-20b2.class file and then type:
<BLOCKQUOTE>
! <P><java interpreter> jython-20b2</P>
</BLOCKQUOTE>
***************
*** 17,25 ****
<BLOCKQUOTE>
! <P><TT>java jython-20b1</TT></P>
! <P><TT>jre jython-20b1</TT></P>
! <P><TT>jview jython-20b1</TT>
</BLOCKQUOTE>
--- 17,25 ----
<BLOCKQUOTE>
! <P><TT>java jython-20b2</TT></P>
! <P><TT>jre jython-20b2</TT></P>
! <P><TT>jview jython-20b2</TT>
</BLOCKQUOTE>
***************
*** 27,37 ****
<BLOCKQUOTE>
! <P><TT>env CLASSPATH=. java jython-20b1</TT>
! <P><TT>java -cp . jython-20b1</TT>
! <P><TT>java -classpath . jython-20b1</TT>
! <P><TT>jview /cp:. jython-20b1</TT>
</BLOCKQUOTE>
--- 27,37 ----
<BLOCKQUOTE>
! <P><TT>env CLASSPATH=. java jython-20b2</TT>
! <P><TT>java -cp . jython-20b2</TT>
! <P><TT>java -classpath . jython-20b2</TT>
! <P><TT>jview /cp:. jython-20b2</TT>
</BLOCKQUOTE>
***************
*** 42,46 ****
to your PATH, so running the <tt>java jython-20a</tt> command will make jython
use the JRE. Specify the full path if you want to use JDK instead, ie:
! <tt>c:\Programs\JDK1.2\bin\java -cp . jython-20b1</tt>.
<P>If you do not have a GUI, then add <tt>-o dir_to_install_to</tt> to the
--- 42,46 ----
to your PATH, so running the <tt>java jython-20a</tt> command will make jython
use the JRE. Specify the full path if you want to use JDK instead, ie:
! <tt>c:\Programs\JDK1.2\bin\java -cp . jython-20b2</tt>.
<P>If you do not have a GUI, then add <tt>-o dir_to_install_to</tt> to the
***************
*** 50,54 ****
<BLOCKQUOTE>
! <P><TT><java interpreter> jython-20b1 -o Jython-2.0 demo lib source</TT>
</BLOCKQUOTE>
--- 50,54 ----
<BLOCKQUOTE>
! <P><TT><java interpreter> jython-20b2 -o Jython-2.0 demo lib source</TT>
</BLOCKQUOTE>
***************
*** 82,86 ****
<A HREF="mailto:jyt...@li...">jython-dev</A>.
! <P>As a workaround you can extract the jython-20b1.class manually.
The class file is basicly a .zip file and most unzip programs can
manage to extract the contents of the class into a directory.
--- 82,86 ----
<A HREF="mailto:jyt...@li...">jython-dev</A>.
! <P>As a workaround you can extract the jython-20b2.class manually.
The class file is basicly a .zip file and most unzip programs can
manage to extract the contents of the class into a directory.
|