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...> - 2000-11-30 08:57:46
|
Update of /cvsroot/jython/htdocs In directory slayer.i.sourceforge.net:/tmp/cvs-serv28728 Modified Files: links.h Log Message: Link to the faqwizard. Index: links.h =================================================================== RCS file: /cvsroot/jython/htdocs/links.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** links.h 2000/11/26 18:08:00 1.3 --- links.h 2000/11/30 08:57:42 1.4 *************** *** 17,21 **** <li><a href="docs/whatis.html">What is Jython</a> <li><a href="docs/index.html">All Documentation</a> ! <li><a href="docs/faq.html">FAQ</a> <li><a href="http://www.jpython.org/jpython-talk-1.ppt">JimH's Slides</a> <br>(PowerPoint, ~239KB) --- 17,21 ---- <li><a href="docs/whatis.html">What is Jython</a> <li><a href="docs/index.html">All Documentation</a> ! <li><a href="http://jython.sourceforge.net/cgi-bin/faqw.py?req=index">FAQ</a> <li><a href="http://www.jpython.org/jpython-talk-1.ppt">JimH's Slides</a> <br>(PowerPoint, ~239KB) |
From: Finn B. <bc...@us...> - 2000-11-30 08:54:59
|
Update of /cvsroot/jython/jython/Tools/jythonc In directory slayer.i.sourceforge.net:/tmp/cvs-serv28475 Modified Files: compile.py SimpleCompiler.py Log Message: A small hack to fix bug 123627. This does not solve the dynamic issues with finding modules in __path__, but it works in the situations where the dotted package names matches the directory structure. Index: compile.py =================================================================== RCS file: /cvsroot/jython/jython/Tools/jythonc/compile.py,v retrieving revision 2.14 retrieving revision 2.15 diff -C2 -r2.14 -r2.15 *** compile.py 2000/11/19 22:32:45 2.14 --- compile.py 2000/11/30 08:54:55 2.15 *************** *** 229,233 **** code = jast.Block(pi.execstring(data)) mod.addMain(code, pi) - self.addDependencies(mod) return mod --- 229,232 ---- *************** *** 277,283 **** PyObject.attributes = {} #print ' attrs', attrs.keys() ! for name, value in mod.imports.items(): #print ' depends', name ! m = ImportName.lookupName(name) self.addDependency(m, attrs, mod, value) --- 276,288 ---- PyObject.attributes = {} #print ' attrs', attrs.keys() ! ! for name, (value, module) in mod.imports.items(): #print ' depends', name ! if module.package: ! m = ImportName.lookupName(module.package + '.' + name) ! if m is None: ! m = ImportName.lookupName(name) ! else: ! m = ImportName.lookupName(name) self.addDependency(m, attrs, mod, value) Index: SimpleCompiler.py =================================================================== RCS file: /cvsroot/jython/jython/Tools/jythonc/SimpleCompiler.py,v retrieving revision 2.9 retrieving revision 2.10 diff -C2 -r2.9 -r2.10 *** SimpleCompiler.py 2000/11/10 15:06:56 2.9 --- SimpleCompiler.py 2000/11/30 08:54:55 2.10 *************** *** 704,711 **** def addModule(self, mod, value=1): ! #print 'add module', mod.name, mod if self.module.imports.has_key(mod) and value == 1: return ! self.module.imports[mod] = value def addSetAttribute(self, obj, name, value): --- 704,711 ---- def addModule(self, mod, value=1): ! #print 'add module', mod if self.module.imports.has_key(mod) and value == 1: return ! self.module.imports[mod] = (value, self.module) def addSetAttribute(self, obj, name, value): |
From: Finn B. <bc...@us...> - 2000-11-30 08:52:17
|
Update of /cvsroot/jython/jython/Doc In directory slayer.i.sourceforge.net:/tmp/cvs-serv28316 Modified Files: index.ht index.html Log Message: Link to the faqwizard for the FAQ. Index: index.ht =================================================================== RCS file: /cvsroot/jython/jython/Doc/index.ht,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** index.ht 2000/11/12 22:22:06 1.3 --- index.ht 2000/11/30 08:52:08 1.4 *************** *** 88,93 **** Jython and CPython</a>. ! <li>The <a href="faq.html">Jython FAQ</a> may already contain the ! answer to your question... <li>...and if it doesn't, then the --- 88,93 ---- Jython and CPython</a>. ! <li>The <a href="http://jython.sourceforge.net/cgi-bin/faqw.py?req=index"> ! Jython FAQ</a> may already contain the answer to your question... <li>...and if it doesn't, then the Index: index.html =================================================================== RCS file: /cvsroot/jython/jython/Doc/index.html,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** index.html 2000/11/17 14:14:17 1.6 --- index.html 2000/11/30 08:52:08 1.7 *************** *** 1,5 **** <HTML> <!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> ! <!-- Fri Nov 17 14:50:49 2000 --> <!-- USING HT2HTML 1.1 --> <!-- SEE http://www.python.org/~bwarsaw/software/pyware.html --> --- 1,5 ---- <HTML> <!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> ! <!-- Thu Nov 30 09:39:43 2000 --> <!-- USING HT2HTML 1.1 --> <!-- SEE http://www.python.org/~bwarsaw/software/pyware.html --> *************** *** 239,244 **** Jython and CPython</a>. ! <li>The <a href="faq.html">Jython FAQ</a> may already contain the ! answer to your question... <li>...and if it doesn't, then the --- 239,244 ---- Jython and CPython</a>. ! <li>The <a href="http://jython.sourceforge.net/cgi-bin/faqw.py?req=index"> ! Jython FAQ</a> may already contain the answer to your question... <li>...and if it doesn't, then the |
From: Finn B. <bc...@us...> - 2000-11-29 19:42:33
|
Update of /cvsroot/jython/jython/org/python/core In directory slayer.i.sourceforge.net:/tmp/cvs-serv16502 Modified Files: PyClass.java Log Message: Removed the serializableProxies cache. It is no longer needed by the PythonObjectInputStream. Also renamed all proxies to follow the format org.python.proxies.<module>$<class>$<counter>. Index: PyClass.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PyClass.java,v retrieving revision 2.14 retrieving revision 2.15 diff -C2 -r2.14 -r2.15 *** PyClass.java 2000/10/08 14:08:47 2.14 --- PyClass.java 2000/11/29 19:42:26 2.15 *************** *** 32,39 **** public static PyClass __class__; - // Store all proxies (by name) which implements Serializable. - public static java.util.Hashtable serializableProxies = - new java.util.Hashtable(); - PyClass(boolean fakeArg) { super(fakeArg); --- 32,35 ---- *************** *** 68,72 **** findModule(dict); - boolean serializable = false; if (proxyClass == null) { --- 64,67 ---- *************** *** 76,81 **** Class previousProxy = ((PyClass)bases.list[i]).getProxyClass(); if (previousProxy != null) { - if (Serializable.class.isAssignableFrom(previousProxy)) - serializable = true; if (previousProxy.isInterface()) { interfaces.addElement(previousProxy); --- 71,74 ---- *************** *** 93,105 **** } if (baseClass != null || interfaces.size() != 0) { ! String proxyName = __name__; ! if (serializable) ! proxyName = dict.__finditem__("__module__").toString() + "$" + __name__; proxyClass = MakeProxies.makeProxy(baseClass, interfaces, proxyName, __dict__); - if (serializable) { - serializableProxies.put(proxyName, proxyClass); - } } } --- 86,93 ---- } if (baseClass != null || interfaces.size() != 0) { ! String proxyName = dict.__finditem__("__module__").toString() + "$" + __name__; proxyClass = MakeProxies.makeProxy(baseClass, interfaces, proxyName, __dict__); } } |
From: Finn B. <bc...@us...> - 2000-11-29 19:39:31
|
Update of /cvsroot/jython/jython/org/python/util In directory slayer.i.sourceforge.net:/tmp/cvs-serv16099 Modified Files: PythonObjectInputStream.java Log Message: Removed the dependency of the PyClass.serializableProxies cache. Instead the module and class names are extracted from the proxy name. The module imported and the class is found as an attribute on the module. This matches the way cPickle find its classes. Index: PythonObjectInputStream.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/util/PythonObjectInputStream.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** PythonObjectInputStream.java 2000/10/17 19:17:20 1.4 --- PythonObjectInputStream.java 2000/11/29 19:39:27 1.5 *************** *** 20,31 **** clsName = clsName.substring(19, idx); //System.out.println("new:" + clsName); ! Class cls = (Class) PyClass.serializableProxies.get(clsName); ! if (cls != null) ! return cls; } try { return super.resolveClass(v); } catch (ClassNotFoundException exc) { ! PyObject m = imp.load(clsName.intern()); //System.out.println("m:" + m); Object cls = m.__tojava__(Class.class); --- 20,41 ---- clsName = clsName.substring(19, idx); //System.out.println("new:" + clsName); ! ! idx = clsName.indexOf('$'); ! if (idx >= 0) { ! String mod = clsName.substring(0, idx); ! clsName = clsName.substring(idx+1); ! ! PyObject module = importModule(mod); ! PyObject pycls = module.__getattr__(clsName.intern()); ! Object cls = pycls.__tojava__(Class.class); ! ! if (cls != null && cls != Py.NoConversion) ! return (Class) cls; ! } } try { return super.resolveClass(v); } catch (ClassNotFoundException exc) { ! PyObject m = importModule(clsName); //System.out.println("m:" + m); Object cls = m.__tojava__(Class.class); *************** *** 35,38 **** --- 45,75 ---- throw exc; } + } + + + private static PyObject importModule(String name) { + PyFrame frame = Py.getFrame(); + if (frame == null) + return null; + PyObject globals = frame.f_globals; + + PyObject builtins = frame.f_builtins; + if (builtins == null) + builtins = Py.getSystemState().builtins; + + PyObject silly_list = new PyTuple(new PyString[] { + Py.newString("__doc__"), + }); + + PyObject __import__ = builtins.__finditem__("__import__"); + if (__import__ == null) + return null; + + PyObject module = __import__.__call__(new PyObject[] { + Py.newString(name), + globals, + globals, + silly_list } ); + return module; } } |
From: Finn B. <bc...@us...> - 2000-11-29 19:04:28
|
Update of /cvsroot/jython/jython/org/python/core In directory slayer.i.sourceforge.net:/tmp/cvs-serv11593 Modified Files: PySystemState.java Log Message: initialize(): Move the argument initialization into a method. With this seemingly unnecessary change, applets can run in netscape 4.05. I don't know why!! Index: PySystemState.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PySystemState.java,v retrieving revision 2.33 retrieving revision 2.34 diff -C2 -r2.33 -r2.34 *** PySystemState.java 2000/11/26 16:44:11 2.33 --- PySystemState.java 2000/11/29 19:04:24 2.34 *************** *** 142,146 **** initialize(); modules = new PyStringMap(); ! argv = (PyList)defaultArgv.repeat(1); path = (PyList)defaultPath.repeat(1); --- 142,146 ---- initialize(); modules = new PyStringMap(); ! argv = (PyList)defaultArgv.repeat(1); path = (PyList)defaultPath.repeat(1); *************** *** 309,322 **** // Initialize the path (and add system defaults) defaultPath = initPath(registry); // Set up the known Java packages initPackages(registry); - - //System.err.println("ss2"); - defaultArgv = new PyList(); - //defaultArgv.append(new PyString("")); - for (int i=0; i<argv.length; i++) { - defaultArgv.append(new PyString(argv[i])); - } // Finish up standard Python initialization... --- 309,316 ---- // Initialize the path (and add system defaults) defaultPath = initPath(registry); + defaultArgv = initArgv(argv); // Set up the known Java packages initPackages(registry); // Finish up standard Python initialization... *************** *** 377,380 **** --- 371,384 ---- } packageManager = new SysPackageManager(pkgdir, props); + } + + private static PyList initArgv(String[] args) { + PyList argv = new PyList(); + if (args != null) { + for (int i=0; i<args.length; i++) { + argv.append(new PyString(args[i])); + } + } + return argv; } |
From: Finn B. <bc...@us...> - 2000-11-29 18:59:09
|
Update of /cvsroot/jython/jython/org/python/modules In directory slayer.i.sourceforge.net:/tmp/cvs-serv11055 Modified Files: cStringIO.java Log Message: readlines(): Added optional sizehint argument. Added opencheck to all methods. truncate(): Added method. All together this allows the cStringIO to pass the test_StringIO regression test. Index: cStringIO.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/modules/cStringIO.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** cStringIO.java 2000/10/17 19:14:19 1.6 --- cStringIO.java 2000/11/29 18:59:05 1.7 *************** *** 137,140 **** --- 137,141 ---- */ public String read(int size) { + opencheck(); int newpos = (size < 0) ? count : Math.min(pos+size, count); String r = null; *************** *** 179,182 **** --- 180,184 ---- */ public String readline(int length) { + opencheck(); int i = indexOf('\n', pos); int newpos = (i < 0) ? count : i+1; *************** *** 204,207 **** --- 206,210 ---- + /** * Read until EOF using readline() and return a list containing *************** *** 210,217 **** --- 213,235 ---- */ public PyObject readlines() { + return readlines(0); + } + + + /** + * Read until EOF using readline() and return a list containing + * the lines thus read. + * @return a list of the lines. + */ + public PyObject readlines(int sizehint) { + opencheck(); + int total = 0; PyList lines = new PyList(); String line = readline(); while (line.length() > 0) { lines.append(new PyString(line)); + total += line.length(); + if (0 < sizehint && sizehint <= total) + break; line = readline(); } *************** *** 219,222 **** --- 237,258 ---- } + /** + * truncate the file at the current position. + */ + public void truncate() { + truncate(-1); + } + + /** + * truncate the file at the position pos. + */ + public void truncate(int pos) { + opencheck(); + if (pos < 0) + pos = this.pos; + if (count > pos) + count = pos; + } + private void expandCapacity(int newLength) { *************** *** 238,241 **** --- 274,278 ---- */ public void write(String s) { + opencheck(); int newpos = pos + s.length(); *************** *** 276,280 **** * Flush the internal buffer. Does nothing. */ ! public void flush() { } --- 313,319 ---- * Flush the internal buffer. Does nothing. */ ! public void flush() { ! opencheck(); ! } *************** *** 285,290 **** --- 324,336 ---- */ public String getvalue() { + opencheck(); return new String(buf, 0, count); } + + + private final void opencheck() { + if (buf == null) + throw Py.ValueError("I/O operation on closed file"); + } } |
From: Finn B. <bc...@us...> - 2000-11-29 18:57:20
|
Update of /cvsroot/jython/jython/org/python/modules In directory slayer.i.sourceforge.net:/tmp/cvs-serv10876 Modified Files: cPickle.java Log Message: find_class(): Use the __import__ method for importing modules. This matches the behaviour from CPython's cPickle. Index: cPickle.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/modules/cPickle.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** cPickle.java 2000/10/20 09:52:21 1.11 --- cPickle.java 2000/11/29 18:57:09 1.12 *************** *** 350,354 **** static { ! PyObject excModule = imp.load("cPickle_exceptions"); PickleError = excModule.__getattr__("PickleError"); --- 350,354 ---- static { ! PyObject excModule = importModule("cPickle_exceptions"); PickleError = excModule.__getattr__("PickleError"); *************** *** 506,510 **** imp.importName("__builtin__", true); ! PyModule copyreg = (PyModule)imp.importName("copy_reg", true); dispatch_table = (PyDictionary)copyreg.__getattr__("dispatch_table"); --- 506,510 ---- imp.importName("__builtin__", true); ! PyModule copyreg = (PyModule)importModule("copy_reg"); dispatch_table = (PyDictionary)copyreg.__getattr__("dispatch_table"); *************** *** 1790,1802 **** } ! PyObject env = null; ! try { ! env = imp.importName(module.intern(), false); ! } catch (PyException ex) { ! ex.printStackTrace(); throw new PyException(Py.SystemError, "Failed to import class " + name + " from module " + module); } ! return env.__getattr__(name.intern()); } --- 1790,1804 ---- } ! PyObject modules = Py.getSystemState().modules; ! PyObject mod = modules.__finditem__(module.intern()); ! if (mod == null) { ! mod = importModule(module); ! } ! PyObject global = mod.__findattr__(name.intern()); ! if (global == null) { throw new PyException(Py.SystemError, "Failed to import class " + name + " from module " + module); } ! return global; } *************** *** 1985,1988 **** --- 1987,2017 ---- stack[stackTop++] = val; } + } + + + private static PyObject importModule(String name) { + PyFrame frame = Py.getFrame(); + if (frame == null) + return null; + PyObject globals = frame.f_globals; + + PyObject builtins = frame.f_builtins; + if (builtins == null) + builtins = Py.getSystemState().builtins; + + PyObject silly_list = new PyTuple(new PyString[] { + Py.newString("__doc__"), + }); + + PyObject __import__ = builtins.__finditem__("__import__"); + if (__import__ == null) + return null; + + PyObject module = __import__.__call__(new PyObject[] { + Py.newString(name), + globals, + globals, + silly_list } ); + return module; } } |
From: Finn B. <bc...@us...> - 2000-11-27 21:39:27
|
Update of /cvsroot/jython/jython/installer In directory slayer.i.sourceforge.net:/tmp/cvs-serv10877 Modified Files: liftoff.filelist mklist.py Log Message: Use the copy module from jython instead of the CPython copy module. The jython version fixes bug 122859. Index: liftoff.filelist =================================================================== RCS file: /cvsroot/jython/jython/installer/liftoff.filelist,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** liftoff.filelist 2000/11/26 17:16:39 1.3 --- liftoff.filelist 2000/11/27 21:39:22 1.4 *************** *** 49,52 **** --- 49,53 ---- # t Lib/code.py ..\Lib\code.py + t Lib/copy.py ..\Lib\copy.py t Lib/exceptions.py ..\Lib\exceptions.py t Lib/getopt.py ..\Lib\getopt.py *************** *** 316,320 **** t Lib/commands.py d:\Python20\Lib\commands.py t Lib/compileall.py d:\Python20\Lib\compileall.py - t Lib/copy.py d:\Python20\Lib\copy.py t Lib/copy_reg.py d:\Python20\Lib\copy_reg.py t Lib/dircache.py d:\Python20\Lib\dircache.py --- 317,320 ---- Index: mklist.py =================================================================== RCS file: /cvsroot/jython/jython/installer/mklist.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** mklist.py 2000/11/26 17:16:39 1.3 --- mklist.py 2000/11/27 21:39:22 1.4 *************** *** 68,72 **** 'commands.py', 'compileall.py', ! 'copy.py', 'copy_reg.py', 'dircache.py', --- 68,72 ---- 'commands.py', 'compileall.py', ! #'copy.py', # Temporarily removed. 'copy_reg.py', 'dircache.py', |
From: Finn B. <bc...@us...> - 2000-11-27 21:30:39
|
Update of /cvsroot/jython/jython/Lib In directory slayer.i.sourceforge.net:/tmp/cvs-serv10392 Added Files: copy.py Log Message: Added a slightly modified version of CPython's copy module. This version handles PyStringMap. A patch is submitted to CPython and when it have been applied there, this file can be removed again. --- NEW FILE --- """Generic (shallow and deep) copying operations. Interface summary: import copy x = copy.copy(y) # make a shallow copy of y x = copy.deepcopy(y) # make a deep copy of y For module specific errors, copy.error is raised. The difference between shallow and deep copying is only relevant for compound objects (objects that contain other objects, like lists or class instances). - A shallow copy constructs a new compound object and then (to the extent possible) inserts *the same objects* into in that the original contains. - A deep copy constructs a new compound object and then, recursively, inserts *copies* into it of the objects found in the original. Two problems often exist with deep copy operations that don't exist with shallow copy operations: a) recursive objects (compound objects that, directly or indirectly, contain a reference to themselves) may cause a recursive loop b) because deep copy copies *everything* it may copy too much, e.g. administrative data structures that should be shared even between copies Python's deep copy operation avoids these problems by: a) keeping a table of objects already copied during the current copying pass b) letting user-defined classes override the copying operation or the set of components copied This version does not copy types like module, class, function, method, nor stack trace, stack frame, nor file, socket, window, nor array, nor any similar types. Classes can use the same interfaces to control copying that they use to control pickling: they can define methods called __getinitargs__(), __getstate__() and __setstate__(). See the documentation for module "pickle" for information on these methods. """ # XXX need to support copy_reg here too... import types class Error(Exception): pass error = Error # backward compatibility try: from org.python.core import PyStringMap except ImportError: PyStringMap = None def copy(x): """Shallow copy operation on arbitrary Python objects. See the module's __doc__ string for more info. """ try: copierfunction = _copy_dispatch[type(x)] except KeyError: try: copier = x.__copy__ except AttributeError: raise error, \ "un(shallow)copyable object of type %s" % type(x) y = copier() else: y = copierfunction(x) return y _copy_dispatch = d = {} def _copy_atomic(x): return x d[types.NoneType] = _copy_atomic d[types.IntType] = _copy_atomic d[types.LongType] = _copy_atomic d[types.FloatType] = _copy_atomic d[types.StringType] = _copy_atomic d[types.UnicodeType] = _copy_atomic try: d[types.CodeType] = _copy_atomic except AttributeError: pass d[types.TypeType] = _copy_atomic d[types.XRangeType] = _copy_atomic d[types.ClassType] = _copy_atomic def _copy_list(x): return x[:] d[types.ListType] = _copy_list def _copy_tuple(x): return x[:] d[types.TupleType] = _copy_tuple def _copy_dict(x): return x.copy() d[types.DictionaryType] = _copy_dict if not PyStringMap is None: d[PyStringMap] = _copy_dict def _copy_inst(x): if hasattr(x, '__copy__'): return x.__copy__() if hasattr(x, '__getinitargs__'): args = x.__getinitargs__() y = apply(x.__class__, args) else: y = _EmptyClass() y.__class__ = x.__class__ if hasattr(x, '__getstate__'): state = x.__getstate__() else: state = x.__dict__ if hasattr(y, '__setstate__'): y.__setstate__(state) else: y.__dict__.update(state) return y d[types.InstanceType] = _copy_inst del d def deepcopy(x, memo = None): """Deep copy operation on arbitrary Python objects. See the module's __doc__ string for more info. """ if memo is None: memo = {} d = id(x) if memo.has_key(d): return memo[d] try: copierfunction = _deepcopy_dispatch[type(x)] except KeyError: try: copier = x.__deepcopy__ except AttributeError: raise error, \ "un-deep-copyable object of type %s" % type(x) y = copier(memo) else: y = copierfunction(x, memo) memo[d] = y return y _deepcopy_dispatch = d = {} def _deepcopy_atomic(x, memo): return x d[types.NoneType] = _deepcopy_atomic d[types.IntType] = _deepcopy_atomic d[types.LongType] = _deepcopy_atomic d[types.FloatType] = _deepcopy_atomic d[types.StringType] = _deepcopy_atomic d[types.UnicodeType] = _deepcopy_atomic d[types.CodeType] = _deepcopy_atomic d[types.TypeType] = _deepcopy_atomic d[types.XRangeType] = _deepcopy_atomic def _deepcopy_list(x, memo): y = [] memo[id(x)] = y for a in x: y.append(deepcopy(a, memo)) return y d[types.ListType] = _deepcopy_list def _deepcopy_tuple(x, memo): y = [] for a in x: y.append(deepcopy(a, memo)) d = id(x) try: return memo[d] except KeyError: pass for i in range(len(x)): if x[i] is not y[i]: y = tuple(y) break else: y = x memo[d] = y return y d[types.TupleType] = _deepcopy_tuple def _deepcopy_dict(x, memo): y = {} memo[id(x)] = y for key in x.keys(): y[deepcopy(key, memo)] = deepcopy(x[key], memo) return y d[types.DictionaryType] = _deepcopy_dict if not PyStringMap is None: d[PyStringMap] = _deepcopy_dict def _keep_alive(x, memo): """Keeps a reference to the object x in the memo. Because we remember objects by their id, we have to assure that possibly temporary objects are kept alive by referencing them. We store a reference at the id of the memo, which should normally not be used unless someone tries to deepcopy the memo itself... """ try: memo[id(memo)].append(x) except KeyError: # aha, this is the first one :-) memo[id(memo)]=[x] def _deepcopy_inst(x, memo): if hasattr(x, '__deepcopy__'): return x.__deepcopy__(memo) if hasattr(x, '__getinitargs__'): args = x.__getinitargs__() _keep_alive(args, memo) args = deepcopy(args, memo) y = apply(x.__class__, args) else: y = _EmptyClass() y.__class__ = x.__class__ memo[id(x)] = y if hasattr(x, '__getstate__'): state = x.__getstate__() _keep_alive(state, memo) else: state = x.__dict__ state = deepcopy(state, memo) if hasattr(y, '__setstate__'): y.__setstate__(state) else: y.__dict__.update(state) return y d[types.InstanceType] = _deepcopy_inst del d del types # Helper for instance creation without calling __init__ class _EmptyClass: pass def _test(): l = [None, 1, 2L, 3.14, 'xyzzy', (1, 2L), [3.14, 'abc'], {'abc': 'ABC'}, (), [], {}] l1 = copy(l) print l1==l l1 = map(copy, l) print l1==l l1 = deepcopy(l) print l1==l class C: def __init__(self, arg=None): self.a = 1 self.arg = arg if __name__ == '__main__': import sys file = sys.argv[0] else: file = __file__ self.fp = open(file) self.fp.close() def __getstate__(self): return {'a': self.a, 'arg': self.arg} def __setstate__(self, state): for key in state.keys(): setattr(self, key, state[key]) def __deepcopy__(self, memo = None): new = self.__class__(deepcopy(self.arg, memo)) new.a = self.a return new c = C('argument sketch') l.append(c) l2 = copy(l) print l == l2 print l print l2 l2 = deepcopy(l) print l == l2 print l print l2 l.append({l[1]: l, 'xyz': l[2]}) l3 = copy(l) import repr print map(repr.repr, l) print map(repr.repr, l1) print map(repr.repr, l2) print map(repr.repr, l3) l3 = deepcopy(l) import repr print map(repr.repr, l) print map(repr.repr, l1) print map(repr.repr, l2) print map(repr.repr, l3) if __name__ == '__main__': _test() |
From: Finn B. <bc...@us...> - 2000-11-26 19:15:05
|
Update of /cvsroot/jython/htdocs In directory slayer.i.sourceforge.net:/tmp/cvs-serv20026 Modified Files: users.ht Log Message: Fixed typo. Index: users.ht =================================================================== RCS file: /cvsroot/jython/htdocs/users.ht,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** users.ht 2000/11/12 22:47:41 1.1 --- users.ht 2000/11/26 19:15:02 1.2 *************** *** 6,8 **** If you are aware of any others, or would like to get your projects listed here, just drop us a message at ! jyt...@li.... \ No newline at end of file --- 6,8 ---- If you are aware of any others, or would like to get your projects listed here, just drop us a message at ! jyt...@li.... \ No newline at end of file |
From: Finn B. <bc...@us...> - 2000-11-26 19:08:10
|
Update of /cvsroot/jython/htdocs In directory slayer.i.sourceforge.net:/tmp/cvs-serv18932 Modified Files: install.ht Log Message: Fixed some grammar errors. Index: install.ht =================================================================== RCS file: /cvsroot/jython/htdocs/install.ht,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** install.ht 2000/11/26 19:04:22 1.2 --- install.ht 2000/11/26 19:08:06 1.3 *************** *** 66,72 **** Python modules. This is due the fact that much of the functionality of these modules is duplicated by Java packages. If you want to use parts ! standard Python library that are not included with Jython, you have ! select the "Library" during installation or add pointer in python.path ! to the Lib directory of a preexisting Python 2.0 distribution. This requires editing your "registry" file. --- 66,72 ---- Python modules. This is due the fact that much of the functionality of these modules is duplicated by Java packages. If you want to use parts ! of the standard Python library that are included with Jython, you have ! to select the "Library" during installation or add a directory to your ! python.path that points to a preexisting Python 2.0 distribution. This requires editing your "registry" file. *************** *** 74,78 **** <P>Any other problems with the installation should be reported to ! <A HREF="mailto:pyt...@li...">jython-dev</A>. <P>As a workaround you can extract the jython-20a1.class manually. --- 74,78 ---- <P>Any other problems with the installation should be reported to ! <A HREF="mailto:jyt...@li...">jython-dev</A>. <P>As a workaround you can extract the jython-20a1.class manually. *************** *** 82,87 **** <ul> <li>Remove the <tt>net</tt> directory. It isn't needed. ! <li>Create the startup script by hand. Use the <tt>template*</tt> files ! as a starting point in doing so. </ul> --- 82,87 ---- <ul> <li>Remove the <tt>net</tt> directory. It isn't needed. ! <li>Create the startup script by hand. Use the <tt>installer/template*</tt> ! files as a starting point in doing so. </ul> |
From: Finn B. <bc...@us...> - 2000-11-26 19:04:27
|
Update of /cvsroot/jython/htdocs In directory slayer.i.sourceforge.net:/tmp/cvs-serv18436 Modified Files: install.ht Log Message: The installer class file is in all lowercase. Index: install.ht =================================================================== RCS file: /cvsroot/jython/htdocs/install.ht,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** install.ht 2000/11/12 22:47:41 1.1 --- install.ht 2000/11/26 19:04:22 1.2 *************** *** 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-20a1.class file and then type: <BLOCKQUOTE> ! <P><java interpreter> Jython-20a1</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-20a1.class file and then type: <BLOCKQUOTE> ! <P><java interpreter> jython-20a1</P> </BLOCKQUOTE> *************** *** 17,25 **** <BLOCKQUOTE> ! <P><TT>java Jython-20a1</TT></P> ! <P><TT>jre Jython-20a1</TT></P> ! <P><TT>jview Jython-20a1</TT> </BLOCKQUOTE> --- 17,25 ---- <BLOCKQUOTE> ! <P><TT>java jython-20a1</TT></P> ! <P><TT>jre jython-20a1</TT></P> ! <P><TT>jview jython-20a1</TT> </BLOCKQUOTE> *************** *** 27,37 **** <BLOCKQUOTE> ! <P><TT>env CLASSPATH=. java Jython-20a1</TT> ! <P><TT>java -cp . Jython-20a1</TT> ! <P><TT>java -classpath . Jython-20a1</TT> ! <P><TT>jview /cp:. Jython-20a1</TT> </BLOCKQUOTE> --- 27,37 ---- <BLOCKQUOTE> ! <P><TT>env CLASSPATH=. java jython-20a1</TT> ! <P><TT>java -cp . jython-20a1</TT> ! <P><TT>java -classpath . jython-20a1</TT> ! <P><TT>jview /cp:. jython-20a1</TT> </BLOCKQUOTE> *************** *** 44,48 **** <BLOCKQUOTE> ! <P><TT><java interpreter> Jython-20a1 -o Jython-2.0 demo lib source</TT> </BLOCKQUOTE> --- 44,48 ---- <BLOCKQUOTE> ! <P><TT><java interpreter> jython-20a1 -o Jython-2.0 demo lib source</TT> </BLOCKQUOTE> |
From: Finn B. <bc...@us...> - 2000-11-26 18:08:45
|
Update of /cvsroot/jython/htdocs In directory slayer.i.sourceforge.net:/tmp/cvs-serv11867 Modified Files: index.ht Log Message: Added date to project announcement. Update "last updated". Index: index.ht =================================================================== RCS file: /cvsroot/jython/htdocs/index.ht,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** index.ht 2000/11/25 21:41:04 1.3 --- index.ht 2000/11/26 18:08:43 1.4 *************** *** 29,33 **** <dd>The Jython project have been created on sourceforge. Read the <a href="http://www.python.org/pipermail/jpython-interest/2000-October/006417.html"> ! announcement</a>. </dl> --- 29,33 ---- <dd>The Jython project have been created on sourceforge. Read the <a href="http://www.python.org/pipermail/jpython-interest/2000-October/006417.html"> ! announcement</a> (19-oct-2000). </dl> *************** *** 42,44 **** </dl> ! <font size=-1> last updated 12-now-2000 </font>" --- 42,44 ---- </dl> ! <font size=-1> last updated 26-now-2000 </font> |
From: Finn B. <bc...@us...> - 2000-11-26 18:08:03
|
Update of /cvsroot/jython/htdocs In directory slayer.i.sourceforge.net:/tmp/cvs-serv11805 Modified Files: links.h Log Message: Fixed faq.html link: must be in lowercase. Index: links.h =================================================================== RCS file: /cvsroot/jython/htdocs/links.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** links.h 2000/11/24 17:10:19 1.2 --- links.h 2000/11/26 18:08:00 1.3 *************** *** 17,21 **** <li><a href="docs/whatis.html">What is Jython</a> <li><a href="docs/index.html">All Documentation</a> ! <li><a href="docs/FAQ.html">FAQ</a> <li><a href="http://www.jpython.org/jpython-talk-1.ppt">JimH's Slides</a> <br>(PowerPoint, ~239KB) --- 17,21 ---- <li><a href="docs/whatis.html">What is Jython</a> <li><a href="docs/index.html">All Documentation</a> ! <li><a href="docs/faq.html">FAQ</a> <li><a href="http://www.jpython.org/jpython-talk-1.ppt">JimH's Slides</a> <br>(PowerPoint, ~239KB) |
From: Finn B. <bc...@us...> - 2000-11-26 17:18:51
|
Update of /cvsroot/jython/jython/Lib In directory slayer.i.sourceforge.net:/tmp/cvs-serv4906 Removed Files: LICENSE Log Message: Instead of having this file around, the installer will take the cpython license file directly from the cpython directory. It matches the fact that ./Lib shouldn't contain much material from cpython. --- LICENSE DELETED --- |
From: Finn B. <bc...@us...> - 2000-11-26 17:16:43
|
Update of /cvsroot/jython/jython/installer In directory slayer.i.sourceforge.net:/tmp/cvs-serv4710 Modified Files: liftoff.filelist mklist.py Log Message: Added codecs.py from cpython. Also using the the license file directly from cpython. Index: liftoff.filelist =================================================================== RCS file: /cvsroot/jython/jython/installer/liftoff.filelist,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** liftoff.filelist 2000/11/25 21:36:03 1.2 --- liftoff.filelist 2000/11/26 17:16:39 1.3 *************** *** 48,52 **** # special library modules # - t Lib/LICENSE ..\Lib/LICENSE t Lib/code.py ..\Lib\code.py t Lib/exceptions.py ..\Lib\exceptions.py --- 48,51 ---- *************** *** 389,394 **** --- 388,395 ---- # Library modules from CPython2.0 # + t Lib/LICENSE d:/Python20\LICENSE.txt t Lib/pstats.py d:\Python20\Lib\pstats.py t Lib/code.py d:\Python20\Lib\code.py + t Lib/codecs.py d:\Python20\Lib\codecs.py t Lib/sre.py d:\Python20\Lib\sre.py t Lib/sre_compile.py d:\Python20\Lib\sre_compile.py Index: mklist.py =================================================================== RCS file: /cvsroot/jython/jython/installer/mklist.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** mklist.py 2000/11/25 21:35:21 1.2 --- mklist.py 2000/11/26 17:16:39 1.3 *************** *** 162,166 **** comment("special library modules") - text("Lib/LICENSE") listfiles(None, "Lib", '*.py', 'pawt/*.py') --- 162,165 ---- *************** *** 196,200 **** listfiles(PYTHONDIR, "Lib", *pylibfiles) comment("Library modules from CPython2.0") ! listfiles(PYTHONDIR, "Lib", "pstats.py", "code.py") listfiles(PYTHONDIR, "Lib", "sre*.py") listfiles(PYTHONDIR, "Lib/encodings", "*.py") --- 195,200 ---- listfiles(PYTHONDIR, "Lib", *pylibfiles) comment("Library modules from CPython2.0") ! print "t Lib/LICENSE %s\LICENSE.txt" % PYTHONDIR ! listfiles(PYTHONDIR, "Lib", "pstats.py", "code.py", "codecs.py") listfiles(PYTHONDIR, "Lib", "sre*.py") listfiles(PYTHONDIR, "Lib/encodings", "*.py") |
From: Finn B. <bc...@us...> - 2000-11-26 16:44:13
|
Update of /cvsroot/jython/jython/org/python/core In directory slayer.i.sourceforge.net:/tmp/cvs-serv1669 Modified Files: PySystemState.java Log Message: Changed version to 2.0alpha1 Index: PySystemState.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PySystemState.java,v retrieving revision 2.32 retrieving revision 2.33 diff -C2 -r2.32 -r2.33 *** PySystemState.java 2000/11/19 22:32:45 2.32 --- PySystemState.java 2000/11/26 16:44:11 2.33 *************** *** 14,18 **** * The current version of JPython. */ ! public static String version = "2.0 pre-alpha"; /** --- 14,18 ---- * The current version of JPython. */ ! public static String version = "2.0alpha1"; /** |
From: Finn B. <bc...@us...> - 2000-11-26 16:43:29
|
Update of /cvsroot/jython/jython/installer In directory slayer.i.sourceforge.net:/tmp/cvs-serv1535 Modified Files: liftoff.props Log Message: Changed version to 20a1. Index: liftoff.props =================================================================== RCS file: /cvsroot/jython/jython/installer/liftoff.props,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** liftoff.props 2000/11/24 16:58:57 1.1 --- liftoff.props 2000/11/26 16:43:26 1.2 *************** *** 2,9 **** product.author=The Jython Team product.string=Jython ! product.version=2.0pre-alpha6 java.minVersion=1.1 product.root= ! destination.package_prefix=jython-2.0pa6 license.licenseText=LICENSE.txt product.readmeText=README.txt --- 2,9 ---- product.author=The Jython Team product.string=Jython ! product.version=2.0alpha1 java.minVersion=1.1 product.root= ! destination.package_prefix=jython-2.0a1 license.licenseText=LICENSE.txt product.readmeText=README.txt |
From: Finn B. <bc...@us...> - 2000-11-26 16:18:45
|
Update of /cvsroot/jython/jython/Lib In directory slayer.i.sourceforge.net:/tmp/cvs-serv28882 Modified Files: socket.py Log Message: Fix bug 122881 by returning the length of the data to be send. Index: socket.py =================================================================== RCS file: /cvsroot/jython/jython/Lib/socket.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** socket.py 1998/12/03 11:25:25 1.6 --- socket.py 2000/11/26 16:18:40 1.7 *************** *** 119,123 **** def send(self, s): assert self.sock ! return self.ostream.write(s) def getsockname(self): --- 119,125 ---- def send(self, s): assert self.sock ! n = len(s) ! self.ostream.write(s) ! return n def getsockname(self): |
From: Finn B. <bc...@us...> - 2000-11-25 21:50:16
|
Update of /cvsroot/jython/jython In directory slayer.i.sourceforge.net:/tmp/cvs-serv15435 Modified Files: LICENSE.txt Log Message: Moved the BeOpen & CNRI licenses to Lib/LICENSE. Index: LICENSE.txt =================================================================== RCS file: /cvsroot/jython/jython/LICENSE.txt,v retrieving revision 2.2 retrieving revision 2.3 diff -C2 -r2.2 -r2.3 *** LICENSE.txt 2000/11/24 17:01:58 2.2 --- LICENSE.txt 2000/11/25 21:30:56 2.3 *************** *** 10,14 **** --- 10,21 ---- + The standard library is covered by the BeOpen / CNRI license. See the + Lib/LICENSE file for details. + The oro regular expresion matcher is covered by the apache license. + See the org/apache/LICENSE file for details. + + + Jython changes Software License. ================================ *************** *** 134,284 **** [ACCEPT BUTTON] - - - - BEOPEN.COM TERMS AND CONDITIONS FOR PYTHON 2.0 - ============================================== - - BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 - ----------------------------------------------------- - - 1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an - office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the - Individual or Organization ("Licensee") accessing and otherwise using - this software in source or binary form and its associated - documentation ("the Software"). - - 2. Subject to the terms and conditions of this BeOpen Python License - Agreement, BeOpen hereby grants Licensee a non-exclusive, - royalty-free, world-wide license to reproduce, analyze, test, perform - and/or display publicly, prepare derivative works, distribute, and - otherwise use the Software alone or in any derivative version, - provided, however, that the BeOpen Python License is retained in the - Software, alone or in any derivative version prepared by Licensee. - - 3. BeOpen is making the Software available to Licensee on an "AS IS" - basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR - IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND - DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS - FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT - INFRINGE ANY THIRD PARTY RIGHTS. - - 4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE - SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS - AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY - DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - - 5. This License Agreement will automatically terminate upon a material - breach of its terms and conditions. - - 6. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of California, excluding conflict of - law provisions. Nothing in this License Agreement shall be deemed to - create any relationship of agency, partnership, or joint venture - between BeOpen and Licensee. This License Agreement does not grant - permission to use BeOpen trademarks or trade names in a trademark - sense to endorse or promote products or services of Licensee, or any - third party. As an exception, the "BeOpen Python" logos available at - http://www.pythonlabs.com/logos.html may be used according to the - permissions granted on that web page. - - 7. By copying, installing or otherwise using the software, Licensee - agrees to be bound by the terms and conditions of this License - Agreement. - - - CNRI OPEN SOURCE LICENSE AGREEMENT - ---------------------------------- - - Python 1.6 CNRI OPEN SOURCE LICENSE AGREEMENT - - IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. BY CLICKING - ON "ACCEPT" WHERE INDICATED BELOW, OR BY COPYING, INSTALLING OR - OTHERWISE USING PYTHON 1.6 SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO - THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT. - - 1. This LICENSE AGREEMENT is between the Corporation for National - Research Initiatives, having an office at 1895 Preston White Drive, - Reston, VA 20191 ("CNRI"), and the Individual or Organization - ("Licensee") accessing and otherwise using Python 1.6 software in - source or binary form and its associated documentation, as released at - the www.python.org Internet site on September 5, 2000 ("Python 1.6"). - - 2. Subject to the terms and conditions of this License Agreement, CNRI - hereby grants Licensee a nonexclusive, royalty-free, world-wide - license to reproduce, analyze, test, perform and/or display publicly, - prepare derivative works, distribute, and otherwise use Python 1.6 - alone or in any derivative version, provided, however, that CNRI's - License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) - 1995-2000 Corporation for National Research Initiatives; All Rights - Reserved" are retained in Python 1.6 alone or in any derivative - version prepared by - - Licensee. Alternately, in lieu of CNRI's License Agreement, Licensee - may substitute the following text (omitting the quotes): "Python 1.6 - is made available subject to the terms and conditions in CNRI's - License Agreement. This Agreement together with Python 1.6 may be - located on the Internet using the following unique, persistent - identifier (known as a handle): 1895.22/1012. This Agreement may also - be obtained from a proxy server on the Internet using the following - URL: http://hdl.handle.net/1895.22/1012". - - 3. In the event Licensee prepares a derivative work that is based on - or incorporates Python 1.6 or any part thereof, and wants to make the - derivative work available to others as provided herein, then Licensee - hereby agrees to include in any such work a brief summary of the - changes made to Python 1.6. - - 4. CNRI is making Python 1.6 available to Licensee on an "AS IS" - basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR - IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND - DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS - FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6 WILL NOT - INFRINGE ANY THIRD PARTY RIGHTS. - - 5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON - 1.6 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A - RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6, OR - ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - - 6. This License Agreement will automatically terminate upon a material - breach of its terms and conditions. - - 7. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of Virginia, excluding conflict of - law provisions. Nothing in this License Agreement shall be deemed to - create any relationship of agency, partnership, or joint venture - between CNRI and Licensee. This License Agreement does not grant - permission to use CNRI trademarks or trade name in a trademark sense - to endorse or promote products or services of Licensee, or any third - party. - - 8. By clicking on the "ACCEPT" button where indicated, or by copying, - installing or otherwise using Python 1.6, Licensee agrees to be bound - by the terms and conditions of this License Agreement. - - ACCEPT - - - CWI PERMISSIONS STATEMENT AND DISCLAIMER - ---------------------------------------- - - Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, - The Netherlands. All rights reserved. - - Permission to use, copy, modify, and distribute this software and its - documentation for any purpose and without fee is hereby granted, - provided that the above copyright notice appear in all copies and that - both that copyright notice and this permission notice appear in - supporting documentation, and that the name of Stichting Mathematisch - Centrum or CWI not be used in advertising or publicity pertaining to - distribution of the software without specific, written prior - permission. - - STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO - THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE - FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT - OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. --- 141,142 ---- |
From: Finn B. <bc...@us...> - 2000-11-25 21:50:15
|
Update of /cvsroot/jython/jython/Lib In directory slayer.i.sourceforge.net:/tmp/cvs-serv15636 Added Files: LICENSE Log Message: Moved the BeOpen & CNRI licenses to Lib/LICENSE. --- NEW FILE --- BEOPEN.COM TERMS AND CONDITIONS FOR PYTHON 2.0 ============================================== BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 ----------------------------------------------------- 1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the Individual or Organization ("Licensee") accessing and otherwise using this software in source or binary form and its associated documentation ("the Software"). 2. Subject to the terms and conditions of this BeOpen Python License Agreement, BeOpen hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use the Software alone or in any derivative version, provided, however, that the BeOpen Python License is retained in the Software, alone or in any derivative version prepared by Licensee. 3. BeOpen is making the Software available to Licensee on an "AS IS" basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. 4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. 5. This License Agreement will automatically terminate upon a material breach of its terms and conditions. 6. This License Agreement shall be governed by and interpreted in all respects by the law of the State of California, excluding conflict of law provisions. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between BeOpen and Licensee. This License Agreement does not grant permission to use BeOpen trademarks or trade names in a trademark sense to endorse or promote products or services of Licensee, or any third party. As an exception, the "BeOpen Python" logos available at http://www.pythonlabs.com/logos.html may be used according to the permissions granted on that web page. 7. By copying, installing or otherwise using the software, Licensee agrees to be bound by the terms and conditions of this License Agreement. CNRI OPEN SOURCE LICENSE AGREEMENT ---------------------------------- Python 1.6 CNRI OPEN SOURCE LICENSE AGREEMENT IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. BY CLICKING ON "ACCEPT" WHERE INDICATED BELOW, OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1.6 SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT. 1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191 ("CNRI"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 1.6 software in source or binary form and its associated documentation, as released at the www.python.org Internet site on September 5, 2000 ("Python 1.6"). 2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6 alone or in any derivative version, provided, however, that CNRI's License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) 1995-2000 Corporation for National Research Initiatives; All Rights Reserved" are retained in Python 1.6 alone or in any derivative version prepared by Licensee. Alternately, in lieu of CNRI's License Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6 is made available subject to the terms and conditions in CNRI's License Agreement. This Agreement together with Python 1.6 may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1012. This Agreement may also be obtained from a proxy server on the Internet using the following URL: http://hdl.handle.net/1895.22/1012". 3. In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6 or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python 1.6. 4. CNRI is making Python 1.6 available to Licensee on an "AS IS" basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. 5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 1.6 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. 7. This License Agreement shall be governed by and interpreted in all respects by the law of the State of Virginia, excluding conflict of law provisions. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee. This License Agreement does not grant permission to use CNRI trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. 8. By clicking on the "ACCEPT" button where indicated, or by copying, installing or otherwise using Python 1.6, Licensee agrees to be bound by the terms and conditions of this License Agreement. ACCEPT CWI PERMISSIONS STATEMENT AND DISCLAIMER ---------------------------------------- Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The Netherlands. All rights reserved. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Stichting Mathematisch Centrum or CWI not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
From: Finn B. <bc...@us...> - 2000-11-25 21:50:11
|
Update of /cvsroot/jython/jython/installer In directory slayer.i.sourceforge.net:/tmp/cvs-serv16106 Modified Files: mklist.py Log Message: Add the additional license files to the distribution. Index: mklist.py =================================================================== RCS file: /cvsroot/jython/jython/installer/mklist.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** mklist.py 2000/11/24 16:58:57 1.1 --- mklist.py 2000/11/25 21:35:21 1.2 *************** *** 162,165 **** --- 162,166 ---- comment("special library modules") + text("Lib/LICENSE") listfiles(None, "Lib", '*.py', 'pawt/*.py') *************** *** 182,185 **** --- 183,187 ---- comment("The source files") print "@source:_top_" + text("org/apache/LICENSE") listfiles(None, "org/apache/oro/text/regex", *javafiles) listfiles(None, "org/python/compiler", *javafiles) |
From: Finn B. <bc...@us...> - 2000-11-25 21:41:07
|
Update of /cvsroot/jython/htdocs In directory slayer.i.sourceforge.net:/tmp/cvs-serv16937 Modified Files: index.ht Log Message: Added alpha 1 news. Index: index.ht =================================================================== RCS file: /cvsroot/jython/htdocs/index.ht,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** index.ht 2000/11/13 10:07:54 1.2 --- index.ht 2000/11/25 21:41:04 1.3 *************** *** 19,37 **** - <b><em>Note</em>: A downloadable version of Jython is - not yet available.</b> - - <p>The current state of Jython development is not accurately - represented in these pages. Consider joining the Jython - mailing lists for more current information. <br> - - <dl> ! <!-- <dt><b>Jython 2.0 alpha 1 released!</b> <dd>Download Jython <a href="download.html">here</a>, or ! <a href="NEWS">read a summary</a> ! of recent changes. (XX-oct-2000). ! --> <p><dt><b>Jython project announced</b> <dd>The Jython project have been created on sourceforge. Read the --- 19,29 ---- <dl> ! <dt><b>Jython 2.0 alpha 1 released!</b> <dd>Download Jython <a href="download.html">here</a>, or ! <a href="NEWS.html">read a summary</a> ! of recent changes. (26-nov-2000). ! <p><dt><b>Jython project announced</b> <dd>The Jython project have been created on sourceforge. Read the |
From: Finn B. <bc...@us...> - 2000-11-25 21:40:32
|
Update of /cvsroot/jython/htdocs In directory slayer.i.sourceforge.net:/tmp/cvs-serv16791 Added Files: NEWS.ht Log Message: Web version of the NEWS file. --- NEW FILE --- <pre> Jython NEWS 26-Nov-2000 Jython 2.0 alpha 1 New features. - Integrate the free ORO regular expression matcher from the apache project. CPython2.0 compatibility, including - List comprehension. - Extended call syntax. - Extended print statement - Augmented assignment. - Unicode support libraries and codecs. - sre unicode regular expression. Some backward incompatibility is introduced: - The user configuration file is now called <user.home>/.jython - Text files will pass data read and written through the default codecs for the JVM. Binary files will write only the lower eight bits of each unicode character. - arrays passed to java code will no longer autocoerce just because the elements can be autocoerced. - The precedence of java loading have changed. Now the sys.path is searched for python modules before the CLASSPATH and sys.path is searched for java class and java packages. - The builtin exceptions are always classbased. -X is disable. User exception can still be strings. Bug fixes. - Many, including the errata. - Now the content of a java package is the union of the content of all locations with the corresponding valid hierarchical name from dirs and jars of CLASSPATH (and sys.path for dirs); i.e. from jpkg import * works for jpkg in a dir too. Improved CPython 2.0 compatibility - codecs module - sha module. 26-Jan-2000 JPython 1.1 final released - Only one small CPython compatibility patch to os.mkdir() and os.makedirs() -- optional `mode' argument, which is ignored. 21-Jan-2000 JPython 1.1 release candidate 1 released New JPython features and bug fixes - Race conditions when creating multiple PythonInterpreter objects in an embedded multithreaded Java application have been fixed. - Recursive print of a module's namespace no longer overflows the JVM stack. - Fixed backslashing of quotes inside triple quoted strings (Finn Bock). - Fixes to read(int) method on file objects, which used to return the empty string before EOF was seen. - Class-based exceptions are used in frozen (jpythonc) modules. - Duplicate argument names in a function definition raise the appropriate SyntaxError. - os.path.getsize() has been added. - mutability of tuples under some situations has been fixed. - dictionary insertion order affecting dictionary equality has been fixed (Finn Bock). - Using the --package option with jpythonc has been fixed. Improved CPython 1.5.2 compatibility - optional sizehint argument implemented for readlines() method on file objects. - Better compatibility in %g formatting of floats. - sys.stdout.softspace is now writeable. - re.VERBOSE/re.X flags are implemented. - traceback object's reprs are CPython conformant. - In module os, os.error is equivalent to the builtin OSError. Also, listdir(), mkdir(), makedirs(), remove(), rename(), and rmdir() raise OSError directly. - os.stat() raises an OSError if the file is missing. 28-Oct-1999 JPython 1.1beta4 released New JPython features and bug fixes - fixed a bug related to loading anonymous inner classes (PR#201). This is an experimental patch. See registry file for entry python.options.extendedClassLoader - fixed Java exceptions when calling apply() with a bogus 3rd argument (PR#208) - fixed a 1.1beta3 problem with method objects having their im_self mysteriously changed out from under them (PR#186). - fixed problems with Python classes being deeply derived from Java classes and interfaces (PR#178, PR#195). - Improved memory footprint when using exec(). - Dead threads are now reaped from thread state cache (Drew Morrissey). - Tuples, dictionaries, and strings now use fast method lookup mechanism. Improved CPython 1.5.2 compatibility - md5 module supported (no need to download anything extra) - dir() on function objects now returns a list containing __doc__, func_doc, __namme__, func_name, func_globals, func_defaults, func_code. __doc__/func_doc is writable (but not func_defaults and func_code, which are writable in CPython). (PR#192) - dir() on code objects returns a list containing co_name, co_argcount, co_varnames, co_filename, co_firstlineno, co_flags. Not supported: co_nlocals, co_code, co_consts, co_names, co_lnotab, co_stacksize. All attributes are read-only. - dir() on method objects returns a list containing im_self, im_func, im_class, __doc__, __name__. These attributes are read-only. 22-Sep-1999 JPython 1.1beta3 released New JPython features and bug fixes - JPython can now optionally access non-public members of Java classes. By setting the registry entry python.security.respectJavaAccessibility=false, JPython can access private, package-private, and protected fields, methods, and constructors. By default, normal Java access rules are followed, i.e. only public members can be accessed. This feature only works if running with Java 1.2. Thanks to Tony Plate for his initial implementation. - A new framework for looking up the methods for builtin types has been enabled. This can speed up method calls by a factor of 2. The feature is currently experimental and has only been implemented for list objects, but will be implemented for other builtin objects for the next release. - Some workarounds for weird JIT bugs have been added, but this may not fix all problems related to running JPython under JVMs with JIT enabled. - A wrapper for a free md5 builtin module is included, although the md5 implementation is not. See the comment in org/python/modules/MD5Module.java for details. - New semantics for registry key python.modules.builtin (and correspondingly the org/python/modules/Setup.java file). Improved CPython 1.5.2 compatibility - sys.modules['__builtin__'] and "import __builtin__" has been fixed. - Builtin methods and functions now have the standard __name__, __doc__, __self__, and __members__ attributes. - Dictionaries and lists now have a __methods__ attribute, and dir({}) or dir([]) return the list of members. - repr(8to16bitstring) now prints standard octal escapes for 8bit characters. It still prints hex escapes for 16bit characters. - Added abspath() to os.path (i.e. javapath) - Code objects now have a co_flags attribute - Frame objects now have f_trace attribute, and dir(frame) works - None() now raises a TypeError - tuple(somelist) immutability patch - re match objects now have groupdict() method - Finn Bock patch for setting of a module's __name__ after reload 16-Jun-1999 JPython 1.1beta2 released - Updates and bug fixes to jpythonc tool. New registry entries python.jpythonc.compiler, python.jpythonc.classpath, and python.jpythonc.compileropts. getopt style long/short option names (old options are deprecated). New -J/--compileropts option. - syncing string object methods with experimental CPython 1.6 string methods. This includes new optional arguments on startswith() and endswith() and the moving of join() to a method of the separator string. - Many other bug fixes and CPython syncs 04-Jun-1999 JPython 1.1beta1 released Highlights of changes since JPython 1.0.3 - New and improved jpythonc tool by Jim Hugunin - New modules contributed by Finn Bock: cStringIO, cPickle, struct, binascii - New module synchronize, equivalent to Java's synchronized keyword - Operator module now complete - sys.add_package() no longer necessary, "import java.lang" just works - Class-based standard exceptions (w/ support for -X option) - super__ methods are deprecated, use regular Python style - time.strftime() added - Java 1.2 style collections support - Multiple interpreter states - Most CPython 1.5.2 features have been implemented - String objects now have methods -- expected CPython 1.6 feature - Improved performance - Java inner class support - keywords are allowed in some locations (e.g. as attribute names) - New license - bug fixes Local Variables: mode: indented-text indent-tabs-mode: nil End: </pre>' |