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