diff options
| -rw-r--r-- | doc/ScintillaHistory.html | 4 | ||||
| -rw-r--r-- | src/Editor.cxx | 12 | 
2 files changed, 10 insertions, 6 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 5a0641749..f3f495c32 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -530,6 +530,10 @@  	matching keywords that have particular prefixes and/or suffixes.  	</li>  	<li> +	Fix caret position after left or right movement with rectangular selection. +	<a href="http://sourceforge.net/p/scintilla/bugs/1861/">Bug #1861</a>. +	</li> +	<li>  	In SciTE, optional prefix argument added to scite.ConstantName method.  	<a href="http://sourceforge.net/p/scintilla/bugs/1860/">Bug #1860</a>.  	</li> diff --git a/src/Editor.cxx b/src/Editor.cxx index bb608d08c..b6e57212b 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -3319,13 +3319,13 @@ int Editor::HorizontalMove(unsigned int iMessage) {  		sel.selType = Selection::selRectangle;  		sel.Rectangular() = SelectionRange(spCaret, rangeBase.anchor);  		SetRectangularRange(); +	} else if (sel.IsRectangular()) { +		// Not a rectangular extension so switch to stream. +		const SelectionPosition selAtLimit =  +			(NaturalDirection(iMessage) > 0) ? sel.Limits().end : sel.Limits().start; +		sel.selType = Selection::selStream; +		sel.SetSelection(SelectionRange(selAtLimit));  	} else { -		if (sel.IsRectangular()) { -			// Not a rectangular extension so switch to stream. -			SelectionPosition selAtLimit = (NaturalDirection(iMessage) > 0) ? sel.Limits().end : sel.Limits().start; -			sel.selType = Selection::selStream; -			sel.SetSelection(SelectionRange(selAtLimit)); -		}  		if (!additionalSelectionTyping) {  			InvalidateWholeSelection();  			sel.DropAdditionalRanges();  | 
