editeng/source/misc/svxacorr.cxx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
New commits: commit 82236dd3269953087fe510642368792478a5a7d9 Author: László Németh <nem...@numbertext.org> Date: Wed Aug 21 17:58:06 2013 +0200 fdo#68373 wildcard char. matches only real suffix in autocorr. Change-Id: Ibe06bb5c62ac0d8fae17c8a9ffcc4b1bc2768bcc diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx index adfad58..b8406f8 100644 --- a/editeng/source/misc/svxacorr.cxx +++ b/editeng/source/misc/svxacorr.cxx @@ -2730,11 +2730,18 @@ const SvxAutocorrWord* SvxAutocorrWordList::WordMatches(const SvxAutocorrWord *p if ( rChk.GetChar( rChk.Len() - 1) == C_ASTERISK ) { String sTmp( rChk.Copy( 0, rChk.Len() - 1 ) ); + // Get the last word delimiter position + xub_StrLen nSttWdPos = nEndPos; + bool bWasWordDelim = false; + bool not_suffix; + while( nSttWdPos && !(bWasWordDelim = IsWordDelim( rTxt.GetChar( --nSttWdPos )))) + ; // search the first occurance with a left word delimitation xub_StrLen nFndPos = -1; do { nFndPos = rTxt.Search( sTmp, nFndPos + 1); - } while ( nFndPos != STRING_NOTFOUND && !(!nFndPos || IsWordDelim( rTxt.GetChar( nFndPos - 1 )))); + not_suffix = (bWasWordDelim && (nSttWdPos >= nFndPos + sTmp.Len())); + } while ( nFndPos != STRING_NOTFOUND && (!(!nFndPos || IsWordDelim( rTxt.GetChar( nFndPos - 1 ))) || not_suffix)); if ( nFndPos != STRING_NOTFOUND ) { // store matching pattern and its replacement as a new list item, eg. "i18ns" -> "internationalizations"
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits