Faster, leaner, better.

Full integration of JSME, JSpecView, and Jmol (Thank you, Robert
Lancashire, Peter Ertl, and Bruno Bienfait!)

New no-server file saving (Firefox and Chrome only -- Thank you, Charles
Shubert!) If you would like to try this with Safari or MSIE, just add

     Jmol._useDataURI = true

New color schemes, including hue/saturation/lightness

https://sourceforge.net/projects/jmol/files/Jmol/Version%2014.0/Version%2014.0.11/

Bob


In all since Jmol 14.0.10 was released:

___JmolVersion="14.0.11"
JmolVersion="14.0.11_2014.03.08"

FEATURE CHANGE: associative array .count, .length, .lines removed
  -- specifically for associative arrays, nothing more
  -- these were unnecessary equivalents of .size
  -- change will not be incorporated into Jmol 14.0

new feature: JSpecView readers for ACD/Labs annotated MS, IR, Raman, and
UV/VIS
  -- displays fragments for MS (highlights atoms)
  -- highlights atoms involved in an IR/Raman stretch
  -- UV/VIS and Raman untested

new feature: JSpecView and Jmol read ACD/Labs assigned spectra block JDX
files.
  -- 2D MOL files with missing hydrogens on hetero atoms.
  -- fully synced
  -- drag-drop enabled

new feature: associative array standard "dot" notation
  -- a.test = 33
  -- print a.test
  -- caveat: cannot do this with a.keys, a.size, or a.type
  -- not implemented in Jmol 14.0 because of the feature change

new feature: associative array alternative ".." syntax
  -- same as JavaScript and Java, but ".." instead of "."
  -- for example:
    a["test"] == a..test

new feature: .covalentRadius added as more appropriate alias for .covalent

new feature: .bondingRadius added as more appropriate alias for .ionic

new feature: set bondingVersion
  --  0: Jmol default, from OpenBabel 1.100.1
        -- uses a mix of covalent and ionic radii for autobonding

  --  1: Pyykko and Atsumi, 2009
      -- changes the distance criteria for autobonding to be specifically
covalent

  -- saved in state only for file loading; should be unchanged after state
loading.

new feature: color(color1, color2, n, asHSL)
  -- returns a color scheme as a string
  -- colors can be of any nature -- string or point, name or rgb
  -- n colors; simple interpolation from color1 to color2
  -- asHSL must be TRUE or FALSE;
     -- when TRUE, uses hue/saturation/luminance instead of rgb gradient

  -- example:

    $ print color("white", "red", 5, false)

     [xffffff][xffbfbf][xff7f7f][xff3f3f][xff0000]

    $ print color("red", "blue", 5, true)

     [xff0000][xffff00][x00ff00][x00ffff][x0000ff]

    $ set propertyColorScheme color("yellow","black",50,true)
    $ color property temperature


new feature: added simpler associative array notation: [key:value,...]
  -- no quotes required
  -- supplements {"key":value,...} where quotes are still required
     due to conflict with atom set chain descriptors such as {a:b}.

new feature: catchable THROW

  -- as in Java or JavaScript, allows a way of jumping
     out of a process.

  -- outside of try/catch gives the expected error report:

   $ print "testing"
   $ throw "testing here"
   $ print "we will never see this"

    testing
    script ERROR: testing here
    ----
         throw >> "testing here" <<

  -- passes a string as the variable thrown_value

    $ print thrown_value

      testing here

  -- can be trapped with try/catch:

    try{
          print "testing"
          throw "testing here"
          print "continuing"
    } catch(e) {
       print "thrown_value=" + thrown_value;
    }

    results in:

    testing
    thrown_value=testing here

new feature: asynchronous resumable processes

  -- THROW CONTEXT contextName

  -- throws a catchable error, but in the process of doing so,
     creates a script context that allows RESUMING
     at the point of the throw, unlike anything in JavaScript
     or Java (or perhaps like a debug mode).

  -- if within a try/catch phrase, is handled by catch.
     in which case the error message is simply the context name.

  -- if not within a try/catch phrase just reports

       to resume, enter: &contextName

  -- essentially provides a callback into the running
     script, so you could, for example, put a running script
     on hold while you load a file, check variables, etc.,
     then continue.

  -- can be resumed using RESUME CONTEXT or just & followed
     by the name of the context:

       &test

       resume context &test

  -- replaces PAUSE/RESUME, now deprecated.

  -- The current context returns to the highest level, however
     the variables in the context that was thrown are
     accessible as though the context variable was an
     associative array. So, for example, if we have

     function f(a, b, c) {
        var x = 5
        throw context testing
        print "x=" + x
     }

     f(1,2,3)
     print "done"

     The context will be saved as the variable "testing", and
     we can then test all the variables in that saved context,
     (and change them before continuing):

     print testing["x"]

       5

     testing["x"]++

     print testing

        _path    :    [script] >> function f
        _retval    :    0

        a    :    2
        b    :    2
        c    :    3
        x    :    6

  -- contexts can be restored using

     &contextName

     In the above case, we would get the report:

     x=6
     done

