The Trunk: Morphic-ul.517.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Morphic-ul.517.mcz

commits-2
Levente Uzonyi uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-ul.517.mcz

==================== Summary ====================

Name: Morphic-ul.517
Author: ul
Time: 29 January 2011, 1:29:48.539 am
UUID: 8fc622a0-bd75-1445-b30f-dd525ec0f5bf
Ancestors: Morphic-dtl.516

- avoid an annoying error which is possibly caused by a concurrency issue. It happens rarely (often if you're using RFB) when you press the backspace in a TextEditor.

=============== Diff against Morphic-dtl.516 ===============

Item was changed:
  ----- Method: TextEditor>>backTo: (in category 'typing support') -----
  backTo: startIndex
  "During typing, backspace to startIndex.  Deleted characters fall into three
  clusters, from left to right in the text: (1) preexisting characters that were
  backed over; (2) newly typed characters that were backed over (excluding
  typeahead, which never even appears); (3) preexisting characters that
  were highlighted before typing began.  If typing has not yet been opened,
  open it and watch for the first and third cluster.  If typing has been opened,
  watch for the first and second cluster.  Save characters from the first and third
  cluster in UndoSelection.  Tally characters from the first cluster in UndoMessage's parameter.
  Delete all the clusters.  Do not alter Undoer or UndoInterval (except via
  openTypeIn).  The code is shorter than the comment."
 
  | saveLimit newBackovers |
  saveLimit := beginTypeInBlock
  ifNil: [self openTypeIn. UndoSelection := self nullText. self stopIndex]
  ifNotNil: [self startOfTyping].
  self markIndex: startIndex.
  startIndex < saveLimit ifTrue: [
  newBackovers := self startOfTyping - startIndex.
  beginTypeInBlock := self startIndex.
  UndoSelection replaceFrom: 1 to: 0 with:
  (paragraph text copyFrom: startIndex to: saveLimit - 1).
+ UndoMessage arguments size > 0 ifTrue: [
+ UndoMessage argument: (UndoMessage argument ifNil: [1]) + newBackovers] ].
- UndoMessage argument: (UndoMessage argument ifNil: [1]) + newBackovers].
  self zapSelectionWith: self nullText.
  self unselect!