diff options
| -rw-r--r-- | doc/ScintillaDoc.html | 49 | ||||
| -rw-r--r-- | doc/ScintillaHistory.html | 4 | ||||
| -rw-r--r-- | include/Scintilla.h | 4 | ||||
| -rw-r--r-- | include/Scintilla.iface | 10 | ||||
| -rw-r--r-- | src/CellBuffer.cxx | 17 | ||||
| -rw-r--r-- | src/CellBuffer.h | 5 | ||||
| -rw-r--r-- | src/ContractionState.cxx | 7 | ||||
| -rw-r--r-- | src/ContractionState.h | 2 | ||||
| -rw-r--r-- | src/Document.cxx | 9 | ||||
| -rw-r--r-- | src/Document.h | 2 | ||||
| -rw-r--r-- | src/EditModel.cxx | 2 | ||||
| -rw-r--r-- | src/EditView.cxx | 7 | ||||
| -rw-r--r-- | src/Editor.cxx | 9 | ||||
| -rw-r--r-- | src/MarginView.cxx | 13 | ||||
| -rw-r--r-- | src/Position.h | 4 | ||||
| -rw-r--r-- | src/RunStyles.cxx | 2 | ||||
| -rw-r--r-- | test/unit/testCellBuffer.cxx | 2 | ||||
| -rw-r--r-- | test/unit/testContractionState.cxx | 2 | ||||
| -rw-r--r-- | test/unit/testPartitioning.cxx | 2 | 
19 files changed, 111 insertions, 41 deletions
| diff --git a/doc/ScintillaDoc.html b/doc/ScintillaDoc.html index 25e7ca15b..d9f658814 100644 --- a/doc/ScintillaDoc.html +++ b/doc/ScintillaDoc.html @@ -119,7 +119,7 @@      <h1>Scintilla Documentation</h1> -    <p>Last edited 1 February 2018 NH</p> +    <p>Last edited 17 April 2018 NH</p>      <p>There is <a class="jump" href="Design.html">an overview of the internal design of      Scintilla</a>.<br /> @@ -5711,11 +5711,12 @@ sptr_t CallScintilla(unsigned int iMessage, uptr_t wParam, sptr_t lParam){      <code><a class="message" href="#SCI_GETDOCPOINTER">SCI_GETDOCPOINTER → document *</a><br />       <a class="message" href="#SCI_SETDOCPOINTER">SCI_SETDOCPOINTER(<unused>, document      *doc)</a><br /> -     <a class="message" href="#SCI_CREATEDOCUMENT">SCI_CREATEDOCUMENT(int bytes, int documentOption) → document *</a><br /> +     <a class="message" href="#SCI_CREATEDOCUMENT">SCI_CREATEDOCUMENT(int bytes, int documentOptions) → document *</a><br />       <a class="message" href="#SCI_ADDREFDOCUMENT">SCI_ADDREFDOCUMENT(<unused>, document      *doc)</a><br />       <a class="message" href="#SCI_RELEASEDOCUMENT">SCI_RELEASEDOCUMENT(<unused>, document      *doc)</a><br /> +     <a class="message" href="#SCI_GETDOCUMENTOPTIONS">SCI_GETDOCUMENTOPTIONS → int</a><br />      </code>      <p><b id="SCI_GETDOCPOINTER">SCI_GETDOCPOINTER → document *</b><br /> @@ -5732,7 +5733,7 @@ sptr_t CallScintilla(unsigned int iMessage, uptr_t wParam, sptr_t lParam){      window.<br />       6. If <code class="parameter">doc</code> was not 0, its reference count is increased by 1.</p> -    <p><b id="SCI_CREATEDOCUMENT">SCI_CREATEDOCUMENT(int bytes, int documentOption) → document *</b><br /> +    <p><b id="SCI_CREATEDOCUMENT">SCI_CREATEDOCUMENT(int bytes, int documentOptions) → document *</b><br />       This message creates a new, empty document and returns a pointer to it. This document is not       selected into the editor and starts with a reference count of 1. This means that you have       ownership of it and must either reduce its reference count by 1 after using @@ -5743,12 +5744,29 @@ sptr_t CallScintilla(unsigned int iMessage, uptr_t wParam, sptr_t lParam){       to allocate once rather than rely on the buffer growing as data is added.       If <code>SCI_CREATEDOCUMENT</code> fails then 0 is returned.</p> -    <p id="documentOption">The <code class="parameter">documentOption</code> argument +    <p id="documentOptions">The <code class="parameter">documentOptions</code> argument      chooses between different document capabilities which affect memory allocation and performance with      <code>SC_DOCUMENTOPTION_DEFAULT</code> (0) choosing standard options. -    <code>SC_DOCUMENTOPTION_STYLES_NONE</code> (1) stops allocation of memory to style characters +    <code>SC_DOCUMENTOPTION_STYLES_NONE</code> (0x1) stops allocation of memory to style characters      which saves significant memory, often 40% with the whole document treated as being style 0. -    Lexers may still produce visual styling by using indicators.</p> +    Lexers may still produce visual styling by using indicators. +    <span class="provisional"><code>SC_DOCUMENTOPTION_TEXT_LARGE</code> (0x100) accomodates documents larger than 2 GigaBytes +    in 64-bit executables.</span> +    </p> + +    <p>With <code>SC_DOCUMENTOPTION_STYLES_NONE</code>, lexers are still active and may display +    indicators. Some may produce folding information althoough most require lexical styles to correctly determine folding. +    Its often more efficient to set the null lexer <code>SCLEX_NULL</code> so no lexer is run. +    </p> + +    <p class="provisional">The <code>SC_DOCUMENTOPTION_TEXT_LARGE</code> option is experimental and has not been +    thoroughly tested. Lexers may fail or hang when lexing past 2GB or 4GB. +    Applications using this option should be tested to ensure the option works in their circumstances and each lexer +    included should also be tested with documents larger than 4GB. +    For many applications lexing documents larger than 4GB will be too sluggish so <code>SC_DOCUMENTOPTION_STYLES_NONE</code> +    and the null lexer <code>SCLEX_NULL</code> can be used. Another approach is to turn on idle styling with +    <a class="seealso" href="#SCI_SETIDLESTYLING"><code>SCI_SETIDLESTYLING</code></a>. +    </p>      <table class="standard" summary="Document options">        <tbody> @@ -5769,10 +5787,16 @@ sptr_t CallScintilla(unsigned int iMessage, uptr_t wParam, sptr_t lParam){          <tr>            <td align="left">SC_DOCUMENTOPTION_STYLES_NONE</td> -          <td align="left">1</td> +          <td align="left">0x1</td>            <td align="left">Stop allocation of memory for styles and treat all text as style 0.</td>          </tr> +        <tr> +          <td align="left" class="provisional">SC_DOCUMENTOPTION_TEXT_LARGE</td> +          <td align="left">0x100</td> +          <td align="left">Allow document to be larger than 2 GB.</td> +        </tr> +        </tbody>      </table> @@ -5794,6 +5818,9 @@ sptr_t CallScintilla(unsigned int iMessage, uptr_t wParam, sptr_t lParam){      world spinning in its orbit you must balance each call to <code>SCI_CREATEDOCUMENT</code> or      <code>SCI_ADDREFDOCUMENT</code> with a call to <code>SCI_RELEASEDOCUMENT</code>.</p> +    <p><b id="SCI_GETDOCUMENTOPTIONS">SCI_GETDOCUMENTOPTIONS → int</b><br /> +     Returns the options that were used to create the document.</p> +      <h2 id="BackgroundLoadSave">Background loading and saving</h2>      <p>To ensure a responsive user interface, applications may decide to load and save documents using a separate thread @@ -5801,7 +5828,7 @@ sptr_t CallScintilla(unsigned int iMessage, uptr_t wParam, sptr_t lParam){      <h3 id="BackgroundLoad">Loading in the background</h3> -    <code><a class="message" href="#SCI_CREATELOADER">SCI_CREATELOADER(int bytes, int documentOption) → int</a><br /> +    <code><a class="message" href="#SCI_CREATELOADER">SCI_CREATELOADER(int bytes, int documentOptions) → int</a><br />      </code>      <p>An application can load all of a file into a buffer it allocates on a background thread and then add the data in that buffer @@ -5810,15 +5837,15 @@ sptr_t CallScintilla(unsigned int iMessage, uptr_t wParam, sptr_t lParam){      <p>To avoid these issues, a loader object may be created and used to load the file. The loader object supports the ILoader interface.</p> -    <p><b id="SCI_CREATELOADER">SCI_CREATELOADER(int bytes, int documentOption) → int</b><br /> +    <p><b id="SCI_CREATELOADER">SCI_CREATELOADER(int bytes, int documentOptions) → int</b><br />       Create an object that supports the <code>ILoader</code> interface which can be used to load data and then       be turned into a Scintilla document object for attachment to a view object.       The <code class="parameter">bytes</code> argument determines the initial memory allocation for the document as it is more efficient       to allocate once rather than rely on the buffer growing as data is added.       If <code>SCI_CREATELOADER</code> fails then 0 is returned.</p> -    <p>The <code class="parameter">documentOption</code> argument -    is described in the <a class="seealso" href="#documentOption"><code>SCI_CREATEDOCUMENT</code></a> section.</p> +    <p>The <code class="parameter">documentOptions</code> argument +    is described in the <a class="seealso" href="#documentOptions"><code>SCI_CREATEDOCUMENT</code></a> section.</p>  <h4>ILoader</h4> diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 87bfa49ab..00fe782fe 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -542,6 +542,10 @@  	Released 10 April 2018.  	</li>  	<li> +	Add experimental SC_DOCUMENTOPTION_TEXT_LARGE option to accomodate documents larger than +	2 GigaBytes. +	</li> +	<li>  	Set the last X chosen when SCI_REPLACESEL called to ensure macros work  	when text insertion followed by caret up or down.  	</li> diff --git a/include/Scintilla.h b/include/Scintilla.h index 29a723e26..3ec70a380 100644 --- a/include/Scintilla.h +++ b/include/Scintilla.h @@ -685,10 +685,12 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam,  #define SCI_SETZOOM 2373  #define SCI_GETZOOM 2374  #define SC_DOCUMENTOPTION_DEFAULT 0 -#define SC_DOCUMENTOPTION_STYLES_NONE 1 +#define SC_DOCUMENTOPTION_STYLES_NONE 0x1 +#define SC_DOCUMENTOPTION_TEXT_LARGE 0x100  #define SCI_CREATEDOCUMENT 2375  #define SCI_ADDREFDOCUMENT 2376  #define SCI_RELEASEDOCUMENT 2377 +#define SCI_GETDOCUMENTOPTIONS 2379  #define SCI_GETMODEVENTMASK 2378  #define SCI_SETFOCUS 2380  #define SCI_GETFOCUS 2381 diff --git a/include/Scintilla.iface b/include/Scintilla.iface index 51c3f2e81..2c361b5f0 100644 --- a/include/Scintilla.iface +++ b/include/Scintilla.iface @@ -1773,16 +1773,20 @@ get int GetZoom=2374(,)  enu DocumentOption=SC_DOCUMENTOPTION_  val SC_DOCUMENTOPTION_DEFAULT=0 -val SC_DOCUMENTOPTION_STYLES_NONE=1 +val SC_DOCUMENTOPTION_STYLES_NONE=0x1 +val SC_DOCUMENTOPTION_TEXT_LARGE=0x100  # Create a new document object.  # Starts with reference count of 1 and not selected into editor. -fun int CreateDocument=2375(int bytes, int documentOption) +fun int CreateDocument=2375(int bytes, int documentOptions)  # Extend life of document.  fun void AddRefDocument=2376(, int doc)  # Release a reference to the document, deleting document if it fades to black.  fun void ReleaseDocument=2377(, int doc) +# Get which document options are set. +get int GetDocumentOptions=2379(,) +  # Get which document modification events are sent to the container.  get int GetModEventMask=2378(,) @@ -2544,7 +2548,7 @@ set void SetTechnology=2630(int technology,)  get int GetTechnology=2631(,)  # Create an ILoader*. -fun int CreateLoader=2632(int bytes, int documentOption) +fun int CreateLoader=2632(int bytes, int documentOptions)  # On OS X, show a find indicator.  fun void FindIndicatorShow=2640(position start, position end) diff --git a/src/CellBuffer.cxx b/src/CellBuffer.cxx index d6d83c20b..fcc75a741 100644 --- a/src/CellBuffer.cxx +++ b/src/CellBuffer.cxx @@ -364,12 +364,17 @@ void UndoHistory::CompletedRedoStep() {  	currentAction++;  } -CellBuffer::CellBuffer(bool hasStyles_) : -	hasStyles(hasStyles_) { +CellBuffer::CellBuffer(bool hasStyles_, bool largeDocument_) : +	hasStyles(hasStyles_), largeDocument(largeDocument_) {  	readOnly = false;  	utf8LineEnds = 0;  	collectingUndo = true;  	plv = std::make_unique<LineVector<Sci::Position>>(); +	if (largeDocument) +		plv = std::make_unique<LineVector<Sci::Position>>(); +	else +		plv = std::make_unique<LineVector<int>>(); +  }  CellBuffer::~CellBuffer() { @@ -556,6 +561,14 @@ void CellBuffer::SetReadOnly(bool set) {  	readOnly = set;  } +bool CellBuffer::IsLarge() const { +	return largeDocument; +} + +bool CellBuffer::HasStyles() const { +	return hasStyles; +} +  void CellBuffer::SetSavePoint() {  	uh.SetSavePoint();  } diff --git a/src/CellBuffer.h b/src/CellBuffer.h index 544a26711..935ea6e69 100644 --- a/src/CellBuffer.h +++ b/src/CellBuffer.h @@ -108,6 +108,7 @@ public:  class CellBuffer {  private:  	bool hasStyles; +	bool largeDocument;  	SplitVector<char> substance;  	SplitVector<char> style;  	bool readOnly; @@ -126,7 +127,7 @@ private:  public: -	CellBuffer(bool hasStyles_); +	CellBuffer(bool hasStyles_, bool largeDocument_);  	// Deleted so CellBuffer objects can not be copied.  	CellBuffer(const CellBuffer &) = delete;  	void operator=(const CellBuffer &) = delete; @@ -163,6 +164,8 @@ public:  	bool IsReadOnly() const;  	void SetReadOnly(bool set); +	bool IsLarge() const; +	bool HasStyles() const;  	/// The save point is a marker in the undo stack where the container has stated that  	/// the buffer was saved. Undo and redo can move over the save point. diff --git a/src/ContractionState.cxx b/src/ContractionState.cxx index 2950587cb..b513c20a6 100644 --- a/src/ContractionState.cxx +++ b/src/ContractionState.cxx @@ -407,8 +407,11 @@ void ContractionState<LINE>::Check() const {  namespace Scintilla { -std::unique_ptr<IContractionState> ContractionStateCreate() { -	return std::make_unique<ContractionState<Sci::Line>>(); +std::unique_ptr<IContractionState> ContractionStateCreate(bool largeDocument) { +	if (largeDocument) +		return std::make_unique<ContractionState<Sci::Line>>(); +	else +		return std::make_unique<ContractionState<int>>();  }  } diff --git a/src/ContractionState.h b/src/ContractionState.h index a951e0a0c..90f5c0784 100644 --- a/src/ContractionState.h +++ b/src/ContractionState.h @@ -45,7 +45,7 @@ public:  	virtual void ShowAll()=0;  }; -std::unique_ptr<IContractionState> ContractionStateCreate(); +std::unique_ptr<IContractionState> ContractionStateCreate(bool largeDocument);  } diff --git a/src/Document.cxx b/src/Document.cxx index 09a91d469..4765248d1 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -82,7 +82,7 @@ int LexInterface::LineEndTypesSupported() {  }  Document::Document(int options) : -	cb((options & SC_DOCUMENTOPTION_STYLES_NONE) == 0) { +	cb((options & SC_DOCUMENTOPTION_STYLES_NONE) == 0, (options & SC_DOCUMENTOPTION_TEXT_LARGE) != 0) {  	refCount = 0;  #ifdef _WIN32  	eolMode = SC_EOL_CRLF; @@ -113,7 +113,7 @@ Document::Document(int options) :  	perLineData[ldMargin] = std::make_unique<LineAnnotation>();  	perLineData[ldAnnotation] = std::make_unique<LineAnnotation>(); -	decorations = DecorationListCreate(false); +	decorations = DecorationListCreate(IsLarge());  	cb.SetPerLine(this);  } @@ -1520,6 +1520,11 @@ void Document::ConvertLineEnds(int eolModeSet) {  } +int Document::Options() const { +	return (IsLarge() ? SC_DOCUMENTOPTION_TEXT_LARGE : 0) | +		(cb.HasStyles() ? 0 : SC_DOCUMENTOPTION_STYLES_NONE); +} +  bool Document::IsWhiteLine(Sci::Line line) const {  	Sci::Position currentChar = static_cast<Sci::Position>(LineStart(line));  	const Sci::Position endLine = static_cast<Sci::Position>(LineEnd(line)); diff --git a/src/Document.h b/src/Document.h index 7614373e2..d5d0a4d2e 100644 --- a/src/Document.h +++ b/src/Document.h @@ -352,6 +352,8 @@ public:  	void ConvertLineEnds(int eolModeSet);  	void SetReadOnly(bool set) { cb.SetReadOnly(set); }  	bool IsReadOnly() const { return cb.IsReadOnly(); } +	bool IsLarge() const { return cb.IsLarge(); } +	int Options() const;  	void DelChar(Sci::Position pos);  	void DelCharBack(Sci::Position pos); diff --git a/src/EditModel.cxx b/src/EditModel.cxx index 7782f583e..e7400ca37 100644 --- a/src/EditModel.cxx +++ b/src/EditModel.cxx @@ -70,7 +70,7 @@ EditModel::EditModel() {  	wrapWidth = LineLayout::wrapWidthInfinite;  	pdoc = new Document(SC_DOCUMENTOPTION_DEFAULT);  	pdoc->AddRef(); -	pcs = ContractionStateCreate(); +	pcs = ContractionStateCreate(pdoc->IsLarge());  }  EditModel::~EditModel() { diff --git a/src/EditView.cxx b/src/EditView.cxx index 37a6a9f9e..3f490af5e 100644 --- a/src/EditView.cxx +++ b/src/EditView.cxx @@ -2330,16 +2330,15 @@ Sci::Position EditView::FormatRange(bool draw, Sci_RangeToFormat *pfr, Surface *  		if (draw && lineNumberWidth &&  			(ypos + vsPrint.lineHeight <= pfr->rc.bottom) &&  			(visibleLine >= 0)) { -			char number[100]; -			sprintf(number, "%d" lineNumberPrintSpace, lineDoc + 1); +			const std::string number = std::to_string(lineDoc + 1) + lineNumberPrintSpace;  			PRectangle rcNumber = rcLine;  			rcNumber.right = rcNumber.left + lineNumberWidth;  			// Right justify  			rcNumber.left = rcNumber.right - surfaceMeasure->WidthText( -				vsPrint.styles[STYLE_LINENUMBER].font, number, static_cast<int>(strlen(number))); +				vsPrint.styles[STYLE_LINENUMBER].font, number.c_str(), static_cast<int>(number.length()));  			surface->FlushCachedState();  			surface->DrawTextNoClip(rcNumber, vsPrint.styles[STYLE_LINENUMBER].font, -				static_cast<XYPOSITION>(ypos + vsPrint.maxAscent), number, static_cast<int>(strlen(number)), +				static_cast<XYPOSITION>(ypos + vsPrint.maxAscent), number.c_str(), static_cast<int>(number.length()),  				vsPrint.styles[STYLE_LINENUMBER].fore,  				vsPrint.styles[STYLE_LINENUMBER].back);  		} diff --git a/src/Editor.cxx b/src/Editor.cxx index 0a2cf9c7c..ca23b0030 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -5212,7 +5212,7 @@ void Editor::SetDocPointer(Document *document) {  		pdoc = document;  	}  	pdoc->AddRef(); -	pcs = ContractionStateCreate(); +	pcs = ContractionStateCreate(pdoc->IsLarge());  	// Ensure all positions within document  	sel.Clear(); @@ -7604,7 +7604,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {  			Document *doc = new Document(static_cast<int>(lParam));  			doc->AddRef();  			doc->Allocate(static_cast<int>(wParam)); -			pcs = ContractionStateCreate(); +			pcs = ContractionStateCreate(pdoc->IsLarge());  			return reinterpret_cast<sptr_t>(doc);  		} @@ -7616,12 +7616,15 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {  		(reinterpret_cast<Document *>(lParam))->Release();  		break; +	case SCI_GETDOCUMENTOPTIONS: +		return pdoc->Options(); +  	case SCI_CREATELOADER: {  			Document *doc = new Document(static_cast<int>(lParam));  			doc->AddRef();  			doc->Allocate(static_cast<int>(wParam));  			doc->SetUndoCollection(false); -			pcs = ContractionStateCreate(); +			pcs = ContractionStateCreate(pdoc->IsLarge());  			return reinterpret_cast<sptr_t>(static_cast<ILoader *>(doc));  		} diff --git a/src/MarginView.cxx b/src/MarginView.cxx index a7f9a9a2d..02a961b10 100644 --- a/src/MarginView.cxx +++ b/src/MarginView.cxx @@ -367,10 +367,12 @@ void MarginView::PaintMargin(Surface *surface, Sci::Line topLine, PRectangle rc,  				rcMarker.bottom = static_cast<XYPOSITION>(yposScreen + vs.lineHeight);  				if (vs.ms[margin].style == SC_MARGIN_NUMBER) {  					if (firstSubLine) { -						char number[100] = ""; -						if (lineDoc >= 0) -							sprintf(number, "%d", lineDoc + 1); +						std::string sNumber; +						if (lineDoc >= 0) { +							sNumber = std::to_string(lineDoc + 1); +						}  						if (model.foldFlags & (SC_FOLDFLAG_LEVELNUMBERS | SC_FOLDFLAG_LINESTATE)) { +							char number[100] = "";  							if (model.foldFlags & SC_FOLDFLAG_LEVELNUMBERS) {  								const int lev = model.pdoc->GetLevel(lineDoc);  								sprintf(number, "%c%c %03X %03X", @@ -383,14 +385,15 @@ void MarginView::PaintMargin(Surface *surface, Sci::Line topLine, PRectangle rc,  								const int state = model.pdoc->GetLineState(lineDoc);  								sprintf(number, "%0X", state);  							} +							sNumber = number;  						}  						PRectangle rcNumber = rcMarker;  						// Right justify -						const XYPOSITION width = surface->WidthText(fontLineNumber, number, static_cast<int>(strlen(number))); +						const XYPOSITION width = surface->WidthText(fontLineNumber, sNumber.c_str(), static_cast<int>(sNumber.length()));  						const XYPOSITION xpos = rcNumber.right - width - vs.marginNumberPadding;  						rcNumber.left = xpos;  						DrawTextNoClipPhase(surface, rcNumber, vs.styles[STYLE_LINENUMBER], -							rcNumber.top + vs.maxAscent, number, static_cast<int>(strlen(number)), drawAll); +							rcNumber.top + vs.maxAscent, sNumber.c_str(), static_cast<int>(sNumber.length()), drawAll);  					} else if (vs.wrapVisualFlags & SC_WRAPVISUALFLAG_MARGIN) {  						PRectangle rcWrapMarker = rcMarker;  						rcWrapMarker.right -= wrapMarkerPaddingRight; diff --git a/src/Position.h b/src/Position.h index a8fbfb494..e0bbcb53f 100644 --- a/src/Position.h +++ b/src/Position.h @@ -16,8 +16,8 @@  namespace Sci { -typedef int Position; -typedef int Line; +typedef ptrdiff_t Position; +typedef ptrdiff_t Line;  const Position invalidPosition = -1; diff --git a/src/RunStyles.cxx b/src/RunStyles.cxx index 03692f673..f92da5047 100644 --- a/src/RunStyles.cxx +++ b/src/RunStyles.cxx @@ -306,3 +306,5 @@ void RunStyles<DISTANCE, STYLE>::Check() const {  template class Scintilla::RunStyles<int, int>;  template class Scintilla::RunStyles<int, char>; +template class Scintilla::RunStyles<ptrdiff_t, int>; +template class Scintilla::RunStyles<ptrdiff_t, char>; diff --git a/test/unit/testCellBuffer.cxx b/test/unit/testCellBuffer.cxx index f0192423c..cef88cb17 100644 --- a/test/unit/testCellBuffer.cxx +++ b/test/unit/testCellBuffer.cxx @@ -26,7 +26,7 @@ TEST_CASE("CellBuffer") {  	const char sText[] = "Scintilla";  	const Sci::Position sLength = static_cast<Sci::Position>(strlen(sText)); -	CellBuffer cb(true); +	CellBuffer cb(true, false);  	SECTION("InsertOneLine") {  		bool startSequence = false; diff --git a/test/unit/testContractionState.cxx b/test/unit/testContractionState.cxx index b0346dfc9..fcee90287 100644 --- a/test/unit/testContractionState.cxx +++ b/test/unit/testContractionState.cxx @@ -25,7 +25,7 @@ using namespace Scintilla;  TEST_CASE("ContractionState") { -	std::unique_ptr<IContractionState> pcs = ContractionStateCreate(); +	std::unique_ptr<IContractionState> pcs = ContractionStateCreate(false);  	SECTION("IsEmptyInitially") {  		REQUIRE(1 == pcs->LinesInDoc()); diff --git a/test/unit/testPartitioning.cxx b/test/unit/testPartitioning.cxx index 69bbe7957..449253ef3 100644 --- a/test/unit/testPartitioning.cxx +++ b/test/unit/testPartitioning.cxx @@ -50,7 +50,7 @@ TEST_CASE("SplitVectorWithRangeAdd") {  TEST_CASE("Partitioning") { -	Partitioning<int> part(growSize); +	Partitioning<Sci::Position> part(growSize);  	SECTION("IsEmptyInitially") {  		REQUIRE(1 == part.Partitions()); | 
