# HG changeset patch # User Vicente # Date 1518837132 -39600 # Node ID eaa6c7fa1a811bd10abe19124335e984e50a67e5 # Parent b9e27867752769a2cb7057cab8942baf4850757b For rectangular selections, pressing Home or End now moves the caret to the Home or End position instead of the limit of the rectangular selection. diff -r b9e278677527 -r eaa6c7fa1a81 doc/ScintillaHistory.html --- a/doc/ScintillaHistory.html Sat Feb 17 11:28:52 2018 +1100 +++ b/doc/ScintillaHistory.html Sat Feb 17 14:12:12 2018 +1100 @@ -540,6 +540,10 @@ Released 12 February 2018.
  • + For rectangular selections, pressing Home or End now moves the caret to the Home or End + position instead of the limit of the rectangular selection. +
  • +
  • SciTE on Windows can execute Python scripts directly by name when on path. Feature #1209.
  • diff -r b9e278677527 -r eaa6c7fa1a81 src/Editor.cxx --- a/src/Editor.cxx Sat Feb 17 11:28:52 2018 +1100 +++ b/src/Editor.cxx Sat Feb 17 14:12:12 2018 +1100 @@ -3359,8 +3359,19 @@ 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; + SelectionPosition selAtLimit = (NaturalDirection(iMessage) > 0) ? sel.Limits().end : sel.Limits().start; + switch (iMessage) { + case SCI_HOME: + selAtLimit = SelectionPosition( + static_cast(pdoc->LineStart(pdoc->LineFromPosition(selAtLimit.Position())))); + break; + case SCI_VCHOME: + selAtLimit = SelectionPosition(pdoc->VCHomePosition(selAtLimit.Position())); + break; + case SCI_LINEEND: + selAtLimit = SelectionPosition(pdoc->LineEndPosition(selAtLimit.Position())); + break; + } sel.selType = Selection::selStream; sel.SetSelection(SelectionRange(selAtLimit)); } else { @@ -7537,7 +7548,7 @@ std::vector().swap(vs.theMultiEdge); // Free vector and memory, C++03 compatible InvalidateStyleRedraw(); break; - + case SCI_GETACCESSIBILITY: return SC_ACCESSIBILITY_DISABLED;