https://bugs.documentfoundation.org/show_bug.cgi?id=148358
Bug ID: 148358
Summary: Non-ASCII names are not case-insensitive in compatible
mode
Product: LibreOffice
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: BASIC
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Consider the code:
Option Compatible
Sub TestNonAscii
Абв = 10
MsgBox абв
End Sub
The code uses a Cyrillic characters for the variable name "Абв", and it uses
the same name with first character lowercase in the next MsgBox statement. It
must output "10", but instead, it shows empty dialog.
The problem is, the non-ASCII characters are not treated case-insensisively; in
the code, there are "equalsIgnoreAsciiCase" calls on the result of
SbxVariable::GetName left and right.
Commit de81c2545aec06a1b269218b7d00656e97d8b66c introduced a cached
transliterated case-insensitive name value, obtained using SbxVariable::GetName
with SbxNameType::CaseInsensitive. So instead of those equalsIgnoreAsciiCase,
in compatibility mode we should compare for equality, using the transliterated
case-insensitive value.
--
You are receiving this mail because:
You are the assignee for the bug.