[libreadline-java] 13/21: Imported Upstream version 0.8.0.1+dfsg

Tony Mancill tmancill at moszumanska.debian.org
Sat Mar 22 16:49:33 UTC 2014


This is an automated email from the git hooks/post-receive script.

tmancill pushed a commit to branch master
in repository libreadline-java.

commit e769e8fd585a648b5688e1461d3793f70c3ab88d
Author: tony mancill <tmancill at debian.org>
Date:   Fri Mar 21 06:40:19 2014 -0700

    Imported Upstream version 0.8.0.1+dfsg
---
 contrib/bsh/BshCompleter.java        |   38 --
 contrib/bsh/Interpreter.java         | 1002 ----------------------------------
 contrib/bsh/Interpreter.java.diff    |   79 ---
 contrib/bsh/README                   |   23 -
 contrib/jpython/README               |   10 -
 contrib/jpython/ReadlineConsole.java |   46 --
 contrib/jpython/jpython.diff         |   22 -
 contrib/jpython/jpython.java         |  272 ---------
 contrib/jpython/jython-install.txt   |   64 ---
 contrib/jscheme/SilkCompleter.java   |   64 ---
 contrib/win32/JavaGetline.dll        |  Bin 47622 -> 0 bytes
 11 files changed, 1620 deletions(-)

