https://bugs.documentfoundation.org/show_bug.cgi?id=157999
Bug ID: 157999
Summary: EDITING Unwanted case change when adjusting duplicate
entry in column
Product: LibreOffice
Version: 4.2.0.4 release
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: Calc
Assignee: [email protected]
Reporter: [email protected]
Blocks: 103341
Created attachment 190529
--> https://bugs.documentfoundation.org/attachment.cgi?id=190529&action=edit
Sample ODT
- Open the attached spreadsheet,
- In cell A1, which has the text "This Test" (just like A10), replace the 2nd
"T" with "t" and press Enter.
=> A1 should be "This test" but becomes "This Test".
The behavior depends on another cell in the same column having the same
content.
This could be observed in LO 24.2.0.0.alpha0+
(5e726afaf08c8cc59124d9551bb083220a38821e) / Windows.
Interestingly, not before the following commit... or rather, not in the same
way:
https://cgit.freedesktop.org/libreoffice/core/commit/?id=7a2616501bba1225df3f6bc0225c3d5a7a692002
author Mike Kaganski <[email protected]> 2021-11-29
15:32:39 +0200
committer Mike Kaganski <[email protected]> 2021-11-29
21:31:21 +0100
"tdf#144308: don't cache DoAutoComplete/AutoInput in ScInputHandler"
However, the bug still occurs when repeating the 2nd step, so this change is a
red herring. It seems Calc behaved with with this adjusted reproducer before
4.2.0.4, it might be worth checking when that started.
The bug occurs, because the following is triggered in
ScInputHandler::EnterHandler(...):
// Perform case-matching only when the typed text is partial.
if (pColumnData && aAutoSearch.getLength() < aString.getLength())
aString = getExactMatch(*pColumnData, aString);
https://opengrok.libreoffice.org/xref/core/sc/source/ui/app/inputhdl.cxx?r=fee44aa4#3316
Limiting this to when 'aAutoSearch' is not empty would help in this case (it is
empty with these steps), however there's a different way to trigger the bug:
- Type "T" in an empty cell in column A, which gives you the suggestion "T" +
"his Test",
- Click after 2nd "T", press Backspace, then "t" and press Enter.
Here 'aAutoSearch' has "T" in it, so the unwanted replacement would happen
anyway.
I think after accepting or discarding the suggestion, 'aAutoSearch' should be
cleared, while it only seems to be updated as you type. see:
https://opengrok.libreoffice.org/xref/core/sc/source/ui/app/inputhdl.cxx?r=fee44aa4#3970
An old commit touching autoinput, resulting in the code snippet above:
https://cgit.freedesktop.org/libreoffice/core/commit/?id=d8bb8c4fb850b9de762567ed7d337972467470d6
author Kohei Yoshida <[email protected]> 2010-09-16 10:22:36
+0200
committer Fridrich Štrba <[email protected]> 2010-09-16
10:22:36 +0200
"calc-autoinput-case-insensitive-matching.diff: no case matching on autoinput"
for https://bz.apache.org/ooo/show_bug.cgi?id=101046
Referenced Bugs:
https://bugs.documentfoundation.org/show_bug.cgi?id=103341
[Bug 103341] [META] AutoCorrect and Word Completion bugs and enhancements
--
You are receiving this mail because:
You are the assignee for the bug.