[roland@roland-hpz820workstation Scintilla-work]$ diff -rn original-code/scintilla/README modifications/scintilla/README a15 14 If you modified Scintilla.iface or just want to be certain before building cd scintilla/scripts python3 HFacer.py python3 ScintillaAPIFacer.py cd ../.. to regenerate: Scintilla.h SciLexer.h ScintillaMessages.h ScintillaTypes.h ScintillaCall.h ScintillaCall.cxx files from the Scintilla.iface interface definition file. You probably want to take out the "Bluefish" line [roland@roland-hpz820workstation Scintilla-work]$ diff -rn original-code/scintilla/doc/ScintillaDoc.html modifications/scintilla/doc/ScintillaDoc.html d9 1 a9 1 d8443 2 a8444 2 a8453 10 EDGE_FULL_BACKGROUND 4 The background colour after the column limit is changed to the colour set by SCI_SETEDGECOLOUR whether it has text or not. This is recommended for proportional fonts. a8454 1 [roland@roland-hpz820workstation Scintilla-work]$ diff -rn original-code/scintilla/include/Scintilla.iface modifications/scintilla/include/Scintilla.iface d2167 1 a2167 2 val EDGE_MULTILINE=3 val EDGE_FULL_BACKGROUND=4 d2175 1 a2175 2 # If text goes past the edge then it is highlighted. # if EDGE_FULL_BACKGROUND then all space past this column highlighted [roland@roland-hpz820workstation Scintilla-work]$ diff -rn original-code/scintilla/src/EditView.cxx modifications/scintilla/src/EditView.cxx d1729 11 a1739 27 switch(vsDraw.edgeState) { case EdgeVisualStyle::Line: { PRectangle rcSegment = rcLine; const int edgeX = static_cast(vsDraw.theEdge.column * vsDraw.spaceWidth); rcSegment.left = static_cast(edgeX + xStart); if ((ll->wrapIndent != 0) && (lineRange.start != 0)) rcSegment.left -= ll->wrapIndent; rcSegment.right = rcSegment.left + 1; surface->FillRectangleAligned(rcSegment, Fill(vsDraw.theEdge.colour)); } break; case EdgeVisualStyle::MultiLine: { for (size_t edge = 0; edge < vsDraw.theMultiEdge.size(); edge++) { if (vsDraw.theMultiEdge[edge].column >= 0) { PRectangle rcSegment = rcLine; const int edgeX = static_cast(vsDraw.theMultiEdge[edge].column * vsDraw.spaceWidth); rcSegment.left = static_cast(edgeX + xStart); if ((ll->wrapIndent != 0) && (lineRange.start != 0)) rcSegment.left -= ll->wrapIndent; rcSegment.right = rcSegment.left + 1; surface->FillRectangleAligned(rcSegment, Fill(vsDraw.theMultiEdge[edge].colour)); } } } break; case EdgeVisualStyle::FullBackground: { if (vsDraw.theEdge.column > 0) { d1741 6 a1746 17 const int edgeX = static_cast(vsDraw.theEdge.column * vsDraw.spaceWidth); /* left and right are backwards for some reason. Deal with it. * It would be nice if there were a function to compute distance between * theEdge.column and last theoretically visible column if it had a character. * Supporting wrap makes little sense. It "could" be done but wrap happens at * visible edge which changes with window size. If line 0 of the wrap * crossed theEdge.column we could continue theEdge.colour on each of the following * wrapped lines . . . but FullBackground is more for ANSI card formatted * languages, UseNet posts, special data editing, etc. */ rcSegment.right = static_cast(edgeX); int farRight = 500; // just a big number because we could be 2+ monitors wide if ((ll->widthLine != 0) && (ll->widthLine != LineLayout::wrapWidthInfinite)) { farRight = ll->widthLine; } rcSegment.left = static_cast(farRight * vsDraw.spaceWidth); surface->FillRectangle(rcSegment, Fill(vsDraw.theEdge.colour)); a1748 3 break; default: break;