title: jQuery Sortable - cancel and revert not working as expected
body: <h2>Problem (<a href="http://jsfiddle.net/9THR9/">jsFiddle demo of the problem</a>)</h2>
  
  <p>I'm having some trouble with the <code>revert</code> setting when used in conjunction with the <code>cancel</code> method in the jQuery sortable. The cancel method, as documented in the <a href="http://jqueryui.com/demos/sortable/#method-cancel">jQuery Sortable documentation</a> states:</p>
  
  <blockquote>
    <p>Cancels a change in the current sortable and reverts it back to how it
    was before the current sort started. Useful in the stop and receive
    callback functions.</p>
  </blockquote>
  
  <p>This works fine in both the <code>stop</code> and <code>receive</code> callbacks, however if I add a <code>revert</code> <em>duration</em> to the sortable connected list, it starts to act funny (see <a href="http://jsfiddle.net/9THR9/">jsFiddle here</a>).</p>
  
  <p>Ideally, upon cancelling, the <code>revert</code> could simply not happen, or alternatively in a more ideal world, it would gracefully revert to it's original location. Any ideas how I can get the <code>revert</code> and <code>cancel</code> to play nice?</p>
  
  <h2>Expected</h2>
  
  <ol>
  <li>Drag from left list to right list</li>
  <li>Drop item</li>
  <li>Item animates to <strong>original</strong> location <em>- or -</em> immediately shifts to original location</li>
  </ol>
  
  <h2>Actual</h2>
  
  <ol>
  <li>Drag from left list to right list</li>
  <li>Drop item</li>
  <li>Item animates to <strong>new</strong> location, assuming sortable is successful</li>
  <li>Item immediately shifts to original location, as sortable was cancelled</li>
  </ol>
  
  <h2>Clarification</h2>
  
  <p>The <code>revert</code> property moves the item to the location where the item would drop if successful, and then immediately shifts back to the original location due to the <code>revert</code> occurring before the <code>cancel</code> method. Is there a way to alter the life-cycle so if the <code>cancel</code> method is executed, <code>revert</code> isn't, and instead the item is immediately return to it's original location?</p>