--- apps/konsole/src/TerminalDisplay.cpp 2009-02-26 11:16:35.000000000 -0300 +++ apps/konsole/src/TerminalDisplay.cpp.new 2009-03-04 09:14:54.000000000 -0300 @@ -2155,11 +2155,12 @@ _wordSelectionMode = true; // find word boundaries... + QChar selClass = charClass(_image[i].character); { // find the start of the word int x = bgnSel.x(); while ( ((x>0) || (bgnSel.y()>0 && (_lineProperties[bgnSel.y()-1] & LINE_WRAPPED) )) - && !isCharBoundary(_image[i-1].character) ) + && charClass(_image[i-1].character) == selClass ) { i--; if (x>0) @@ -2177,8 +2178,8 @@ // find the end of the word i = loc( endSel.x(), endSel.y() ); x = endSel.x(); - while( ((x<_usedColumns-1) || (endSel.y()<_usedLines-1 && (_lineProperties[endSel.y()] & LINE_WRAPPED) )) - && !isCharBoundary(_image[i+1].character) ) + while( ((x<_usedColumns-1) || (endSel.y()<_usedLines-1 && (_lineProperties[endSel.y()] & LINE_WRAPPED) )) + && charClass(_image[i+1].character) == selClass ) { i++; if (x<_usedColumns-1)