From e679e760eec67e20c93ccf1cdbb05e87e06f98ec Mon Sep 17 00:00:00 2001 From: daboe01 Date: Sun, 17 May 2015 20:23:41 +0200 Subject: [PATCH] backspace fix --- AppKit/CPTextView/CPTextView.j | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/AppKit/CPTextView/CPTextView.j b/AppKit/CPTextView/CPTextView.j index 8b7e5f711..bd0b876c0 100644 --- a/AppKit/CPTextView/CPTextView.j +++ b/AppKit/CPTextView/CPTextView.j @@ -1223,7 +1223,7 @@ var kDelegateRespondsTo_textShouldBeginEditing _stickyXLocation = _caret._rect.origin.x; } -- (void)deleteBackward:(id)sender +- (void)deleteBackward:(id)sender ignoreSmart:(BOOL)ignoreFlag { var changedRange; @@ -1232,7 +1232,7 @@ var kDelegateRespondsTo_textShouldBeginEditing else changedRange = _selectionRange; - if (_previousSelectionGranularity > 0 && + if (!ignoreFlag && _previousSelectionGranularity > 0 && changedRange.location > 0 && [self _isCharacterAtIndex:(changedRange.location - 1) granularity:_previousSelectionGranularity] && changedRange.location < [[self string] length] && [self _isCharacterAtIndex:CPMaxRange(changedRange) granularity:_previousSelectionGranularity]) { @@ -1242,6 +1242,11 @@ var kDelegateRespondsTo_textShouldBeginEditing [self _deleteForRange:changedRange]; } +- (void)deleteBackward:(id)sender +{ + [self deleteBackward:self ignoreSmart:YES]; +} + - (void)deleteForward:(id)sender { var changedRange; @@ -1262,7 +1267,7 @@ var kDelegateRespondsTo_textShouldBeginEditing return; [self copy:sender]; - [self deleteBackward:sender]; + [self deleteBackward:sender ignoreSmart:NO]; } - (void)insertLineBreak:(id)sender