[e-cvs] cvs commit: e/src/jsrc/org/erights/e/ui/jed EAction.java

markm@eros.cs.jhu.edu markm@eros.cs.jhu.edu
Fri, 7 Sep 2001 01:49:25 -0400


markm       01/09/07 01:49:25

  Modified:    src/esrc/com/skyhunter/e/lang vatMakerAuthor.emaker
               src/esrc/org/erights/e/elang/cmd cmdMakerMaker.emaker
                        evalServerMakerAuthor.emaker
               src/esrc/scripts eBrowser.e elmer2.e evalServer.e
               src/jsrc/net/captp/jcomm Introducer.java Sturdifier.java
                        SturdyRef.java
               src/jsrc/net/captp/tables CommTable.java
               src/jsrc/net/vattp/data EARL.java NetConfig.java
               src/jsrc/org/capml/dom Element.java Node.java Text.java
               src/jsrc/org/capml/quasi QuasiContent.java
                        QuasiContentExprHole.java QuasiContentList.java
                        QuasiContentPattHole.java QuasiElement.java
                        QuasiText.java
               src/jsrc/org/erights/e/elang/evm AssignExpr.java
                        CallExpr.java CatchExpr.java CdrPattern.java
                        DefineExpr.java EExpr.java EMeta.java EMethod.java
                        EScript.java EscapeExpr.java FinalPattern.java
                        FinallyExpr.java HideExpr.java IfExpr.java
                        IgnorePattern.java ListPattern.java
                        LiteralExpr.java MatchBindExpr.java Matcher.java
                        MetaExpr.java NounExpr.java ObjectExpr.java
                        Pattern.java QuasiLiteralExpr.java
                        QuasiLiteralPatt.java QuasiPatternExpr.java
                        QuasiPatternPatt.java ScopeExpr.java SendExpr.java
                        SeqExpr.java SlotExpr.java StaticScope.java
                        SuchThatPattern.java VarPattern.java
               src/jsrc/org/erights/e/elang/interp Help.java
                        InteractiveInterp.java Interp.java
                        LazyEvalSlot.java LoaderScope.java
                        PackageScope.java ScopeSetup.java
                        UnsafeLoaderScope.java
               src/jsrc/org/erights/e/elang/scope Scope.java
               src/jsrc/org/erights/e/elang/syntax ELexer.java
                        FileFeeder.java SyntaxException.java
               src/jsrc/org/erights/e/elib/base MessageDesc.java
                        ParamDesc.java ParseNode.java TypeDesc.java
               src/jsrc/org/erights/e/elib/deflect Deflector.java
                        EventualDeflector.java ImmediateDeflector.java
               src/jsrc/org/erights/e/elib/eio TextReader.java
               src/jsrc/org/erights/e/elib/prim E.java JavaMemberNode.java
                        Message.java MirandaMethods.java
                        OverloaderNode.java Queue.java StaticMaker.java
                        SugarMethodNode.java Thrower.java VTable.java
               src/jsrc/org/erights/e/elib/prim/tests ERunDemo.java
               src/jsrc/org/erights/e/elib/quasi Substituter.java
               src/jsrc/org/erights/e/elib/ref LocalResolver.java
                        OneArgFuncAdapter.java ProxyResolver.java Ref.java
                        ResultResolver.java Switcher.java
               src/jsrc/org/erights/e/elib/sealing Brand.java
                        SealedBox.java Sealer.java Unsealer.java
               src/jsrc/org/erights/e/elib/serial RemoteCall.java
                        RemoteDelivery.java
               src/jsrc/org/erights/e/elib/slot FinalSlot.java
                        FinalSlotMaker.java NullOkMaker.java
                        RuinedSlot.java SettableSlot.java
                        SettableSlotMaker.java SimpleSlot.java
               src/jsrc/org/erights/e/elib/tables CompositeTwine.java
                        ConstList.java ConstMap.java EList.java EMap.java
                        EmptyTwine.java FlexList.java FlexMap.java
                        LocatedTwine.java ROList.java ROMap.java
                        SimpleTwine.java WeakKey.java WeakKeyMap.java
                        WeakValue.java WeakValueMap.java
               src/jsrc/org/erights/e/elib/util TwineException.java
               src/jsrc/org/erights/e/extern/timer Timer.java
               src/jsrc/org/erights/e/meta/java/io BufferedReaderSugar.java
                        FileSugar.java InputStreamSugar.java
                        ReadOnlyFile.java
               src/jsrc/org/erights/e/meta/java/lang CharacterSugar.java
                        InterfaceGuardSugar.java
               src/jsrc/org/erights/e/meta/java/net URLSugar.java
               src/jsrc/org/erights/e/meta/java/util VectorSugar.java
               src/jsrc/org/erights/e/ui/elmer EInterpAdapter.java
               src/jsrc/org/erights/e/ui/jed EAction.java
  Added:       src/jsrc/org/erights/e/elib/eio EPrintable.java
                        NonBlockingInputStream.java TextWriter.java
                        UnQuote.java
  Removed:     src/jsrc/org/erights/e/elib/base NonBlockingInputStream.java
                        Printable.java UnQuote.java
               src/jsrc/org/erights/e/elib/prim ListenerDeflector.java
               src/jsrc/org/erights/e/meta/java/awt/event
                        ActionListenerDeflector.java
                        FocusListenerDeflector.java
                        KeyListenerDeflector.java
                        MouseListenerDeflector.java
                        WindowListenerDeflector.java
               src/jsrc/org/erights/e/meta/java/lang RunnableDeflector.java
               src/jsrc/org/erights/e/meta/java/util
                        EnumerationDeflector.java
               src/jsrc/org/erights/e/meta/javax/swing/event
                        ListSelectionListenerDeflector.java
               src/jsrc/org/erights/e/meta/net/vattp/data
                        MsgHandlerDeflector.java
                        NewConnectionReactorDeflector.java
               src/jsrc/org/erights/e/meta/org/erights/e/elang/visitors
                        ETreeVisitorDeflector.java
               src/jsrc/org/erights/e/meta/org/erights/e/elib/base
                        ThunkDeflector.java
               src/jsrc/org/erights/e/meta/org/erights/e/elib/slot
                        SlotDeflector.java SlotGuardDeflector.java
                        ValueGuardDeflector.java
               src/jsrc/org/erights/e/meta/org/erights/e/elib/tables
                        AssocFuncDeflector.java
               src/jsrc/org/erights/e/meta/org/erights/e/elib/util
                        OneArgFuncDeflector.java
               src/jsrc/org/erights/e/meta/org/erights/e/extern/timer
                        TickReactorDeflector.java
  Log:
  Moved some io classes into elib.eio.
  Removed pre-java-Proxy deflectors
  Immediate & Eventual Deflectors now reject some dangerous awt and swing cases.
  Queue now coerces its argument.

Revision  Changes    Path
1.3       +1 -1      e/src/esrc/com/skyhunter/e/lang/vatMakerAuthor.emaker

Index: vatMakerAuthor.emaker
===================================================================
RCS file: /cvs/e/src/esrc/com/skyhunter/e/lang/vatMakerAuthor.emaker,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- vatMakerAuthor.emaker	2001/08/24 17:14:02	1.2
+++ vatMakerAuthor.emaker	2001/09/07 05:49:19	1.3
@@ -31,7 +31,7 @@
         def RunnerMaker := <elib:prim.Runner>
         def InterpMaker := <elang:interp.Interp>
         def StringWriterMaker := <io:StringWriter>
-        def TextWriterMaker := <elib:base.TextWriter>
+        def TextWriterMaker := <elib:eio.TextWriter>
         def TwineFeederMaker := <elang:syntax.TwineFeeder>
 
         def altoutWriter := StringWriterMaker new()



1.4       +1 -1      e/src/esrc/org/erights/e/elang/cmd/cmdMakerMaker.emaker

Index: cmdMakerMaker.emaker
===================================================================
RCS file: /cvs/e/src/esrc/org/erights/e/elang/cmd/cmdMakerMaker.emaker,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- cmdMakerMaker.emaker	2001/08/24 17:14:02	1.3
+++ cmdMakerMaker.emaker	2001/09/07 05:49:19	1.4
@@ -1,4 +1,4 @@
-def TextWriterMaker := <import:org.erights.e.elib.base.TextWriter>
+def TextWriterMaker := <import:org.erights.e.elib.eio.TextWriter>
 def EParser := <import:org.erights.e.elang.syntax.EParser>
 
 # outputs prefix & returns indented TextWriter



1.4       +7 -7      e/src/esrc/org/erights/e/elang/cmd/evalServerMakerAuthor.emaker

Index: evalServerMakerAuthor.emaker
===================================================================
RCS file: /cvs/e/src/esrc/org/erights/e/elang/cmd/evalServerMakerAuthor.emaker,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- evalServerMakerAuthor.emaker	2001/09/03 18:20:18	1.3
+++ evalServerMakerAuthor.emaker	2001/09/07 05:49:19	1.4
@@ -9,7 +9,7 @@
 # @author Mark S. Miller
 # @author Terry Stanley
 def evalServerMakerAuthor(unsafe__uriGetter, introducer, traceln) :near {
-    
+
     class evalServerMaker(args, props, vatName) :near {
         def io__uriGetter := <unsafe:java.io.*>
         def elib__uriGetter := <unsafe:org.erights.e.elib.*>
@@ -19,19 +19,19 @@
         def BufferedReaderMaker := <io:BufferedReader>
         def PipedReaderMaker := <io:PipedReader>
         def PipedWriterMaker := <io:PipedWriter>
-        def TextWriterMaker := <elib:base.TextWriter>
+        def TextWriterMaker := <elib:eio.TextWriter>
         def TwineFeederMaker := <elang:syntax.TwineFeeder>
-        
+
         def ioPairMaker() :any {
             def pipedReader := PipedReaderMaker new()
             def textWriter := TextWriterMaker new(PipedWriterMaker new(pipedReader))
             def lineReader := BufferedReaderMaker new(pipedReader)
             [textWriter, lineReader]
         }
-        
+
         def [altout, altoutReader] := ioPairMaker()
         def [alterr, alterrReader] := ioPairMaker()
-        
+
         def runner := RunnerMaker new(vatName)
         def sacrificial := TwineFeederMaker new("")
         def altInterp := InterpMaker make(
@@ -42,14 +42,14 @@
             runner,
             sacrificial,
             null)        # optTopScope, null implies privilegedScope
-        
+
         traceln("made interp")
         altInterp setSource(evalServerSrc)
         altInterp fork()
         # XXX what to do about spawning errors
         # def errString := alterrBuffer toString() trim()
         # require(errString == "", thunk{`errors while spawning: $errString`})
-        
+
         traceln("about to readLine")
         def uri := altoutReader readLine() trim() # 2-vat blockage
         traceln(`read $uri`)



1.38      +77 -13    e/src/esrc/scripts/eBrowser.e

Index: eBrowser.e
===================================================================
RCS file: /cvs/e/src/esrc/scripts/eBrowser.e,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- eBrowser.e	2001/09/04 10:45:03	1.37
+++ eBrowser.e	2001/09/07 05:49:19	1.38
@@ -18,6 +18,7 @@
 
 def ee__uriGetter := <import:org.erights.e.*>
 def elex := <unsafe:org.erights.e.elang.syntax.ELexer>
+def eActionMaker := <unsafe:org.erights.e.ui.jed.EAction>
 
 def eLogoURL := <resource:org/erights/e/icons/green-e-on-white-16.gif>
 def eLogoImage := <swing:ImageIcon> new(eLogoURL) getImage()
@@ -155,6 +156,7 @@
     textPane addKeyListener(keyListener)
 }
 
+
 def openFiles := [] asMap() diverge()
 
 # the frame argument is sacrificial
@@ -300,6 +302,7 @@
     }
 }
 
+
 def programRunner(sourceTwine, textPane, textModel, resultPane, statusPane) {
     resultPane setText("Executing...")
     traceln("in runner, about to interpret")
@@ -382,6 +385,68 @@
     answer
 }
 
