https://bugs.documentfoundation.org/show_bug.cgi?id=172185

            Bug ID: 172185
           Summary: AutoCorrect doesn’t take into account deleted track
                    changes
           Product: LibreOffice
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Writer
          Assignee: [email protected]
          Reporter: [email protected]

Description:
There’s a whole nest of bugs around tracked changes and autocorrect. I think
the problems stem from the fact that the design of autocorrect works around an
abstract interface of the current document to be corrected, but that interface
doesn’t hide the deleted text from the autocorrect functions and it also
doesn’t provide any way for the functions to know about it.

The fix for tdf#83419 went some way to fix this by preventing the autocorrect
from correcting deleted text in the specific case where it is only replacing
one character. It doesn’t help if the function is doing something else such as
replacing a whole word. It also means the correction is just forgotten instead
of making it so that it corrects the right place.

Steps to Reproduce:
1. Create a new Writer document
2. Type “whello”
3. Enable tracked changes with Edit->Tracked Changes->Record
4. Press Home, Shift+Right then Delete to delete the first character. It should
still be visible with a line through it.
5. Press end to go to the end of the line.
6. Press space to finish the word and trigger the autocorrect

Actual Results:
No autocorrect happens

Expected Results:
The “h” should be capitalised to “H” and the deleted “w” should remain lower
case.


Reproducible: Always


User Profile Reset: Yes

Additional Info:
Another weird thing you can do is if you insert the following steps between
steps 4 and 5 in the description above:

4.1 Press Ctrl+A to select the entire text
4.2 Press Ctrl+B to make everything bold

This seems to break the fix for tdf#83419 so that now the deleted character
gets capitalised and you end up with text that looks like “-w-Whello” (where
-w- is a “w” with a line through it).

I think one way to fix this might be to modify the SvxAutoCorrDoc interface to
provide a way for autocorrect functions to skip over deleted redlines. I made a
start on this in these two patches:

https://gerrit.libreoffice.org/c/core/+/205450
https://gerrit.libreoffice.org/c/core/+/205451

Version: 26.8.0.0.alpha0+ (X86_64)
Build ID: b916aae4693afa2ed9fd6bfdd53e82d6f085936c
CPU threads: 8; OS: Linux 6.19; UI render: default; VCL: gtk3
Locale: fr-FR (fr_FR.UTF-8); UI: en-US
Calc: threaded

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to