[BUG_FIXED] Walk around Notepad++ hanging on C(JK?) input with ANSI document while enabling word completion.

git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@939 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
Don Ho 2012-08-12 01:25:22 +00:00
parent 418c440f63
commit 211932fdd7
2 changed files with 8 additions and 27 deletions

View File

@ -189,7 +189,10 @@ void AutoCompletion::update(int character)
if (lstrlen(s) >= int(nppGUI._autocFromLen))
{
if (nppGUI._autocStatus == nppGUI.autoc_word)
showWordComplete(false);
{
if (!_pEditView->isCJK())
showWordComplete(false);
}
else if (nppGUI._autocStatus == nppGUI.autoc_func)
showAutoComplete();
}

View File

@ -613,29 +613,12 @@ public:
void setTabSettings(Lang *lang);
bool isWrapRestoreNeeded() const {return _wrapRestoreNeeded;};
void setWrapRestoreNeeded(bool isWrapRestoredNeeded) {_wrapRestoreNeeded = isWrapRestoredNeeded;};
/*
pair<size_t, bool> getLineUndoState(size_t currentLine) {
Buffer * buf = getCurrentBuffer();
return buf->getLineUndoState(currentLine);
};
void setLineUndoState(size_t currentLine, size_t undoLevel, bool isSaved = false) {
Buffer * buf = getCurrentBuffer();
buf->setLineUndoState(currentLine, undoLevel, isSaved);
bool isCJK() const {
return ((_codepage == CP_CHINESE_TRADITIONAL) || (_codepage == CP_CHINESE_SIMPLIFIED) ||
(_codepage == CP_JAPANESE) || (_codepage == CP_KOREAN));
};
void markSavedLines() {
for (int i = 0 ; i <= lastZeroBasedLineNumber() ; i++)
{
if ((execute(SCI_MARKERGET, i) & (1 << MARK_LINEMODIFIEDUNSAVED)) != 0)
{
execute(SCI_MARKERDELETE, i, MARK_LINEMODIFIEDUNSAVED);
execute(SCI_MARKERADD, i, MARK_LINEMODIFIEDSAVED);
//pair<size_t, bool> st = getLineUndoState(i);
setLineUndoState(i, 0, true);
}
}
};
*/
protected:
static HINSTANCE _hLib;
static int _refCount;
@ -906,11 +889,6 @@ protected:
execute(SCI_MARKERSETBACKSELECTED, marker, foreActive);
};
bool isCJK() const {
return ((_codepage == CP_CHINESE_TRADITIONAL) || (_codepage == CP_CHINESE_SIMPLIFIED) ||
(_codepage == CP_JAPANESE) || (_codepage == CP_KOREAN));
};
int codepage2CharSet() const {
switch (_codepage)
{