aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Document.cxx')
-rw-r--r--src/Document.cxx9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/Document.cxx b/src/Document.cxx
index 8483d86f1..b7acc8610 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -722,13 +722,16 @@ Document::charClassification Document::WordCharClass(unsigned char ch) {
* Used by commmands that want to select whole words.
* Finds the start of word at pos when delta < 0 or the end of the word when delta >= 0.
*/
-int Document::ExtendWordSelect(int pos, int delta) {
+int Document::ExtendWordSelect(int pos, int delta, bool onlyWordCharacters) {
+ charClassification ccStart = ccWord;
if (delta < 0) {
- charClassification ccStart = WordCharClass(cb.CharAt(pos-1));
+ if (!onlyWordCharacters)
+ ccStart = WordCharClass(cb.CharAt(pos-1));
while (pos > 0 && (WordCharClass(cb.CharAt(pos - 1)) == ccStart))
pos--;
} else {
- charClassification ccStart = WordCharClass(cb.CharAt(pos));
+ if (!onlyWordCharacters)
+ ccStart = WordCharClass(cb.CharAt(pos));
while (pos < (Length()) && (WordCharClass(cb.CharAt(pos)) == ccStart))
pos++;
}