+def buildKeymap(textPane) {
+    def tabValue := "    "
+    def keymap := <swing:text.JTextComponent> addKeymap("sourcepaneMap",textPane getKeymap())
+    textPane setKeymap(keymap)
+    def tabActionRunner() {
+        def location := textPane getCaretPosition()
+        #traceln("position: " + location)
+        textPane replaceRange(tabValue, location, location)
+        textPane setCaretPosition(location + tabValue size())
+        textPane update(textPane getGraphics())
+    }
+    def tabAction := eActionMaker new()
+    tabAction setAction(tabActionRunner)
+    def vkTab := <swing:KeyStroke> getKeyStroke(<awt:event.KeyEvent> VK_TAB(),0)
+    keymap addActionForKeyStroke(vkTab, tabAction)
+    def tabShiftRunner() {
+        def caretPosition := textPane getCaretPosition()
+        var canUndent := true
+        def tabSize := tabValue size()
+        #traceln("in shift tab runner, selection: " + textPane getSelectedText())
+        if (textPane getSelectedText() == null && caretPosition >= tabSize ) {
+            #traceln("selection zero, caretPosition high enough")
+            def text := textPane getText(caretPosition - tabSize, tabSize)
+            for each in text {
+                if (each != ' ') {canUndent := false}
+            }
+            if (canUndent) {
+                textPane replaceRange("",caretPosition -tabSize, caretPosition)
+                textPane setCaretPosition (caretPosition - tabSize)
+                textPane update(textPane getGraphics())
+            }
+        }
+    }
+    def tabShiftAction := eActionMaker new()
+    tabShiftAction setAction(tabShiftRunner)
+    def shiftTabKeyStroke := <swing:KeyStroke> getKeyStroke(
+        <awt:event.KeyEvent> VK_TAB(),<awt:Event> SHIFT_MASK())
+    keymap addActionForKeyStroke(shiftTabKeyStroke, tabShiftAction)
+    def enterRunner() {
+        def caretPosition := textPane getCaretPosition()
+        def insertIndented(indentation) {
+            textPane insert("\n" + indentation, caretPosition)
+            textPane setCaretPosition(caretPosition + 1 + indentation size())
+            textPane update(textPane getGraphics())
+        }
+        def lineNum := textPane getLineOfOffset(caretPosition)
+        def lineIndex := textPane getLineStartOffset(lineNum)
+        def currentLine := textPane getText(lineIndex, caretPosition - lineIndex)
+        def trimmed := currentLine trim()
+        if (trimmed size() == 0) {
+            insertIndented(currentLine)
+        } else if (currentLine =~ `@indentation$trimmed@pad`) {
+            insertIndented(indentation)
+        }
+    }
+    def enterAction := eActionMaker new()
+    enterAction setAction(enterRunner)
+    def enterStroke := <swing:KeyStroke> getKeyStroke(
+        <awt:event.KeyEvent> VK_ENTER(),0)
+    keymap addActionForKeyStroke(enterStroke, enterAction)
+}
+
 def configureUpdatedListPane(listPane,list) {
     def selectedIndex := determineBestMatch(listPane,list)
     E call(listPane,"setListData(Object[])",[list snapshot()])
@@ -390,8 +455,6 @@
 
 # eBrowser
 class eBrowserMaker(textModel) :any {
-    # def tabValue := "    "
-    var tabValue := "    "
     def newButton(name, operation, target) :any {
         def runner() {
             E call(target, operation, [])
@@ -465,8 +528,9 @@
     def textPane := <swing:JTextArea> new()
     textPane setMargin(<awt:Insets> new(0,5,0,10))
     textPane setLineWrap(false)
-    textPane setTabSize(4)
+    #textPane setTabSize(4)
     textPane setFont(<awt:Font> new("Monospaced",<awt:Font> PLAIN(),12))
+    buildKeymap(textPane)
     def scrollingTextPane := <swing:JScrollPane> new(
         <swing:ScrollPaneConstants> VERTICAL_SCROLLBAR_ALWAYS(),
         <swing:ScrollPaneConstants> HORIZONTAL_SCROLLBAR_ALWAYS())
@@ -712,16 +776,16 @@
     #def confiner(source) :any {confinedRunner(source, outputPane)})
     #E call(menubar, "add(JMenu)", [capScriptMenu])
     
-    def indentGroup := <swing:ButtonGroup> new()
-    var defaultIndentItem := null
+    #def indentGroup := <swing:ButtonGroup> new()
+    #var defaultIndentItem := null
     
     def menuReactor {
         to doNew(){newFileFunc()}
         to doOpen() {openFunc()}
         to doSave() {saveFunc()}
         to doSaveAs() {saveAsFunc()}
-        to doUseTabs() {tabValue := "\t"}
-        to doUseSpaces() {tabValue := "    "}
+        #to doUseTabs() {tabValue := "\t"}
+        #to doUseSpaces() {tabValue := "    "}
         to doSmallerFont() {makeFontSmaller()}
         to doLargerFont() {makeFontLarger()}
         to doAbout() {eBrowser about()}
@@ -729,7 +793,7 @@
     }
     
     #make the menus
-    def mm := <import:com.skyhunter.ex.swing.menuMakerAuthor>(
+    def mm := <import:com.skyhunter.ex.swing.menuMakerAuthor> (
         swing__uriGetter,
         <unsafe:org.erights.e.ui.jed.EAction>,
         menuReactor)
@@ -741,10 +805,10 @@
             mm action("Save &As...")
         ]),
         mm menu("For&mat", [
-            defaultIndentItem :=
-              mm radio(indentGroup, mm action("Use Spaces")),
-            mm radio(indentGroup, mm action("Use Tabs")),
-            "--",
+            #defaultIndentItem :=
+            #mm radio(indentGroup, mm action("Use Spaces")),
+            #mm radio(indentGroup, mm action("Use Tabs")),
+            #"--",
             mm action("Smaller Font", "Ctrl+OPEN_BRACKET"),
             mm action("Larger Font", "Ctrl+CLOSE_BRACKET")
         ]),
@@ -752,7 +816,7 @@
             mm action("&About...")
         ])
     ])
-    defaultIndentItem setSelected(true)
+    #defaultIndentItem setSelected(true)
     mainFrame setJMenuBar(menuBar)
     
     # configure and show window



1.2       +3 -3      e/src/esrc/scripts/elmer2.e

Index: elmer2.e
===================================================================
RCS file: /cvs/e/src/esrc/scripts/elmer2.e,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- elmer2.e	2001/08/18 05:19:38	1.1
+++ elmer2.e	2001/09/07 05:49:19	1.2
@@ -1,9 +1,9 @@
 #!/usr/bin/env e
 
 def StringWriterMaker := <unsafe:java.io.StringWriter>
-def TextWriterMaker := <import:org.erights.e.elib.base.TextWriter>
+def TextWriterMaker := <import:org.erights.e.elib.eio.TextWriter>
 def EParserMaker := <import:org.erights.e.elang.syntax.EParser>
-def SyntaxException := 
+def SyntaxException :=
     <import:org.erights.e.elang.syntax.SyntaxException> asType()
 
 def eui__uriGetter := <unsafe:org.erights.e.ui.*>
@@ -103,7 +103,7 @@
         }
     }
 }
-                                        
+
 
 
 def group := EditGroupMaker new(true)



1.3       +1 -1      e/src/esrc/scripts/evalServer.e

