diff --git a/autobuild.xml b/autobuild.xml
index 4ed4129394..7e7e3d8790 100755
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -254,9 +254,9 @@
archive
name
windows
diff --git a/indra/llui/llkeywords.cpp b/indra/llui/llkeywords.cpp
index c1cd04186b..cfd6125302 100644
--- a/indra/llui/llkeywords.cpp
+++ b/indra/llui/llkeywords.cpp
@@ -539,10 +539,12 @@ void LLKeywords::findSegments(std::vector* seg_list, const LLW
// check against words
llwchar prev = cur > base ? *(cur-1) : 0;
- if( !isalnum( prev ) && (prev != '_') )
+ // NaCl - LSL Preprocessor
+ if( !isalnum( prev ) && (prev != '_') && (prev != '#'))
{
const llwchar* p = cur;
- while( isalnum( *p ) || (*p == '_') )
+ while( isalnum( *p ) || (*p == '_') || (*p == '#') )
+ // NaCl End
{
p++;
}
diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp
index 9e46ee5f49..366785343f 100644
--- a/indra/llui/lltexteditor.cpp
+++ b/indra/llui/lltexteditor.cpp
@@ -2598,6 +2598,16 @@ void LLTextEditor::loadKeywords(const std::string& filename,
}
}
+// NaCL - LSL Preprocessor
+void LLTextEditor::addToken(LLKeywordToken::TOKEN_TYPE type,
+ const std::string& key,
+ const LLColor3& color,
+ const std::string& tool_tip)
+{
+ mKeywords.addToken(type,key,color,tool_tip);
+}
+// NaCl End
+
void LLTextEditor::updateSegments()
{
if (mReflowIndex < S32_MAX && mKeywords.isLoaded() && mParseOnTheFly)
diff --git a/indra/llui/lltexteditor.h b/indra/llui/lltexteditor.h
index 6f2fdf2388..3e380b25c9 100644
--- a/indra/llui/lltexteditor.h
+++ b/indra/llui/lltexteditor.h
@@ -208,6 +208,12 @@ public:
const std::vector& funcs,
const std::vector& tooltips,
const LLColor3& func_color);
+ // NaCl - LSL Preprocessor
+ void addToken(LLKeywordToken::TOKEN_TYPE type,
+ const std::string& key,
+ const LLColor3& color,
+ const std::string& tool_tip = LLStringUtil::null);
+ // NaCl End
LLKeywords::keyword_iterator_t keywordsBegin() { return mKeywords.begin(); }
LLKeywords::keyword_iterator_t keywordsEnd() { return mKeywords.end(); }
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index a75ff8a8c5..1b883cba70 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -97,6 +97,7 @@ set(viewer_SOURCE_FILES
fskeywords.cpp
fslslbridge.cpp
fslslbridgerequest.cpp
+ fslslpreproc.cpp
fsfloaterprofile.cpp
fspanelprofile.cpp
fsradarlistctrl.cpp
@@ -707,6 +708,7 @@ set(viewer_HEADER_FILES
fskeywords.h
fslslbridge.h
fslslbridgerequest.h
+ fslslpreproc.h
fsfloaterprofile.h
fspanelprofile.h
fsradarlistctrl.h
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index b8d9e0d784..f91f7db20c 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -16732,6 +16732,83 @@ Change of this parameter will affect the layout of buttons in notification toast
Value
4
+ _NACL_LSLPreprocessor
+
+ _NACL_PreProcLSLOptimizer
+
+ _NACL_PreProcLSLTextCompress
+
+ _NACL_PreProcLSLLazyLists
+
+ _NACL_PreProcLSLSwitch
+
+ _NACL_PreProcEnableHDDInclude
+
+ _NACL_PreProcHDDIncludeLocation
+
FSMarkObjects