emacs: exchangePointAndMark uses last mark if selection empty

This commit is contained in:
Robert Krahn 2013-05-26 18:56:13 -07:00
commit 353958b98c

View file

@ -429,7 +429,13 @@ exports.handler.addCommands({
},
exchangePointAndMark: {
exec: function(editor) {
var range = editor.selection.getRange();
var sel = editor.selection;
var range = sel.getRange();
if (range.isEmpty()) {
var lastMark = editor.getLastEmacsMark();
sel.selectToPosition(lastMark);
return;
}
editor.selection.setSelectionRange(range, !editor.selection.isBackwards());
},
readonly: true,