This is the mail archive of the kawa@sources.redhat.com mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Scheme Debugging in Eclipse...


Dominique Boucher wrote:
Following some private email discussions with Per, I was anxious to try
something. Here is the result so far:
...

I've been trying to get the SchemeScript plugin working and not having success. What is your setup? Have you checked the changes into CVS?


I've tried Eclipse 3.0.1 and 3.1M5. The kawa.jar in schemeways' CVS didn't work (problems loading conf/namespaces.scm). I tried updating with Kawa CVS and have new problems.

Kawa CVS has changed the implementation of with_input_from_file and replaced gnu.expr.Interpreter with gnu.expr.Language so I fixed that, patch attached. But the problems in conf/namespaces.scm remains.

With Eclipse 3.1 the problems are the same, but they've added a Path class in another package resulting in an ambiguity. Patch to fix that attached, but then the same problem with conf/namespaces.scm so I've returned to focus on 3.0 (3.1 has a copy&paste bug on OS X).

The console error log I get is this (I've tried fiddling a number of other things but don't they haven't helped and this is the same with all combinations):

bundleentry://3/conf/util.scm:33:19: warning - no accessible method `replace'
in java.lang.String
bundleentry://3/conf/buffer.scm:75:3: no matching case while expanding
try-finally
bundleentry://3/conf/dialogs.scm:36:25: warning - no definitely applicable
method `<init>' in org.eclipse.swt.widgets.Shell
bundleentry://3/conf/namespaces.scm:15:1: unknown super-type
org.eclipse.jdt.core.search.IJavaSearchResultCollector
bundleentry://3/conf/namespaces.scm:15:1: duplicate superclass for
ClassExp:SimpleSearchCollector/793/
java.lang.RuntimeException: no such class: org.eclipse.jdt.core.IJavaElement
at gnu.bytecode.ObjectType.getReflectClass(ObjectType.java:74)
at gnu.bytecode.ClassType.getModifiers(ClassType.java:69)
at gnu.bytecode.ClassType.isInterface(ClassType.java:224)
at gnu.bytecode.ClassType.isSubclass(ClassType.java:869)
at gnu.bytecode.ClassType.compare(ClassType.java:898)
at gnu.mapping.MethodProc.isApplicable(MethodProc.java:29)
at gnu.expr.PrimProcedure.getMethodFor(PrimProcedure.java:663)
at gnu.expr.PrimProcedure.getMethodFor(PrimProcedure.java:567)
at gnu.expr.PrimProcedure.getMethodFor(PrimProcedure.java:535)
at gnu.expr.InlineCalls.walkApplyExp(InlineCalls.java:110)
at gnu.expr.ApplyExp.walk(ApplyExp.java:377)
at gnu.expr.ExpWalker.walk(ExpWalker.java:40)
at gnu.expr.SetExp.walkChildren(SetExp.java:299)
at gnu.expr.InlineCalls.walkSetExp(InlineCalls.java:191)
at gnu.expr.SetExp.walk(SetExp.java:294)
at gnu.expr.ExpWalker.walk(ExpWalker.java:40)
at gnu.expr.ExpWalker.walkExps(ExpWalker.java:134)
at gnu.expr.ApplyExp.walkChildren(ApplyExp.java:384)
at gnu.expr.ExpWalker.walkExpression(ExpWalker.java:16)
at gnu.expr.ExpWalker.walkApplyExp(ExpWalker.java:49)
at gnu.expr.InlineCalls.walkApplyExp(InlineCalls.java:55)
at gnu.expr.ApplyExp.walk(ApplyExp.java:377)
at gnu.expr.ExpWalker.walk(ExpWalker.java:40)
at gnu.expr.LambdaExp.walkChildrenOnly(LambdaExp.java:1448)
at gnu.expr.LambdaExp.walkChildren(LambdaExp.java:1436)
at gnu.expr.ExpWalker.walkExpression(ExpWalker.java:16)
at gnu.expr.ExpWalker.walkScopeExp(ExpWalker.java:59)
at gnu.expr.ExpWalker.walkLambdaExp(ExpWalker.java:63)
at gnu.expr.ClassExp.walkChildren(ClassExp.java:523)
at gnu.expr.ExpWalker.walkExpression(ExpWalker.java:16)
at gnu.expr.ExpWalker.walkScopeExp(ExpWalker.java:59)
at gnu.expr.ExpWalker.walkLambdaExp(ExpWalker.java:63)
at gnu.expr.ExpWalker.walkClassExp(ExpWalker.java:64)
at gnu.expr.InlineCalls.walkClassExp(InlineCalls.java:224)
at gnu.expr.ClassExp.walk(ClassExp.java:506)
at gnu.expr.ExpWalker.walk(ExpWalker.java:44)
at gnu.expr.SetExp.walkChildren(SetExp.java:299)
at gnu.expr.InlineCalls.walkSetExp(InlineCalls.java:191)
at gnu.expr.SetExp.walk(SetExp.java:294)
at gnu.expr.ExpWalker.walk(ExpWalker.java:40)
at gnu.expr.LambdaExp.walkChildrenOnly(LambdaExp.java:1448)
at gnu.expr.LambdaExp.walkChildren(LambdaExp.java:1436)
at gnu.expr.ExpWalker.walkExpression(ExpWalker.java:16)
at gnu.expr.ExpWalker.walkScopeExp(ExpWalker.java:59)
at gnu.expr.ExpWalker.walkLambdaExp(ExpWalker.java:63)
at gnu.expr.ExpWalker.walkModuleExp(ExpWalker.java:66)
at gnu.expr.ModuleExp.walk(ModuleExp.java:348)
at gnu.expr.ExpWalker.walk(ExpWalker.java:44)
at gnu.expr.InlineCalls.inlineCalls(InlineCalls.java:12)
at gnu.expr.Compilation.compile(Compilation.java:869)
at gnu.expr.ModuleExp.evalToClass(ModuleExp.java:78)
at gnu.expr.ModuleExp.evalModule(ModuleExp.java:175)
at kawa.Shell.run(Shell.java:231)
at kawa.standard.load.loadSource(load.java:156)
at kawa.standard.load.loadSource(load.java:126)
at kawa.standard.load.apply(load.java:226)
at kawa.standard.load.apply2(load.java:194)
at kawa.standard.load.apply1(load.java:184)
at gnu.mapping.Procedure.apply(Procedure.java:133)
at gnu.mapping.Procedure.apply(Procedure.java:115)
at gnu.mapping.CallContext.runUntilDone(CallContext.java:244)
at gnu.expr.ModuleExp.evalModule(ModuleExp.java:235)
at kawa.Shell.run(Shell.java:231)
at kawa.standard.load.loadSource(load.java:156)
at kawa.standard.load.loadSource(load.java:126)
at kawa.standard.load.apply(load.java:226)
at kawa.standard.load.apply2(load.java:194)
at kawa.standard.load.apply1(load.java:184)
at
org.schemeway.plugins.schemescript.SchemeScriptPlugin.loadUserFile(SchemeScriptPlugin.java:85)
at
org.schemeway.plugins.schemescript.SchemeScriptPlugin.start(SchemeScriptPlugin.java:65)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:958)
at java.security.AccessController.doPrivileged(Native Method)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:954)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:937)
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:421)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:293)
at
org.eclipse.core.runtime.adaptor.EclipseClassLoader.findLocalClass(EclipseClassLoader.java:110)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:371)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:402)
at
org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass(AbstractClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:307)
at
org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:336)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1313)
at
org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:131)
at
org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:124)
at
org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:113)
at org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:196)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at
org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:193)
at org.eclipse.ui.internal.EditorManager$5.run(EditorManager.java:787)
at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616)
at org.eclipse.core.runtime.Platform.run(Platform.java:747)
at org.eclipse.ui.internal.EditorManager.createPart(EditorManager.java:785)
at
org.eclipse.ui.internal.EditorManager.openInternalEditor(EditorManager.java:772)
at
org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:582)
at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:570)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2244)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2177)
at org.eclipse.ui.internal.WorkbenchPage.access$6(WorkbenchPage.java:2169)
at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2156)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2151)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2134)
at org.eclipse.ui.actions.OpenWithMenu.openEditor(OpenWithMenu.java:258)
at org.eclipse.ui.actions.OpenWithMenu.access$0(OpenWithMenu.java:251)
at org.eclipse.ui.actions.OpenWithMenu$2.handleEvent(OpenWithMenu.java:166)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1196)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1220)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1205)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2871)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2541)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
at org.eclipse.core.launcher.Main.run(Main.java:704)
at org.eclipse.core.launcher.Main.main(Main.java:688)


Jim White

Index: src/org/schemeway/plugins/schemescript/dictionary/UserDictionary.java
===================================================================
RCS file: /cvsroot/schemeway/SchemeScript/src/org/schemeway/plugins/schemescript/dictionary/UserDictionary.java,v
retrieving revision 1.10
diff -u -r1.10 UserDictionary.java
--- src/org/schemeway/plugins/schemescript/dictionary/UserDictionary.java	18 Feb 2005 19:17:35 -0000	1.10
+++ src/org/schemeway/plugins/schemescript/dictionary/UserDictionary.java	29 Mar 2005 21:19:09 -0000
@@ -81,7 +81,7 @@
     }
 
     private void loadFormProcessors(URL userFile) {
-        Interpreter interp = Interpreter.getInterpreter();
+    	 Language interp = Language.getDefaultLanguage();
         interp.defineFunction("define-form-processor", new FormProcessorDefiner(this));
         try {
             load.load.apply1(userFile.toString());
Index: src/org/schemeway/plugins/schemescript/interpreter/ExternalInterpreter.java
===================================================================
RCS file: /cvsroot/schemeway/SchemeScript/src/org/schemeway/plugins/schemescript/interpreter/ExternalInterpreter.java,v
retrieving revision 1.2
diff -u -r1.2 ExternalInterpreter.java
--- src/org/schemeway/plugins/schemescript/interpreter/ExternalInterpreter.java	31 Jan 2005 18:29:04 -0000	1.2
+++ src/org/schemeway/plugins/schemescript/interpreter/ExternalInterpreter.java	29 Mar 2005 21:19:09 -0000
@@ -6,6 +6,8 @@
 package org.schemeway.plugins.schemescript.interpreter;
 
 import gnu.lists.*;
+import gnu.mapping.InPort;
+import gnu.mapping.Procedure;
 import gnu.math.*;
 
 import java.io.*;
@@ -145,10 +147,27 @@
         }
     }
     
+	public Object with_input_from_file(final String fname, final Procedure proc) throws Throwable
+	{
+	    final InPort port = InPort.openFile(fname);
+	    final InPort save_port = InPort.inDefault();
+	    
+	    Object result;
+	    try {
+	        InPort.setInDefault(port);
+	        result = proc.apply0();
+	    } finally {
+	       InPort.setInDefault(save_port);
+	       port.close();
+	    }
+	    
+	    return result;
+	}
+    
     private String getPID() {
         try {
             String filename = InterpreterPreferences.getWorkingDirectory().getPath() + "/" + getPIDFilename();
-            Object value =(new with_input_from_file()).apply2(new FString(filename), new read());
+            Object value = with_input_from_file(filename, new read());
             if (value instanceof IntNum) {
                 return ((IntNum)value).toString();
             }
Index: src/org/schemeway/plugins/schemescript/interpreter/KawaProcess.java
===================================================================
RCS file: /cvsroot/schemeway/SchemeScript/src/org/schemeway/plugins/schemescript/interpreter/KawaProcess.java,v
retrieving revision 1.3
diff -u -r1.3 KawaProcess.java
--- src/org/schemeway/plugins/schemescript/interpreter/KawaProcess.java	15 Mar 2005 14:53:49 -0000	1.3
+++ src/org/schemeway/plugins/schemescript/interpreter/KawaProcess.java	29 Mar 2005 21:19:09 -0000
@@ -189,7 +189,7 @@
             ctx.consumer = out;
         }
         try {
-            int opts = gnu.expr.Interpreter.PARSE_IMMEDIATE;
+            int opts = gnu.expr.Language.PARSE_IMMEDIATE;
             try {
                 Compilation comp = interp.parse(lexer, opts);
                 boolean sawError = messages.checkErrors(perr, 20);
Index: src/org/schemeway/plugins/schemescript/SchemeScriptImageRegistry.java
===================================================================
RCS file: /cvsroot/schemeway/SchemeScript/src/org/schemeway/plugins/schemescript/SchemeScriptImageRegistry.java,v
retrieving revision 1.1
diff -u -r1.1 SchemeScriptImageRegistry.java
--- src/org/schemeway/plugins/schemescript/SchemeScriptImageRegistry.java	1 Feb 2005 16:08:38 -0000	1.1
+++ src/org/schemeway/plugins/schemescript/SchemeScriptImageRegistry.java	29 Mar 2005 21:21:39 -0000
@@ -6,6 +6,7 @@
 package org.schemeway.plugins.schemescript;
 
 import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.Path;
 import org.eclipse.jface.resource.*;
 import org.eclipse.swt.graphics.*;
 
Index: src/org/schemeway/plugins/schemescript/editor/SchemeEditor.java
===================================================================
RCS file: /cvsroot/schemeway/SchemeScript/src/org/schemeway/plugins/schemescript/editor/SchemeEditor.java,v
retrieving revision 1.17
diff -u -r1.17 SchemeEditor.java
--- src/org/schemeway/plugins/schemescript/editor/SchemeEditor.java	15 Mar 2005 14:51:42 -0000	1.17
+++ src/org/schemeway/plugins/schemescript/editor/SchemeEditor.java	29 Mar 2005 21:21:40 -0000
@@ -8,6 +8,7 @@
 import java.net.*;
 
 import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.Path;
 import org.eclipse.jface.action.*;
 import org.eclipse.jface.preference.*;
 import org.eclipse.jface.text.*;
Index: src/org/schemeway/plugins/schemescript/editor/SchemeOutlinePage.java
===================================================================
RCS file: /cvsroot/schemeway/SchemeScript/src/org/schemeway/plugins/schemescript/editor/SchemeOutlinePage.java,v
retrieving revision 1.3
diff -u -r1.3 SchemeOutlinePage.java
--- src/org/schemeway/plugins/schemescript/editor/SchemeOutlinePage.java	15 Mar 2005 14:49:29 -0000	1.3
+++ src/org/schemeway/plugins/schemescript/editor/SchemeOutlinePage.java	29 Mar 2005 21:21:40 -0000
@@ -9,6 +9,7 @@
 import java.util.List;
 
 import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.Path;
 import org.eclipse.jface.text.*;
 import org.eclipse.jface.viewers.*;
 import org.eclipse.swt.graphics.*;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]