Revision: 20393 http://sourceforge.net/p/jmol/code/20393 Author: hansonr Date: 2015-03-19 23:41:19 +0000 (Thu, 19 Mar 2015) Log Message: ----------- Jmol.___JmolVersion="14.3.13_2015.03.20"
bug fix: use of {*}.xxxx = for(i;{*};....) fails Modified Paths: -------------- trunk/Jmol/src/org/jmol/modelset/AtomCollection.java trunk/Jmol/src/org/jmol/script/ScriptExpr.java trunk/Jmol/src/org/jmol/script/ScriptManager.java trunk/Jmol/src/org/jmol/script/ScriptMathProcessor.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties trunk/Jmol/src/org/jmol/viewer/Viewer.java Modified: trunk/Jmol/src/org/jmol/modelset/AtomCollection.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/AtomCollection.java 2015-03-19 21:49:23 UTC (rev 20392) +++ trunk/Jmol/src/org/jmol/modelset/AtomCollection.java 2015-03-19 23:41:19 UTC (rev 20393) @@ -672,7 +672,7 @@ break; default: Logger.error("unsettable atom property: " + T.nameOf(tok)); - break; + return; } } switch (tok) { Modified: trunk/Jmol/src/org/jmol/script/ScriptExpr.java =================================================================== --- trunk/Jmol/src/org/jmol/script/ScriptExpr.java 2015-03-19 21:49:23 UTC (rev 20392) +++ trunk/Jmol/src/org/jmol/script/ScriptExpr.java 2015-03-19 23:41:19 UTC (rev 20393) @@ -317,9 +317,9 @@ int p = 0; int jlast = 0; int j = bsAtoms.nextSetBit(0); - if (j < 0) { + if (j < 0 || chk) { iToken = pt2 - 1; - } else if (!chk) { + } else { for (; j >= 0; j = bsAtoms.nextSetBit(j + 1)) { if (jlast >= 0) bsX.clear(jlast); @@ -2109,10 +2109,16 @@ break; case T.bitset: propertyName = sel.asString(); + boolean isprop = propertyName.startsWith("property_"); + int tok = (isprop ? -1 : T.getTokFromName(propertyName)); + if (tok == 0) { + iToken = pt; + error(ERROR_cannotSet); + } bs = SV.getBitSet(t, true); int nAtoms = vwr.ms.ac; int nbs = bs.cardinality(); - if (propertyName.startsWith("property_")) { + if (isprop) { Object obj = (tv.tok == T.varray ? SV.flistValue(tv, tv.getList() .size() == nbs ? nbs : nAtoms) : tv.asString()); vwr.setData( @@ -2123,7 +2129,7 @@ 0); break; } - setBitsetProperty(bs, T.getTokFromName(propertyName), tv.asInt(), + setBitsetProperty(bs, tok, tv.asInt(), tv.asFloat(), tv); } if (selectOne) Modified: trunk/Jmol/src/org/jmol/script/ScriptManager.java =================================================================== --- trunk/Jmol/src/org/jmol/script/ScriptManager.java 2015-03-19 21:49:23 UTC (rev 20392) +++ trunk/Jmol/src/org/jmol/script/ScriptManager.java 2015-03-19 23:41:19 UTC (rev 20393) @@ -507,9 +507,7 @@ // disabled strScript = strScript.substring(1); ScriptContext sc = newScriptEvaluator().checkScriptSilent(strScript); - if (returnContext || sc.errorMessage == null) - return sc; - return sc.errorMessage; + return (returnContext || sc.errorMessage == null ? sc : sc.errorMessage); } //////////////////////// open file async /////////////////////// Modified: trunk/Jmol/src/org/jmol/script/ScriptMathProcessor.java =================================================================== --- trunk/Jmol/src/org/jmol/script/ScriptMathProcessor.java 2015-03-19 21:49:23 UTC (rev 20392) +++ trunk/Jmol/src/org/jmol/script/ScriptMathProcessor.java 2015-03-19 23:41:19 UTC (rev 20393) @@ -371,9 +371,8 @@ } private static boolean isOpFunc(T op) { - return (T.tokAttr(op.tok, T.mathfunc) && op != T.tokenArraySquare - || op.tok == T.propselector - && T.tokAttr(op.intValue, T.mathfunc)); + return (op != null && (T.tokAttr(op.tok, T.mathfunc) && op != T.tokenArraySquare + || op.tok == T.propselector && T.tokAttr(op.intValue, T.mathfunc))); } private boolean skipping; Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2015-03-19 21:49:23 UTC (rev 20392) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2015-03-19 23:41:19 UTC (rev 20393) @@ -14,8 +14,12 @@ TODO: remove HTML5 dependency on synchronous file loading (check SCRIPT command for problems) -Jmol.___JmolVersion="14.3.13_2015.03.19" +Jmol.___JmolVersion="14.3.13_2015.03.20" +bug fix: use of {*}.xxxx = for(i;{*};....) fails + +JmolVersion="14.3.13_2015.03.19" + bug fix: VASP chgcar surface reader fails to recognize 10-per-line file format JmolVersion="14.3.13_2015.03.16" Modified: trunk/Jmol/src/org/jmol/viewer/Viewer.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Viewer.java 2015-03-19 21:49:23 UTC (rev 20392) +++ trunk/Jmol/src/org/jmol/viewer/Viewer.java 2015-03-19 23:41:19 UTC (rev 20393) @@ -3742,16 +3742,12 @@ } private Object scriptCheckRet(String strScript, boolean returnContext) { - if (getScriptManager() == null) - return null; - return scm.scriptCheckRet(strScript, returnContext); + return (getScriptManager() == null ? null : scm.scriptCheckRet(strScript, returnContext)); } @Override public synchronized Object scriptCheck(String strScript) { - if (getScriptManager() == null) - return null; - return scriptCheckRet(strScript, false); + return (getScriptManager() == null ? null : scriptCheckRet(strScript, false)); } @Override This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Jmol-commits mailing list Jmol-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-commits