[Libreoffice-bugs] [Bug 96787] AutoCorrect: After Removal of Replacement Entry the Replacement Itself is still Performed.
https://bugs.documentfoundation.org/show_bug.cgi?id=96787 Julien Nabet changed: What|Removed |Added Status|NEW |ASSIGNED CC||dirk@t-online.de, ||serval2...@yahoo.fr Assignee|libreoffice-b...@lists.free |serval2...@yahoo.fr |desktop.org | --- Comment #21 from Julien Nabet --- On pc Debian x86-64 with master sources updated today, I could reproduce this. I tried with the example of tdf#139377 where Dirk (I put in cc) would like to avoid LO from replacing "daß" by "dass". After deleting the entry, LO still does the replacement even after having restarted LO. If we take the example of German language from Germany, the initial replacement file (ie with a brand new LO profile) is "acor_de.dat" present in "share" directory. Just for information, these dat files are in fact zip files with a specific structure, see: julien@debianamd:/tmp/test$ ls acor_de.dat julien@debianamd:/tmp/test$ mv acor_de.dat acor_de.zip julien@debianamd:/tmp/test$ unzip acor_de.zip Archive: acor_de.zip extracting: mimetype inflating: DocumentList.xml inflating: META-INF/manifest.xml inflating: SentenceExceptList.xml inflating: WordExceptList.xml When deleting an entry in the autocorrect dialog and click Ok, LO generates a "acor_de-DE.dat" in "user" directory this time. This "acor_de-DE.dat" contains all the replacements from "acor_de.dat" except the deleted entry. Important thing to note: "acor_de.dat" in "share" doesn't change and still contains all replacements (included "daß"=>"dass") Remark: the extra "-DE" in the file name is because I used Germany locale. If I switch to Austria locale for example, it will use initial "acor_de.dat" from "share" so it won't use "acor_de-DE.dat" from "user" directory) After some debugging, I noticed that the type of replacement "daß"->"dass" was done in SvxAutoCorrect::SearchWordsInList (see https://opengrok.libreoffice.org/xref/core/editeng/source/misc/svxacorr.cxx?r=40e98c87#1920). 1) it begins in the block: 1932 // First search for eLang, then US-English -> English 1933 // and last in LANGUAGE_UNDETERMINED 1934 if (m_aLangTable.find(aLanguageTag) != m_aLangTable.end() || CreateLanguageFile(aLanguageTag, false)) 1935 { 1936 //the language is available - so bring it on 1937 std::unique_ptr const& pList = m_aLangTable.find(aLanguageTag)->second; 1938 pRet = lcl_SearchWordsInList( pList.get(), rTxt, rStt, nEndPos ); 1939 if( pRet ) 1940 { 1941 rLang = aLanguageTag; 1942 return pRet; 1943 } 1944 } gdb showed that pList.get() used "acor_de-DE.dat" (from "user") and when searching "daß", it doesn't enter if block at line 1939 as expected. 2) But then LO keeps in the next block: 1946 // If it still could not be found here, then keep on searching 1947 LanguageType eLang = aLanguageTag.getLanguageType(); 1948 // the primary language for example EN 1949 aLanguageTag.reset(aLanguageTag.getLanguage()); 1950 LanguageType nTmpKey = aLanguageTag.getLanguageType(false); 1951 if (nTmpKey != eLang && nTmpKey != LANGUAGE_UNDETERMINED && 1952 (m_aLangTable.find(aLanguageTag) != m_aLangTable.end() || 1953 CreateLanguageFile(aLanguageTag, false))) 1954 { 1955 //the language is available - so bring it on 1956 std::unique_ptr const& pList = m_aLangTable.find(aLanguageTag)->second; 1957 pRet = lcl_SearchWordsInList( pList.get(), rTxt, rStt, nEndPos ); 1958 if( pRet ) 1959 { 1960 rLang = aLanguageTag; 1961 return pRet; 1962 } 1963 } and here pList.get() shows "acor_de.dat" from "share". So when searching "daß", it finds the replace (since "acor_de.dat" isn't changed when deleting an entry) I'm gonna propose this straightforward patch: diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx index ae6dceb33adf..0f048114462b 100644 --- a/editeng/source/misc/svxacorr.cxx +++ b/editeng/source/misc/svxacorr.cxx @@ -1941,6 +1941,8 @@ const SvxAutocorrWord* SvxAutoCorrect::SearchWordsInList( rLang = aLanguageTag; return pRet; } +else +return nullptr; } // If it still could not be found here, then keep on searching If a correspond acor file is found in user, it goes into 1) like previously but instead of keeping on with 2), if there's no replacement found, it returns nullptr. I tested this patch with a brand new LO profile (so without "acor_de-DE.dat"), the replacement works since
[Libreoffice-bugs] [Bug 96787] AutoCorrect: After Removal of Replacement Entry the Replacement Itself is still Performed.
https://bugs.documentfoundation.org/show_bug.cgi?id=96787 V Stuart Foote changed: What|Removed |Added CC||vstuart.fo...@utsa.edu See Also||https://bugs.documentfounda ||tion.org/show_bug.cgi?id=10 ||3156 -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 96787] AutoCorrect: After Removal of Replacement Entry the Replacement Itself is still Performed.
https://bugs.documentfoundation.org/show_bug.cgi?id=96787 Telesto changed: What|Removed |Added Keywords||bibisectRequest, regression Version|Inherited From OOo |4.4.7.2 release OS|Linux (All) |All --- Comment #20 from Telesto --- (In reply to Harald Koester from comment #15) > Bug exists already in version 3.3.0. Hence inherited form OOo. Does it? Following the steps of bug 139396 it appears to work with Version: 4.3.7.2 Build ID: 8a35821d8636a03b8bf4e15b48f59794652c68ba Versie: 4.2.0.4 Build ID: 05dceb5d363845f2cf968344d7adab8dcfb2ba71 and also fine in 4.0 Adding bibisectrequest based on that assumption -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 96787] AutoCorrect: After Removal of Replacement Entry the Replacement Itself is still Performed.
https://bugs.documentfoundation.org/show_bug.cgi?id=96787 Telesto changed: What|Removed |Added See Also||https://bugs.documentfounda ||tion.org/show_bug.cgi?id=13 ||9396 -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 96787] AutoCorrect: After Removal of Replacement Entry the Replacement Itself is still Performed.
https://bugs.documentfoundation.org/show_bug.cgi?id=96787 --- Comment #19 from btv2...@hotmail.com --- The bug is still open in LO 6.1.5.2 also in Windows7 (Feb. 2019) It seems that LO uses always the acor_xx.dat files located in the path: "C:\Program Files\LibreOffice\share\autocorr" (for Windows7) instead of the new acor files which are created in the profile path: "D:\Daten\Users\%username%\AppData\Roaming\LibreOffice\4\user\autocorr" These new autocorr files are created when you apply changes for the first time in the autocorr replacement table, for a specific language. How is it possible that after 3 years a such annoying bug has still not an assignee? -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 96787] AutoCorrect: After Removal of Replacement Entry the Replacement Itself is still Performed.
https://bugs.documentfoundation.org/show_bug.cgi?id=96787 Telesto changed: What|Removed |Added See Also||https://bugs.documentfounda ||tion.org/show_bug.cgi?id=11 ||9177 -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 96787] AutoCorrect: After Removal of Replacement Entry the Replacement Itself is still Performed.
https://bugs.documentfoundation.org/show_bug.cgi?id=96787 Telesto changed: What|Removed |Added CC||tele...@surfxs.nl --- Comment #18 from Telesto --- *** Bug 119177 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 96787] AutoCorrect: After Removal of Replacement Entry the Replacement Itself is still Performed.
https://bugs.documentfoundation.org/show_bug.cgi?id=96787 Harald Koesterchanged: What|Removed |Added Blocks||103341 Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=103341 [Bug 103341] [META] Auto Correct and Completion bugs and enhancements -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 96787] AutoCorrect: After Removal of Replacement Entry the Replacement Itself is still Performed.
https://bugs.documentfoundation.org/show_bug.cgi?id=96787 --- Comment #17 from Benjamin Quest--- Bug is still reproducible in LO 5.4.1.2 (Manjaro stable default package). Once Manjaro stable updates to 5.4.2 I'll report again. -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 96787] AutoCorrect: After Removal of Replacement Entry the Replacement Itself is still Performed.
https://bugs.documentfoundation.org/show_bug.cgi?id=96787 --- Comment #16 from QA Administrators--- ** Please read this message in its entirety before responding ** To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from http://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 96787] AutoCorrect: After Removal of Replacement Entry the Replacement Itself is still Performed.
https://bugs.documentfoundation.org/show_bug.cgi?id=96787 Harald Koesterchanged: What|Removed |Added CC||harald.koes...@mail.de Component|Writer |Linguistic Version|5.0.4.2 release |Inherited From OOo Summary|Autocorrection of (c) to|AutoCorrect: After Removal |copyright symbol persists |of Replacement Entry the |after removal from |Replacement Itself is still |autocorrection list |Performed. --- Comment #15 from Harald Koester --- (In reply to Oliver Specht (CIB) from comment #14) > If you delete this acor_de-DE.dat in your user configuration and call the > AutoCorrect options dialog to remove the (c) from the German list then the > acor_de.dat file is loaded and a new acor_de-DE.dat is created. As far as I see this problem, there is no possibility to remove the "(c)" from the general German list. You can only delete entries from lists respective to the different countries. The bug does not only occur with "(c)" but with every entry of the replacement lists. Hence summary changed. Another use case where the deletion fails are wrong entries in the default lists. In bug 103156 there are some examples for German (Switzerland). The replacement table is used for all modules of LibreOffice (Writer, Calc,...), hence component changed to 'Linguistic'. Bug exists already in version 3.3.0. Hence inherited form OOo. Used version: 5.2.2, Win7. -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs