diff --git a/app/src/processing/app/Language.java b/app/src/processing/app/Language.java index ad651c6ba..4c9476729 100644 --- a/app/src/processing/app/Language.java +++ b/app/src/processing/app/Language.java @@ -300,6 +300,11 @@ public class Language { if (equals != -1) { String key = line.substring(0, equals).trim(); String value = line.substring(equals + 1).trim(); + + // fix \n and \' + value = value.replaceAll("\\\\n", "\n"); + value = value.replaceAll("\\\\'", "'"); + table.put(key, value); } } diff --git a/app/src/processing/app/syntax/PdeKeywords.java b/app/src/processing/app/syntax/PdeKeywords.java index 8d8b60b23..c726a19b8 100644 --- a/app/src/processing/app/syntax/PdeKeywords.java +++ b/app/src/processing/app/syntax/PdeKeywords.java @@ -50,13 +50,24 @@ public class PdeKeywords extends TokenMarker { int num = coloring.charAt(coloring.length() - 1) - '1'; // byte id = (byte) ((isKey ? Token.KEYWORD1 : Token.LITERAL1) + num); int id = 0; - boolean paren = false; switch (coloring.charAt(0)) { - case 'K': id = Token.KEYWORD1 + num; break; - case 'L': id = Token.LITERAL1 + num; break; - case 'F': id = Token.FUNCTION1 + num; paren = true; break; + case 'K': + id = Token.KEYWORD1 + num; + keywordColoring.add(keyword, (byte) id, false); + if (id == Token.KEYWORD6) { + // these can be followed by parens + keywordColoring.add(keyword, (byte) id, true); + } + break; + case 'L': + id = Token.LITERAL1 + num; + keywordColoring.add(keyword, (byte) id, false); + break; + case 'F': + id = Token.FUNCTION1 + num; + keywordColoring.add(keyword, (byte) id, true); + break; } - keywordColoring.add(keyword, (byte) id, paren); } diff --git a/app/src/processing/app/syntax/PdeTextAreaDefaults.java b/app/src/processing/app/syntax/PdeTextAreaDefaults.java index 33427f864..e375881ed 100644 --- a/app/src/processing/app/syntax/PdeTextAreaDefaults.java +++ b/app/src/processing/app/syntax/PdeTextAreaDefaults.java @@ -215,6 +215,7 @@ public class PdeTextAreaDefaults extends TextAreaDefaults { styles[Token.KEYWORD3] = mode.getStyle("keyword3"); styles[Token.KEYWORD4] = mode.getStyle("keyword4"); styles[Token.KEYWORD5] = mode.getStyle("keyword5"); + styles[Token.KEYWORD6] = mode.getStyle("keyword6"); styles[Token.FUNCTION1] = mode.getStyle("function1"); styles[Token.FUNCTION2] = mode.getStyle("function2"); diff --git a/app/src/processing/app/syntax/Token.java b/app/src/processing/app/syntax/Token.java index e037e55f7..0083ff3df 100644 --- a/app/src/processing/app/syntax/Token.java +++ b/app/src/processing/app/syntax/Token.java @@ -56,32 +56,35 @@ public class Token { /** Datatypes (int, boolean, etc.) */ public static final byte KEYWORD5 = 10; + + /** Keywords which can be followed by parenthesis */ + public static final byte KEYWORD6 = 11; /** Functions */ - public static final byte FUNCTION1 = 11; + public static final byte FUNCTION1 = 12; /** Methods (functions inside a class) */ - public static final byte FUNCTION2 = 12; + public static final byte FUNCTION2 = 13; /** Loop/function-like blocks (for, while, etc.) */ - public static final byte FUNCTION3 = 13; + public static final byte FUNCTION3 = 14; /** Built-in Processing functions (setup, draw, mouseDragged). */ - public static final byte FUNCTION4 = 14; + public static final byte FUNCTION4 = 15; /** * Operator token id. This can be used to mark an * operator. (eg, SQL mode marks +, -, etc with this * token type) */ - public static final byte OPERATOR = 15; + public static final byte OPERATOR = 16; /** * Invalid token id. This can be used to mark invalid * or incomplete tokens, so the user can easily spot * syntax errors. */ - public static final byte INVALID = 16; + public static final byte INVALID = 17; /** The total number of defined token ids. */ public static final byte ID_COUNT = INVALID + 1; diff --git a/build/build.xml b/build/build.xml index ca4ebccd2..0e98bff88 100755 --- a/build/build.xml +++ b/build/build.xml @@ -34,13 +34,25 @@ + + + + + + - + - + + + + + @@ -154,13 +166,13 @@ - - + + message="JDK ${jdk.stuff} required.${line.separator}To build on OS X, you must install Oracle's JDK ${jdk.stuff} from${line.separator}http://www.oracle.com/technetwork/java/javase/downloads${line.separator}or http://download.processing.org/java/${jdk.file}${line.separator}Note that only ${jdk.stuff} (not a later or earlier version) will work. ${line.separator}And it must be the JDK, not the JRE. And do not try to defy me again." /> - + @@ -488,7 +500,7 @@ - + @@ -543,7 +555,7 @@ - + @@ -649,12 +661,7 @@ - - - @@ -687,10 +694,10 @@ - + - + @@ -820,7 +827,7 @@ - @@ -833,7 +840,8 @@ dest="windows/work" src="windows/jre.tgz" overwrite="false" /> - + diff --git a/build/shared/lib/defaults.txt b/build/shared/lib/defaults.txt index 5b8928628..d8ae69110 100644 --- a/build/shared/lib/defaults.txt +++ b/build/shared/lib/defaults.txt @@ -248,6 +248,7 @@ editor.token.keyword2.style = #33997e,plain editor.token.keyword3.style = #669900,plain editor.token.keyword4.style = #d94a7a,plain editor.token.keyword5.style = #e2661a,plain +editor.token.keyword6.style = #33997e,plain editor.token.literal1.style = #7D4793,plain editor.token.literal2.style = #718a62,plain diff --git a/build/shared/revisions.txt b/build/shared/revisions.txt index d297af2a1..6387798ef 100644 --- a/build/shared/revisions.txt +++ b/build/shared/revisions.txt @@ -1,3 +1,161 @@ +PROCESSING 3.0a5 (REV 0232) - 16 November 2014 + +Hello from the University of Denver! This release has tons of bug fixing +and incorporating various pull requests. + + +[ changes ] + ++ Removed the sound library, it's now available as its own library + from the Library Manager. + ++ Change how languages are loaded, adding a local override. + ++ Update to use JRE/JDK 7u72 . + ++ Implement the active() method for Serial and Server + https://github.com/processing/processing/issues/2364 + https://github.com/processing/processing/pull/2588 + ++ Detect CMYK JPEG images and return null + https://community.oracle.com/thread/1272045?start=0&tstart=0 + ++ Fix XML.getString() with a default when no attrs are present at all. + It was causing a NullPointerException; this also fixes getInt(), et al. + ++ Fix how dictionary classes return '0' for missing values. Add optional + second parameter so that it's possible to avoid the exceptions. + ++ Fix how nulls are handled with Table.replace() + ++ Add (simple) ODS writer to Table + ++ Add addRows(Table) method (more efficient, one resize) + ++ Support "header" option with ODS files + + +[ bug fixes ] + ++ Remove debug message printed to the console when the control key + is pressed, when using the new editor. + ++ size(640,360 , P3D) doesn't work properly (strange spacing) + https://github.com/processing/processing/issues/2924 + https://github.com/processing/processing/pull/2925 + ++ Fix the shortcut keybindings in editor tab popup menu + https://github.com/processing/processing/issues/179 + https://github.com/processing/processing/pull/2821 + ++ Fix for ToolTipManager error + https://github.com/processing/processing/issues/2926 + ++ Confusing message: The shader doesn't have a uniform called "foo" + https://github.com/processing/processing/issues/2593 + ++ Exceptions in P3D / P2D not showing up properly + https://github.com/processing/processing/issues/2930 + + +[ contributed fixes ] + ++ Cmd + H runs sketch instead of hiding the PDE (OS X) + https://github.com/processing/processing/issues/2881 + ++ Migrate to unsynchronized data structures + https://github.com/processing/processing/pull/2863 + ++ Improve contrib manager localization + https://github.com/processing/processing/pull/2870 + ++ Fix typo in spanish translation + https://github.com/processing/processing/pull/2906 + ++ Update ECJ, use 1.7 as source and target Java version + https://github.com/processing/processing/pull/2907 + ++ Fix infinite recursion in sound library + https://github.com/processing/processing/pull/2897 + ++ Add missing generic type parameters + https://github.com/processing/processing/pull/2899 + ++ Remove unused Base.builtOnce instance variable + https://github.com/processing/processing/pull/2864 + ++ Other miscellaneous fixes + https://github.com/processing/processing/pull/2865 + ++ Moved the language stuff to its own separate folder + https://github.com/processing/processing/pull/2941 + ++ Some minor UpdateChecker refactorings + https://github.com/processing/processing/pull/2830 + ++ Minor improvements to the Contribution Manager's updates check + https://github.com/processing/processing/pull/2861 + ++ Make Cut and Copy in the edit menu active only if some text is selected + https://github.com/processing/processing/pull/2834 + ++ Fix renaming from RGB to Rgb.java and others + https://github.com/processing/processing/pull/2825 + ++ Sketches should only write to the console of their editor window + https://github.com/processing/processing/issues/153 + https://github.com/processing/processing/issues/2858 + https://github.com/processing/processing/pull/2827 + ++ Extend translations and update German language + https://github.com/processing/processing/pull/2949 + ++ NullPointerException message when Server writes to a disconnected client + https://github.com/processing/processing/issues/2577 + https://github.com/processing/processing/pull/2578 + ++ Fix check in loadShader() + https://github.com/processing/processing/pull/2867 + ++ Refined PShader uniform missing message fixes + https://github.com/processing/processing/pull/2869 + ++ Use correct parameter types in FloatList methods + https://github.com/processing/processing/pull/2902 + ++ Pass correct offset to glCopyTexSubImage2D + https://github.com/processing/processing/pull/2898 + ++ beginShape(POINTS) not working for PShape + https://github.com/processing/processing/issues/2912 + https://github.com/processing/processing/pull/2915 + ++ Multiple blending fixes & improvements + https://github.com/processing/processing/pull/2921 + https://github.com/processing/processing/issues/2807 + https://github.com/processing/processing/issues/1224 + https://github.com/processing/processing/pull/2601 + https://github.com/processing/processing/issues/1844 + ++ Prevent lerpColor from always rounding down + https://github.com/processing/processing/issues/2812 + https://github.com/processing/processing/pull/2813 + ++ Allow mask() with PGraphicsJava2D + https://github.com/processing/processing/pull/2910 + ++ OpenGL renderers ignore vertex winding in contours + https://github.com/processing/processing/issues/2665 + https://github.com/processing/processing/pull/2927 + ++ 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 + + +. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + PROCESSING 3.0a4 (REV 0231) - 12 September 2014 Another release to deal with a handful of bugs found in the last alpha. diff --git a/core/src/processing/core/PApplet.java b/core/src/processing/core/PApplet.java index 2bd708810..ebe66d21a 100755 --- a/core/src/processing/core/PApplet.java +++ b/core/src/processing/core/PApplet.java @@ -281,7 +281,7 @@ public class PApplet extends Applet // public int displayY; /** - * ( begin auto-generated from screenWidth.xml ) + * ( begin auto-generated from displayWidth.xml ) * * System variable which stores the width of the computer screen. For * example, if the current screen resolution is 1024x768, @@ -299,11 +299,11 @@ public class PApplet extends Applet public int displayWidth; /** - * ( begin auto-generated from screenHeight.xml ) + * ( begin auto-generated from displayHeight.xml ) * * System variable that stores the height of the computer screen. For * example, if the current screen resolution is 1024x768, - * screenWidth is 1024 and screenHeight is 768. These + * displayWidth is 1024 and displayHeight is 768. These * dimensions are useful when exporting full-screen applications. *

* To ensure that the sketch takes over the entire screen, use "Present" diff --git a/core/todo.txt b/core/todo.txt index e961c2e5f..3f4072f98 100644 --- a/core/todo.txt +++ b/core/todo.txt @@ -2,9 +2,21 @@ X detect CMYK JPEG images and return null X https://community.oracle.com/thread/1272045?start=0&tstart=0 -python has to use launch() instead of open() -map() is bad for Python (and JavaScript?) +data +X fix XML.getString() with a default when no attrs are present at all +X was causing a NullPointerException +X also fixes getInt() et al +X fix how dict works to not return '0' values +X add optional second param +X fixed for FloatDict and IntDict +X StringDict won't throw an exception, but optional second param added +X add insert() with a single item to StringList, IntList, FloatList +table +X fix how nulls are handled with Table.replace() +X add (simple) ODS writer to Table +X add addRows(Table) method (more efficient, one resize) +X support "header" option with ODS files pulls X Fix check in loadShader() @@ -13,6 +25,20 @@ X Refined PShader uniform missing message fixes X https://github.com/processing/processing/pull/2869 X Use correct parameter types in FloatList methods X https://github.com/processing/processing/pull/2902 +X Pass correct offset to glCopyTexSubImage2D +X https://github.com/processing/processing/pull/2898 +X beginShape(POINTS) not working for PShape +X https://github.com/processing/processing/issues/2912 +X https://github.com/processing/processing/pull/2915 +X Multiple blending fixes & improvements +X https://github.com/processing/processing/pull/2921 +X https://github.com/processing/processing/issues/2807 +X https://github.com/processing/processing/issues/1224 +o https://github.com/processing/processing/pull/2601 +o Sort out blending differences with P2D/P3D +o might be that compatible images not setting alpha mode correctly +o image = gc.createCompatibleVolatileImage(source.width, source.height, Transparency.TRANSLUCENT); +o https://github.com/processing/processing/issues/1844 X Prevent lerpColor from always rounding down X https://github.com/processing/processing/issues/2812 X https://github.com/processing/processing/pull/2813 @@ -25,7 +51,6 @@ X NPE when calling Client.ip() after the connection has been closed X https://github.com/processing/processing/issues/2576 X https://github.com/processing/processing/pull/2922 - andres A Confusing message: The shader doesn't have a uniform called "foo" A https://github.com/processing/processing/issues/2593 @@ -33,6 +58,30 @@ A Exceptions in P3D / P2D not showing up properly A https://github.com/processing/processing/issues/2930 +0233 (3.0a6) + +graphics +X roll back full screen changes +X https://github.com/processing/processing/issues/2641 +X remove isGL(), is2D(), is3D(), displayable() from PApplet +X these were auto-imported from PGraphics +X remove pause variable from PApplet (was not documented) +X added copy() to PImage (to work like get(), ala PVector) + +_ remove sketch path hack from PApplet + +python has to use launch() instead of open() +map() is bad for Python (and JavaScript?) + +_ args[] should be null if none passed (otherwise args == null checks are weird) +_ size(640,360 , P3D) doesn't work properly +_ https://github.com/processing/processing/issues/2924 +_ why doesn't p5 punt when loadFont() is used on an otf? +_ is this a GL problem? + +_ show warning when display spanning is turned off +_ defaults read com.apple.spaces spans-displays + applet/component _ remove Applet as base class _ performance issues on OS X (might be threading due to Applet) @@ -47,8 +96,9 @@ _ make sure it works with retina/canvas/strategy as well processing.data -_ lots of 'data' changes down below -_ need a better method for "missing" data in Table +_ add fromOrder() and others? otherwise need temp object: +_ categoryIndexLookup = new StringList(flavors).getOrder(); +_ handling of 'missing' values in Table needs serious work _ if missing int is zero, can't just remove those values from saving a table _ but for NaN values, it's a necessity _ get() methods in List/Dict shouldn't allow you to get bad values @@ -68,6 +118,8 @@ _ the table pointer version will be speedy and allow chaining later _ bring back chaining in JSON (and add to XML) _ maybe once we make the PVector change +_ bezierSegment() function to do equal-length segments +_ https://github.com/processing/processing/issues/2919 high @@ -90,10 +142,6 @@ _ internally, we probably have to call set() if it's a 1 pixel point _ but that's going to be a mess.. need to first check the CTM _ tint() not working in PDF (regression between 2.0.3 and 2.1) _ https://github.com/processing/processing/issues/2428 -_ Sort out blending differences with P2D/P3D -_ might be that compatible images not setting alpha mode correctly -_ image = gc.createCompatibleVolatileImage(source.width, source.height, Transparency.TRANSLUCENT); -_ https://github.com/processing/processing/issues/1844 _ finish PFont.getShape() implementation _ needs to have a way to set width/height properly _ draw(s) doesn't work on the returned PShape diff --git a/java/keywords.txt b/java/keywords.txt index 31a83fb22..a47253175 100644 --- a/java/keywords.txt +++ b/java/keywords.txt @@ -180,9 +180,7 @@ WHITESPACE LITERAL2 # Java keywords (void, import, , etc.) abstract KEYWORD1 -assert KEYWORD1 break KEYWORD1 break -case KEYWORD1 case class KEYWORD1 class continue KEYWORD1 continue default KEYWORD1 default @@ -202,12 +200,8 @@ package KEYWORD1 private KEYWORD1 private protected KEYWORD1 public KEYWORD1 public -return KEYWORD1 return static KEYWORD1 static -strictfp KEYWORD1 -super KEYWORD1 super -this KEYWORD1 this -throw KEYWORD1 +strictfp KEYWORD1 throws KEYWORD1 transient KEYWORD1 true KEYWORD1 true @@ -215,6 +209,16 @@ void KEYWORD1 void volatile KEYWORD1 +# Java keywords which can be followed by a parenthesis + +assert KEYWORD6 +case KEYWORD6 case +return KEYWORD6 return +super KEYWORD6 super +this KEYWORD6 this +throw KEYWORD6 + + # Datatypes Array KEYWORD5 Array diff --git a/pdex/keywords.txt b/pdex/keywords.txt index a7f20baa2..c7fe84e88 100644 --- a/pdex/keywords.txt +++ b/pdex/keywords.txt @@ -180,9 +180,7 @@ WHITESPACE LITERAL2 # Java keywords (void, import, , etc.) abstract KEYWORD1 -assert KEYWORD1 break KEYWORD1 break -case KEYWORD1 case class KEYWORD1 class continue KEYWORD1 continue default KEYWORD1 default @@ -202,12 +200,8 @@ package KEYWORD1 private KEYWORD1 private protected KEYWORD1 public KEYWORD1 public -return KEYWORD1 return static KEYWORD1 static -strictfp KEYWORD1 -super KEYWORD1 super -this KEYWORD1 this -throw KEYWORD1 +strictfp KEYWORD1 throws KEYWORD1 transient KEYWORD1 true KEYWORD1 true @@ -215,6 +209,16 @@ void KEYWORD1 void volatile KEYWORD1 +# Java keywords which can be followed by a parenthesis + +assert KEYWORD6 +case KEYWORD6 case +return KEYWORD6 return +super KEYWORD6 super +this KEYWORD6 this +throw KEYWORD6 + + # Datatypes Array KEYWORD5 Array diff --git a/todo.txt b/todo.txt index e99447148..5cb26bcc6 100644 --- a/todo.txt +++ b/todo.txt @@ -1,5 +1,9 @@ 0232 pde (3.0a5) X remove debug message printed to the console when the ctrl key is down in PDE X +X size(640,360 , P3D) doesn't work properly +X https://github.com/processing/processing/issues/2924 +X https://github.com/processing/processing/pull/2925 +X remove sound library, have it installed separately like video X Fix the shortcut keybindings in editor tab popup menu X https://github.com/processing/processing/issues/179 X https://github.com/processing/processing/pull/2821 @@ -9,8 +13,7 @@ X change how languages are loaded X add local override (needs documentation) X figure out copyDir() problems before pull o moving window to a new location is broken due to the pull - -_ add script to download JRE and JDK from Oracle +X update to use new 7u72 version of JRE (and JDK) stuff manindra X ToolTipManager error @@ -23,6 +26,10 @@ X Migrate to unsynchronized data structures X https://github.com/processing/processing/pull/2863 X improve contrib manager localization X https://github.com/processing/processing/pull/2870 +X Fix typo in spanish translation +X https://github.com/processing/processing/pull/2906 +X Update ECJ, use 1.7 as source and target Java version +X https://github.com/processing/processing/pull/2907 X Fix infinite recursion in sound library X https://github.com/processing/processing/pull/2897 X Add missing generic type parameters @@ -45,6 +52,8 @@ X sketches should only write to the console of their editor window X https://github.com/processing/processing/issues/153 X https://github.com/processing/processing/issues/2858 X https://github.com/processing/processing/pull/2827 +X extend translations and update German language +X https://github.com/processing/processing/pull/2949 pulls (net) X NullPointerException message when Server writes to a disconnected client @@ -54,10 +63,23 @@ X Implement the active() method for Serial and Server X https://github.com/processing/processing/issues/2364 X https://github.com/processing/processing/pull/2588 + +0233 (3.0a6) + +_ any problems with new code signing crap? +_ issues raised around the symlink (just replace with a copy of the binary?) +_ https://developer.apple.com/library/prerelease/mac/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG205 + +_ add script to download JRE and JDK from Oracle + +_ post a note about the "help" stuff +_ https://github.com/processing/processing/labels/help + +_ finish Ant task to download JRE and JDK from Oracle +_ add method to prompt user to download the JDK update + _ Add support for localizing contributions _ https://github.com/processing/processing/pull/2833 -_ Fix renaming from RGB to Rgb.java and others -_ https://github.com/processing/processing/pull/2825 _ check on pull for mnemonics _ https://github.com/processing/processing/pull/2382 @@ -71,9 +93,14 @@ _ https://github.com/processing/processing/issues/2698 _ might be something with libraries (native or otherwise) _ move the language stuff to the settings folder _ that way people can modify and test w/o recompiling +_ https://github.com/processing/processing/issues/2938 +_ sketchbook window doesn't update when sketches are added, renamed, etc +_ https://github.com/processing/processing/issues/2944 pending +_ bug in getCaretLocation of CompositionTextPainter class +_ https://github.com/processing/processing/issues/2934 _ look at the sound library https://github.com/wirsing/ProcessingSound _ sound is not yet supported on Windows _ make reference build process part of dist