Revision: 20854 http://sourceforge.net/p/jmol/code/20854 Author: hansonr Date: 2015-11-03 12:17:44 +0000 (Tue, 03 Nov 2015) Log Message: ----------- Jmol.___JmolVersion="14.4.0_2015.11.03"
bug fix: FOR without {} but with ";" after sole statement followed immediately by second FOR improperly loops for (var i from [1,5]) print i; for (var i from [1,5]) print i bug fix: OXT missing from BACKBONE selection bug fix: (JSmol) CIF parser fails to read CIF files containing only a single (non-loop) _struct_ref_seq_dif.align_id bug fix: slabbing should reset area and volume of isosurface bug fix: meshSlicer may fail to add edge to sliced pmesh bug fix: polyhedron volume will be incorrect if there is a face triangle that has no edges visible (requires a six or more sided face) bug fix: nested if...{...if... } else {...} gives compiler syntax error: if (i=1) { print "i=1" if (j=1) print "j != 1" } else { // } closes if (j=1) instead of if (i=1) { print "i != 1" } bug fix: empty format crashes Jmol -- print "testing".format("") bug fix: after CALCULATE HYDROGENS TRUE and then deleting hydrogens, hydrogens are not added to aromatic rings in PDB models bug fix: reading saved state after adding hydrogen atoms results in infinite loop Modified Paths: -------------- branches/v14_4/Jmol/src/org/jmol/jvxl/readers/SurfaceGenerator.java branches/v14_4/Jmol/src/org/jmol/script/ScriptCompiler.java branches/v14_4/Jmol/src/org/jmol/script/ScriptEval.java branches/v14_4/Jmol/src/org/jmol/shapesurface/Isosurface.java branches/v14_4/Jmol/src/org/jmol/util/MeshSlicer.java branches/v14_4/Jmol/src/org/jmol/viewer/JC.java branches/v14_4/Jmol/src/org/jmol/viewer/Jmol.properties Modified: branches/v14_4/Jmol/src/org/jmol/jvxl/readers/SurfaceGenerator.java =================================================================== --- branches/v14_4/Jmol/src/org/jmol/jvxl/readers/SurfaceGenerator.java 2015-11-01 18:15:50 UTC (rev 20853) +++ branches/v14_4/Jmol/src/org/jmol/jvxl/readers/SurfaceGenerator.java 2015-11-03 12:17:44 UTC (rev 20854) @@ -314,9 +314,10 @@ return true; } else if (AU.isAS(value)) { params.title = (String[]) value; - for (int i = 0; i < params.title.length; i++) - if (params.title[i].length() > 0) - Logger.info(params.title[i]); + if (Logger.debugging) + for (int i = 0; i < params.title.length; i++) + if (params.title[i].length() > 0) + Logger.info(params.title[i]); } return true; } Modified: branches/v14_4/Jmol/src/org/jmol/script/ScriptCompiler.java =================================================================== --- branches/v14_4/Jmol/src/org/jmol/script/ScriptCompiler.java 2015-11-01 18:15:50 UTC (rev 20853) +++ branches/v14_4/Jmol/src/org/jmol/script/ScriptCompiler.java 2015-11-03 12:17:44 UTC (rev 20854) @@ -732,13 +732,12 @@ ltoken.remove(0); lastFlowCommand = null; forceFlowContext = flowContext; -// lastFlowImplicitEnd = flowContext.nextFlowImplicitEnd; + // lastFlowImplicitEnd = flowContext.nextFlowImplicitEnd; } } if (bracketCount > 0 || setBraceCount > 0 || parenCount > 0 || braceCount == 1 && !checkFlowStartBrace(true)) { - error(n == 1 ? ERROR_commandExpected - : ERROR_endOfCommandUnexpected); + error(n == 1 ? ERROR_commandExpected : ERROR_endOfCommandUnexpected); return ERROR; } if (needRightParen) { @@ -811,16 +810,27 @@ setEqualPt = Integer.MAX_VALUE; } + boolean isOneLine = (flowContext != null && flowContext.addLine == 0); // if (....) xxxxx; + boolean isEndFlow = ((endOfLine || !isOneLine) && !haveENDIF && flowContext != null && flowContext.checkForceEndIf(-1)); if (endOfLine) { - if (!haveENDIF && flowContext != null - && flowContext.checkForceEndIf(-1)) { - boolean isOneLine = (flowContext.addLine == 0); // if (....) xxxxx; + if (isEndFlow) { if (isComment) { if (!isOneLine) { flowContext.addLine++; flowContext.forceEndIf = true; } } else if (n > 0 && !haveENDIF || isOneLine) { + // looking for + // for (...) + // print ... + // + // but not + // + // for (...) + // + // print ... + // + forceFlowEnd(flowContext.token); if (!isOneLine) { forceFlowContext.forceEndIf = true; @@ -829,13 +839,19 @@ isEndOfCommand = true; cchToken = 0; ichCurrentCommand = ichToken; -// if (n > 0 || isOneLine) - // lineCurrent--; return CONTINUE; } isComment = false; isShowCommand = false; ++lineCurrent; + } else if (isEndFlow) { + // looking at something like + // + // for (...) + // print ... ; + // + forceFlowEnd(flowContext.token); + forceFlowContext.forceEndIf = true; } if (ichToken >= cchScript) { // check for end of all brace work Modified: branches/v14_4/Jmol/src/org/jmol/script/ScriptEval.java =================================================================== --- branches/v14_4/Jmol/src/org/jmol/script/ScriptEval.java 2015-11-01 18:15:50 UTC (rev 20853) +++ branches/v14_4/Jmol/src/org/jmol/script/ScriptEval.java 2015-11-03 12:17:44 UTC (rev 20854) @@ -97,6 +97,7 @@ * extends ScriptError -- error handling * * scriptext.CmdExt -- optionally loaded, less-used commands + * scriptext.IsoExt -- optionally loaded, less-used commands * scriptext.MathExt -- optionally loaded, less-used functions * scriptext.SmilesExt -- optionally loaded methods for cmds and math * Modified: branches/v14_4/Jmol/src/org/jmol/shapesurface/Isosurface.java =================================================================== --- branches/v14_4/Jmol/src/org/jmol/shapesurface/Isosurface.java 2015-11-01 18:15:50 UTC (rev 20853) +++ branches/v14_4/Jmol/src/org/jmol/shapesurface/Isosurface.java 2015-11-03 12:17:44 UTC (rev 20854) @@ -764,6 +764,8 @@ } protected void slabPolygons(Object[] slabInfo) { + thisMesh.calculatedVolume = null; + thisMesh.calculatedArea = null; thisMesh.getMeshSlicer().slabPolygons(slabInfo, false); thisMesh.reinitializeLightingAndColor(vwr); } Modified: branches/v14_4/Jmol/src/org/jmol/util/MeshSlicer.java =================================================================== --- branches/v14_4/Jmol/src/org/jmol/util/MeshSlicer.java 2015-11-01 18:15:50 UTC (rev 20853) +++ branches/v14_4/Jmol/src/org/jmol/util/MeshSlicer.java 2015-11-03 12:17:44 UTC (rev 20854) @@ -583,7 +583,7 @@ if (iD == i2 && iE == i3) { // cap but don't toss if tossing 23 doClear = !toss23; - return false; + return !doClear; // was FALSE, but we need to recreate the edge } if (iD == i1 || iE == i1) { // other is i2 or i3 -- along an edge Modified: branches/v14_4/Jmol/src/org/jmol/viewer/JC.java =================================================================== --- branches/v14_4/Jmol/src/org/jmol/viewer/JC.java 2015-11-01 18:15:50 UTC (rev 20853) +++ branches/v14_4/Jmol/src/org/jmol/viewer/JC.java 2015-11-03 12:17:44 UTC (rev 20854) @@ -621,7 +621,7 @@ // structure related // "@alpha _a=2", // rasmol doc says "approximately *.CA" - whatever? - "@_bb protein&_a>=1&_a<6 | nucleic&(_a>=6&_a<14|_a>=73&&_a<=79||_a==99||_a=100)", // no H atoms + "@_bb protein&(_a>=1&_a<6|_a=64) | nucleic&(_a>=6&_a<14|_a>=73&&_a<=79||_a==99||_a=100)", // no H atoms "@backbone _bb | _H && connected(single, _bb)", "@spine protein&_a>=1&_a<4|nucleic&(_a>=6&_a<11|_a=13)", "@sidechain (protein,nucleic) & !backbone", Modified: branches/v14_4/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- branches/v14_4/Jmol/src/org/jmol/viewer/Jmol.properties 2015-11-01 18:15:50 UTC (rev 20853) +++ branches/v14_4/Jmol/src/org/jmol/viewer/Jmol.properties 2015-11-03 12:17:44 UTC (rev 20854) @@ -7,8 +7,19 @@ # see also http://chemapps.stolaf.edu/jmol/zip for daily updates -Jmol.___JmolVersion="14.4.0_2015.10.30" +Jmol.___JmolVersion="14.4.0_2015.11.03" +bug fix: FOR without {} but with ";" after sole statement + followed immediately by second FOR improperly loops + for (var i from [1,5]) + print i; + for (var i from [1,5]) + print i +bug fix: OXT missing from BACKBONE selection +bug fix: (JSmol) CIF parser fails to read CIF files containing only a single (non-loop) _struct_ref_seq_dif.align_id +bug fix: slabbing should reset area and volume of isosurface +bug fix: meshSlicer may fail to add edge to sliced pmesh + bug fix: polyhedron volume will be incorrect if there is a face triangle that has no edges visible (requires a six or more sided face) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ _______________________________________________ Jmol-commits mailing list Jmol-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-commits