aboutsummaryrefslogtreecommitdiff
path: root/src/scintilla_backports/6441_92c8f0f1b3e6.patch
diff options
context:
space:
mode:
Diffstat (limited to 'src/scintilla_backports/6441_92c8f0f1b3e6.patch')
-rw-r--r--src/scintilla_backports/6441_92c8f0f1b3e6.patch157
1 files changed, 157 insertions, 0 deletions
diff --git a/src/scintilla_backports/6441_92c8f0f1b3e6.patch b/src/scintilla_backports/6441_92c8f0f1b3e6.patch
new file mode 100644
index 00000000..edcc6338
--- /dev/null
+++ b/src/scintilla_backports/6441_92c8f0f1b3e6.patch
@@ -0,0 +1,157 @@
+# HG changeset patch
+# User Neil <nyamatongwe@gmail.com>
+# Date 1516925530 -39600
+# Node ID 92c8f0f1b3e64900cbb868a56936898693b9cfcc
+# Parent a1731ae83d2ac87c29f6b502efc5c4a747e0b704
+Add documentOption argument to SCI_CREATELOADER.
+
+diff -r a1731ae83d2a -r 92c8f0f1b3e6 doc/ScintillaDoc.html
+--- a/doc/ScintillaDoc.html Tue Jan 30 12:40:53 2018 +1100
++++ b/doc/ScintillaDoc.html Fri Jan 26 11:12:10 2018 +1100
+@@ -119,7 +119,7 @@
+
+ <h1>Scintilla Documentation</h1>
+
+- <p>Last edited 10 January 2018 NH</p>
++ <p>Last edited 31 January 2018 NH</p>
+
+ <p>There is <a class="jump" href="Design.html">an overview of the internal design of
+ Scintilla</a>.<br />
+@@ -5711,7 +5711,7 @@
+ <code><a class="message" href="#SCI_GETDOCPOINTER">SCI_GETDOCPOINTER &rarr; document *</a><br />
+ <a class="message" href="#SCI_SETDOCPOINTER">SCI_SETDOCPOINTER(&lt;unused&gt;, document
+ *doc)</a><br />
+- <a class="message" href="#SCI_CREATEDOCUMENT">SCI_CREATEDOCUMENT &rarr; document *</a><br />
++ <a class="message" href="#SCI_CREATEDOCUMENT">SCI_CREATEDOCUMENT(int bytes, int documentOption) &rarr; document *</a><br />
+ <a class="message" href="#SCI_ADDREFDOCUMENT">SCI_ADDREFDOCUMENT(&lt;unused&gt;, document
+ *doc)</a><br />
+ <a class="message" href="#SCI_RELEASEDOCUMENT">SCI_RELEASEDOCUMENT(&lt;unused&gt;, document
+@@ -5732,13 +5732,20 @@
+ 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 &rarr; document *</b><br />
++ <p><b id="SCI_CREATEDOCUMENT">SCI_CREATEDOCUMENT(int bytes, int documentOption) &rarr; 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
++ 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
+ <code>SCI_SETDOCPOINTER</code> so that the Scintilla window owns it or you must make sure that
+- you reduce the reference count by 1 with <code>SCI_RELEASEDOCUMENT</code> before you close the
+- application to avoid memory leaks.</p>
++ you reduce the reference count by 1 with <code>SCI_RELEASEDOCUMENT</code> before you close the
++ application to avoid memory leaks. 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_CREATEDOCUMENT</code> fails then 0 is returned.</p>
++
++ <p>The <code class="parameter">documentOption</code> argument may be used in future versions
++ to choose between different document capabilities which affect memory allocation and performance.
++ The only valid value for now is <code>SC_DOCUMENTOPTION_DEFAULT</code> (0).</p>
+
+ <p><b id="SCI_ADDREFDOCUMENT">SCI_ADDREFDOCUMENT(&lt;unused&gt;, document *doc)</b><br />
+ This increases the reference count of a document by 1. If you want to replace the current
+@@ -5765,7 +5772,7 @@
+
+ <h3 id="BackgroundLoad">Loading in the background</h3>
+
+- <code><a class="message" href="#SCI_CREATELOADER">SCI_CREATELOADER(int bytes) &rarr; int</a><br />
++ <code><a class="message" href="#SCI_CREATELOADER">SCI_CREATELOADER(int bytes, int documentOption) &rarr; 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
+@@ -5774,13 +5781,17 @@
+
+ <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) &rarr; int</b><br />
++ <p><b id="SCI_CREATELOADER">SCI_CREATELOADER(int bytes, int documentOption) &rarr; 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 may be used in future versions
++ to choose between different document capabilities which affect memory allocation and performance.
++ The only valid value for now is <code>SC_DOCUMENTOPTION_DEFAULT</code> (0).</p>
++
+ <h4>ILoader</h4>
+
+ <div class="highlighted">
+@@ -6573,7 +6584,7 @@
+ On GTK+, there are storage and performance costs to accessibility, so it can be disabled
+ by calling <code>SCI_SETACCESSIBILITY</code>.
+ </p>
+-
++
+ <table class="standard" summary="Accessibility status">
+ <tbody>
+ <tr>
+@@ -6603,7 +6614,7 @@
+ </tr>
+ </tbody>
+ </table>
+-
++
+ <h2 id="Lexer">Lexer</h2>
+
+ <p>If you define the symbol <code>SCI_LEXER</code> when building Scintilla, (this is sometimes
+@@ -6894,7 +6905,7 @@
+ <p>
+ Methods that return strings as <code>const char *</code> are not required to maintain separate allocations indefinitely:
+ lexer implementations may own a single buffer that is reused for each call.
+-Callers should make an immediate copy of returned strings.
++Callers should make an immediate copy of returned strings.
+ </p>
+
+ <p>
+diff -r a1731ae83d2a -r 92c8f0f1b3e6 include/Scintilla.h
+--- a/include/Scintilla.h Tue Jan 30 12:40:53 2018 +1100
++++ b/include/Scintilla.h Fri Jan 26 11:12:10 2018 +1100
+@@ -689,6 +689,7 @@
+ #define SCI_SELECTIONISRECTANGLE 2372
+ #define SCI_SETZOOM 2373
+ #define SCI_GETZOOM 2374
++#define SC_DOCUMENTOPTION_DEFAULT 0
+ #define SCI_CREATEDOCUMENT 2375
+ #define SCI_ADDREFDOCUMENT 2376
+ #define SCI_RELEASEDOCUMENT 2377
+diff -r a1731ae83d2a -r 92c8f0f1b3e6 include/Scintilla.iface
+--- a/include/Scintilla.iface Tue Jan 30 12:40:53 2018 +1100
++++ b/include/Scintilla.iface Fri Jan 26 11:12:10 2018 +1100
+@@ -1771,9 +1771,12 @@
+ # Retrieve the zoom level.
+ get int GetZoom=2374(,)
+
++enu DocumentOption=SC_DOCUMENTOPTION_
++val SC_DOCUMENTOPTION_DEFAULT=0
++
+ # Create a new document object.
+ # Starts with reference count of 1 and not selected into editor.
+-fun int CreateDocument=2375(,)
++fun int CreateDocument=2375(int bytes, int documentOption)
+ # Extend life of document.
+ fun void AddRefDocument=2376(, int doc)
+ # Release a reference to the document, deleting document if it fades to black.
+@@ -2540,7 +2543,7 @@
+ get int GetTechnology=2631(,)
+
+ # Create an ILoader*.
+-fun int CreateLoader=2632(int bytes,)
++fun int CreateLoader=2632(int bytes, int documentOption)
+
+ # On OS X, show a find indicator.
+ fun void FindIndicatorShow=2640(position start, position end)
+diff -r a1731ae83d2a -r 92c8f0f1b3e6 src/Editor.cxx
+--- a/src/Editor.cxx Tue Jan 30 12:40:53 2018 +1100
++++ b/src/Editor.cxx Fri Jan 26 11:12:10 2018 +1100
+@@ -7556,6 +7556,7 @@
+ case SCI_CREATEDOCUMENT: {
+ Document *doc = new Document();
+ doc->AddRef();
++ doc->Allocate(static_cast<int>(wParam));
+ return reinterpret_cast<sptr_t>(doc);
+ }
+