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

Reply via email to