Index: evalServer.e
===================================================================
RCS file: /cvs/e/src/esrc/scripts/evalServer.e,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- evalServer.e	2001/08/21 14:28:14	1.2
+++ evalServer.e	2001/09/07 05:49:19	1.3
@@ -1,4 +1,4 @@
-def TextWriterMaker := <import:org.erights.e.elib.base.TextWriter>
+def TextWriterMaker := <import:org.erights.e.elib.eio.TextWriter>
 def cmd__uriGetter := <import:org.erights.e.elang.cmd.*>
 def cmdMakerMaker := <cmd:cmdMakerMaker>
 def SystemGC {



1.13      +1 -1      e/src/jsrc/net/captp/jcomm/Introducer.java

Index: Introducer.java
===================================================================
RCS file: /cvs/e/src/jsrc/net/captp/jcomm/Introducer.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- Introducer.java	2001/09/06 09:55:38	1.12
+++ Introducer.java	2001/09/07 05:49:20	1.13
@@ -24,7 +24,7 @@
 import net.vattp.data.StartUpProtocol;
 import net.vattp.data.VatIdentity;
 import net.vattp.security.ESecureRandom;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.serial.PassByProxy;
 import org.erights.e.elib.serial.Persistent;
 import org.erights.e.elib.tables.ConstList;



1.11      +1 -1      e/src/jsrc/net/captp/jcomm/Sturdifier.java

Index: Sturdifier.java
===================================================================
RCS file: /cvs/e/src/jsrc/net/captp/jcomm/Sturdifier.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Sturdifier.java	2001/09/06 09:55:38	1.10
+++ Sturdifier.java	2001/09/07 05:49:20	1.11
@@ -22,7 +22,7 @@
 import net.captp.tables.SwissTable;
 import net.captp.tables.Vine;
 import net.vattp.data.NetConfig;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.extern.timer.Timer;
 
 import java.io.IOException;



1.13      +1 -1      e/src/jsrc/net/captp/jcomm/SturdyRef.java

Index: SturdyRef.java
===================================================================
RCS file: /cvs/e/src/jsrc/net/captp/jcomm/SturdyRef.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- SturdyRef.java	2001/09/06 09:55:38	1.12
+++ SturdyRef.java	2001/09/07 05:49:20	1.13
@@ -20,7 +20,7 @@
 */
 
 import net.vattp.data.EARL;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.serial.Persistent;
 import org.erights.e.elib.tables.ConstList;
 



1.7       +1 -1      e/src/jsrc/net/captp/tables/CommTable.java

Index: CommTable.java
===================================================================
RCS file: /cvs/e/src/jsrc/net/captp/tables/CommTable.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- CommTable.java	2001/09/06 09:55:39	1.6
+++ CommTable.java	2001/09/07 05:49:20	1.7
@@ -21,7 +21,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 import java.lang.reflect.Array;



1.4       +1 -1      e/src/jsrc/net/vattp/data/EARL.java

Index: EARL.java
===================================================================
RCS file: /cvs/e/src/jsrc/net/vattp/data/EARL.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- EARL.java	2001/09/06 09:55:39	1.3
+++ EARL.java	2001/09/07 05:49:20	1.4
@@ -22,7 +22,7 @@
 
 import org.erights.e.develop.format.ETimeFormat;
 import org.erights.e.develop.trace.Trace;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.tables.ConstList;
 import org.erights.e.meta.java.math.BigIntegerMakerSugar;
 import org.erights.e.meta.java.math.BigIntegerSugar;



1.6       +1 -1      e/src/jsrc/net/vattp/data/NetConfig.java

Index: NetConfig.java
===================================================================
RCS file: /cvs/e/src/jsrc/net/vattp/data/NetConfig.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- NetConfig.java	2001/09/06 09:55:39	1.5
+++ NetConfig.java	2001/09/07 05:49:20	1.6
@@ -21,7 +21,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.serial.PassByConstruction;
 import org.erights.e.elib.serial.Persistent;



1.4       +1 -1      e/src/jsrc/org/capml/dom/Element.java

Index: Element.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/capml/dom/Element.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Element.java	2001/09/06 09:55:41	1.3
+++ Element.java	2001/09/07 05:49:20	1.4
@@ -16,7 +16,7 @@
  * comment.
  */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.tables.ConstList;



1.5       +1 -1      e/src/jsrc/org/capml/dom/Node.java

Index: Node.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/capml/dom/Node.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- Node.java	2001/09/06 09:55:41	1.4
+++ Node.java	2001/09/07 05:49:20	1.5
@@ -16,7 +16,7 @@
  * comment.
  */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.serial.PassByConstruction;
 import org.erights.e.elib.serial.Persistent;
 import org.erights.e.elib.tables.AssocFunc;



1.4       +1 -1      e/src/jsrc/org/capml/dom/Text.java

Index: Text.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/capml/dom/Text.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Text.java	2001/09/06 09:55:41	1.3
+++ Text.java	2001/09/07 05:49:20	1.4
@@ -16,7 +16,7 @@
  * comment. <p>
  */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.tables.ConstList;



1.6       +1 -1      e/src/jsrc/org/capml/quasi/QuasiContent.java

Index: QuasiContent.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/capml/quasi/QuasiContent.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- QuasiContent.java	2001/09/06 09:55:41	1.5
+++ QuasiContent.java	2001/09/07 05:49:20	1.6
@@ -23,7 +23,7 @@
 
 import org.capml.dom.Node;
 import org.capml.dom.Text;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.quasi.MatchMaker;
 import org.erights.e.elib.serial.PassByConstruction;
 import org.erights.e.elib.serial.Persistent;



1.6       +1 -1      e/src/jsrc/org/capml/quasi/QuasiContentExprHole.java

Index: QuasiContentExprHole.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/capml/quasi/QuasiContentExprHole.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- QuasiContentExprHole.java	2001/09/06 09:55:41	1.5
+++ QuasiContentExprHole.java	2001/09/07 05:49:20	1.6
@@ -21,7 +21,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;



1.7       +1 -1      e/src/jsrc/org/capml/quasi/QuasiContentList.java

Index: QuasiContentList.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/capml/quasi/QuasiContentList.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- QuasiContentList.java	2001/09/06 09:55:41	1.6
+++ QuasiContentList.java	2001/09/07 05:49:20	1.7
@@ -22,7 +22,7 @@
 */
 
 import org.capml.dom.Node;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.tables.ConstList;
 import org.erights.e.elib.tables.FlexList;



1.6       +1 -1      e/src/jsrc/org/capml/quasi/QuasiContentPattHole.java

Index: QuasiContentPattHole.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/capml/quasi/QuasiContentPattHole.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- QuasiContentPattHole.java	2001/09/06 09:55:41	1.5
+++ QuasiContentPattHole.java	2001/09/07 05:49:20	1.6
@@ -21,7 +21,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.quasi.IncompleteQuasiException;
 import org.erights.e.elib.tables.FlexList;



1.7       +1 -1      e/src/jsrc/org/capml/quasi/QuasiElement.java

Index: QuasiElement.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/capml/quasi/QuasiElement.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- QuasiElement.java	2001/09/06 09:55:41	1.6
+++ QuasiElement.java	2001/09/07 05:49:20	1.7
@@ -23,7 +23,7 @@
 
 import org.capml.dom.Element;
 import org.capml.dom.Node;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.quasi.IncompleteQuasiException;
 import org.erights.e.elib.tables.ConstList;



1.7       +1 -1      e/src/jsrc/org/capml/quasi/QuasiText.java

Index: QuasiText.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/capml/quasi/QuasiText.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- QuasiText.java	2001/09/06 09:55:42	1.6
+++ QuasiText.java	2001/09/07 05:49:20	1.7
@@ -23,7 +23,7 @@
 
 import org.capml.dom.Node;
 import org.capml.dom.Text;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.tables.FlexList;
 



1.26      +1 -1      e/src/jsrc/org/erights/e/elang/evm/AssignExpr.java

Index: AssignExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/AssignExpr.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- AssignExpr.java	2001/09/06 09:55:44	1.25
+++ AssignExpr.java	2001/09/07 05:49:20	1.26
@@ -20,7 +20,7 @@
 */
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 import org.erights.e.elib.tables.FlexMap;



1.29      +1 -1      e/src/jsrc/org/erights/e/elang/evm/CallExpr.java

Index: CallExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/CallExpr.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- CallExpr.java	2001/09/06 09:55:44	1.28
+++ CallExpr.java	2001/09/07 05:49:20	1.29
@@ -23,7 +23,7 @@
 import org.erights.e.develop.exception.ThrowableSugar;
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;



1.15      +1 -1      e/src/jsrc/org/erights/e/elang/evm/CatchExpr.java

Index: CatchExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/CatchExpr.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- CatchExpr.java	2001/09/06 09:55:44	1.14
+++ CatchExpr.java	2001/09/07 05:49:20	1.15
@@ -22,7 +22,7 @@
 import org.erights.e.develop.exception.ExceptionMgr;
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 



1.14      +1 -1      e/src/jsrc/org/erights/e/elang/evm/CdrPattern.java

Index: CdrPattern.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/CdrPattern.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- CdrPattern.java	2001/09/06 09:55:44	1.13
+++ CdrPattern.java	2001/09/07 05:49:20	1.14
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.Thrower;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.ConstList;



1.28      +1 -1      e/src/jsrc/org/erights/e/elang/evm/DefineExpr.java

Index: DefineExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/DefineExpr.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- DefineExpr.java	2001/09/06 09:55:44	1.27
+++ DefineExpr.java	2001/09/07 05:49:20	1.28
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 



1.27      +1 -1      e/src/jsrc/org/erights/e/elang/evm/EExpr.java

Index: EExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/EExpr.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- EExpr.java	2001/09/06 09:55:44	1.26
+++ EExpr.java	2001/09/07 05:49:20	1.27
@@ -22,7 +22,7 @@
 import org.erights.e.elang.scope.UndefinedVariableException;
 import org.erights.e.elang.visitors.SubstVisitor;
 import org.erights.e.elib.base.ParseNode;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.tables.ConstMap;
 



1.5       +1 -1      e/src/jsrc/org/erights/e/elang/evm/EMeta.java

Index: EMeta.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/EMeta.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- EMeta.java	2001/09/06 09:55:44	1.4
+++ EMeta.java	2001/09/07 05:49:20	1.5
@@ -2,7 +2,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elib.base.Script;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.13      +1 -1      e/src/jsrc/org/erights/e/elang/evm/EMethod.java

Index: EMethod.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/EMethod.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- EMethod.java	2001/09/06 09:55:44	1.12
+++ EMethod.java	2001/09/07 05:49:20	1.13
@@ -23,7 +23,7 @@
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
 import org.erights.e.elib.base.MethodNode;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.slot.ValueGuard;



1.10      +1 -1      e/src/jsrc/org/erights/e/elang/evm/EScript.java

Index: EScript.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/EScript.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- EScript.java	2001/09/06 09:55:44	1.9
+++ EScript.java	2001/09/07 05:49:20	1.10
@@ -20,7 +20,7 @@
 */
 import org.erights.e.elang.visitors.ETreeVisitor;
 import org.erights.e.elib.base.ParseNode;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.ConstList;
 import org.erights.e.elib.tables.FlexList;



1.24      +1 -1      e/src/jsrc/org/erights/e/elang/evm/EscapeExpr.java

Index: EscapeExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/EscapeExpr.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- EscapeExpr.java	2001/09/06 09:55:44	1.23
+++ EscapeExpr.java	2001/09/07 05:49:20	1.24
@@ -22,7 +22,7 @@
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
 import org.erights.e.elib.base.Ejector;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 



1.9       +1 -1      e/src/jsrc/org/erights/e/elang/evm/FinalPattern.java

Index: FinalPattern.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/FinalPattern.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- FinalPattern.java	2001/09/06 09:55:44	1.8
+++ FinalPattern.java	2001/09/07 05:49:20	1.9
@@ -22,7 +22,7 @@
 import org.erights.e.elang.interp.ScopeSetup;
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.slot.ValueGuard;



1.13      +1 -1      e/src/jsrc/org/erights/e/elang/evm/FinallyExpr.java

Index: FinallyExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/FinallyExpr.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- FinallyExpr.java	2001/09/06 09:55:44	1.12
+++ FinallyExpr.java	2001/09/07 05:49:20	1.13
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 



1.21      +1 -1      e/src/jsrc/org/erights/e/elang/evm/HideExpr.java

Index: HideExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/HideExpr.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- HideExpr.java	2001/09/06 09:55:44	1.20
+++ HideExpr.java	2001/09/07 05:49:20	1.21
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 



1.22      +1 -1      e/src/jsrc/org/erights/e/elang/evm/IfExpr.java

Index: IfExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/IfExpr.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- IfExpr.java	2001/09/06 09:55:44	1.21
+++ IfExpr.java	2001/09/07 05:49:20	1.22
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 



1.10      +1 -1      e/src/jsrc/org/erights/e/elang/evm/IgnorePattern.java

Index: IgnorePattern.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/IgnorePattern.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- IgnorePattern.java	2001/09/06 09:55:44	1.9
+++ IgnorePattern.java	2001/09/07 05:49:20	1.10
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 import org.erights.e.elib.util.OneArgFunc;



1.12      +1 -1      e/src/jsrc/org/erights/e/elang/evm/ListPattern.java

Index: ListPattern.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/ListPattern.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- ListPattern.java	2001/09/06 09:55:44	1.11
+++ ListPattern.java	2001/09/07 05:49:20	1.12
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.Thrower;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.ConstList;



1.21      +1 -1      e/src/jsrc/org/erights/e/elang/evm/LiteralExpr.java

Index: LiteralExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/LiteralExpr.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- LiteralExpr.java	2001/09/06 09:55:44	1.20
+++ LiteralExpr.java	2001/09/07 05:49:20	1.21
@@ -21,7 +21,7 @@
 import org.erights.e.develop.format.StringHelper;
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 



1.26      +1 -1      e/src/jsrc/org/erights/e/elang/evm/MatchBindExpr.java

Index: MatchBindExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/MatchBindExpr.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- MatchBindExpr.java	2001/09/06 09:55:44	1.25
+++ MatchBindExpr.java	2001/09/07 05:49:20	1.26
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 



1.9       +1 -1      e/src/jsrc/org/erights/e/elang/evm/Matcher.java

Index: Matcher.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/Matcher.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- Matcher.java	2001/09/06 09:55:44	1.8
+++ Matcher.java	2001/09/07 05:49:20	1.9
@@ -22,7 +22,7 @@
 import org.erights.e.elang.visitors.ETreeVisitor;
 import org.erights.e.elib.base.ParseNode;
 import org.erights.e.elib.base.Script;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.base.TypeDesc;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.ConstList;



1.9       +1 -1      e/src/jsrc/org/erights/e/elang/evm/MetaExpr.java

Index: MetaExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/MetaExpr.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- MetaExpr.java	2001/09/06 09:55:44	1.8
+++ MetaExpr.java	2001/09/07 05:49:20	1.9
@@ -2,7 +2,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 



1.24      +1 -1      e/src/jsrc/org/erights/e/elang/evm/NounExpr.java

Index: NounExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/NounExpr.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- NounExpr.java	2001/09/06 09:55:44	1.23
+++ NounExpr.java	2001/09/07 05:49:20	1.24
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 import org.erights.e.elib.tables.FlexMap;



1.35      +1 -1      e/src/jsrc/org/erights/e/elang/evm/ObjectExpr.java

Index: ObjectExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/ObjectExpr.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- ObjectExpr.java	2001/09/06 09:55:44	1.34
+++ ObjectExpr.java	2001/09/07 05:49:20	1.35
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.MirandaMethods;
 import org.erights.e.elib.prim.SugarMethodNode;
 import org.erights.e.elib.prim.VTable;



1.26      +1 -1      e/src/jsrc/org/erights/e/elang/evm/Pattern.java

Index: Pattern.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/Pattern.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- Pattern.java	2001/09/06 09:55:44	1.25
+++ Pattern.java	2001/09/07 05:49:20	1.26
@@ -23,7 +23,7 @@
 import org.erights.e.elang.visitors.SubstVisitor;
 import org.erights.e.elib.base.Ejector;
 import org.erights.e.elib.base.ParseNode;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.util.OneArgFunc;
 
 import java.io.IOException;



1.20      +1 -1      e/src/jsrc/org/erights/e/elang/evm/QuasiLiteralExpr.java

Index: QuasiLiteralExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/QuasiLiteralExpr.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- QuasiLiteralExpr.java	2001/09/06 09:55:44	1.19
+++ QuasiLiteralExpr.java	2001/09/07 05:49:20	1.20
@@ -20,7 +20,7 @@
 */
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.quasi.IncompleteQuasiException;
 import org.erights.e.elib.tables.FlexList;
 



1.10      +1 -1      e/src/jsrc/org/erights/e/elang/evm/QuasiLiteralPatt.java

Index: QuasiLiteralPatt.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/QuasiLiteralPatt.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- QuasiLiteralPatt.java	2001/09/06 09:55:44	1.9
+++ QuasiLiteralPatt.java	2001/09/07 05:49:20	1.10
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.quasi.IncompleteQuasiException;
 import org.erights.e.elib.tables.FlexList;
 import org.erights.e.elib.util.OneArgFunc;



1.21      +1 -1      e/src/jsrc/org/erights/e/elang/evm/QuasiPatternExpr.java

Index: QuasiPatternExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/QuasiPatternExpr.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- QuasiPatternExpr.java	2001/09/06 09:55:44	1.20
+++ QuasiPatternExpr.java	2001/09/07 05:49:20	1.21
@@ -20,7 +20,7 @@
 */
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.quasi.IncompleteQuasiException;
 import org.erights.e.elib.tables.FlexList;
 import org.erights.e.elib.util.AlreadyDefinedException;



1.10      +1 -1      e/src/jsrc/org/erights/e/elang/evm/QuasiPatternPatt.java

Index: QuasiPatternPatt.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/QuasiPatternPatt.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- QuasiPatternPatt.java	2001/09/06 09:55:44	1.9
+++ QuasiPatternPatt.java	2001/09/07 05:49:20	1.10
@@ -20,7 +20,7 @@
 */
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.quasi.IncompleteQuasiException;
 import org.erights.e.elib.tables.FlexList;
 import org.erights.e.elib.util.AlreadyDefinedException;



1.20      +1 -1      e/src/jsrc/org/erights/e/elang/evm/ScopeExpr.java

Index: ScopeExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/ScopeExpr.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- ScopeExpr.java	2001/09/06 09:55:44	1.19
+++ ScopeExpr.java	2001/09/07 05:49:20	1.20
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 



1.21      +1 -1      e/src/jsrc/org/erights/e/elang/evm/SendExpr.java

Index: SendExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/SendExpr.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- SendExpr.java	2001/09/06 09:55:44	1.20
+++ SendExpr.java	2001/09/07 05:49:20	1.21
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;



1.8       +1 -1      e/src/jsrc/org/erights/e/elang/evm/SeqExpr.java

Index: SeqExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/SeqExpr.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SeqExpr.java	2001/09/06 09:55:44	1.7
+++ SeqExpr.java	2001/09/07 05:49:20	1.8
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 



1.23      +1 -1      e/src/jsrc/org/erights/e/elang/evm/SlotExpr.java

Index: SlotExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/SlotExpr.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- SlotExpr.java	2001/09/06 09:55:44	1.22
+++ SlotExpr.java	2001/09/07 05:49:20	1.23
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 import org.erights.e.elib.tables.FlexMap;



1.15      +1 -1      e/src/jsrc/org/erights/e/elang/evm/StaticScope.java

Index: StaticScope.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/StaticScope.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- StaticScope.java	2001/09/06 09:55:44	1.14
+++ StaticScope.java	2001/09/07 05:49:20	1.15
@@ -18,7 +18,7 @@
 
 Contributor(s): ______________________________________.
 */
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.tables.ConstMap;
 import org.erights.e.elib.tables.FlexMap;
 



1.12      +1 -1      e/src/jsrc/org/erights/e/elang/evm/SuchThatPattern.java

Index: SuchThatPattern.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/SuchThatPattern.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- SuchThatPattern.java	2001/09/06 09:55:44	1.11
+++ SuchThatPattern.java	2001/09/07 05:49:20	1.12
@@ -21,7 +21,7 @@
 
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.Thrower;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;



1.9       +1 -1      e/src/jsrc/org/erights/e/elang/evm/VarPattern.java

Index: VarPattern.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/VarPattern.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- VarPattern.java	2001/09/06 09:55:44	1.8
+++ VarPattern.java	2001/09/07 05:49:20	1.9
@@ -22,7 +22,7 @@
 import org.erights.e.elang.interp.ScopeSetup;
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.visitors.ETreeVisitor;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.slot.Slot;



1.17      +2 -2      e/src/jsrc/org/erights/e/elang/interp/Help.java

Index: Help.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/interp/Help.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- Help.java	2001/09/06 09:55:45	1.16
+++ Help.java	2001/09/07 05:49:21	1.17
@@ -20,9 +20,9 @@
 */
 import org.erights.e.develop.format.StringHelper;
 import org.erights.e.elib.base.MessageDesc;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.base.TypeDesc;
-import org.erights.e.elib.base.UnQuote;
+import org.erights.e.elib.eio.UnQuote;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.ConstMap;



1.7       +1 -1      e/src/jsrc/org/erights/e/elang/interp/InteractiveInterp.java

Index: InteractiveInterp.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/interp/InteractiveInterp.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- InteractiveInterp.java	2001/09/06 18:01:31	1.6
+++ InteractiveInterp.java	2001/09/07 05:49:21	1.7
@@ -30,7 +30,7 @@
 import org.erights.e.elang.syntax.FileFeeder;
 import org.erights.e.elang.syntax.LineFeeder;
 import org.erights.e.elang.syntax.NeedMoreException;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.Runner;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.ref.Resolver;



1.69      +1 -1      e/src/jsrc/org/erights/e/elang/interp/Interp.java

Index: Interp.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/interp/Interp.java,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- Interp.java	2001/09/06 18:01:31	1.68
+++ Interp.java	2001/09/07 05:49:21	1.69
@@ -30,7 +30,7 @@
 import org.erights.e.elang.syntax.EParser;
 import org.erights.e.elang.syntax.FileFeeder;
 import org.erights.e.elang.syntax.LineFeeder;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.Runner;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.ref.Resolver;



1.3       +1 -1      e/src/jsrc/org/erights/e/elang/interp/LazyEvalSlot.java

Index: LazyEvalSlot.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/interp/LazyEvalSlot.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LazyEvalSlot.java	2001/09/06 09:55:45	1.2
+++ LazyEvalSlot.java	2001/09/07 05:49:21	1.3
@@ -22,7 +22,7 @@
 import org.erights.e.elang.evm.EExpr;
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.syntax.EParser;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.slot.Slot;
 import org.erights.e.elib.tables.Twine;



1.34      +4 -4      e/src/jsrc/org/erights/e/elang/interp/LoaderScope.java

Index: LoaderScope.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/interp/LoaderScope.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- LoaderScope.java	2001/09/06 09:55:45	1.33
+++ LoaderScope.java	2001/09/07 05:49:21	1.34
@@ -23,9 +23,9 @@
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.scope.ScopeImpl;
 import org.erights.e.elang.syntax.EParser;
-import org.erights.e.elib.base.Printable;
-import org.erights.e.elib.base.TextWriter;
-import org.erights.e.elib.base.UnQuote;
+import org.erights.e.elib.eio.EPrintable;
+import org.erights.e.elib.eio.TextWriter;
+import org.erights.e.elib.eio.UnQuote;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.ref.Resolver;
@@ -47,7 +47,7 @@
  *
  * @author <a href="mailto:markm@erights.org">Mark S. Miller</a>
  */
-/*package*/ class LoaderScope extends Scope implements Printable {
+/*package*/ class LoaderScope extends Scope implements EPrintable {
 
     static private final Scope[] NO_SCOPES = {};
 



1.20      +4 -4      e/src/jsrc/org/erights/e/elang/interp/PackageScope.java

Index: PackageScope.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/interp/PackageScope.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- PackageScope.java	2001/09/06 09:55:45	1.19
+++ PackageScope.java	2001/09/07 05:49:21	1.20
@@ -20,9 +20,9 @@
 */
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.scope.ScopeImpl;
-import org.erights.e.elib.base.Printable;
-import org.erights.e.elib.base.TextWriter;
-import org.erights.e.elib.base.UnQuote;
+import org.erights.e.elib.eio.EPrintable;
+import org.erights.e.elib.eio.TextWriter;
+import org.erights.e.elib.eio.UnQuote;
 import org.erights.e.elib.slot.Slot;
 import org.erights.e.elib.tables.ConstMap;
 import org.erights.e.elib.util.AlreadyDefinedException;
@@ -34,7 +34,7 @@
  *
  * @author <a href="mailto:markm@erights.org">Mark S. Miller</a>
  */
-/*package*/ class PackageScope extends Scope implements Printable {
+/*package*/ class PackageScope extends Scope implements EPrintable {
 
     static private final Scope[] NO_SCOPES = {};
 



1.65      +1 -1      e/src/jsrc/org/erights/e/elang/interp/ScopeSetup.java

Index: ScopeSetup.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/interp/ScopeSetup.java,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- ScopeSetup.java	2001/09/06 09:55:45	1.64
+++ ScopeSetup.java	2001/09/07 05:49:21	1.65
@@ -28,7 +28,7 @@
 import org.erights.e.elib.base.MessageDesc;
 import org.erights.e.elib.base.ParamDesc;
 import org.erights.e.elib.base.SourceSpan;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.prim.Thrower;



1.7       +4 -4      e/src/jsrc/org/erights/e/elang/interp/UnsafeLoaderScope.java

Index: UnsafeLoaderScope.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/interp/UnsafeLoaderScope.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- UnsafeLoaderScope.java	2001/09/06 09:55:45	1.6
+++ UnsafeLoaderScope.java	2001/09/07 05:49:21	1.7
@@ -20,9 +20,9 @@
 */
 import org.erights.e.elang.scope.Scope;
 import org.erights.e.elang.scope.ScopeImpl;
-import org.erights.e.elib.base.Printable;
-import org.erights.e.elib.base.TextWriter;
-import org.erights.e.elib.base.UnQuote;
+import org.erights.e.elib.eio.EPrintable;
+import org.erights.e.elib.eio.TextWriter;
+import org.erights.e.elib.eio.UnQuote;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.ref.Resolver;
@@ -41,7 +41,7 @@
  *
  * @author <a href="mailto:markm@erights.org">Mark S. Miller</a>
  */
-/*package*/ class UnsafeLoaderScope extends Scope implements Printable {
+/*package*/ class UnsafeLoaderScope extends Scope implements EPrintable {
 
     static private final Scope[] NO_SCOPES = {};
 



1.43      +2 -2      e/src/jsrc/org/erights/e/elang/scope/Scope.java

Index: Scope.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/scope/Scope.java,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- Scope.java	2001/09/06 09:55:45	1.42
+++ Scope.java	2001/09/07 05:49:22	1.43
@@ -19,8 +19,8 @@
 Contributor(s): ______________________________________.
 */
 import org.erights.e.develop.format.StringHelper;
-import org.erights.e.elib.base.TextWriter;
-import org.erights.e.elib.base.UnQuote;
+import org.erights.e.elib.eio.TextWriter;
+import org.erights.e.elib.eio.UnQuote;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.slot.FinalSlotMaker;
 import org.erights.e.elib.slot.RuinedSlot;



1.49      +1 -1      e/src/jsrc/org/erights/e/elang/syntax/ELexer.java

Index: ELexer.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/syntax/ELexer.java,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- ELexer.java	2001/09/06 09:55:46	1.48
+++ ELexer.java	2001/09/07 05:49:22	1.49
@@ -20,7 +20,7 @@
 */
 
 import org.erights.e.develop.exception.PrintStreamWriter;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.tables.Twine;
 
 import java.io.BufferedReader;



1.8       +1 -1      e/src/jsrc/org/erights/e/elang/syntax/FileFeeder.java

Index: FileFeeder.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/syntax/FileFeeder.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- FileFeeder.java	2001/09/06 09:55:46	1.7
+++ FileFeeder.java	2001/09/07 05:49:22	1.8
@@ -21,7 +21,7 @@
 
 import org.erights.e.develop.format.StringHelper;
 import org.erights.e.elib.base.SourceSpan;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.tables.Twine;
 
 import java.io.BufferedReader;



1.18      +3 -3      e/src/jsrc/org/erights/e/elang/syntax/SyntaxException.java

Index: SyntaxException.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/syntax/SyntaxException.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- SyntaxException.java	2001/09/06 09:55:46	1.17
+++ SyntaxException.java	2001/09/07 05:49:22	1.18
@@ -20,9 +20,9 @@
 */
 
 import org.erights.e.develop.format.StringHelper;
-import org.erights.e.elib.base.Printable;
+import org.erights.e.elib.eio.EPrintable;
 import org.erights.e.elib.base.SourceSpan;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.tables.Twine;
 
 import java.io.IOException;
@@ -33,7 +33,7 @@
  * @author <a href="mailto:markm@erights.org">Mark S. Miller</a>
  */
 public class SyntaxException
-extends RuntimeException implements Printable {
+extends RuntimeException implements EPrintable {
 
     private Twine myOptLine;
     private int myStart;



1.8       +1 -0      e/src/jsrc/org/erights/e/elib/base/MessageDesc.java

Index: MessageDesc.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/base/MessageDesc.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- MessageDesc.java	2001/09/06 09:55:47	1.7
+++ MessageDesc.java	2001/09/07 05:49:22	1.8
@@ -25,6 +25,7 @@
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.serial.Persistent;
 import org.erights.e.elib.tables.ConstList;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.8       +1 -0      e/src/jsrc/org/erights/e/elib/base/ParamDesc.java

Index: ParamDesc.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/base/ParamDesc.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ParamDesc.java	2001/09/06 09:55:47	1.7
+++ ParamDesc.java	2001/09/07 05:49:22	1.8
@@ -24,6 +24,7 @@
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.serial.Persistent;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.26      +1 -0      e/src/jsrc/org/erights/e/elib/base/ParseNode.java

Index: ParseNode.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/base/ParseNode.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- ParseNode.java	2001/09/06 09:55:47	1.25
+++ ParseNode.java	2001/09/07 05:49:22	1.26
@@ -23,6 +23,7 @@
 import org.erights.e.elib.tables.ConstList;
 import org.erights.e.elib.tables.FlexList;
 import org.erights.e.elib.util.AlreadyDefinedException;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.14      +1 -0      e/src/jsrc/org/erights/e/elib/base/TypeDesc.java

Index: TypeDesc.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/base/TypeDesc.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- TypeDesc.java	2001/09/06 09:55:47	1.13
+++ TypeDesc.java	2001/09/07 05:49:22	1.14
@@ -32,6 +32,7 @@
 import org.erights.e.elib.tables.ConstMap;
 import org.erights.e.elib.tables.FlexMap;
 import org.erights.e.elib.util.OneArgFunc;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.9       +11 -12    e/src/jsrc/org/erights/e/elib/deflect/Deflector.java

Index: Deflector.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/deflect/Deflector.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- Deflector.java	2001/09/06 09:55:48	1.8
+++ Deflector.java	2001/09/07 05:49:22	1.9
@@ -84,7 +84,7 @@
     };
 
     /**
-     * @serial The wrapped/target/deflected object, turned into a Callable.
+     * @serial The wrapped/target/deflected object.
      */
     /*package*/ Callable myDeflected;
 
@@ -95,6 +95,7 @@
      * ImmediateDeflector.  target must be NEAR.
      */
     static public Object deflect(Object target, Class face) {
+        target = Ref.resolution(target);
         if (! Ref.isNear(target)) {
             throw new RuntimeException("can only deflect NEAR objects");
         }
@@ -110,16 +111,13 @@
             }
         }
         Class[] faces = (Class[])faceList.getArray(Class.class);
-
-        if (! (target instanceof Callable)) {
-            target = Ref.toRef(target);
-        }
-
+        Callable targ = Ref.toCallable(target);
         InvocationHandler handler;
+
         if (EventListener.class.isAssignableFrom(face)) {
-            handler = new EventualDeflector((Callable)target);
+            handler = new EventualDeflector(targ, face);
         } else {
-            handler = new ImmediateDeflector((Callable)target);
+            handler = new ImmediateDeflector(targ, face);
         }
         return Proxy.newProxyInstance(Callable.class.getClassLoader(),
                                       faces,
@@ -182,13 +180,14 @@
         }
 
         String verb = method.getName();
-        Object result = innerInvoke(verb, args);
         Class retType = method.getReturnType();
-        return E.as(result, retType);
+        return innerInvoke(verb, args, retType);
     }
 
     /**
-     *
+     * Must return something already coerced to retType.
      */
-    /*package*/ abstract Object innerInvoke(String verb, Object[] args);
+    /*package*/ abstract Object innerInvoke(String verb,
+                                            Object[] args,
+                                            Class retType);
 }



1.9       +31 -7     e/src/jsrc/org/erights/e/elib/deflect/EventualDeflector.java

Index: EventualDeflector.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/deflect/EventualDeflector.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- EventualDeflector.java	2001/09/06 09:55:48	1.8
+++ EventualDeflector.java	2001/09/07 05:49:22	1.9
@@ -24,6 +24,7 @@
 import org.erights.e.elib.base.Callable;
 import org.erights.e.elib.prim.Runner;
 import org.erights.e.elib.prim.StaticMaker;
+import org.erights.e.elib.ref.Ref;
 
 /**
  * For deflecting objects that implement EventListener, which hopefully
@@ -62,13 +63,28 @@
      */
     private transient Runner myRunner;
 
+    /**
+     * Ensures that the target is allowed to be eventually-deflected to
+     * implement face.
+     * <p>
+     * This should reject target if face introduces a method declaration
+     * (like Action.isEnabled()) that has a non-void return type, and if
+     * target respondsTo that message.  XXX Currently, EnsureEImplementable
+     * instead always allows everything, and instead this check happens on
+     * innerInvoke below.  Since respondsTo may change at runtime, even when
+     * we do "statically" check here, we must continue to dynamically check
+     * in innerInvoke.
+     */
+    static private void EnsureEImplementable(Callable target, Class face) {
+    }
 
     /**
      * The current Runner is captured as the Runner of origin.
      */
-    public EventualDeflector(Callable target) {
+    public EventualDeflector(Callable target, Class face) {
         super(target);
         myRunner = Runner.currentRunner();
+        EnsureEImplementable(target, face);
     }
 
     /**
@@ -80,15 +96,23 @@
     }
 
     /**
-     * See the class comment.
+     * Ensure that retType is null, and then myDeflected <- verb(args...) in
+     * the Runner I remembered on creation.
      */
-    /*package*/ Object innerInvoke(String verb, Object[] args) {
+    /*package*/ Object innerInvoke(String verb,
+                                   Object[] args,
+                                   Class retType)
+    {
         if (null == myRunner) {
             throw new RuntimeException
-                ("EventualDeflectors do not survive revival");
+                ("EventualDeflectors do not yet survive revival");
+        }
+        if (retType != Void.class && retType != Void.TYPE) {
+            throw new SecurityException
+              ("" + verb + " not eventually deflectable, as it returns " +
+               retType);
         }
-        //XXX if we knew whether the method return type is Void.class, we
-        //could do a sendAllOnly() instead of a sendAll().
-        return myRunner.sendAll(myDeflected, verb, args);
+        myRunner.sendAllOnly(myDeflected, verb, args);
+        return null;
     }
 }



1.7       +38 -3     e/src/jsrc/org/erights/e/elib/deflect/ImmediateDeflector.java

Index: ImmediateDeflector.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/deflect/ImmediateDeflector.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ImmediateDeflector.java	2001/09/06 09:55:48	1.6
+++ ImmediateDeflector.java	2001/09/07 05:49:22	1.7
@@ -23,6 +23,8 @@
 
 import org.erights.e.elib.base.Callable;
 import org.erights.e.elib.prim.StaticMaker;
+import org.erights.e.elib.prim.E;
+import org.erights.e.elib.ref.Ref;
 
 /**
  * Just passes the J-call through as an immediate E-call.
@@ -40,10 +42,39 @@
         = StaticMaker.make(ImmediateDeflector.class);
 
     /**
+     * If the fully qualified interface name begins with any of the
+     * following, then by default (unless overridden by capAnalysis, tbd) it
+     * may not be implemented by an E class.
+     */
+    static private final String[] DisallowedPrefixes = {
+        "java.awt.",
+        "javax.swing."
+    };
+
+    /**
+     * Ensures that the target is allowed to be immediately deflected to
+     * implement face.
+     * <p>
+     * Currently, this check ignores target and checks face only against the
+     * DisallowedPrefixes.  Once we have capAnalyzer, we expect to be
+     * checking against an explicit list of allowed fqns instead.
+     */
+    static private void EnsureEImplementable(Callable target, Class face) {
+        String fqn = face.getName();
+        for (int i = 0; i < DisallowedPrefixes.length; i++) {
+            if (fqn.startsWith(DisallowedPrefixes[i])) {
+                throw new SecurityException
+                  ("" + face + " may not be immediately deflected");
+            }
+        }
+    }
+
+    /**
      *
      */
-    public ImmediateDeflector(Callable target) {
+    public ImmediateDeflector(Callable target, Class face) {
         super(target);
+        EnsureEImplementable(target, face);
     }
 
     /**
@@ -57,7 +88,11 @@
     /**
      *
      */
-    /*package*/ Object innerInvoke(String verb, Object[] args) {
-        return myDeflected.callAll(verb, args);
+    /*package*/ Object innerInvoke(String verb,
+                                   Object[] args,
+                                   Class retType)
+    {
+        Object result = myDeflected.callAll(verb, args);
+        return E.as(result, retType);
     }
 }



1.3       +0 -1      e/src/jsrc/org/erights/e/elib/eio/TextReader.java

Index: TextReader.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/eio/TextReader.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- TextReader.java	2001/09/06 09:55:48	1.2
+++ TextReader.java	2001/09/07 05:49:22	1.3
@@ -21,7 +21,6 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
 import org.erights.e.elib.base.Thunk;
 
 import java.io.IOException;



1.1                  e/src/jsrc/org/erights/e/elib/eio/EPrintable.java

Index: EPrintable.java
===================================================================
package org.erights.e.elib.eio;

/*
The contents of this file are subject to the Improvements to the
Distributed E Language Implementation License Version 1.0 (the
"License"); you may not use this file except in compliance with the
License. You may obtain a copy of the License at
http://www.erights.org/download/mmlicense.html

Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.

The Original Code is the Improvements to the Distributed E Language
Implementation, released May 27, 1999.

The Initial Developer of the Original Code is Mark S. Miller.
Copyright (C) 1999 Mark S. Miller. All Rights Reserved.

Contributor(s): ______________________________________.
*/

import java.io.IOException;

/**
 * Non-public classes that would introduce printOn/1 should instead implement
 * EPrintable so that their printOn/1 is callable from E.call*.
 * <p>
 * Throwables that do their own printOn must also implement EPrintable, so
 * the Miranda unwrapping happens right.
 *
 * @author Mark S. Miller
 */
public interface EPrintable {

    /**
     *
     */
    void printOn(TextWriter out) throws IOException;
}



1.1                  e/src/jsrc/org/erights/e/elib/eio/NonBlockingInputStream.java

Index: NonBlockingInputStream.java
===================================================================
package org.erights.e.elib.eio;

/*
The contents of this file are subject to the Electric Communities E Open
Source Code License Version 1.0 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of the License
at http://www.communities.com/EL/.

Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
the specific language governing rights and limitations under the License.

The Original Code is the Distributed E Language Implementation, released
July 20, 1998.

The Initial Developer of the Original Code is Electric Communities.
Copyright (C) 1998 Electric Communities. All Rights Reserved.

Contributor(s): ______________________________________.
*/
import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;


/**
 *
 */
public class NonBlockingInputStream extends FilterInputStream {

    public NonBlockingInputStream(InputStream inp) {
        super(inp);
    }

    /**
     * Overridden to throw an IOException if no data is available()
     */
    public int read() throws IOException {
        if (available() >= 1) {
            return super.read();
        } else {
            throw new IOException("not available");
        }
    }

    /**
     * Overridden to read at most available() bytes.  read(byte[])
     * isn't explicitly overridden since FilterInputStream defines it
     * in terms of read(byte[], int, int).
     */
    public int read(byte b[], int off, int len) throws IOException {
        return super.read(b, off, Math.min(available(), len));
    }

    /**
     * Overridden to skip at most available() bytes.
     */
    public long skip(long n) throws IOException {
        return super.skip(Math.min((long)available(), n));
    }
}



1.1                  e/src/jsrc/org/erights/e/elib/eio/TextWriter.java

Index: TextWriter.java
===================================================================
package org.erights.e.elib.eio;

/*
The contents of this file are subject to the Electric Communities E Open
Source Code License Version 1.0 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of the License
at http://www.communities.com/EL/.

Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
the specific language governing rights and limitations under the License.

The Original Code is the Distributed E Language Implementation, released
July 20, 1998.

The Initial Developer of the Original Code is Electric Communities.
Copyright (C) 1998 Electric Communities. All Rights Reserved.

Contributor(s): ______________________________________.
*/
import org.erights.e.elib.prim.E;
import org.erights.e.elib.ref.Ref;
import org.erights.e.elib.tables.CycleBreaker;
import org.erights.e.elib.tables.Twine;

import java.io.FilterWriter;
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;

/**
 * Wraps an underlying Writer to add these enhancements: <p>
 *
 * Writes all strings with "\n" replaced with the 'newline' string (typically
 * "\n" followed by zero or more spaces).  <p>
 *
 * If the *print*(obj) methods detect they are asked to print an
 * object they are already in the middle of printing, they print
 * "***CYCLE***" instead. <p>
 *
 * Asks the object to print itself with E.call(obj, "printOn", this)
 * rather than String.valueOf(obj). <p>
 *
 * @author <a href="mailto:markm@erights.org">Mark S. Miller</a>
 */
public final class TextWriter extends FilterWriter {

    static private final String DEFAULT_PREFIX = "    ";

    private String myNewline;
    private boolean myAutoflush;
    private boolean myCloses;
    private CycleBreaker myCycleBreaker;

    /**
     * Returns a pair of a TextWriter and the StringBuffer it writes into.
     */
    static public Object[] makeBufferingPair() {
        StringWriter sw = new StringWriter();
        TextWriter tw = new TextWriter(sw);
        StringBuffer sb = sw.getBuffer();
        Object[] result = { tw, sb };
        return result;
    }

    /**
     * Initial newline defaults to "\n".  autoflush and closes
     * default to false.
     */
    public TextWriter(Writer out) {
        this(out,
             "\n",
             false,
             false,
             null);
    }

    /**
     * Returns a writer that wraps 'out', and writes all strings with
     * "\n" replaced with the 'newline' string. <p>
     *
     * If autoflush, flush()es after outputting each newline.
     */
    public TextWriter(Writer out,
                      String newline,
                      boolean autoflush,
                      boolean closes,
                      CycleBreaker optCycleBreaker)
    {
        super(out);
        myNewline = newline;
        myAutoflush = autoflush;
        myCloses = closes;
        if (null == optCycleBreaker) {
            myCycleBreaker = new CycleBreaker();
        } else {
            myCycleBreaker = optCycleBreaker;
        }
    }

    /**
     * XXX Does NOT close the underlying stream, since that might be
     * separately accessed.  Does flush and invalidate this TextWriter.
     */
    public void close() throws IOException {
        try {
            flush();
            if (myCloses) {
                out.close();
            }
        } finally {
            out = null;
        }
    }

    /**
     * morePrefix defaults to four spaces
     */
    public TextWriter indent() {
        return indent(DEFAULT_PREFIX);
    }

    /**
     * Returns a new TextWriter just like this one, but with
     * morePrefix added on.  Note that these share the CycleBreaker
     * used to break cycles.
     */
    public TextWriter indent(String morePrefix) {
        //Since none of the TextWriters do their own buffering, they
        //don't need to flush() to coordinate with each other.
        return new TextWriter(out,
                              myNewline + morePrefix,
                              myAutoflush,
                              false,
                              myCycleBreaker);
    }

    /**
     * Is this TextWriter in the midst of printing obj?
     */
    public boolean isPrinting(Object obj) {
        return null != obj && Ref.isNear(obj) && myCycleBreaker.maps(obj);
    }

    /**
     * Like PrintWriter.print(), but doesn't suppress IOExceptions
     */
    public void print(Object original) throws IOException {
        Object obj = Ref.resolution(original);
        if (null == obj) {
            write("null");

        } else if (obj instanceof String) {
            write((String)obj);

        } else if (Ref.isNear(obj)) {
            if (myCycleBreaker.maps(original)) {
                write("***CYCLE***");
                return;
            }
            myCycleBreaker.put(original);
            try {
                E.call(obj, "printOn", this);
            } finally {
                myCycleBreaker.removeKey(original);
            }
        } else {
            Throwable optProblem = Ref.optProblem(obj);
            if (null == optProblem) {
                write("<Eventual ref>");
            } else {
                print("<ref broken by ", optProblem, ">");
            }
        }
    }

    /**
     * quote(obj) differs from print(obj) in that the quoted form of the
     * object is printed.  Currently, the quoted & non quoted printed forms
     * differ only for String and Twine.
     */
    public void quote(Object original) throws IOException {
        Object obj = Ref.resolution(original);
        if (null != obj) {
            if (obj instanceof String) {
                obj = Twine.fromString((String)obj).quote();

            } else if (obj instanceof Twine) {
                obj = ((Twine)obj).quote();
            }
        }
        print(obj);
    }


    /**
     *
     */
    public void printAll(Object[] objs) throws IOException {
        for (int i = 0; i < objs.length; i++) {
            print(objs[i]);
        }
    }

    /**
     *
     */
    public void print(Object a, Object b)
    throws IOException {
        print(a);
        print(b);
    }

    /**
     *
     */
    public void print(Object a, Object b, Object c)
    throws IOException {
        print(a);
        print(b);
        print(c);
    }

    /**
     *
     */
    public void print(Object a, Object b, Object c, Object d)
    throws IOException {
        print(a);
        print(b);
        print(c);
        print(d);
    }

    /**
     *
     */
    public void print(Object a, Object b, Object c, Object d, Object e)
    throws IOException {
        print(a);
        print(b);
        print(c);
        print(d);
        print(e);
    }

    /**
     *
     */
    public void print(Object a, Object b, Object c, Object d, Object e,
                      Object f)
    throws IOException {
        print(a);
        print(b);
        print(c);
        print(d);
        print(e);
        print(f);
    }

    /**
     *
     */
    public void print(Object a, Object b, Object c, Object d, Object e,
                      Object f, Object g)
    throws IOException {
        print(a);
        print(b);
        print(c);
        print(d);
        print(e);
        print(f);
        print(g);
    }

    /**
     * Like println(), but does the newline & prefix first
     */
    public void lnPrint(Object obj) throws IOException {
        println();
        print(obj);
    }

    /**
     * Like PrintWriter.println(), but uses our own newline, and doesn't
     * suppress IOExceptions.
     */
    public void println() throws IOException {
        out.write(myNewline);
        if (myAutoflush) {
            out.flush();
        }
    }

    /**
     * Like PrintWriter.println(), but doesn't suppress IOExceptions
     */
    public void println(Object obj) throws IOException {
        print(obj);
        println();
    }

    /**
     *
     */
    public void write(char[] cbuf, int off, int len) throws IOException {
        write(new String(cbuf, off, len));
    }

    /**
     *
     */
    public void write(int c) throws IOException {
        if (c == '\n') {
            println();
        } else {
            out.write(c);
        }
    }

    /**
     *
     */
    public void write(String str, int off, int len) throws IOException {
        int bound = off + len;
        while (off < bound) {
            int nl = str.indexOf('\n', off);
            if (nl == -1 || nl > bound) {
                nl = bound;
            }
            //would be more efficient, but hits a bug in java.io.Writer
            //XXX out.write(str, off, nl - off);
            out.write(str.substring(off, nl));
            if (nl == bound) {
                return;
            }
            println();
            off = nl + 1;
        }
    }

    /**
     * A TextWriter prints itself on a TextWriter as &lt;TextWriter&gt;.
     */
    public void printOn(TextWriter out) throws IOException {
        out.print("<TextWriter>");
    }
}



1.1                  e/src/jsrc/org/erights/e/elib/eio/UnQuote.java

Index: UnQuote.java
===================================================================
package org.erights.e.elib.eio;

import java.io.IOException;

/**
 * Wraps a string, and prints/quotes as the string, rather than the quoted
 * form of the string.
 *
 * @author <a href="mailto:markm@erights.org">Mark S. Miller</a>
 */
public class UnQuote {

    private String myStr;

    /**
     *
     */
    public UnQuote(String str) {
        myStr = str;
    }

    /**
     *
     */
    public void printOn(TextWriter out) throws IOException {
        out.print(myStr);
    }
}



1.57      +2 -2      e/src/jsrc/org/erights/e/elib/prim/E.java

Index: E.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/prim/E.java,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- E.java	2001/09/06 09:55:48	1.56
+++ E.java	2001/09/07 05:49:22	1.57
@@ -24,7 +24,7 @@
 import org.erights.e.elib.base.Callable;
 import org.erights.e.elib.base.ClassDesc;
 import org.erights.e.elib.base.Script;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.ref.Resolver;
 import org.erights.e.elib.tables.Twine;
@@ -522,7 +522,7 @@
     /**
      * Like toTwine, but gets the quoted form.
      *
-     * @see org.erights.e.elib.base.TextWriter#quote
+     * @see org.erights.e.elib.eio.TextWriter#quote
      */
     static public Twine toQuote(Object obj) {
         StringWriter strWriter = new StringWriter();



1.27      +1 -1      e/src/jsrc/org/erights/e/elib/prim/JavaMemberNode.java

Index: JavaMemberNode.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/prim/JavaMemberNode.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- JavaMemberNode.java	2001/09/06 09:55:48	1.26
+++ JavaMemberNode.java	2001/09/07 05:49:22	1.27
@@ -21,7 +21,7 @@
 import org.erights.e.develop.exception.ExceptionMgr;
 import org.erights.e.elib.base.Ejector;
 import org.erights.e.elib.base.MethodNode;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.FlexList;
 import org.erights.e.elib.tables.FlexMap;



1.13      +1 -1      e/src/jsrc/org/erights/e/elib/prim/Message.java

Index: Message.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/prim/Message.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- Message.java	2001/09/06 09:55:48	1.12
+++ Message.java	2001/09/07 05:49:22	1.13
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Resolver;
 import org.erights.e.elib.ref.ResultResolver;
 



1.39      +4 -4      e/src/jsrc/org/erights/e/elib/prim/MirandaMethods.java

Index: MirandaMethods.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/prim/MirandaMethods.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- MirandaMethods.java	2001/09/06 09:55:48	1.38
+++ MirandaMethods.java	2001/09/07 05:49:22	1.39
@@ -24,9 +24,9 @@
 import org.erights.e.elib.base.Callable;
 import org.erights.e.elib.base.ClassDesc;
 import org.erights.e.elib.base.Ejection;
-import org.erights.e.elib.base.Printable;
+import org.erights.e.elib.eio.EPrintable;
 import org.erights.e.elib.base.Script;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.base.TypeDesc;
 import org.erights.e.elib.ref.Resolver;
 import org.erights.e.elib.sealing.Amplifiable;
@@ -142,8 +142,8 @@
     throws IOException {
         if (self instanceof Throwable) {
             Throwable leaf = ThrowableSugar.leaf((Throwable)self);
-            if (leaf instanceof Printable) {
-                ((Printable)leaf).printOn(out);
+            if (leaf instanceof EPrintable) {
+                ((EPrintable)leaf).printOn(out);
             } else {
                 //XXX we engage in this horrible kludge because ThrowableSugar
                 //exists in a layer prior to TextWriter



1.8       +1 -1      e/src/jsrc/org/erights/e/elib/prim/OverloaderNode.java

Index: OverloaderNode.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/prim/OverloaderNode.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- OverloaderNode.java	2001/09/06 09:55:48	1.7
+++ OverloaderNode.java	2001/09/07 05:49:22	1.8
@@ -21,7 +21,7 @@
 Contributor(s): ______________________________________.
 */
 import org.erights.e.elib.base.MethodNode;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.tables.FlexList;
 import org.erights.e.elib.tables.FlexMap;
 



1.9       +9 -3      e/src/jsrc/org/erights/e/elib/prim/Queue.java

Index: Queue.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/prim/Queue.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- Queue.java	2001/09/06 09:55:48	1.8
+++ Queue.java	2001/09/07 05:49:22	1.9
@@ -78,7 +78,7 @@
      *
      * @param newElement the object to be added to the end of the queue.
      * @exception NullPointerException thrown if newElement is null
-     * @exception ArrayStoreException thrown if newElement does not conform
+     * @exception ArrayStoreException thrown if newElement does not coerce
      * to the elementType specified in the Queue constructor.
      */
     public void enqueue(Object newElement) {
@@ -105,8 +105,14 @@
             myMaxSize = newSize;
         }
         //will throw ArrayStoreException if newElement's type doesn't
-        //conform to elementType
-        myStuff[myIn] = newElement;
+        //conform to elementType, so coerce it and give it a last chance.
+        try {
+            myStuff[myIn] = newElement;
+        } catch (ArrayStoreException ase) {
+            Class type = myStuff.getClass().getComponentType();
+            newElement = E.as(newElement, type);
+            myStuff[myIn] = newElement;
+        }
         myIn++;
         if (myIn == myMaxSize) {
             myIn = 0;



1.17      +1 -1      e/src/jsrc/org/erights/e/elib/prim/StaticMaker.java

Index: StaticMaker.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/prim/StaticMaker.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- StaticMaker.java	2001/09/06 09:55:48	1.16
+++ StaticMaker.java	2001/09/07 05:49:22	1.17
@@ -84,7 +84,7 @@
 
         "org.erights.e.elib.base.MessageDesc",
         "org.erights.e.elib.base.ParamDesc",
-        "org.erights.e.elib.base.TextWriter",
+        "org.erights.e.elib.eio.TextWriter",
         "org.erights.e.elib.quasi.FirstCharSplitter",
         "org.erights.e.elib.quasi.Identifiers",
         "org.erights.e.elib.quasi.Substituter",



1.17      +1 -1      e/src/jsrc/org/erights/e/elib/prim/SugarMethodNode.java

Index: SugarMethodNode.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/prim/SugarMethodNode.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- SugarMethodNode.java	2001/09/06 09:55:48	1.16
+++ SugarMethodNode.java	2001/09/07 05:49:22	1.17
@@ -21,7 +21,7 @@
 
 import org.erights.e.develop.exception.ExceptionMgr;
 import org.erights.e.elib.base.MethodNode;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.tables.ConstList;
 import org.erights.e.elib.tables.ConstMap;
 import org.erights.e.elib.util.AlreadyDefinedException;



1.6       +1 -1      e/src/jsrc/org/erights/e/elib/prim/Thrower.java

Index: Thrower.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/prim/Thrower.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Thrower.java	2001/09/06 09:55:48	1.5
+++ Thrower.java	2001/09/07 05:49:22	1.6
@@ -23,7 +23,7 @@
 
 import org.erights.e.develop.exception.ExceptionMgr;
 import org.erights.e.develop.exception.ThrowableSugar;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.util.OneArgFunc;
 
 import java.io.IOException;



1.33      +1 -1      e/src/jsrc/org/erights/e/elib/prim/VTable.java

Index: VTable.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/prim/VTable.java,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- VTable.java	2001/09/06 09:55:48	1.32
+++ VTable.java	2001/09/07 05:49:22	1.33
@@ -21,7 +21,7 @@
 import org.erights.e.develop.exception.ExceptionMgr;
 import org.erights.e.elib.base.MethodNode;
 import org.erights.e.elib.base.Script;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.quasi.MatchMaker;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.tables.ConstList;



1.24      +1 -1      e/src/jsrc/org/erights/e/elib/prim/tests/ERunDemo.java

Index: ERunDemo.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/prim/tests/ERunDemo.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- ERunDemo.java	2001/09/06 09:55:49	1.23
+++ ERunDemo.java	2001/09/07 05:49:23	1.24
@@ -21,7 +21,7 @@
 
 import org.erights.e.develop.exception.PrintStreamWriter;
 import org.erights.e.develop.trace.TraceController;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.ref.Resolver;



1.25      +1 -1      e/src/jsrc/org/erights/e/elib/quasi/Substituter.java

Index: Substituter.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/quasi/Substituter.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- Substituter.java	2001/09/06 09:55:49	1.24
+++ Substituter.java	2001/09/07 05:49:23	1.25
@@ -20,7 +20,7 @@
 */
 
 import org.erights.e.develop.exception.ExceptionMgr;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.tables.ConstList;
 import org.erights.e.elib.tables.FlexList;



1.7       +3 -3      e/src/jsrc/org/erights/e/elib/ref/LocalResolver.java

Index: LocalResolver.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/ref/LocalResolver.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- LocalResolver.java	2001/09/06 09:55:50	1.6
+++ LocalResolver.java	2001/09/07 05:49:23	1.7
@@ -19,8 +19,8 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.Printable;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.EPrintable;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.tables.FlexList;
 
 import java.io.IOException;
@@ -31,7 +31,7 @@
  *
  * @author <a href="mailto:markm@erights.org">Mark S. Miller</a>
  */
-/*package*/ class LocalResolver implements Resolver, Printable {
+/*package*/ class LocalResolver implements Resolver, EPrintable {
 
     /**
      * Once it's done, it stops pointing at the Ref.



1.5       +1 -1      e/src/jsrc/org/erights/e/elib/ref/OneArgFuncAdapter.java

Index: OneArgFuncAdapter.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/ref/OneArgFuncAdapter.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- OneArgFuncAdapter.java	2001/09/06 09:55:50	1.4
+++ OneArgFuncAdapter.java	2001/09/07 05:49:23	1.5
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.util.OneArgFunc;
 



1.8       +1 -1      e/src/jsrc/org/erights/e/elib/ref/ProxyResolver.java

Index: ProxyResolver.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/ref/ProxyResolver.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ProxyResolver.java	2001/09/06 09:55:50	1.7
+++ ProxyResolver.java	2001/09/07 05:49:23	1.8
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.WeakPtr;
 import org.erights.e.elib.tables.Selfless;
 



1.28      +12 -0     e/src/jsrc/org/erights/e/elib/ref/Ref.java

Index: Ref.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/ref/Ref.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- Ref.java	2001/09/06 09:55:50	1.27
+++ Ref.java	2001/09/07 05:49:23	1.28
@@ -282,6 +282,18 @@
 
     /**
      * Return an object that's E-equivanetlt to target, but has Java-type
+     * Callable.
+     */
+    static public Callable toCallable(Object target) {
+        if (null != target && target instanceof Callable) {
+            return (Callable)target;
+        } else {
+            return new NearRef(target);
+        }
+    }
+
+    /**
+     * Return an object that's E-equivanetlt to target, but has Java-type
      * Ref.
      */
     static public Ref toRef(Object target) {



1.7       +1 -1      e/src/jsrc/org/erights/e/elib/ref/ResultResolver.java

Index: ResultResolver.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/ref/ResultResolver.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ResultResolver.java	2001/09/06 09:55:50	1.6
+++ ResultResolver.java	2001/09/07 05:49:23	1.7
@@ -22,7 +22,7 @@
 */
 
 import org.erights.e.develop.trace.Trace;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.Runner;
 
 import java.io.IOException;



1.6       +1 -1      e/src/jsrc/org/erights/e/elib/ref/Switcher.java

Index: Switcher.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/ref/Switcher.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Switcher.java	2001/09/06 09:55:50	1.5
+++ Switcher.java	2001/09/07 05:49:23	1.6
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.8       +1 -1      e/src/jsrc/org/erights/e/elib/sealing/Brand.java

Index: Brand.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/sealing/Brand.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- Brand.java	2001/09/06 09:55:50	1.7
+++ Brand.java	2001/09/07 05:49:23	1.8
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.serial.PassByProxy;
 import org.erights.e.elib.serial.Persistent;
 



1.9       +1 -1      e/src/jsrc/org/erights/e/elib/sealing/SealedBox.java

Index: SealedBox.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/sealing/SealedBox.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- SealedBox.java	2001/09/06 09:55:50	1.8
+++ SealedBox.java	2001/09/07 05:49:23	1.9
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.serial.PassByProxy;
 import org.erights.e.elib.serial.Persistent;
 



1.9       +1 -1      e/src/jsrc/org/erights/e/elib/sealing/Sealer.java

Index: Sealer.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/sealing/Sealer.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- Sealer.java	2001/09/06 09:55:50	1.8
+++ Sealer.java	2001/09/07 05:49:23	1.9
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.serial.PassByProxy;
 import org.erights.e.elib.serial.Persistent;
 



1.10      +1 -1      e/src/jsrc/org/erights/e/elib/sealing/Unsealer.java

Index: Unsealer.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/sealing/Unsealer.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- Unsealer.java	2001/09/06 09:55:50	1.9
+++ Unsealer.java	2001/09/07 05:49:23	1.10
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.serial.PassByProxy;
 import org.erights.e.elib.serial.Persistent;
 



1.4       +1 -1      e/src/jsrc/org/erights/e/elib/serial/RemoteCall.java

Index: RemoteCall.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/serial/RemoteCall.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- RemoteCall.java	2001/09/06 09:55:51	1.3
+++ RemoteCall.java	2001/09/07 05:49:23	1.4
@@ -21,7 +21,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.ref.StemCell;



1.7       +1 -1      e/src/jsrc/org/erights/e/elib/serial/RemoteDelivery.java

Index: RemoteDelivery.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/serial/RemoteDelivery.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- RemoteDelivery.java	2001/09/06 09:55:51	1.6
+++ RemoteDelivery.java	2001/09/07 05:49:23	1.7
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.ref.StemCell;
 import org.erights.e.elib.tables.ConstList;



1.13      +1 -1      e/src/jsrc/org/erights/e/elib/slot/FinalSlot.java

Index: FinalSlot.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/slot/FinalSlot.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- FinalSlot.java	2001/09/06 09:55:51	1.12
+++ FinalSlot.java	2001/09/07 05:49:23	1.13
@@ -21,7 +21,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.7       +1 -1      e/src/jsrc/org/erights/e/elib/slot/FinalSlotMaker.java

Index: FinalSlotMaker.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/slot/FinalSlotMaker.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- FinalSlotMaker.java	2001/09/06 09:55:51	1.6
+++ FinalSlotMaker.java	2001/09/07 05:49:23	1.7
@@ -21,7 +21,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.util.OneArgFunc;
 
 import java.io.IOException;



1.8       +1 -1      e/src/jsrc/org/erights/e/elib/slot/NullOkMaker.java

Index: NullOkMaker.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/slot/NullOkMaker.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- NullOkMaker.java	2001/09/06 09:55:51	1.7
+++ NullOkMaker.java	2001/09/07 05:49:23	1.8
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.Thrower;
 import org.erights.e.elib.util.OneArgFunc;
 



1.13      +1 -1      e/src/jsrc/org/erights/e/elib/slot/RuinedSlot.java

Index: RuinedSlot.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/slot/RuinedSlot.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- RuinedSlot.java	2001/09/06 09:55:51	1.12
+++ RuinedSlot.java	2001/09/07 05:49:23	1.13
@@ -22,7 +22,7 @@
 */
 
 import org.erights.e.develop.exception.ExceptionMgr;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 
 import java.io.IOException;



1.12      +1 -1      e/src/jsrc/org/erights/e/elib/slot/SettableSlot.java

Index: SettableSlot.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/slot/SettableSlot.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- SettableSlot.java	2001/09/06 09:55:51	1.11
+++ SettableSlot.java	2001/09/07 05:49:23	1.12
@@ -21,7 +21,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.util.OneArgFunc;
 
 import java.io.IOException;



1.7       +1 -1      e/src/jsrc/org/erights/e/elib/slot/SettableSlotMaker.java

Index: SettableSlotMaker.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/slot/SettableSlotMaker.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- SettableSlotMaker.java	2001/09/06 09:55:51	1.6
+++ SettableSlotMaker.java	2001/09/07 05:49:23	1.7
@@ -21,7 +21,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.util.OneArgFunc;
 
 import java.io.IOException;



1.15      +1 -1      e/src/jsrc/org/erights/e/elib/slot/SimpleSlot.java

Index: SimpleSlot.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/slot/SimpleSlot.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- SimpleSlot.java	2001/09/06 09:55:51	1.14
+++ SimpleSlot.java	2001/09/07 05:49:23	1.15
@@ -18,7 +18,7 @@
 
 Contributor(s): ______________________________________.
 */
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.10      +1 -1      e/src/jsrc/org/erights/e/elib/tables/CompositeTwine.java

Index: CompositeTwine.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/CompositeTwine.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- CompositeTwine.java	2001/09/06 09:55:51	1.9
+++ CompositeTwine.java	2001/09/07 05:49:23	1.10
@@ -20,7 +20,7 @@
 */
 
 import org.erights.e.elib.base.SourceSpan;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.16      +1 -1      e/src/jsrc/org/erights/e/elib/tables/ConstList.java

Index: ConstList.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/ConstList.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- ConstList.java	2001/09/06 09:55:51	1.15
+++ ConstList.java	2001/09/07 05:49:23	1.16
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.serial.PassByConstruction;
 



1.24      +1 -1      e/src/jsrc/org/erights/e/elib/tables/ConstMap.java

Index: ConstMap.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/ConstMap.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- ConstMap.java	2001/09/06 09:55:51	1.23
+++ ConstMap.java	2001/09/07 05:49:23	1.24
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.StaticMaker;
 import org.erights.e.elib.serial.PassByConstruction;
 import org.erights.e.elib.util.ArityMismatchException;



1.28      +3 -3      e/src/jsrc/org/erights/e/elib/tables/EList.java

Index: EList.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/EList.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- EList.java	2001/09/06 09:55:51	1.27
+++ EList.java	2001/09/07 05:49:23	1.28
@@ -19,8 +19,8 @@
 Contributor(s): ______________________________________.
 */
 import org.erights.e.develop.exception.NestedException;
-import org.erights.e.elib.base.Printable;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.EPrintable;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.ref.Ref;
 import org.erights.e.elib.serial.Persistent;
@@ -47,7 +47,7 @@
  * @see org.erights.e.elib.tables.FlexList
  * @author <a href="mailto:markm@erights.org">Mark S. Miller</a>
  */
-public abstract class EList implements Printable, Persistent {
+public abstract class EList implements EPrintable, Persistent {
 
     static private final long serialVersionUID = 4755060696966322025L;
 



1.26      +3 -3      e/src/jsrc/org/erights/e/elib/tables/EMap.java

Index: EMap.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/EMap.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- EMap.java	2001/09/06 09:55:51	1.25
+++ EMap.java	2001/09/07 05:49:23	1.26
@@ -20,8 +20,8 @@
 */
 
 import org.erights.e.develop.exception.ExceptionMgr;
-import org.erights.e.elib.base.Printable;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.EPrintable;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.serial.Persistent;
 import org.erights.e.elib.util.ArityMismatchException;
 
@@ -62,7 +62,7 @@
  *
  * @author <a href="mailto:markm@erights.org">Mark S. Miller</a>
  */
-public abstract class EMap implements Printable, Persistent {
+public abstract class EMap implements EPrintable, Persistent {
 
     static final long serialVersionUID = -7066420784218105992L;
 



1.3       +1 -1      e/src/jsrc/org/erights/e/elib/tables/EmptyTwine.java

Index: EmptyTwine.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/EmptyTwine.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- EmptyTwine.java	2001/09/06 09:55:51	1.2
+++ EmptyTwine.java	2001/09/07 05:49:23	1.3
@@ -1,7 +1,7 @@
 package org.erights.e.elib.tables;
 
 import org.erights.e.elib.base.SourceSpan;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.16      +1 -1      e/src/jsrc/org/erights/e/elib/tables/FlexList.java

Index: FlexList.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/FlexList.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- FlexList.java	2001/09/06 09:55:51	1.15
+++ FlexList.java	2001/09/07 05:49:23	1.16
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.serial.PassByProxy;
 
 import java.io.IOException;



1.26      +1 -1      e/src/jsrc/org/erights/e/elib/tables/FlexMap.java

Index: FlexMap.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/FlexMap.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- FlexMap.java	2001/09/06 09:55:51	1.25
+++ FlexMap.java	2001/09/07 05:49:23	1.26
@@ -18,7 +18,7 @@
 
 Contributor(s): ______________________________________.
 */
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.serial.PassByProxy;
 import org.erights.e.elib.util.ArityMismatchException;
 



1.8       +1 -1      e/src/jsrc/org/erights/e/elib/tables/LocatedTwine.java

Index: LocatedTwine.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/LocatedTwine.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- LocatedTwine.java	2001/09/06 09:55:51	1.7
+++ LocatedTwine.java	2001/09/07 05:49:23	1.8
@@ -20,7 +20,7 @@
 */
 
 import org.erights.e.elib.base.SourceSpan;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.ref.Ref;
 
 import java.io.IOException;



1.17      +1 -1      e/src/jsrc/org/erights/e/elib/tables/ROList.java

Index: ROList.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/ROList.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- ROList.java	2001/09/06 09:55:51	1.16
+++ ROList.java	2001/09/07 05:49:23	1.17
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.serial.PassByProxy;
 
 import java.io.IOException;



1.16      +1 -1      e/src/jsrc/org/erights/e/elib/tables/ROMap.java

Index: ROMap.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/ROMap.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- ROMap.java	2001/09/06 09:55:51	1.15
+++ ROMap.java	2001/09/07 05:49:23	1.16
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.serial.PassByProxy;
 
 import java.io.IOException;



1.9       +1 -1      e/src/jsrc/org/erights/e/elib/tables/SimpleTwine.java

Index: SimpleTwine.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/SimpleTwine.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- SimpleTwine.java	2001/09/06 09:55:51	1.8
+++ SimpleTwine.java	2001/09/07 05:49:23	1.9
@@ -20,7 +20,7 @@
 */
 
 import org.erights.e.elib.base.SourceSpan;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.6       +3 -3      e/src/jsrc/org/erights/e/elib/tables/WeakKey.java

Index: WeakKey.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/WeakKey.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- WeakKey.java	2001/09/06 09:55:51	1.5
+++ WeakKey.java	2001/09/07 05:49:23	1.6
@@ -21,8 +21,8 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.Printable;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.EPrintable;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.WeakPtr;
 
 import java.io.IOException;
@@ -44,7 +44,7 @@
  *
  * @author Mark Miller
  */
-/*package*/ class WeakKey implements Runnable, Printable {
+/*package*/ class WeakKey implements Runnable, EPrintable {
 
     /** since the actual key may disappear */
     private int myHashCode;



1.6       +1 -1      e/src/jsrc/org/erights/e/elib/tables/WeakKeyMap.java

Index: WeakKeyMap.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/WeakKeyMap.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- WeakKeyMap.java	2001/09/06 09:55:51	1.5
+++ WeakKeyMap.java	2001/09/07 05:49:23	1.6
@@ -21,7 +21,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.5       +3 -3      e/src/jsrc/org/erights/e/elib/tables/WeakValue.java

Index: WeakValue.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/WeakValue.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- WeakValue.java	2001/09/06 09:55:51	1.4
+++ WeakValue.java	2001/09/07 05:49:23	1.5
@@ -21,8 +21,8 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.Printable;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.EPrintable;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.WeakPtr;
 
 import java.io.IOException;
@@ -42,7 +42,7 @@
  *
  * @author Mark Miller
  */
-/*package*/ class WeakValue implements Runnable, Printable {
+/*package*/ class WeakValue implements Runnable, EPrintable {
 
     /** So I can remove the association that maps to me. */
     private Object myKey;



1.5       +1 -1      e/src/jsrc/org/erights/e/elib/tables/WeakValueMap.java

Index: WeakValueMap.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/tables/WeakValueMap.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- WeakValueMap.java	2001/09/06 09:55:51	1.4
+++ WeakValueMap.java	2001/09/07 05:49:23	1.5
@@ -21,7 +21,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.4       +1 -1      e/src/jsrc/org/erights/e/elib/util/TwineException.java

Index: TwineException.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elib/util/TwineException.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- TwineException.java	2001/09/06 09:55:54	1.3
+++ TwineException.java	2001/09/07 05:49:24	1.4
@@ -20,7 +20,7 @@
 */
 
 import org.erights.e.develop.exception.ThrowableSugar;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.tables.Twine;
 
 import java.io.IOException;



1.17      +1 -1      e/src/jsrc/org/erights/e/extern/timer/Timer.java

Index: Timer.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/extern/timer/Timer.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- Timer.java	2001/09/06 09:55:54	1.16
+++ Timer.java	2001/09/07 05:49:24	1.17
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.base.Thunk;
 import org.erights.e.elib.prim.PendingEvent;
 import org.erights.e.elib.prim.Runner;



1.15      +1 -1      e/src/jsrc/org/erights/e/meta/java/io/BufferedReaderSugar.java

Index: BufferedReaderSugar.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/meta/java/io/BufferedReaderSugar.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- BufferedReaderSugar.java	2001/09/06 09:55:55	1.14
+++ BufferedReaderSugar.java	2001/09/07 05:49:24	1.15
@@ -20,7 +20,7 @@
 */
 
 import org.erights.e.elib.base.SourceSpan;
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.tables.AssocFunc;
 import org.erights.e.elib.tables.FlexList;
 import org.erights.e.elib.tables.Twine;



1.22      +1 -1      e/src/jsrc/org/erights/e/meta/java/io/FileSugar.java

Index: FileSugar.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/meta/java/io/FileSugar.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- FileSugar.java	2001/09/06 09:55:55	1.21
+++ FileSugar.java	2001/09/07 05:49:24	1.22
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.prim.E;
 import org.erights.e.elib.tables.AssocFunc;
 import org.erights.e.elib.tables.Twine;



1.12      +1 -1      e/src/jsrc/org/erights/e/meta/java/io/InputStreamSugar.java

Index: InputStreamSugar.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/meta/java/io/InputStreamSugar.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- InputStreamSugar.java	2001/09/06 09:55:55	1.11
+++ InputStreamSugar.java	2001/09/07 05:49:24	1.12
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 import java.io.InputStream;



1.12      +1 -1      e/src/jsrc/org/erights/e/meta/java/io/ReadOnlyFile.java

Index: ReadOnlyFile.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/meta/java/io/ReadOnlyFile.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- ReadOnlyFile.java	2001/09/06 09:55:55	1.11
+++ ReadOnlyFile.java	2001/09/07 05:49:24	1.12
@@ -1,6 +1,6 @@
 package org.erights.e.meta.java.io;
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 import org.erights.e.elib.serial.PassByProxy;
 import org.erights.e.elib.serial.Persistent;
 import org.erights.e.elib.tables.AssocFunc;



1.13      +1 -1      e/src/jsrc/org/erights/e/meta/java/lang/CharacterSugar.java

Index: CharacterSugar.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/meta/java/lang/CharacterSugar.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- CharacterSugar.java	2001/09/06 09:55:55	1.12
+++ CharacterSugar.java	2001/09/07 05:49:24	1.13
@@ -19,7 +19,7 @@
 Contributor(s): ______________________________________.
 */
 
-import org.erights.e.elib.base.TextWriter;
+import org.erights.e.elib.eio.TextWriter;
 
 import java.io.IOException;
 



1.9       +2 -72     e/src/jsrc/org/erights/e/meta/java/lang/InterfaceGuardSugar.java