From: <ha...@us...> - 2008-10-13 14:34:04
|
Revision: 10082 http://jmol.svn.sourceforge.net/jmol/?rev=10082&view=rev Author: hansonr Date: 2008-10-13 14:33:40 +0000 (Mon, 13 Oct 2008) Log Message: ----------- version=11.7.4_dev application -c/-C; load keyword "..." # new feature: (Application) -c option checks without loading files; -C option checks with loading files # code: LOAD command ignores all nonrecognized pre-filename keywords Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollectionReader.java trunk/Jmol/src/org/jmol/viewer/Compiler.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties trunk/Jmol/src/org/jmol/viewer/Viewer.java trunk/Jmol/src/org/openscience/jmol/app/Jmol.java Modified: trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollectionReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollectionReader.java 2008-10-13 05:47:29 UTC (rev 10081) +++ trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollectionReader.java 2008-10-13 14:33:40 UTC (rev 10082) @@ -290,7 +290,8 @@ ptFile = (htParams.containsKey("ptFile") ? ((Integer) htParams .get("ptFile")).intValue() : -1); if (ptFile > 0 && htParams.containsKey("firstLastSteps")) { - Object val = ((Vector) htParams.get("firstLastSteps")) .elementAt(ptFile - 1); + Object val = ((Vector) htParams.get("firstLastSteps")) + .elementAt(ptFile - 1); if (val instanceof BitSet) { bsModels = (BitSet) val; } else { Modified: trunk/Jmol/src/org/jmol/viewer/Compiler.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Compiler.java 2008-10-13 05:47:29 UTC (rev 10081) +++ trunk/Jmol/src/org/jmol/viewer/Compiler.java 2008-10-13 14:33:40 UTC (rev 10082) @@ -473,7 +473,7 @@ continue; } if (tokCommand == Token.load) { - if (lookingAtLoadFormat()) { + if (nTokens == 1 && lookingAtLoadFormat()) { String strFormat = script.substring(ichToken, ichToken + cchToken); strFormat = strFormat.toLowerCase(); if (Parser @@ -1173,22 +1173,21 @@ return -1; } - static String[] loadFormats = { "append", "files", "trajectory", "menu", "models", - /*ancient:*/ "alchemy", "mol2", "mopac", "nmrpdb", "charmm", "xyz", "mdl", "pdb" }; + // static String[] loadFormats = { "append", "files", "trajectory", "menu", "models", + // /*ancient:*/ "alchemy", "mol2", "mopac", "nmrpdb", "charmm", "xyz", "mdl", "pdb" }; private boolean lookingAtLoadFormat() { - int ichT; - String match = script - .substring(ichToken, Math.min(cchScript, ichToken + 10)).toLowerCase(); - for (int i = loadFormats.length; --i >= 0;) { - String strFormat = loadFormats[i]; - int cchFormat = strFormat.length(); - if (match.indexOf(strFormat) == 0 && (ichT = ichToken + cchFormat) < cchScript && isSpaceOrTab(script.charAt(ichT))) { - cchToken = cchFormat; - return true; - } - } - return false; + // just allow a simple word or =xxxx + int ichT = ichToken; + char ch = '\0'; + while (ichT < cchScript + && ((ch = script.charAt(ichT)) == '=' && ichT == ichToken + || Character.isLetterOrDigit(ch))) + ++ichT; + if (ichT == ichToken || !eol(ch) && !isSpaceOrTab(ch)) + return false; + cchToken = ichT - ichToken; + return true; } private boolean lookingAtSpecialString() { Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-10-13 05:47:29 UTC (rev 10081) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2008-10-13 14:33:40 UTC (rev 10082) @@ -3,6 +3,9 @@ version=11.7.4_dev +# new feature: (Application) -c option checks without loading files; -C option checks with loading files +# code: LOAD command ignores all nonrecognized pre-filename keywords + # ----------------------------------------------------------------------------- #version=11.7.3 Modified: trunk/Jmol/src/org/jmol/viewer/Viewer.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Viewer.java 2008-10-13 05:47:29 UTC (rev 10081) +++ trunk/Jmol/src/org/jmol/viewer/Viewer.java 2008-10-13 14:33:40 UTC (rev 10082) @@ -298,9 +298,8 @@ isSilent = (str.indexOf("-i") >= 0); if (isSilent) Logger.setLogLevel(Logger.LEVEL_WARN); //no info, but warnings and errors - checkScriptOnly = (str.indexOf("-c") >= 0); - if (checkScriptOnly) - fileOpenCheck = true; + checkScriptOnly = (str.toLowerCase().indexOf("-c") >= 0); + fileOpenCheck = (checkScriptOnly && str.indexOf("-C") >= 0); listCommands = (str.indexOf("-l") >= 0); autoExit = (str.indexOf("-x") >= 0); haveDisplay = (display != null && str.indexOf("-n") < 0); Modified: trunk/Jmol/src/org/openscience/jmol/app/Jmol.java =================================================================== --- trunk/Jmol/src/org/openscience/jmol/app/Jmol.java 2008-10-13 05:47:29 UTC (rev 10081) +++ trunk/Jmol/src/org/openscience/jmol/app/Jmol.java 2008-10-13 14:33:40 UTC (rev 10082) @@ -401,7 +401,8 @@ options.addOption("h", "help", false, GT._("give this help page")); options.addOption("n", "nodisplay", false, GT ._("no display (and also exit when done)")); - options.addOption("c", "check", false, GT._("check script syntax only")); + options.addOption("c", "check", false, GT._("check script syntax only - no file loading")); + options.addOption("C", "checkload", false, GT._("check script syntax only - with file loading")); options.addOption("i", "silent", false, GT._("silent startup operation")); options.addOption("l", "list", false, GT ._("list commands during script execution")); @@ -544,9 +545,11 @@ haveDisplay = Boolean.FALSE; } - //check script only + //check script only -- don't open files if (line.hasOption("c")) { commandOptions += "-c"; + } else if (line.hasOption("C")) { + commandOptions += "-C"; } //run script This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |