Re: [tcljava-dev] Re: [tcljava-user] Swank 1.0 (bugs)
Brought to you by:
mdejong
|
From: Tom P. <tpo...@ny...> - 2002-05-18 18:15:40
|
On Fri, May 17, 2002 at 08:57:15PM -0400, Bruce Johnson wrote: I tried mailing a bug report, but I think I sent it to an old address of yours. My report is attached below. > Ooops, I don't get this Exception because in my copy of tcljava I've > made the > allowExceptions method in the Interp class public. This is necessary > for the > bindings to allow breaks in bind scripts. If anyone would like to > submit a patch for > this that would be great. Otherwise I'll try to get around to it. I applied this patch to Jacl, and another to expose TCL.OK as public. This allows Swank to compile for me and allows 'bind' to work. I'd vote to make these public in Jacl unless there are some easy work-arounds. I'm still having problems trying to invoke a script from the wisk command line, e.g. "wisk widget". Great work! -- Tom Poindexter tpo...@ny... http://www.nyx.net/~tpoindex/ Swank 1.0 report Platform: Intel/Linux: $ uname -a Linux xx.xx.xx 2.4.18-6mdk #1 Fri Mar 15 02:59:08 CET 2002 i686 unknown TclJava: 1.3.0 from cvs updated on 5/16/02, recompiled and reinstalled. Java: Sun 1.3.1: $ java -showversion java version "1.3.1_03" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_03-b03) Java HotSpot(TM) Client VM (build 1.3.1_03-b03, mixed mode) I customized 'wisk', it gets invoked as: $ sh -x /usr/local/bin/wisk + TCLJAVA_INSTALL_DIR=/usr/local/lib/tcljava1.3.0 + SWANK_INSTALL_DIR=/usr/local/lib/swank1.0 + JACL_CLASSPATH=/usr/local/lib/tcljava1.3.0/tcljava.jar:/usr/local/lib/tcljava1.3.0/jacl.jar + SWANK_CLASSPATH=/usr/local/lib/swank1.0/swank.jar: + JAVA=/usr/local/java/bin/java + JAVA_FLAGS= -ms5m -mx32m + CLASSPATH=/usr/local/lib/swank1.0/swank.jar::/usr/local/lib/tcljava1.3.0/tcljava.jar:/usr/local/lib/tcljava1.3.0/jacl.jar + export CLASSPATH + exec /usr/local/java/bin/java -ms5m -mx32m tcl.lang.SwkShell ------------------------------------------------------------------------------ Bug #1: Unable to run script from command line. (Running prebuilt swank.jar, invoked with my customized 'wisk'.) $ cd demos $ wisk widget Window appears briefly with "File" menu, title "Widget Demostration", then script exits. ------------------------------------------------------------------------------ Bug #2: Unable to run "demos/widget" main window, bind problems. (Running prebuilt swank.jar, invoked with my customized 'wisk'.) $ cd demos $ wisk ("." window appears, tcl prompt) % source widget Widget Demonstration windows with text widget, moving mouse over demo items yields: Exception occurred during event dispatching: java.lang.IllegalAccessError: try to access method tcl.lang.Interp.allowExceptions()V from class swank.BindCmd at swank.BindCmd.doCmd(BindCmd.java:435) at swank.SwkJTextPane.processMouse(SwkJTextPane.java:594) at swank.SwkJTextPane.processMouseMotion(SwkJTextPane.java:502) at swank.SwkJTextPane$2.mouseMoved(SwkJTextPane.java:180) at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:266) at java.awt.Component.processMouseMotionEvent(Component.java:3751) at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:2294) at java.awt.Component.processEvent(Component.java:3543) at java.awt.Container.processEvent(Container.java:1159) at java.awt.Component.dispatchEventImpl(Component.java:2588) at java.awt.Container.dispatchEventImpl(Container.java:1208) at java.awt.Component.dispatchEvent(Component.java:2492) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2446) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2239) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2120) at java.awt.Container.dispatchEventImpl(Container.java:1195) at java.awt.Window.dispatchEventImpl(Window.java:921) at java.awt.Component.dispatchEvent(Component.java:2492) at java.awt.EventQueue.dispatchEvent(EventQueue.java:334) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:126) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:93) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:88) at java.awt.EventDispatchThread.run(EventDispatchThread.java:80) The "File" menu seems to work, "File->About..." brings up message dialog, "Ok" acknowledges the message; "File->Quit" exists script. ends the script. I continued widget testing by sourcing individual widget files: % source lable.tcl (ok) % source button.tcl (ok) % source check.tcl (ok) % source radio.tcl (ok) % source puzzle.tcl (ok) % source icon.tcl (ok) % source image1.tcl (ok) % source image2.tcl (dialog window loads, but clicking in "File:" listbox yields same java.lang.IllegalAccessError as above) % source states.tcl (ok) % source colors.tcl (dialog window loads, single clicks on listbox ok, double click yields java.lang.IllegalAccessError, mouse wheel scrolls listbox) % source sayings.tcl (ok) % source entry1.tcl (ok, text inserts work) % source entry2.tcl (ok, text inserts work, scrollbars work) % source form.tcl (ok, tabs between entry widgets work) % source text.tcl (ok, could not insert selected text with button2, ^C to copy, and ^V to paste works) % source style.tcl (ok) % source bind.tcl (dialog window loads, all mouse-overs yields java.lang.IllegalAccessError) % source twind.tcl (dialog window loads, several bind errors throwing java.lang.IllegalAccessError, no embedded windows) % source search.tcl (dialog window loads, load a file, enter search text, pressing 'Return' causes same bind error, no action when pressing "Highlight" button) % source items.tcl (dialog window appears, message "invalid option window" no action) % source plot.tcl (dialog window loads, same bind errors) % source ctext.tcl (dialog window loads, same bind errors) % source arrow.tcl (dialog window loads, same bind errors) % source ruler.tcl (dialog window loads, same bind errors) % source floor.tcl (dialog window loads, same bind errors) % source cscroll.tcl (ok) % source vscale.tcl (dialog window loads, error dialog "Error: invalid command name ".vscale.frame.canvas", slider appears to work.) % source hscale.tcl (dialog window loads, content appears to be clipped, resizing window makes most of it appears, slider works) % source menu.tcl (menus seem to work, although many have no action, cascade menus work) % source menubu.tcl (dialog window loads, menubutton works, but error bad option ".menubutton.body.below": must be bbox, columnconfigure, configure, forget, info, location, propagate, rowconfigure, remove, size, or slaves % source msgbox.tcl (ok) % source filebox.tcl (ok, file dialogs work) % source clrpick.tcl (dialog window loads, color dialogs work, but pressing "Ok" on color dialog causes bind error java.lang.IllegalAccessError:, color is set) % source bitmap.tcl (ok) % source dialog1.tcl (ok, didn't test local grab) % source dialog2.tcl (ok, didn't test global grab) ------------------------------------------------------------------------------ Bug #3: Rebuilding from source, unable to recompile: $ configure --with-tcljava=/home/tpoindex/src/java/tcljava creating cache ./config.cache srcdir is /home/tpoindex/src/java/swank1.0 ./configure: -ms5m: command not found ./configure: -Xrunjdwp:transport=dt_socket,address=8757,server=y,suspend=n: command not found updating cache ./config.cache creating ./config.status creating Makefile $ make rm -rf /home/tpoindex/src/java/swank1.0/build mkdir /home/tpoindex/src/java/swank1.0/build mkdir /home/tpoindex/src/java/swank1.0/build/swank mkdir /home/tpoindex/src/java/swank1.0/build/swank/library mkdir /home/tpoindex/src/java/swank1.0/build/swank/library/images CLASSPATH=/home/tpoindex/src/java/swank1.0/build:/usr/local/java/jre/lib/rt.jar:/home/tpoindex/src/java/tcljava/btests:/home/tpoindex/src/java/tcljava/jacl.jar:/home/tpoindex/src/java/tcljava/tcljava.jar \ /usr/local/java/bin/javac -g -J-mx35M -d /home/tpoindex/src/java/swank1.0/build /home/tpoindex/src/java/swank1.0/swank/BellCmd.java /home/tpoindex/src/java/swank1.0/swank/BindCmd.java /home/tpoindex/src/java/swank1.0/swank/DestroyCmd.java (....) ank1.0/swank/canvas/SwkSymbols.java /home/tpoindex/src/java/swank1.0/swank/print/PrintCmd.java /home/tpoindex/src/java/swank1.0/swank/print/PrintExt.java /home/tpoindex/src/java/swank1.0/tcl/lang/AWTTclEvent.java /home/tpoindex/src/java/swank1.0/tcl/lang/Notifier.java /home/tpoindex/src/java/swank1.0/tcl/lang/SwkShell.java /home/tpoindex/src/java/swank1.0/swank/BindCmd.java:357: allowExceptions() is not public in tcl.lang.Interp; cannot be accessed from outside package interp.allowExceptions(); ^ /home/tpoindex/src/java/swank1.0/swank/BindCmd.java:372: OK is not public in tcl.lang.TCL; cannot be accessed from outside package return TCL.OK; ^ /home/tpoindex/src/java/swank1.0/swank/BindCmd.java:435: allowExceptions() is not public in tcl.lang.Interp; cannot be accessed from outside package interp.allowExceptions(); ^ /home/tpoindex/src/java/swank1.0/swank/BindCmd.java:449: OK is not public in tcl.lang.TCL; cannot be accessed from outside package return TCL.OK; ^ /home/tpoindex/src/java/swank1.0/swank/SwkTableModel.java:294: allowExceptions() is not public in tcl.lang.Interp; cannot be accessed from outside package interp.allowExceptions(); ^ /home/tpoindex/src/java/swank1.0/swank/SwkTableModel.java:306: OK is not public in tcl.lang.TCL; cannot be accessed from outside package return TCL.OK; ^ /home/tpoindex/src/java/swank1.0/swank/SwkCell.java:163: OK is not public in tcl.lang.TCL; cannot be accessed from outside package return TCL.OK; ^ 7 errors make: *** [swank.jar] Error 1 ------------------------------------------------------------------------------ Other general observations: - tk_messageBox - message text does not wrap without explicit \n characters - widget demo scrolls text box to bottom ----------------------------------------------------------------------------- Update, based on your message about binding problems: -changed Jacl Interp.allowExceptions() to public -changed TclJava TCL.OK to public Jacl recompiled, Swank now compiles, bindings work. |