new feature: SAVE CONTEXT contextName
  -- similar to THROW, but does not stop processing.
     So in the above example, if we change THROW to SAVE,
     the processing continues, but after it has completed,
     we can change context variables and run it again.

new feature: show SAVED
  -- same as show SAVE

new feature: delete $SAVED savedName

       delete $SAVED Context_xxxx

  -- $ is important; case is not.
  -- allows selective deletion of saved objects
  -- Contexts always start with "Context_" but the subname
     "xxxx" in this case will work as well.

new feature: RESUME with arguments is synonymous with RESTORE

new feature: Better idea for THROW:
    throw "this is an error"
    throw x
  -- that is, throw is like PRINT, not LABEL

bug fix: applet language localization skipping translations containing \"
bug fix: application language localization does not include defs defined
for JmolApplet
bug fix: JSpecView/JSME connection with simulated and ACD/Labs annotated
spectra
bug fix: JSpecView loading simulation now compatible with synced applets
bug fix: drag/drop not working for JSV applet
bug fix: solid-state NMR calc (Magres) should not apply "nearest-atom-only"
  algorithm for measure ALL in dipolar coupling measurements
bug fix: state contains:  zap;load /*data*/ data "append inline"
bug fix: zoomto without time goes over 2 seconds, not 1 second
bug fix: print "id" + "x"   fails (back to 13.2 at least)
bug fix: animFrameCallback not reporting for each morph
bug fix: inline-if fails if not at end of statement
  -- Bug goes back to at least 11.8
bug fix: Jmol math fix for new . notation.
  -- needs testing
  -- examples:

    -- note that .. notation works with numbers
       and in all expressions

     b = [1 2 3 [ 1 2 [1 2 [1 [testing:"here"] 3]]]]
    print b..4..3..1
    b..2 = 34

    b..2..1 = 33
    print b..2..1

    -- alternative single dot notation also on both sides
    -- associative arrays only
    -- no numbers here

    b = [testing:"here"]
    b.testing= 33
    print b.testing

    -- note that sequential brackets for arrays
       work only on the left side of an assignment

    b = [ [2] 10 11 ]
    b[1][2]= 33
    #NOT print b[1][2]  (that's a range)

     b = [1 2 3 [ 1 2 [1 2 [1 [testing:"here"] 3]]]]
    b[4][3][3][2].more = "yes"
    #NOT print b[4][3]  (that's a range)

    -- extends to matrices

    b = quaternion()%"matrix"
    b[1] = [1 2 3]
    b[-1] = [1 2 3]
    b[2][3] = 2

    -- extends to string

    b = "testing"
    b[1] = "T"
    b[1][3] = "T"
    b["t"] = "T"

    -- extends to points

    p = {3 3 3}
    p.x = 10
    p.y = 5
    p.z = 3

    -- extends to bitsets
    -- single dots only, not a["color"] or a..color

    a = {*}
    a.color = "red"
    a.property_x = {*}.temperature.all


bug fix: state reading broken in most recent version at chemapps
bug fix: ++/-- compatibility with no-comma arrays
bug fix: print ++b["test"] fails
bug fix: ++b["test"] fails
bug fix: a[6][8] = "q"  not working correctly when a is a string
bug fix: {*}.covalent is misleading in that it is a mix of covalent and
ionic bonding
  distances. As such, I have replaced it with data at the Blue Obelisk Data
Repository
  which are from

   Pyykkö, P. and Atsumi, M. (2009),
   Molecular Single-Bond Covalent Radii for Elements 1\u2013118.
   Chem. Eur. J., 15: 186\u2013197. doi: 10.1002/chem.200800987

bug fix: try { ... throw ...} catch {....}   continues through catch when
resumed.
bug fix: anonymous context   { ..... }   not closed
bug fix: JSON of 4x4 matrix (M4) fails
bug fix: modelkitmode broken for Java in 14.1.10








-- 
Robert M. Hanson
Larson-Anderson Professor of Chemistry
St. Olaf College
Northfield, MN
http://www.stolaf.edu/people/hansonr


If nature does not answer first what we want,
it is better to take what answer we get.

-- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users

Reply via email to