diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java index 19e32e6a9..cbff55d45 100644 --- a/app/src/processing/app/Base.java +++ b/app/src/processing/app/Base.java @@ -2207,7 +2207,7 @@ public class Base { // This works for Windows, Linux, and Apple's Java 6 on OS X. processingRoot = jarFolder.getParentFile(); } else if (Base.isMacOS()) { - // This works for Java 8 on OS X. We don't have things inside a 'lib' + // This works for Java 8 on OS X. We don't have things inside a 'lib' // folder on OS X. Adding it caused more problems than it was worth. processingRoot = jarFolder; } @@ -2266,9 +2266,9 @@ public class Base { static public InputStream getLibStream(String filename) throws IOException { return new FileInputStream(getLibFile(filename)); } - - - // Note: getLibImage() has moved to Toolkit + + + // Note: getLibImage() has moved to Toolkit // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @@ -2314,7 +2314,7 @@ public class Base { */ static public Map readSettings(File inputFile) { if (!inputFile.exists()) { - System.err.println(inputFile + " does not exist."); + if (DEBUG) System.err.println(inputFile + " does not exist."); return null; } String lines[] = PApplet.loadStrings(inputFile); @@ -2333,7 +2333,7 @@ public class Base { * In 3.0a6, no longer taking a blank HahMap as param; no cases in the main * PDE code of adding to a (Hash)Map. Also returning the Map instead of void. * Both changes modify the method signature, but this was only used by the - * contrib classes. + * contrib classes. */ static public Map readSettings(String filename, String[] lines) { Map settings = new HashMap<>(); @@ -2405,7 +2405,7 @@ public class Base { try { // fix from cjwant to prevent symlinks from being destroyed. File canon = file.getCanonicalFile(); - // assign the var as second step since previous line may throw exception + // assign the var as second step since previous line may throw exception file = canon; } catch (IOException e) { throw new IOException("Could not resolve canonical representation of " + @@ -2419,7 +2419,7 @@ public class Base { if (error) { throw new IOException("Error while trying to save " + file); } - + // remove the old file before renaming the temp file if (file.exists()) { boolean result = file.delete(); @@ -2430,7 +2430,7 @@ public class Base { } boolean result = temp.renameTo(file); if (!result) { - throw new IOException("Could not replace " + file.getAbsolutePath() + + throw new IOException("Could not replace " + file.getAbsolutePath() + " with " + temp.getAbsolutePath()); } } @@ -2879,8 +2879,8 @@ public class Base { e.printStackTrace(); } } - - + + static public void loge(String message) { if (DEBUG) { System.out.println(message); diff --git a/app/src/processing/app/Library.java b/app/src/processing/app/Library.java index 678738650..ccfb31278 100644 --- a/app/src/processing/app/Library.java +++ b/app/src/processing/app/Library.java @@ -113,10 +113,8 @@ public class Library extends LocalContribution { referenceFile = new File(folder, "reference/index.html"); File exportSettings = new File(libraryFolder, "export.txt"); - Map exportTable = Base.readSettings(exportSettings); - if (exportTable == null) { - exportTable = new HashMap<>(); // need an empty table below - } + Map exportTable = exportSettings.exists() ? + Base.readSettings(exportSettings) : new HashMap(); exportList = new HashMap(); diff --git a/app/src/processing/app/Mode.java b/app/src/processing/app/Mode.java index e4f50af68..d3c3f2036 100644 --- a/app/src/processing/app/Mode.java +++ b/app/src/processing/app/Mode.java @@ -312,6 +312,7 @@ public abstract class Mode { public void rebuildLibraryList() { + //new Exception("Rebuilding library list").printStackTrace(System.out); // reset the table mapping imports to libraries importToLibraryTable = new HashMap>(); diff --git a/build/shared/revisions.txt b/build/shared/revisions.txt index 3ff4e1e29..6cae89bab 100644 --- a/build/shared/revisions.txt +++ b/build/shared/revisions.txt @@ -1,3 +1,259 @@ +PROCESSING 3.0a6 (REV 0233) - XX April 2015 + +This is the big one! We've jettisoned PApplet as the base class so that +we can improve performance, reduce flicker, and have a better base from +which to build better, more modern graphics rendering. More of the +gory details for the PApplet/PGraphics changes can be found here: +https://github.com/processing/processing/tree/master/core + +Speaking of breaking things, we're on the road to a new GUI as well: +https://github.com/processing/processing/issues/3072 +and that means all Modes and some Tools will need to be updated: +https://github.com/processing/processing/issues/3080 + +We've also made major changes to better integrate PDE X, Tweak Mode, +and other nice features for the default "Java" Mode. These will be the +center of the changes for 3.x, which is focused on improving the editing +and debugging experience in general. + +Suffice to say, this is truly an ALPHA quality release. We're pushing it +out so that we can get more people testing it. If you want something more +stable, we recommend 3.0a5 (not 2.2.1, that thing is old!) + + +[ known issues ] + +The full list is here: https://github.com/processing/processing/issues/ +but a few that you might be likely to run across: + ++ install/remove buttons not working in the managers + https://github.com/processing/processing/issues/3172 + ++ static mode - no setup() / draw() - broken in OpenGL + https://github.com/processing/processing/issues/3163 + ++ sketch window is not placed at correct location when running a second time + https://github.com/processing/processing/issues/3125 + + +[ general fixes and changes ] + ++ Merge experimental into the main Java mode, move Java Mode to its own area + ++ Deal with ctrl-alt-n regression + https://github.com/processing/processing/issues/2979 + ++ Don't add a ^M to files when writing + https://github.com/processing/processing/issues/3014 + ++ Add more bulletproofing to the save process + https://github.com/processing/processing/issues/2923 + ++ Text improvements for retina displays on OS X + ++ Menu mnemonics (alt-f, etc) getting typed into the editor + https://github.com/processing/processing/issues/3057 + ++ Opening and closing preferences window prompts user to save unmodified sketch + https://github.com/processing/processing/issues/3074 + ++ Internal fixes and cleanups to TweakMode + https://github.com/processing/processing/issues/2799 + ++ Implement line numbers in the editor + https://github.com/processing/processing/issues/3128 + ++ Run button w/ debugger shouldn't require "continue" before actually starting + https://github.com/processing/processing/issues/3096 + ++ Change how platform-specific preferences are handled + ++ Auto-insert after ANTLR @SuppressWarnings({ "unused", "unchecked", "cast" }) + ++ "Your sketch has been modified externally" appearing on OS X + https://github.com/processing/processing/issues/2852 + ++ Make sure the JRE downloads correctly before renaming + https://github.com/processing/processing/issues/2960 + ++ Update build scripts for Windows and Linux to use JRE downloader Ant Task + https://github.com/processing/processing/issues/3059 + ++ Moved to Java 8 because Java 7 will be discontinued + http://www.oracle.com/technetwork/java/javase/eol-135779.html + Requires Vista SP2 (let's just say 7), OS X 10.8.3, and Ubuntu 12.04 + ++ Update ECJ for Java 8 change + http://download.eclipse.org/eclipse/downloads/drops4/R-4.4.1-201409250400/ + ++ Update to launch4j 3.6 + http://sourceforge.net/projects/launch4j/files/launch4j-3/3.6/ + + +[ fixed earlier, not mentioned in revisions.txt ] + ++ Move import suggestion to errors console + https://github.com/processing/processing/issues/2947 + ++ Server.stop() produces an error: java.net.SocketException: socket closed + https://github.com/processing/processing/issues/74 + https://github.com/processing/processing/pull/2474 + ++ NPE when calling Client.ip() after the connection has been closed + https://github.com/processing/processing/issues/2576 + https://github.com/processing/processing/pull/2922 + + +[ who loves pull requests? I do. ] + ++ Splash screen for Linux + https://github.com/processing/processing/pull/3005 + ++ Pressing PgDn in a code without scrollbar gives Exception + https://github.com/processing/processing/issues/2990 + ++ Add mnemonics for menus (alt-f to open 'file') + https://github.com/processing/processing/issues/51 + https://github.com/processing/processing/pull/2382 + ++ getCaretLocation() bug in syntax.im package + https://github.com/processing/processing/issues/2934 + ++ Finish up debian package support + https://github.com/processing/processing/issues/114 + https://github.com/processing/processing/pull/2972 + https://github.com/processing/processing/issues/2973 + https://github.com/processing/processing/pull/2974 + ++ Replace ColorChooser PApplets with custom Swing components + https://github.com/processing/processing/pull/2975 + ++ Fix encodings, line endings, and mime types in the repo + https://github.com/processing/processing/issues/2955 + https://github.com/processing/processing/pull/2978 + https://github.com/processing/processing/pull/2977 + ++ Add control for dependencies (i.e. svg needs xml), needed for export + https://github.com/processing/processing/issues/109 + https://github.com/processing/processing/pull/3010 + ++ Lots of Auto Format fixes + https://github.com/processing/processing/pull/3002 + https://github.com/processing/processing/issues/2540 + https://github.com/processing/processing/issues/1041 + ++ Update name of sketch in the "Recent" menu + https://github.com/processing/processing/issues/2984 + https://github.com/processing/processing/pull/3046 + ++ File change detection rewrite + https://github.com/processing/processing/pull/3048 + https://github.com/processing/processing/pull/3070 + ++ Broken Windows build due to launch4j .jar not updated + https://github.com/processing/processing/issues/3062 + https://github.com/processing/processing/pull/3066 + ++ Exported Linux sketches must be run from the sketch folder + https://github.com/processing/processing/issues/1046 + https://github.com/processing/processing/pull/3083 + ++ processing.net.Server only cleans up internal Clients when trying to write + https://github.com/processing/processing/issues/3089 + https://github.com/processing/processing/pull/3097 + ++ Display download percentage when fetching contribution info + https://github.com/processing/processing/pull/3161 + ++ Recreating Client instance will cause an out-of-memory error + https://github.com/processing/processing/issues/1400 + https://github.com/processing/processing/pull/3088 + ++ Greek translation and new fonts + https://github.com/processing/processing/pull/3025 + ++ Show tooltip when hovering over errors + https://github.com/processing/processing/pull/3119 + ++ Fix multi-touch horizontal scrolling on OS X + https://github.com/processing/processing/pull/3170 + https://github.com/processing/processing/issues/180 + ++ Refactor examples manager window + https://github.com/processing/processing/issues/3133 + https://github.com/processing/processing/pull/3177 + ++ Fix ColorChooser cursor + https://github.com/processing/processing/pull/3186 + ++ Improve Spanish localization + https://github.com/processing/processing/pull/3185 + ++ Internationalization of editor error messages and Greek translations + https://github.com/processing/processing/pull/3189 + ++ Improve internationalization and localization in Greek + https://github.com/processing/processing/pull/3197 + + +[ pulls from Joel ] + +X Add reference for installed tools and libraries to the Help menu +X https://github.com/processing/processing/issues/943 +X https://github.com/processing/processing/pull/2804 +X examples.properties file missing prevents startup +X https://github.com/processing/processing/issues/3037 +X https://github.com/processing/processing/pull/3047 +X several new French translations +X https://github.com/processing/processing/pull/3061 +X contributions.txt now gets deleted and recreated instead of overwritten +X https://github.com/processing/processing/pull/3073 +X https://github.com/processing/processing/issues/2994 +X Contrib Manager does not stop parsing contribs.txt if an error exists +X https://github.com/processing/processing/pull/3132 +X offer to install libraries imported libraries that are not available +X https://github.com/processing/processing/pull/3155 +X https://github.com/processing/processing/issues/2566 +X make fatal errors terminate the pde +X https://github.com/processing/processing/issues/3068 +X https://github.com/processing/processing/pull/3069 +X Java 8 method replace() used, removed +X https://github.com/processing/processing/issues/3168 +X https://github.com/processing/processing/pull/3169 +X Closing a few unclosed BufferedReaders and InputStreams +X https://github.com/processing/processing/pull/2961 + +manindra +X Fix for "Probably a ++ should go here" messages +X https://github.com/processing/processing/issues/2956 +X Missing opening curly bracket error +X https://github.com/processing/processing/issues/3104 +X missing parenthesis error message +X https://github.com/processing/processing/issues/3103 + +akarshit +X rewrite preferences window to use proper layout +X https://github.com/processing/processing/issues/67 +X https://github.com/processing/processing/issues/2708 +X https://github.com/processing/processing/issues/2986 +X Find/Replace dialog uses GroupLayout +X https://github.com/processing/processing/pull/3190 +X https://github.com/processing/processing/pull/3131 +X issues with cut/copy shortcuts not working +X https://github.com/processing/processing/pull/3138 +X https://github.com/processing/processing/issues/3136 +X https://github.com/processing/processing/issues/3107 +X IllegalArgumentException when clicking between editor windows +X https://github.com/processing/processing/issues/2530 +X https://github.com/processing/processing/pull/3101 +X Newline after a very long line moves the visible area right +X https://github.com/processing/processing/issues/3148 +X https://github.com/processing/processing/pull/3196 + + +. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + PROCESSING 3.0a5 (REV 0232) - 16 November 2014 Hello from the University of Denver! I'm here with Casey, Dan, Andres, diff --git a/core/todo.txt b/core/todo.txt index 0039ed2d3..be480cd11 100644 --- a/core/todo.txt +++ b/core/todo.txt @@ -23,16 +23,8 @@ X https://github.com/processing/processing/issues/3113 X performance issues on OS X (might be threading due to Applet) X https://github.com/processing/processing/issues/2423 X can't fix, it's all Oracle stuff - -showstoppers -_ static mode - no setup() / draw() - broken in OpenGL -_ https://github.com/processing/processing/issues/3163 - -high priority -_ sketch window is not placed at correct location when running a second time -_ https://github.com/processing/processing/issues/3125 -_ present mode is 30-40% slower than windowed -_ w/ this example: https://github.com/processing/processing/issues/2423 +X remove sketch path hack from PApplet +X this may cause Linux issues, but we need to solve that properly head X Sketch window dimensions off in Java2D @@ -128,6 +120,14 @@ X Linux throwing IllegalStateException: Buffers have not been created X in render() (called from blit) PSurfaceAWT:301 +high priority +_ static mode - no setup() / draw() - broken in OpenGL +_ https://github.com/processing/processing/issues/3163 +_ sketch window is not placed at correct location when running a second time +_ https://github.com/processing/processing/issues/3125 + + +rendering/performance/surface _ remove setTitle() etc methods from PSurface, just use the ones from Frame? _ and with that, encourage the use of the dummy frame object in renderers o destroy() removed, but bring back? is that better than dispose()? @@ -142,15 +142,14 @@ _ split 'present' and 'full screen'? _ --full-screen causes considerable flicker at this point _ or split them when sketchWidth/Height are implemented? _ check on performance of the new EDT setup - - -rendering performance _ can't do version that draws to BufferStrategy directly _ pixel operations (get/set/loadPixels/saveFrame) might be fixable _ but can't re-run draw() to re-blit the screen _ because we don't split calc() and draw() _ even with the split, handleDraw() might need to live in PSurface _ add calc() option? this could ease transition +_ present mode is 30-40% slower than windowed +_ w/ this example: https://github.com/processing/processing/issues/2423 opengl misc @@ -166,7 +165,6 @@ applet/sketch _ clean up requestFocus() stuff _ make sure it works with retina/canvas/strategy as well _ requestFocus() method probably needs to be added to PApplet -_ remove sketch path hack from PApplet _ args[] should be null if none passed (otherwise args == null checks are weird) diff --git a/todo.txt b/todo.txt index ea9ee5b4f..df5f1d18f 100644 --- a/todo.txt +++ b/todo.txt @@ -3,8 +3,6 @@ X post a note about the "help" stuff X https://github.com/processing/processing/labels/help X Deal with ctrl-alt-n regression X https://github.com/processing/processing/issues/2979 -X splash screen for Linux -X https://github.com/processing/processing/pull/3005 X don't add a ^M to files when writing X https://github.com/processing/processing/issues/3014 X add more bulletproofing to the save process @@ -34,13 +32,9 @@ X window contents are cropped off X "Your sketch has been modified externally" appear without reason X fix file change detection on OS X X https://github.com/processing/processing/issues/2852 - -_ editor window draws in stages (at least on OS X) on first view -_ the console/bottom area stays white until an additional repaint? X is debug turned on? lots of "export.txt" complaints -_ remove export.txt complaints when loading libraries -_ install/remove buttons not working in the managers -_ https://github.com/processing/processing/issues/3172 +X remove export.txt complaints when loading libraries +X was because of the readSettings() change integration of pdex/debug o make the tabs have a default minimum size @@ -145,6 +139,8 @@ X https://github.com/processing/processing/issues/3148 X https://github.com/processing/processing/pull/3196 pulls +X splash screen for Linux +X https://github.com/processing/processing/pull/3005 X add mnemonics for menus (alt-f to open 'file') X http://code.google.com/p/processing/issues/detail?id=12 X https://github.com/processing/processing/issues/51 @@ -212,12 +208,19 @@ X https://github.com/processing/processing/pull/3189 X improve internationalization and localization in greek X https://github.com/processing/processing/pull/3197 + +3.0a6 +_ install/remove buttons not working in the managers +_ https://github.com/processing/processing/issues/3172 + + 3.0a7 _ finish adding 'examples' contribs _ https://github.com/processing/processing/issues/2953 _ don't return here, allow contrib types to fail: _ https://github.com/processing/processing/blob/master/app/src/processing/app/contrib/ContributionListing.java#L509 + pdex _ fix hasJavaTabs() function _ almost always used as a negative, or tied to a 'return' from fxn @@ -241,11 +244,17 @@ _ do the right thing on passing around List vs ArrayList and others gui _ finish the gui _ https://github.com/processing/processing/issues/3072 -_ fonts are still really ugly +_ editor window draws in stages (at least on OS X) on first view +_ the console/bottom area stays white until an additional repaint? +_ fonts are still really ugly (on non-retina) _ may need to drop use of Source Sans _ what do these do, and are we doing it already? _ System.setProperty("awt.useSystemAAFontSettings","on"); _ System.setProperty("swing.aatext", "true"); +_ how are we going to handle fonts for other languages? +_ two new fonts have been added, other languages will need more +_ need a decent sans with with Unicode coverage +_ i.e. https://github.com/processing/processing/pull/3025 _ large window places the debugger window offscreen _ https://github.com/processing/processing/issues/3091 _ need 'actively pressed' version of 'play' and 'stop' @@ -258,12 +267,8 @@ _ using svg images for res-indep icons/gui _ http://stackoverflow.com/questions/2495501/swing-batik-create-an-imageicon-from-an-svg-file -pde +pde/build _ add build.xml prompt for OS X developers to download the JDK update -_ how are we going to handle fonts for other languages? -_ two new fonts have been added, other languages will need more -_ need a decent sans with with Unicode coverage -_ i.e. https://github.com/processing/processing/pull/3025 _ make examples pull/build automatic during dist _ dist needs to do a git pull on processing-docs _ make reference build process part of dist @@ -300,6 +305,9 @@ _ search the source for 'applet' references (i.e. SVG docs) sketchbook +_ Mode.rebuildLibraryList() called too many times on startup? +_ and when sketches saved as well? +_ makes saving *really* slow with a lot of libraries _ need to handle the 2.x to 3.x sketchbook transition _ New/Rename/Save As is reloading the whole sketchbook, argh _ sketchbook window is completely empty w/ no sketches