diff --git a/contrib/bsh/BshCompleter.java b/contrib/bsh/BshCompleter.java
deleted file mode 100644
index 7a35460..0000000
--- a/contrib/bsh/BshCompleter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package bsh.util;
-
-import org.gnu.readline.ReadlineCompleter;
-
-/**
- * An adapter for org.gnu.readline's ReadlineCompleter interface to map to
- * BeanShell's NameCompleter interface.
- *
- * @see org.gnu.readline.ReadlineReader
- * @version $Revision: 1.1 $
- * @author Shane Celis <shane at terraspring.com>
- **/
-public class BshCompleter implements ReadlineCompleter {
-
-    private NameCompletion completer;
-
-    /**
-     * Constructs a <code>ReadlineCompleter</code> out of a
-     * <code>NameCompleter</code> object.
-     **/
-    public BshCompleter(NameCompletion completer) {
-        this.completer = completer;
-    }
-
-    /**
-     * Returns String of completion if unambiguous, otherwise null
-     **/
-    public String completer(String text, int state) {
-        // Not sure what state is used for in ReadlineCompleter
-        String[] completions = completer.completeName(text);
-        if (completions.length == 1 && state == 0) {
-            return completions[0];
-        } else {
-            return null;        // ambiguous result
-        }
-    }
-
-}
diff --git a/contrib/bsh/Interpreter.java b/contrib/bsh/Interpreter.java
deleted file mode 100644
index 928d96e..0000000
--- a/contrib/bsh/Interpreter.java
+++ /dev/null
@@ -1,1002 +0,0 @@
-/*****************************************************************************
- *                                                                           *
- *  This file is part of the BeanShell Java Scripting distribution.          *
- *  Documentation and updates may be found at http://www.beanshell.org/      *
- *                                                                           *
- *  Sun Public License Notice:                                               *
- *                                                                           *
- *  The contents of this file are subject to the Sun Public License Version  *
- *  1.0 (the "License"); you may not use this file except in compliance with *
- *  the License. A copy of the License is available at http://www.sun.com    * 
- *                                                                           *
- *  The Original Code is BeanShell. The Initial Developer of the Original    *
- *  Code is Pat Niemeyer. Portions created by Pat Niemeyer are Copyright     *
- *  (C) 2000.  All Rights Reserved.                                          *
- *                                                                           *
- *  GNU Public License Notice:                                               *
- *                                                                           *
- *  Alternatively, the contents of this file may be used under the terms of  *
- *  the GNU Lesser General Public License (the "LGPL"), in which case the    *
- *  provisions of LGPL are applicable instead of those above. If you wish to *
- *  allow use of your version of this file only under the  terms of the LGPL *
- *  and not to allow others to use your version of this file under the SPL,  *
- *  indicate your decision by deleting the provisions above and replace      *
- *  them with the notice and other provisions required by the LGPL.  If you  *
- *  do not delete the provisions above, a recipient may use your version of  *
- *  this file under either the SPL or the LGPL.                              *
- *                                                                           *
- *  Patrick Niemeyer (pat at pat.net)                                           *
- *  Author of Learning Java, O'Reilly & Associates                           *
- *  http://www.pat.net/~pat/                                                 *
- *                                                                           *
- *****************************************************************************/
-
-package bsh;
-
-import java.util.Vector;
-import java.io.*;
-import java.io.File;            // why? I don't know
-import bsh.util.BshCompleter;
-import bsh.util.NameCompletionTable;
-import bsh.classpath.ClassManagerImpl;
-import org.gnu.readline.Readline;
-import org.gnu.readline.ReadlineReader;
-
-/**
-        The BeanShell script interpreter.
-
-        An instance of Interpreter can be used to source scripts and evaluate 
-        statements or expressions.  
-        <p>
-        Here are some examples:
-
-        <p><blockquote><pre>
-                Interpeter bsh = new Interpreter();
-
-                // Evaluate statements and expressions
-                bsh.eval("foo=Math.sin(0.5)");
-                bsh.eval("bar=foo*5; bar=Math.cos(bar);");
-                bsh.eval("for(i=0; i<10; i++) { print(\"hello\"); }");
-                // same as above using java syntax and apis only
-                bsh.eval("for(int i=0; i<10; i++) { System.out.println(\"hello\"); }");
-
-                // Source from files or streams
-                bsh.source("myscript.bsh");  // or bsh.eval("source(\"myscript.bsh\")");
-
-                // Use set() and get() to pass objects in and out of variables
-                bsh.set( "date", new Date() );
-                Date date = (Date)bsh.get( "date" );
-                // This would also work:
-                Date date = (Date)bsh.eval( "date" );
-
-                bsh.eval("year = date.getYear()");
-                Integer year = (Integer)bsh.get("year");  // primitives use wrappers
-
-                // With Java1.3+ scripts can implement arbitrary interfaces...
-                // Script an awt event handler (or source it from a file, more likely)
-                bsh.eval( "actionPerformed( e ) { print( e ); }");
-                // Get a reference to the script object (implementing the interface)
-                ActionListener scriptedHandler = 
-                        (ActionListener)bsh.eval("return (ActionListener)this");
-                // Use the scripted event handler normally...
-                new JButton.addActionListener( script );
-        </pre></blockquote>
-        <p>
-
-        In the above examples we showed a single interpreter instance, however 
-        you may wish to use many instances, depending on the application and how
-        you structure your scripts.  Interpreter instances are very light weight
-        to create, however if you are going to execute the same script repeatedly
-        and require maximum performance you should consider scripting the code as 
-        a method and invoking the scripted method each time on the same interpreter
-        instance (using eval()). 
-        <p>
-
-        See the BeanShell User's Manual for more information.
-*/
-public class Interpreter 
-    implements Runnable, ConsoleInterface /*,Serializable*/ 
-{
-    /* --- Begin static stuff --- */
-
-    public static final String VERSION = "1.1a16";
-    /* 
-       Debug utils are static so that they are reachable by code that doesn't
-       necessarily have an interpreter reference (e.g. tracing in utils).
-       In the future we may want to allow debug/trace to be turned on on
-       a per interpreter basis, in which case we'll need to use the parent 
-       reference in some way to determine the scope of the command that 
-       turns it on or off...
-        */
-
-    public static boolean DEBUG, TRACE;
-    // This should be per instance
-    static PrintStream debug;
-    static { 
-        staticInit();
-    }
-
-    /** Shared system object visible under bsh.system */
-    static This systemObject;
-
-    /* --- end static stuff --- */
-
-        /* --- Instance data --- */
-
-    Parser parser;
-    NameSpace globalNameSpace;
-    Reader in;
-    PrintStream out;
-    PrintStream err;
-    ConsoleInterface console; 
-
-        /** If this interpeter is a child of another, the parent */
-    Interpreter parent;
-
-    /** The name of the file or other source that this interpreter is reading */
-    String sourceFileInfo;
-
-    /** 
-                Do we override exit on EOF as normally done in iteractive mode?
-                (This is used by Sessiond)
-        */
-    public boolean noExitOnEOF;
-
-    private boolean 
-        evalOnly,               // Interpreter has no input stream, use eval() only
-        interactive;    // Interpreter has a user, print prompts, etc.
-
-        /* --- End instance data --- */
-
-        /**
-                The main constructor.
-                All constructors should now pass through here.
-
-                @param namespace If namespace is non-null then this interpreter's 
-                root namespace will be set to the one provided.  If it is null a new 
-                one will be created for it.
-                @param parent The parent interpreter if this interpreter is a child 
-                        of another.  May be null.
-                @param sourceFileInfo An informative string holding the filename 
-                or other description of the source from which this interpreter is
-                reading... used for debugging.  May be null.
-        */
-    public Interpreter(
-                       Reader in, PrintStream out, PrintStream err, 
-                       boolean interactive, NameSpace namespace,
-                       Interpreter parent, String sourceFileInfo )
-    {
-        parser = new Parser( in );
-        long t1=System.currentTimeMillis();
-        this.in = in;
-        this.out = out;
-        this.err = err;
-        this.interactive = interactive;
-        debug = err;
-        this.parent = parent;
-        this.sourceFileInfo = sourceFileInfo;
-
-        if ( namespace == null )
-            this.globalNameSpace = new NameSpace("global");
-        else
-            this.globalNameSpace = namespace;
-
-        // The classes which are imported by default
-        globalNameSpace.loadDefaultImports();
-
-        /* 
-           Create the root "bsh" system object if it doesn't exist.
-        */
-        if ( ! ( getu("bsh") instanceof bsh.This ) )
-            initRootSystemObject();
-
-        if ( interactive )
-            loadRCFiles();
-
-        long t2=System.currentTimeMillis();
-        Interpreter.debug("Time to initialize interpreter: "+(t2-t1));
-    }
-
-    public Interpreter(
-                       Reader in, PrintStream out, PrintStream err, 
-                       boolean interactive, NameSpace namespace)
-    {
-        this( in, out, err, interactive, namespace, null, null );
-    }
-
-    public Interpreter(
-                       Reader in, PrintStream out, PrintStream err, boolean interactive)
-    {
-        this(in, out, err, interactive, null);
-    }
-
-    /**
-                Construct a new interactive interpreter attached to the specified 
-                console using the specified parent namespace.
-        */
-    public Interpreter(ConsoleInterface console, NameSpace globalNameSpace) {
-
-        this( console.getIn(), console.getOut(), console.getErr(), 
-              true, globalNameSpace );
-
-        setConsole( console );
-    }
-
-    /**
-                Construct a new interactive interpreter attached to the specified 
-                console.
-        */
-
-    public Interpreter(ConsoleInterface console) {
-        this(console, null);
-    }
-
-
-    /**
-                Create an interpreter for evaluation only.
-        */
-    public Interpreter()
-    {
-        this( new StringReader(""), 
-              System.out, System.err, false, null );
-        evalOnly = true;
-        setu( "bsh.evalOnly", new Primitive(true) );
-    }
-
-    // End constructors
-
-        /**
-                Attach the console thusly... ;)
-        */
-    public void setConsole( ConsoleInterface console ) {
-        this.console = console;
-        setu( "bsh.console", console );
-    }
-
-    private void initRootSystemObject() 
-    {
-        // bsh
-        setu("bsh", new NameSpace( "Bsh Object" ).getThis( this ) );
-
-                // init the static shared systemObject if it's not there yet
-        if ( systemObject == null )
-            systemObject = new NameSpace( 
-                                         "Bsh System Object" ).getThis( this );
-        // bsh.system
-        setu( "bsh.system", systemObject );
-
-        // bsh.help
-        This helpText = new NameSpace( 
-                                      "Bsh Command Help Text" ).getThis( this );
-        setu( "bsh.help", helpText );
-
-                // bsh.cwd
-        try {
-            setu( "bsh.cwd", System.getProperty("user.dir") );
-        } catch ( SecurityException e ) { 
-            // applets can't see sys props
-            setu( "bsh.cwd", "." );
-        }
-
-        // bsh.interactive
-        setu( "bsh.interactive", new Primitive(interactive) );
-        // bsh.evalOnly
-        setu( "bsh.evalOnly", new Primitive(evalOnly) );
-    }
-
-    /**
-                Set the global namespace for this interpreter.
-                <p>
-
-                Note: This is here for completeness.  If you're using this a lot 
-                it may be an indication that you are doing more work than you have 
-                to.  For example, caching the interpreter instance rather than the 
-                namespace should not add a significant overhead.  No state other 
-                than the debug status is stored in the interpreter.
-                <p>
-
-                All features of the namespace can also be accessed using the 
-                interpreter via eval() and the script variable 'this.namespace'
-                (or global.namespace as necessary).
-        */
-    public void setNameSpace( NameSpace globalNameSpace ) {
-        this.globalNameSpace = globalNameSpace;
-    }
-
-    /**
-                Get the global namespace of this interpreter.
-                <p>
-
-                Note: This is here for completeness.  If you're using this a lot 
-                it may be an indication that you are doing more work than you have 
-                to.  For example, caching the interpreter instance rather than the 
-                namespace should not add a significant overhead.  No state other than 
-                the debug status is stored in the interpreter.  
-                <p>
-
-                All features of the namespace can also be accessed using the 
-                interpreter via eval() and the script variable 'this.namespace'
-                (or global.namespace as necessary).
-        */
-    public NameSpace getNameSpace() {
-        return globalNameSpace;
-    }
-
-    /**
-                Run the text only interpreter on the command line or specify a file.
-        */
-    public static void main( String [] args ) 
-    {
-        if ( args.length > 0 ) {
-            String filename = args[0];
-
-            String [] bshArgs;
-            if ( args.length > 1 ) {
-                bshArgs = new String [ args.length -1 ];
-                System.arraycopy( args, 1, bshArgs, 0, args.length-1 );
-            } else
-                bshArgs = new String [0];
-
-            Interpreter interpreter = new Interpreter();
-            interpreter.setu( "bsh.args", bshArgs );
-            try {
-                interpreter.source( filename, interpreter.globalNameSpace );
-            } catch ( FileNotFoundException e ) {
-                System.out.println("File not found: "+e);
-            } catch ( EvalError e ) {
-                System.out.println("Evaluation Error: "+e);
-            } catch ( IOException e ) {
-                System.out.println("I/O Error: "+e);
-            }
-        } else {
-            // Workaround for JDK bug 4071281, where system.in.available() 
-            // returns too large a value. This bug has been fixed in JDK 1.2.
-            InputStream src;
-            if ( System.getProperty("os.name").startsWith("Windows") 
-                 && System.getProperty("java.version").startsWith("1.1."))
-                {
-                    src = new FilterInputStream(System.in) {
-                            public int available() throws IOException {
-                                return 0;
-                            }
-                        };
-                }
-            else
-                src = System.in;
-                        
-            Reader in = null;
-            boolean usingReadline = false;
-            try {
-                File history = new File(System.getProperty("user.home") +
-                                        File.separator + ".bsh_history");
-                if (!history.exists()) {
-                    try {
-                        history.createNewFile();
-                    } catch(IOException ioe) {
-                        debug("Unable to create history file: " + history.getAbsolutePath());
-                    }
-                }
-                // should I wrap CommandLineReader around it?
-                if (history.canWrite() && history.canRead()) {
-                    in = new ReadlineReader("bsh % ", history,ReadlineLibrary.Editline);
-                } else {
-                    in = new ReadlineReader("bsh % ",ReadlineLibrary.Editline);
-                    debug("Unable to read/write history file: " + history.getAbsolutePath());
-                }
-            } catch (IOException ioe) {
-                System.err.println("Unable to invoke ReadlineReader " +
-                                   "due to: " + ioe);
-            }
-            if (in == null)
-                in = new CommandLineReader( new InputStreamReader(src));
-            else 
-                usingReadline = true;
-            Interpreter interpreter = 
-                new Interpreter( in, System.out, System.err, true );
-            if (usingReadline) {
-                NameCompletionTable nct = new NameCompletionTable();
-                nct.add(interpreter.getNameSpace());
-
-                /** ClassManager does a lot of chatting to the stdout,
-                 *  so this has been commented out for the time being
-                 **/
-
-//              try {
-//                  BshClassManager bcm = BshClassManager.getClassManager();
-//                      if (bcm != null) {
-//                          nct.add(((ClassManagerImpl)bcm).getClassPath());
-//                      }
-//                  } catch(ClassPathException cpe) {
-//                      debug("classpath exception in name compl:" + cpe);
-//                  } 
-
-                Readline.setCompleter(new BshCompleter(nct));
-            }
-            interpreter.run();
-        }
-    }
-
-    /**
-                Run interactively.  (printing prompts, etc.)
-        */
-    public void run() {
-        if(evalOnly)
-            throw new RuntimeException("bsh Interpreter: No stream");
-
-        /*
-          We'll print our banner using eval(String) in order to
-          exercise the parser and get the basic expression classes loaded...
-          This ameliorates the delay after typing the first statement.
-        */
-        if ( interactive )
-            try { 
-                eval("printBanner();"); 
-            } catch ( EvalError e ) {
-                println(
-                        "BeanShell "+VERSION+" - by Pat Niemeyer (pat at pat.net)");
-            }
-
-        boolean eof = false;
-
-        // init the callstack.  
-        CallStack callstack = new CallStack();
-        callstack.push( globalNameSpace );
-
-        while(!eof)
-            {
-                try
-                    {
-                        // try to sync up the console
-                        System.out.flush();
-                        System.err.flush();
-                        Thread.yield();  // this helps a little
-                        if(interactive && !(in instanceof ReadlineReader))
-                            print("bsh % ");
-
-                        eof = Line();
-
-                        if(get_jjtree().nodeArity() > 0)  // number of child nodes 
-                            {
-                                SimpleNode node = (SimpleNode)(get_jjtree().rootNode());
-
-                                if(DEBUG)
-                                    node.dump(">");
-
-                                Object ret = node.eval( callstack, this );
-                                
-                                // sanity check during development
-                                if ( callstack.depth() > 1 )
-                                    throw new InterpreterError(
-                                                               "Callstack growing: "+callstack);
-
-                                if(ret instanceof ReturnControl)
-                                    ret = ((ReturnControl)ret).value;
-                                if(ret != Primitive.VOID)
-                                    {
-                                        setVariable("$_", ret);
-                                        Object show = getu("bsh.show");
-                                        if(show instanceof Boolean &&
-                                           ((Boolean)show).booleanValue() == true)
-                                            println("<" + ret + ">");
-                                    }
-                            }
-                    }
-                catch(ParseException e)
-                    {
-                        error("Parser Error: " + e.getMessage(DEBUG));
-                        if(DEBUG)
-                            e.printStackTrace();
-                        if(!interactive)
-                            eof = true;
-
-                        parser.reInitInput(in);
-                    }
-                catch(InterpreterError e)
-                    {
-                        error("Internal Error: " + e.getMessage());
-                        e.printStackTrace();
-                        if(!interactive)
-                            eof = true;
-                    }
-                catch(TargetError e)
-                    {
-                        error("// Uncaught Exception: " + e );
-                        if(DEBUG)
-                            e.printStackTrace();
-                        if(!interactive)
-                            eof = true;
-                    }
-                catch (EvalError e)
-                    {
-                        if ( interactive )
-                            error( e.toString() );
-                        else
-                            error( e.getMessage() );
-                        if(DEBUG)
-                            e.printStackTrace();
-                        if(!interactive)
-                            eof = true;
-                    }
-                catch(Exception e)
-                    {
-                        error("Unknown error: " + e);
-                        e.printStackTrace();
-                        if(!interactive)
-                            eof = true;
-                    }
-                catch(TokenMgrError e)
-                    {
-                        error("Error parsing input: " + e);
-
-                                /*
-                                  We get stuck in infinite loops here when unicode escapes
-                                  fail.  Must re-init the char stream reader 
-                                  (ASCII_UCodeESC_CharStream.java)
-                                */
-                        parser.reInitTokenInput( in );
-
-                        if(!interactive)
-                            eof = true;
-                    }
-                finally
-                    {
-                        get_jjtree().reset();
-                                // reinit the callstack
-                        callstack.clear();
-                        callstack.push( globalNameSpace );
-                    }
-            }
-
-        if ( interactive && !noExitOnEOF ) {
-            /* should be done for all streams in general, but this
-             * ensures that the history for readline is flushed */
-            try {
-                in.close();
-            } catch (IOException ioe) {
-            }
-            System.exit(0);
-        }
-    }
-
-    // begin source and eval
-
-        /**
-                Read text from fileName and eval it.
-        */
-    public Object source( String filename, NameSpace nameSpace ) 
-        throws FileNotFoundException, IOException, EvalError 
-    {
-        File file = pathToFile( filename );
-        debug("Sourcing file: "+file);
-        Reader in = new BufferedReader( new FileReader(file) );
-        return eval( in, nameSpace, filename );
-    }
-
-    /**
-                Read text from fileName and eval it.
-                Convenience method.  Use the global namespace.
-        */
-    public Object source( String filename ) 
-        throws FileNotFoundException, IOException, EvalError 
-    {
-        return source( filename, globalNameSpace );
-    }
-
-    /**
-        Spawn a non-interactive local interpreter to evaluate text in the 
-                specified namespace.  
-
-                Return value is the evaluated object (or corresponding primitive 
-                wrapper).
-
-                @param sourceFileInfo is for information purposes only.  It is used to
-                display error messages (and in the future may be made available to
-                the script).
-                @throws EvalError on script problems
-                @throws TargetError on unhandled exceptions from the script
-    */
-        /*
-                Note: we need a form of eval that passes the callstack through...
-        */
-        /*
-        Can't this be combined with run() ?
-        run seems to have stuff in it for interactive vs. non-interactive...
-        compare them side by side and see what they do differently, aside from the
-        exception handling.
-        */
-
-    public Object eval( 
-                       Reader in, NameSpace nameSpace, String sourceFileInfo ) 
-        throws EvalError 
-    {
-        Object retVal = null;
-        debug("eval: nameSpace = "+nameSpace);
-
-        /* 
-           Create non-interactive local interpreter for this namespace
-           with source from the input stream and out/err same as 
-           this interpreter.
-        */
-        Interpreter localInterpreter = 
-            new Interpreter( 
-                            in, out, err, false, nameSpace, this, sourceFileInfo  );
-
-        CallStack callstack = new CallStack();
-        callstack.push( 
-                       new NameSpace("Evaluation global for: "+sourceFileInfo) );
-        callstack.push( nameSpace );
-
-        boolean eof = false;
-        while(!eof)
-            {
-                SimpleNode node = null;
-                try
-                    {
-                        eof = localInterpreter.Line();
-                        if (localInterpreter.get_jjtree().nodeArity() > 0)
-                            {
-                                node = (SimpleNode)localInterpreter.get_jjtree().rootNode();
-                                // nodes remember from where they were sourced
-                                node.setSourceFile( sourceFileInfo );
-
-                                if ( TRACE )
-                                    println( "// " +node.getText() );
-
-                                retVal = node.eval( callstack, localInterpreter );
-
-                                // sanity check during development
-                                if ( callstack.depth() > 2 )
-                                    throw new InterpreterError(
-                                                               "Callstack growing: "+callstack);
-
-                                if ( retVal instanceof ReturnControl ) {
-                                    retVal = ((ReturnControl)retVal).value;
-                                    break; // non-interactive, return control now
-                                }
-                            }
-                    } catch(ParseException e) {
-                        throw new EvalError(
-                                            "Sourced file: "+sourceFileInfo+" parser Error: " 
-                                            + e.getMessage( DEBUG ), node );
-                    } catch(InterpreterError e) {
-                        e.printStackTrace();
-                        throw new EvalError(
-                                            "Sourced file: "+sourceFileInfo+" internal Error: " 
-                                            + e.getMessage(), node);
-                    } catch( TargetError e ) {
-                        if(DEBUG)
-                            e.printStackTrace();
-                                // failsafe, set the Line as the origin of the error.
-                        if ( e.getNode()==null )
-                            e.setNode( node );
-                        e.reThrow("Sourced file: "+sourceFileInfo);
-                    } catch(EvalError e) {
-                        if(DEBUG)
-                            e.printStackTrace();
-                                // failsafe, set the Line as the origin of the error.
-                        if ( e.getNode()==null )
-                            e.setNode( node );
-                        e.reThrow( "Sourced file: "+sourceFileInfo );
-                    } catch(Exception e) {
-                        e.printStackTrace();
-                        throw new EvalError(
-                                            "Sourced file: "+sourceFileInfo+" unknown error: " 
-                                            + e.getMessage(), node);
-                    } catch(TokenMgrError e) {
-                        throw new EvalError(
-                                            "Sourced file: "+sourceFileInfo+" Token Parsing Error: " 
-                                            + e.getMessage(), node );
-                    } finally {
-                        localInterpreter.get_jjtree().reset();
-                        callstack.clear();
-                        callstack.push( nameSpace );
-                    }
-            }
-        return Primitive.unwrap( retVal );
-    }
-
-    /**
-                Evaluate the inputstream in this interpreter's global namespace.
-        */
-    public Object eval( Reader in ) throws EvalError 
-    {
-        return eval( in, globalNameSpace, "eval stream" );
-    }
-
-    /**
-                Evaluate the string in this interpreter's global namespace.
-        */
-    public Object eval( String statement ) throws EvalError {
-        return eval(statement, globalNameSpace);
-    }
-
-    /**
-                Evaluate the string in the specified namespace.
-        */
-    public Object eval( String statement, NameSpace nameSpace ) 
-        throws EvalError {
-
-        String s = ( statement.endsWith(";") ? statement : statement+";" );
-        return eval( 
-                    new StringReader(s), nameSpace, "<Inline eval of: "+s+" >" );
-    }
-
-    // end source and eval
-
-        /**
-                Print an error message in a standard format on the output stream
-                associated with this interpreter. On the GUI console this will appear 
-                in red, etc.
-        */
-    public final void error(String s) {
-        if ( console != null )
-            console.error( "// Error: " + s +"\n" );
-        else {
-            err.println("// Error: " + s);
-            err.flush();
-        }
-    }
-
-    // ConsoleInterface
-    // The interpreter reflexively implements the console interface that it 
-    // uses.  Should clean this up by using an inner class to implement the
-    // console for us.
-
-    /** 
-                Get the input stream associated with this interpreter.
-                This may be be stdin or the GUI console.
-        */
-    public Reader getIn() { return in; }
-
-    /** 
-                Get the outptut stream associated with this interpreter.
-                This may be be stdout or the GUI console.
-        */
-    public PrintStream getOut() { return out; }
-
-    /** 
-                Get the error output stream associated with this interpreter.
-                This may be be stderr or the GUI console.
-        */
-    public PrintStream getErr() { return err; }
-
-    public final void println(String s)
-    {
-        print(s + "\n");
-    }
-
-    public final void print(String s)
-    {
-        if (console != null) {
-            console.print(s);
-        } else {
-            out.print(s);
-            out.flush();
-        }
-    }
-
-    // End ConsoleInterface
-
-        /**
-                Print a debug message on debug stream associated with this interpreter
-                only if debugging is turned on.
-        */
-    public final static void debug(String s)
-    {
-        if(DEBUG)
-            debug.println("// Debug: " + s);
-    }
-
-    /* 
-                Primary interpreter set and get variable methods
-                Note: These are squeltching errors... should they?
-        */
-
-        /**
-                Get the value of the name.
-                name may be any value. e.g. a variable or field
-        */
-    public Object get( String name ) throws EvalError {
-        Object ret = globalNameSpace.get( name, this );
-        return Primitive.unwrap( ret );
-    }
-
-    /**
-                Unchecked get for internal use
-        */
-    Object getu( String name ) {
-        try { 
-            return get( name );
-        } catch ( EvalError e ) { 
-            throw new InterpreterError("set: "+e);
-        }
-    }
-
-    /**
-                Assign the value to the name.   
-                name may evaluate to anything assignable. e.g. a variable or field.
-        */
-    public void set(String name, Object value) throws EvalError {
-        CallStack callstack = new CallStack();
-        LHS lhs = globalNameSpace.getNameResolver( name ).toLHS( 
-                                                                callstack, this );
-        lhs.assign( value );
-    }
-
-    /**
-                Unchecked set for internal use
-        */
-    void setu(String name, Object value) {
-        try { 
-            set(name, value);
-        } catch ( EvalError e ) { 
-            throw new InterpreterError("set: "+e);
-        }
-    }
-
-    public void set(String name, long value) throws EvalError {
-        set(name, new Primitive(value));
-    }
-    public void set(String name, int value) throws EvalError {
-        set(name, new Primitive(value));
-    }
-    public void set(String name, double value) throws EvalError {
-        set(name, new Primitive(value));
-    }
-    public void set(String name, float value) throws EvalError {
-        set(name, new Primitive(value));
-    }
-    public void set(String name, boolean value) throws EvalError {
-        set(name, new Primitive(value));
-    }
-
-
-
-    /**
-                @deprecated does not properly evaluate compound names
-        */
-    public Object getVariable(String name)
-    {
-        Object obj = globalNameSpace.getVariable(name);
-        return Primitive.unwrap( obj );
-    }
-
-    /**
-                @deprecated does not properly evaluate compound names
-        */
-    public void setVariable(String name, Object value)
-    {
-        try { globalNameSpace.setVariable(name, value); }
-        catch(EvalError e) { error(e.toString()); }
-    }
-
-    /**
-                @deprecated does not properly evaluate compound names
-        */
-    public void setVariable(String name, int value)
-    {
-        try { globalNameSpace.setVariable(name, new Primitive(value)); }
-        catch(EvalError e) { error(e.toString()); }
-    }
-
-    /**
-                @deprecated does not properly evaluate compound names
-        */
-    public void setVariable(String name, float value)
-    {
-        try { globalNameSpace.setVariable(name, new Primitive(value)); }
-        catch(EvalError e) { error(e.toString()); }
-    }
-
-    /**
-                @deprecated does not properly evaluate compound names
-        */
-    public void setVariable(String name, boolean value)
-    {
-        try { globalNameSpace.setVariable(name, new Primitive(value)); }
-        catch(EvalError e) { error(e.toString()); }
-    }
-
-    // end primary set and get methods
-
-        /*      Methods for interacting with Parser */
-
-    private JJTParserState get_jjtree() {
-        return parser.jjtree;
-    }
-
-    private ASCII_UCodeESC_CharStream get_jj_input_stream() {
-        return parser.jj_input_stream;
-    }
-
-    private boolean Line() throws ParseException {
-        return parser.Line();
-    }
-
-    /*      End methods for interacting with Parser */
-
-    void loadRCFiles() {
-        try {
-            String rcfile = 
-                                // Default is c:\windows under win98, $HOME under Unix
-                System.getProperty("user.home") + File.separator + ".bshrc";
-            source( rcfile, globalNameSpace );
-        } catch ( Exception e ) { 
-            // squeltch security exception, filenotfoundexception
-            debug("Could not find rc file: "+e);
-        }
-    }
-
-    /**
-                Localize a path to the file name based on the bsh.cwd interpreter 
-                working directory.
-        */
-    public File pathToFile( String fileName ) 
-        throws IOException
-    {
-        File file = new File( fileName );
-
-        // if relative, fix up to bsh.cwd
-        if ( !file.isAbsolute() ) {
-            String cwd = (String)getu("bsh.cwd");
-            file = new File( cwd + File.separator + fileName );
-        }
-
-        return new File( file.getCanonicalPath() );
-    }
-
-    public static void redirectOutputToFile( String filename ) 
-    {
-        try {
-            PrintStream pout = new PrintStream( 
-                                               new FileOutputStream( filename ) );
-            System.setOut( pout );
-            System.setErr( pout );
-        } catch ( IOException e ) {
-            System.err.println("Can't redirect output to file: "+filename );
-        }
-    }
-
-    static void staticInit() {
-        /* 
-           Apparently in some environments you can't catch the security exception
-           at all...  e.g. as an applet in IE  ... will probably have to work 
-           around 
-        */
-        try {
-            debug = System.err;
-            DEBUG = Boolean.getBoolean("debug");
-            TRACE = Boolean.getBoolean("trace");
-            String outfilename = System.getProperty("outfile");
-            if ( outfilename != null )
-                redirectOutputToFile( outfilename );
-        } catch ( SecurityException e ) { 
-            System.err.println("Could not init static:"+e);
-        } catch ( Exception e ) {
-            System.err.println("Could not init static(2):"+e);
-        } catch ( Throwable e ) { 
-            System.err.println("Could not init static(3):"+e);
-        }
-    }
-
-    /**
-                Specify the source of the text from which this interpreter is reading.
-                Note: there is a difference between what file the interrpeter is 
-                sourcing and from what file a method was originally parsed.  One
-                file may call a method sourced from another file.  See SimpleNode
-                for origination file info.
-                @see SimpleNode.getSourceFile 
-        */
-    public String getSourceFileInfo() { 
-        if ( sourceFileInfo != null )
-            return sourceFileInfo;
-        else
-            return "<unknown source>";
-    }
-
-    public Interpreter getParent() {
-        return parent;
-    }
-
-}
-
diff --git a/contrib/bsh/Interpreter.java.diff b/contrib/bsh/Interpreter.java.diff
deleted file mode 100644
index ba6cf31..0000000
--- a/contrib/bsh/Interpreter.java.diff
+++ /dev/null
@@ -1,79 +0,0 @@
-37a38,43
-> import java.io.File;            // why? I don't know
-> import bsh.util.BshCompleter;
-> import bsh.util.NameCompletionTable;
-> import bsh.classpath.ClassManagerImpl;
-> import org.gnu.readline.Readline;
-> import org.gnu.readline.ReadlineReader;
-104a111
-> 
-221a229
-> 
-225a234
-> 
-358c367,393
-<             Reader in = new CommandLineReader( new InputStreamReader(src));
----
->             Reader in = null;
->             boolean usingReadline = false;
->             try {
->                 File history = new File(System.getProperty("user.home") +
->                                         File.separator + ".bsh_history");
->                 if (!history.exists()) {
->                     try {
->                         history.createNewFile();
->                     } catch(IOException ioe) {
->                         debug("Unable to create history file: " + history.getAbsolutePath());
->                     }
->                 }
->                 // should I wrap CommandLineReader around it?
->                 if (history.canWrite() && history.canRead()) {
->                     in = new ReadlineReader("bsh % ", history,ReadlineLibrary.Editline);
->                 } else {
->                     in = new ReadlineReader("bsh % ",ReadlineLibrary.Editline);
->                     debug("Unable to read/write history file: " + history.getAbsolutePath());
->                 }
->             } catch (IOException ioe) {
->                 System.err.println("Unable to invoke ReadlineReader " +
->                                    "due to: " + ioe);
->             }
->             if (in == null)
->                 in = new CommandLineReader( new InputStreamReader(src));
->             else 
->                 usingReadline = true;
-360a396,414
->             if (usingReadline) {
->                 NameCompletionTable nct = new NameCompletionTable();
->                 nct.add(interpreter.getNameSpace());
-> 
->                 /** ClassManager does a lot of chatting to the stdout,
->                  *  so this has been commented out for the time being
->                  **/
-> 
-> //              try {
-> //                  BshClassManager bcm = BshClassManager.getClassManager();
-> //                      if (bcm != null) {
-> //                          nct.add(((ClassManagerImpl)bcm).getClassPath());
-> //                      }
-> //                  } catch(ClassPathException cpe) {
-> //                      debug("classpath exception in name compl:" + cpe);
-> //                  } 
-> 
->                 Readline.setCompleter(new BshCompleter(nct));
->             }
-399c453
-<                 if(interactive)
----
->                         if(interactive && !(in instanceof ReadlineReader))
-496c550,556
-< 		if ( interactive && !noExitOnEOF ) 
----
->         if ( interactive && !noExitOnEOF ) {
->             /* should be done for all streams in general, but this
->              * ensures that the history for readline is flushed */
->             try {
->                 in.close();
->             } catch (IOException ioe) {
->             }
-498a559
->     }
diff --git a/contrib/bsh/README b/contrib/bsh/README
deleted file mode 100644
index 84d7a5d..0000000
--- a/contrib/bsh/README
+++ /dev/null
@@ -1,23 +0,0 @@
-To use JavaReadline with BeanShell, you must replace one class
-(bsh.Interpreter) in bsh.jar and add another one (bsh.bshCompleter).
-
-The sourcecode for both files is provided in this package. Just
-compile both files and use the jar utility from the JDK. Note that the
-1.2 version has an update flag (this makes things easier). With 1.1
-you have to extract the whole archive, replace the given class files
-and create the archive again.
-
-(This readme was shamelessly stolen and modified with little more than
-substitution tricks from the jpython mod for readline.)
-
--Shane Celis <shane at terraspring.com>
-
-
-Note: starting from JavaReadline 0.6, you have the choice of various backing
-readline implementations. Since the license of BSH does not conform to the
-GPL, it cannot be used together with GNU-Readline.
-As a consequence, the backing implementation for BeanShell is Editline,
-and I modified ReadlineReader, Interpreter.java and Interpreter.java.diff
-accordingly.
-
-Bernhard
\ No newline at end of file
diff --git a/contrib/jpython/README b/contrib/jpython/README
deleted file mode 100644
index 0dd6cb6..0000000
--- a/contrib/jpython/README
+++ /dev/null
@@ -1,10 +0,0 @@
-Note: JPython is now Jython, and there have been
-some changes, so the original description of what
-to do to make Jython work with JavaReadline
-does not apply anymore. 
-
-However, there has been a posting to the jython-users 
-mailing-list describing what to do (see the file
-jython-install.txt). For Debian-users, things should
-be much simpler, because Jython is already packaged
-to use JavaReadline with EditLine as backing library.
diff --git a/contrib/jpython/ReadlineConsole.java b/contrib/jpython/ReadlineConsole.java
deleted file mode 100644
index 0ca8fa6..0000000
--- a/contrib/jpython/ReadlineConsole.java
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright � Corporation for National Research Initiatives
-package org.python.util;
-import org.python.core.*;
-import org.gnu.readline.*;
-
-// Based on CPython-1.5.2's code module
-
-public class ReadlineConsole extends InteractiveConsole {
-    public String filename;
-
-    public ReadlineConsole() {
-        this(null, "<console>");
-    }
-    public ReadlineConsole(PyObject locals) {
-        this(locals, "<console>");
-    }
-    public ReadlineConsole(PyObject locals, String filename) {
-        super(locals,filename);
-	try {
-	  Readline.load(ReadlineLibrary.Editline);
-	} catch (Exception e) {
-	}
-	Readline.initReadline("jpython");
-    }
-
-
-    /**
-     * Write a prompt and read a line.
-     *
-     * The returned line does not include the trailing newline.  When the
-     * user enters the EOF key sequence, EOFError is raised.
-     *
-     * This subclass implements the functionality using JavaReadline.
-     **/
-    public String raw_input(PyObject prompt) {
-        try {
-           return Readline.readline(prompt==null ? "" : prompt.toString());
-        } catch (java.io.EOFException eofe) {
-           throw new PyException(Py.EOFError);
-        } catch (java.io.IOException ioe) {
-           throw new PyException();
-        } catch (java.io.UnsupportedEncodingException e) {
-           throw new PyException();
-        }
-    }
-}
diff --git a/contrib/jpython/jpython.diff b/contrib/jpython/jpython.diff
deleted file mode 100644
index c2e36a4..0000000
--- a/contrib/jpython/jpython.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-*** jpython.java	Sun Oct 24 08:54:59 1999
---- jpython.java.orig	Sun Oct 24 08:53:46 1999
-***************
-*** 80,91 ****
-          
-          // Now create an interpreter
-!         InteractiveConsole interp = null;
-! 	try {
-! 	  interp = (InteractiveConsole) Class.forName(
-! 		      PySystemState.registry.getProperty("python.console",
-!                         "org.python.util.InteractiveConsole")).newInstance();
-! 	} catch (Exception e) {
-! 	  interp = new InteractiveConsole();
-! 	}
-          //System.err.println("interp");
-          PyModule mod = imp.addModule("__main__");
---- 80,84 ----
-          
-          // Now create an interpreter
-!         InteractiveConsole interp = new InteractiveConsole();
-          //System.err.println("interp");
-          PyModule mod = imp.addModule("__main__");
diff --git a/contrib/jpython/jpython.java b/contrib/jpython/jpython.java
deleted file mode 100644
index 4a2ab16..0000000
--- a/contrib/jpython/jpython.java
+++ /dev/null
@@ -1,272 +0,0 @@
-// Copyright � Corporation for National Research Initiatives
-package org.python.util;
-
-import org.python.core.*;
-import java.util.zip.*;
-import java.io.*;
-
-public class jpython
-{
-    private static String usage =
-        "usage: jpython [options] [-jar jar | -c cmd | file | -] [args]\n"+
-        "Options and arguments:\n"+
-        "-i       : inspect interactively after running script, and force\n"+
-        "           prompts, even if stdin does not appear to be a terminal\n"+
-        "-S       : don't imply `import site' on initialization\n"+
-        "-X       : disable class based standard exceptions\n"+
-        "-Dprop=v : Set the property `prop' to value `v'\n"+
-        "-jar jar : program read from __run__.py in jar file\n"+
-        "-c cmd   : program passed in as string (terminates option list)\n"+
-        "file     : program read from script file\n"+
-        "-        : program read from stdin (default; interactive mode if a "+
-        "tty)\n"+
-        "--help   : print this usage message and exit\n"+
-        "--version: print JPython version number and exit\n"+
-        "args     : arguments passed to program in sys.argv[1:]";
-
-    public static void runJar(String filename) {
-        // TBD: this is kind of gross because a local called `zipfile' just
-        // magically shows up in the module's globals.  Either `zipfile'
-        // should be called `__zipfile__' or (preferrably, IMO), __run__.py 
-        // should be imported and a main() function extracted.  This
-        // function should be called passing zipfile in as an argument.
-        //
-        // Probably have to keep this code around for backwards
-        // compatibility (?)
-        try {
-            ZipFile zip = new ZipFile(filename);
-
-            ZipEntry runit = zip.getEntry("__run__.py");
-            if (runit == null)
-                throw Py.ValueError("jar file missing '__run__.py'");
-
-            PyStringMap locals = new PyStringMap();
-            locals.__setitem__("__name__", new PyString(filename));
-            locals.__setitem__("zipfile", Py.java2py(zip));
-
-            InputStream file = zip.getInputStream(runit);
-            PyCode code;
-            try {
-                code = Py.compile(file, "__run__", "exec");
-            } finally {
-                file.close();
-            }
-            Py.runCode(code, locals, locals);
-        } catch (java.io.IOException e) {
-            throw Py.IOError(e);
-        }
-    }
-
-    public static void main(String[] args) {
-        // Parse the command line options
-        CommandLineOptions opts = new CommandLineOptions();
-        if (!opts.parse(args)) {
-            if (opts.version) {
-                System.err.println(InteractiveConsole.getDefaultBanner());
-                System.exit(0);
-            }
-            System.err.println(usage);
-            int exitcode = opts.help ? 0 : -1;
-            System.exit(exitcode);
-        }
-        
-        // Setup the basic python system state from these options
-        PySystemState.initialize(System.getProperties(),
-                                 opts.properties, opts.argv);
-        
-        if (opts.notice) {
-            System.err.println(InteractiveConsole.getDefaultBanner());
-        }
-        
-        // Now create an interpreter
-        InteractiveConsole interp = null;
-	try {
-	  interp = (InteractiveConsole) Class.forName(
-		      PySystemState.registry.getProperty("python.console",
-                        "org.python.util.InteractiveConsole")).newInstance();
-	} catch (Exception e) {
-	  interp = new InteractiveConsole();
-	}
-        //System.err.println("interp");
-        PyModule mod = imp.addModule("__main__");
-        interp.setLocals(mod.__dict__);
-        //System.err.println("imp");
-
-        if (Options.importSite) {
-            try {
-                imp.load("site");
-            } catch (PyException pye) {
-                if (!Py.matchException(pye, Py.ImportError)) {
-                    System.err.println("error importing site");
-                    Py.printException(pye);
-                    System.exit(-1);
-                }
-            }
-        }
- 
-        if (opts.command != null) {
-            try {
-                interp.exec(opts.command);
-            } catch (Throwable t) {
-                Py.printException(t);
-            }
-        }
- 
-        // was there a filename on the command line?
-        if (opts.filename != null) {
-            String path = new java.io.File(opts.filename).getParent();
-            if (path == null)
-                path = "";
-            Py.getSystemState().path.insert(0, new PyString(path));
-            if (opts.jar) {
-                runJar(opts.filename);
-            } else if (opts.filename.equals("-")) {
-                try {
-                    interp.execfile(System.in, "<stdin>");
-                } catch (Throwable t) {
-                    Py.printException(t);
-                }
-            } else {
-                try {
-                    interp.execfile(opts.filename);
-                } catch (Throwable t) {
-                    Py.printException(t);
-                }
-            }
-        }
-        else {
-            // if there was no file name on the command line, then "" is
-            // the first element on sys.path.  This is here because if
-            // there /was/ a filename on the c.l., and say the -i option
-            // was given, sys.path[0] will have gotten filled in with the
-            // dir of the argument filename.
-            Py.getSystemState().path.insert(0, new PyString(""));
-        }
-
-        if (opts.interactive) {
-            try {
-                interp.interact(null);
-            } catch (Throwable t) {
-                Py.printException(t);
-            }
-        }
-    }
-}
-
-
-

