diff --git a/processing/app/PdeEditor.java b/processing/app/PdeEditor.java index 3f6c336a6..e2793c92f 100644 --- a/processing/app/PdeEditor.java +++ b/processing/app/PdeEditor.java @@ -1776,16 +1776,40 @@ public class PdeEditor extends JFrame public void error(Exception e) { - status.error(e.getMessage()); + //System.out.println("ERORROOROROR 1"); + //status.error(e.getMessage()); + + // not sure if any RuntimeExceptions will actually arrive + // through here, but gonna check for em just in case. + String mess = e.getMessage(); + //System.out.println("MESSY: " + mess); + String rxString = "RuntimeException: "; + if (mess.indexOf(rxString) == 0) { + mess = mess.substring(rxString.length()); + //System.out.println("MESS2: " + mess); + } + status.error(mess); + e.printStackTrace(); } public void error(PdeException e) { + //System.out.println("ERORROOROROR 2"); if (e.file >= 0) sketch.setCurrent(e.file); if (e.line >= 0) highlightLine(e.line); - status.error(e.getMessage()); + // remove the RuntimeException: message since it's not + // really all that useful to the user + //status.error(e.getMessage()); + String mess = e.getMessage(); + String rxString = "RuntimeException: "; + if (mess.indexOf(rxString) == 0) { + mess = mess.substring(rxString.length()); + //System.out.println("MESS3: " + mess); + } + status.error(mess); + buttons.clearRun(); } diff --git a/processing/app/PdeMessageSiphon.java b/processing/app/PdeMessageSiphon.java index 5b90368b3..61d4d80e6 100644 --- a/processing/app/PdeMessageSiphon.java +++ b/processing/app/PdeMessageSiphon.java @@ -51,6 +51,7 @@ class PdeMessageSiphon implements Runnable { // String currentLine; while ((currentLine = streamReader.readLine()) != null) { + // \n is added again because readLine() strips it out consumer.message(currentLine + "\n"); } thread = null; diff --git a/processing/app/PdeRuntime.java b/processing/app/PdeRuntime.java index fbc8ca1d5..094456dde 100644 --- a/processing/app/PdeRuntime.java +++ b/processing/app/PdeRuntime.java @@ -362,7 +362,9 @@ public class PdeRuntime implements PdeMessageConsumer { public void message(String s) { + if (s.trim().length() == 0) return; //System.out.println("M" + s.length() + ":" + s); + // this is PApplet sending a message (via System.out.println) // that signals that the applet has been quit. if (s.indexOf(PApplet.EXTERNAL_QUIT) == 0) { diff --git a/processing/build/shared/revisions.txt b/processing/build/shared/revisions.txt index 2e833c1b3..b90947cf1 100644 --- a/processing/build/shared/revisions.txt +++ b/processing/build/shared/revisions.txt @@ -135,6 +135,13 @@ ide fun - forgot to mention in rev 75 that double-clicking a .pde file on the mac will now launch processing with that sketch running +- i've replaced the cvs version of jikes that we'd been using with + jikes 1.22, a real release, and the very latest. it's only 2 or 3MB + (instead of 8 or 9MB) and crashes much less. yay! the reason we can + make the switch is that 1.22 supports -target 1.1 again (it had + disappeared in some of the previous releases, and it's absolutely + essential for p5). + bugs diff --git a/processing/todo.txt b/processing/todo.txt index ad74be58c..4afeefde8 100644 --- a/processing/todo.txt +++ b/processing/todo.txt @@ -12,6 +12,7 @@ X (same as applet exporter function) o when using core graphics, don't show applet frame until first frame o (in opengl, open frame early, make sure this isn't inhibited) X probably can't do this, since don't know at runtime if it's gl +X RuntimeException create a new sketch create a new tab named "a"