From 1172094322af0d3dfc03ff813b15ade18633c421 Mon Sep 17 00:00:00 2001 From: Neil Hodgson Date: Wed, 16 May 2018 11:43:01 +1000 Subject: Backport: Fix regex crash reported with libstdc++ on macOS that occurs when the regex has a locale imbued. Backport of changeset 6953:85ff33e92309. --- doc/ScintillaHistory.html | 3 +++ src/Document.cxx | 7 ------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index fdb31fc25..2d6fdd34a 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -579,6 +579,9 @@ changing case of text, case-insensitive searching, and retrieving text as UTF-8.
  • + Regular expression crash fixed on macOS when linking to libstdc++. +
  • +
  • On Win32, a new file, ScintillaDLL.cxx, provides the DllMain function required for a stand-alone Scintilla DLL. Build and project files should include this file when producing a DLL and omit it when producing a static library or linking Scintilla statically. diff --git a/src/Document.cxx b/src/Document.cxx index 65ddba8e0..54656ab03 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -2951,13 +2951,6 @@ Sci::Position Cxx11RegexFindText(const Document *doc, Sci::Position minPos, Sci: #endif ws[outLen] = 0; std::wregex regexp; -#if defined(__APPLE__) - // Using a UTF-8 locale doesn't change to Unicode over a byte buffer so '.' - // is one byte not one character. - // However, on OS X this makes wregex act as Unicode - std::locale localeU("en_US.UTF-8"); - regexp.imbue(localeU); -#endif regexp.assign(&ws[0], flagsRe); matched = MatchOnLines(doc, regexp, resr, search); -- cgit v1.2.3