aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKein-Hong Man <devnull@localhost>2015-12-12 12:59:44 +1100
committerKein-Hong Man <devnull@localhost>2015-12-12 12:59:44 +1100
commitc29f51c80999df5b9d627d80411d06d1588f146f (patch)
tree817b09c2e7c5044f1327ffb9b02535ee568a9df0
parent755d414bfa71ce4f6e69afcff5402784ad6bff9b (diff)
downloadscintilla-mirror-c29f51c80999df5b9d627d80411d06d1588f146f.tar.gz
Bug [#1791]. Added a missing symbol (the underscore) for subroutine prototypes.
Removed the dynamic array.
-rw-r--r--doc/ScintillaHistory.html4
-rw-r--r--lexers/LexPerl.cxx6
2 files changed, 6 insertions, 4 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index f44f66363..c39e39a03 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -512,6 +512,10 @@
<a href="http://sourceforge.net/p/scintilla/bugs/1790/">Bug #1790</a>.
</li>
<li>
+ Perl lexer allows '_' for subroutine prototypes.
+ <a href="http://sourceforge.net/p/scintilla/bugs/1791/">Bug #1791</a>.
+ </li>
+ <li>
Send SCN_UPDATEUI with SC_UPDATE_SELECTION when the application changes multiple
selection.
</li>
diff --git a/lexers/LexPerl.cxx b/lexers/LexPerl.cxx
index df6cc9d3e..39fe10f14 100644
--- a/lexers/LexPerl.cxx
+++ b/lexers/LexPerl.cxx
@@ -537,7 +537,7 @@ void SCI_METHOD LexerPerl::Lex(Sci_PositionU startPos, Sci_Position length, int
CharacterSet &setPOD = setModifiers;
CharacterSet setNonHereDoc(CharacterSet::setDigits, "=$@");
CharacterSet setHereDocDelim(CharacterSet::setAlphaNum, "_");
- CharacterSet setSubPrototype(CharacterSet::setNone, "\\[$@%&*+];");
+ CharacterSet setSubPrototype(CharacterSet::setNone, "\\[$@%&*+];_");
// for format identifiers
CharacterSet setFormatStart(CharacterSet::setAlpha, "_=");
CharacterSet &setFormat = setHereDocDelim;
@@ -555,13 +555,12 @@ void SCI_METHOD LexerPerl::Lex(Sci_PositionU startPos, Sci_Position length, int
int Quote; // the char after '<<'
bool Quoted; // true if Quote in ('\'','"','`')
int DelimiterLength; // strlen(Delimiter)
- char *Delimiter; // the Delimiter, 256: sizeof PL_tokenbuf
+ char Delimiter[HERE_DELIM_MAX]; // the Delimiter
HereDocCls() {
State = 0;
Quote = 0;
Quoted = false;
DelimiterLength = 0;
- Delimiter = new char[HERE_DELIM_MAX];
Delimiter[0] = '\0';
}
void Append(int ch) {
@@ -569,7 +568,6 @@ void SCI_METHOD LexerPerl::Lex(Sci_PositionU startPos, Sci_Position length, int
Delimiter[DelimiterLength] = '\0';
}
~HereDocCls() {
- delete []Delimiter;
}
};
HereDocCls HereDoc; // TODO: FIFO for stacked here-docs