-class CommandLineOptions
-{
-    public String filename;
-    public boolean jar, interactive, notice;
-    private boolean fixInteractive;
-    public boolean help, version;
-    public String[] argv;
-    public java.util.Properties properties;
-    public String command;
-
-    public CommandLineOptions() {
-        filename = null;
-        jar = fixInteractive = false;
-        interactive = notice = true;
-        properties = new java.util.Properties();
-        help = version = false;
-    }
-
-    public void setProperty(String key, String value) {
-        properties.put(key, value);
-        // This only works for Java 1.2.  There appears to be no portable
-        // way to support this under Java 1.1
-//         try {
-//             System.setProperty(key, value);
-//         }
-//         catch (SecurityException e) {}
-    }
-
-    public boolean parse(String[] args) {
-        int index=0;
-        while (index < args.length && args[index].startsWith("-")) {
-            String arg = args[index];
-            if (arg.equals("--help")) {
-                help = true;
-                return false;
-            }
-            else if (arg.equals("--version")) {
-                version = true;
-                return false;
-            }
-            else if (arg.equals("-")) {
-                if (!fixInteractive)
-                    interactive = false;
-                filename = "-";
-            }
-            else if (arg.equals("-i")) {
-                fixInteractive = true;
-                interactive = true;
-            }
-            else if (arg.equals("-jar")) {
-                jar = true;
-                if (!fixInteractive)
-                    interactive = false;
-            }
-            else if (arg.equals("-X")) {
-                Options.classBasedExceptions = false;
-            }
-            else if (arg.equals("-S")) {
-                Options.importSite = false;
-            }
-            else if (arg.equals("-c")) {
-                command = args[++index];
-                if (!fixInteractive) interactive = false;              
-                break;
-            }
-            else if (arg.startsWith("-D")) {
-                String key = null; 
-                String value = null;
-                int equals = arg.indexOf("=");
-                if (equals == -1) {
-                    String arg2 = args[++index];
-                    key = arg.substring(2, arg.length());
-                    value = arg2;
-                }
-                else {
-                    key = arg.substring(2, equals);
-                    value = arg.substring(equals+1, arg.length());
-                }
-                setProperty(key, value);
-            }
-            else {
-                String opt = args[index];
-                if (opt.startsWith("--"))
-                    opt = opt.substring(2);
-                else if (opt.startsWith("-"))
-                    opt = opt.substring(1);
-                System.err.println("jpython: illegal option -- " + opt);
-                return false;
-            }
-            index += 1;
-        }
-        notice = interactive;
-        if (filename == null && index < args.length && command == null) {
-            filename = args[index++];
-            if (!fixInteractive)
-                interactive = false;
-            notice = false;
-        }
-        if (command != null)
-            notice = false;
-
-        int n = args.length-index+1;
-        argv = new String[n];
-        //new String[args.length-index+1];
-        if (filename != null)
-            argv[0] = filename;
-        else argv[0] = "";
-
-        for(int i=1; i<n; i++, index++) {
-            argv[i] = args[index];
-        }
-
-        return true;
-    }
-}
diff --git a/contrib/jpython/jython-install.txt b/contrib/jpython/jython-install.txt
deleted file mode 100644
index b54702d..0000000
--- a/contrib/jpython/jython-install.txt
+++ /dev/null
@@ -1,64 +0,0 @@
-From SteveC at ignitesports.com Sun Dec 30 17:10:46 2001
-
-For about the third time, I have spent a few hours getting the readline
-library worked into jython.  (It happens every time I install a new
-jython and it changes a little bit each time.) You would think this
-annoying mess would get documented somewhere, but it hasn't, anywhere,
-correctly, in spite of several halfway attempts to do so.  And much of
-the documentation is out of date.
-
-So please, guys, make it a New Year's resolution to get this into the
-official docs, somewhere.  Here is a start, it worked for me:
-
-
-What you have to do to get Jython and Readline working (These
-instructions work for GNUReadline on my RedHat Linux system - your
-mileage may vary):
-
-Note: there is another option called Editline but Bernhard Bablok, the
-author of gnu java_readline says he couldn't get it working, so I didn't
-even try.  Nonetheless, Editline is the default in jython according to
-the source code in ReadlineConsole.java.  (See item #9 below ) If this
-is going to be the case, then the jython docs should give more info
-about it or work it into the standard distribution somehow. 
-
-1.  Download and install the javacc from
-http://www.webgain.com/products/java_cc/.  You can't build jython
-without this.
-
-2.  Download the java-readline source from
-http://www.bablokb.de/java/readline.html
-
-3.  Make the java_readline jar and backing library using the Makefile
-supplied.
-
-4.  Deploy these into your system lib directory.  (/usr/lib in my case)
-
-5.  Download the latest Jython sources from SourceForge. 
-
-6.  Create/Modify an ant.properties file in the same directory as the
-build.xml for jython and add the property readline.jar giving it the
-value of a path to the java_readline.jar you deployed in step 3,  as
-well as the path to javacc and any other optional jars you wish to
-include.
-
-7.  Build jython and deploy it.
-
-8.  Modify the jython shell script so as to precede the supplied command
-(java -Dpython.home=...) with 'LD_LIBRARY_PATH="/usr/lib"'
-
-9.  Modify your registry file to add the line
-
-     python.console.readlinelib=GnuReadline
-
-As far as I know this one isn't documented anywhere and if you don't put
-it in, the system tries to find Editline and throws an exception if it
-can't. I only pieced it together from reading the source code for
-jython's ReadlineConsole and for the gnu java readline.
-
-After all that, you finally have a console that recognizes the arrow
-keys for history when on the last line.  Way too complicated. 
-
-So while I thank the Jython developers and Mr. Bablok for their efforts
-and for making this possible at all, please, someone, make this easier
-or at least pull all the documentation into one place.
diff --git a/contrib/jscheme/SilkCompleter.java b/contrib/jscheme/SilkCompleter.java
deleted file mode 100644
index a03eb7b..0000000
--- a/contrib/jscheme/SilkCompleter.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package samer.silk;
-import java.util.*;
-import org.gnu.readline.*;
-import jsint.*;
-
-/**
-	This completer works with the JScheme scheme
-	interpreter by looking up symbols in the global
-	namespace. You can register it with the Java
-	Readline library either in Java or in scheme. Something
-	like the following should do it:
-
-	<pre>
-	;;; Switches JScheme's input port to a new one that uses
-	;;; a ReadlineReader with a ">" prompt.
-	;;; (Note that on some systems, you might get a double
-	;;; prompt "> >" because JScheme's main loop also prints
-	;;; a prompt. If this bugs you a lot, you can just write your
-	;;; own main loop to replace jsint.Scheme.readEvalWriteLoop().)
-	(set! jsint.Scheme.input$ (jsint.InputPort.
-		(org.gnu.readline.ReadlineReader. "> "
-			org.gnu.readline.ReadlineLibrary.GnuReadline$)))
-
-   	;;; not sure that this helps a lot, but I suppose it's good practice...
-	(.addShutdownHook (Runtime.getRuntime)
-		(Thread. (lambda ()
-			(display "cleaning up readline.\n")
-			(org.gnu.readline.Readline.cleanup))))
-
-   	;;; set Readline's completer to a new Scheme-aware one
-	(org.gnu.readline.Readline.setCompleter (samer.silk.SilkCompleter.))
-	</pre>
-
-	Author:  Samer Abdallah (samer.abdallah at elec.qmul.ac.uk)
-	November 2002
- */
-
-public class SilkCompleter implements ReadlineCompleter {
-	Iterator	it;	// iterates over symbols in JScheme hashtable
-
-	/** Implementation of abstract function. Finds
-		possible completions of the given text. */
-
-	public String completer(String text, int state)
-	{
-		if (state == 0) { // first call to completer(): initialize iterator
-			// it=Symbol.symbolTable.entrySet().iterator();
-			it=Symbol.symbolTable.values().iterator();
-		}
-		while (it.hasNext()) { // subsequent calls
-			// Map.Entry entry = (Map.Entry)it.next();
-			// Symbol symbol=(Symbol)entry.getValue();
-			// String	name=(String)entry.getKey();
-			Symbol symbol=(Symbol)it.next();
-			String name=(String)symbol.toString();
-
-			// Jscheme seems to keep a lot of undefined symbols
-			// in the table---pretty much anything you type, actually.
-			// so we check and only return defined symbols.
-			if (name.startsWith(text) && symbol.isDefined()) return name;
-		}
-		return null; // we reached the last choice.
-	}
-}
\ No newline at end of file
diff --git a/contrib/win32/JavaGetline.dll b/contrib/win32/JavaGetline.dll
deleted file mode 100644
index ccdc02e..0000000
Binary files a/contrib/win32/JavaGetline.dll and /dev/null differ

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/libreadline-java.git



More information about the pkg-java-commits mailing list