Suspicious TextAnchor emphasizeScanner:

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

Suspicious TextAnchor emphasizeScanner:

Nicolas Cellier
From Bob's history site (http://69.251.218.6:9116/diffs) we can see this :

emphasizeScanner:

--squeak 1.31--
emphasizeScanner: scanner

    scanner placeEmbeddedObject: anchoredMorph

4614TextAndFonts-ar.cs
emphasizeScanner: scanner

    scanner placeEmbeddedObject: anchoredMorph
    "Do nothing for emphasizing the scanner - if the anchor is valid a #embeddedObject will be encountered by the scanner and do the real thing"

Indeed, a TextAnchor is associated with character of asciiValue 1, and there is a DefaultStopCondition for that which will invoke #embeddedObject stopCondition...

But current implementation is back to old implementation

!TextAnchor methodsFor: 'visiting' stamp: 'lr 2/3/2006 16:13'!
emphasizeScanner: aScanner
    self anchoredMorph ifNil: [ ^ self ].
    aScanner placeEmbeddedObject: self anchoredMorph.

This has wrong consequences when the embedded morph crosses the right margin... It is then not displayed at the right place (too far right on the next line), presumably because indentation would occur twice but logic is really hard to follow...

So I suggest reverting... Any hint on this?


Reply | Threaded
Open this post in threaded view
|

Re: Suspicious TextAnchor emphasizeScanner:

Nicolas Cellier
Never mind, I changed it


2013/10/4 Nicolas Cellier <[hidden email]>
From Bob's history site (http://69.251.218.6:9116/diffs) we can see this :

emphasizeScanner:

--squeak 1.31--
emphasizeScanner: scanner

    scanner placeEmbeddedObject: anchoredMorph

4614TextAndFonts-ar.cs
emphasizeScanner: scanner

    scanner placeEmbeddedObject: anchoredMorph
    "Do nothing for emphasizing the scanner - if the anchor is valid a #embeddedObject will be encountered by the scanner and do the real thing"

Indeed, a TextAnchor is associated with character of asciiValue 1, and there is a DefaultStopCondition for that which will invoke #embeddedObject stopCondition...

But current implementation is back to old implementation

!TextAnchor methodsFor: 'visiting' stamp: 'lr 2/3/2006 16:13'!
emphasizeScanner: aScanner
    self anchoredMorph ifNil: [ ^ self ].
    aScanner placeEmbeddedObject: self anchoredMorph.

This has wrong consequences when the embedded morph crosses the right margin... It is then not displayed at the right place (too far right on the next line), presumably because indentation would occur twice but logic is really hard to follow...

So I suggest reverting... Any hint on this?



Reply | Threaded
Open this post in threaded view
|

Re: Suspicious TextAnchor emphasizeScanner:

Bob Arning-2
Well, I was digging out of curiosity.

First, the method went missing entirely with a #removeSelector: in this massive puppy:
=========================================
"Change Set:        MCP-Complete
Date:            22 May 2003
Author:            Diego Gomez Deck, German Morales, Javier Musa, Jose Laiolo, Andres Otaduy and Ned Konz

This is the first set of changes produced by MCP-Project.

To see details about the project and its future look at http://minnow.cc.gatech.edu/squeak/3005

This 'official' acceptance for our work gives us a stop-and-go opportunity to define the next goals.

List of changes (probably incomplete):
[snipped many, but perhaps the next is the key:]
- remove 2 methods equivalent to the superclass one moves isMorphicModel from Morph up to Object
===========================================

So it was present in the 2001 form through sequeak 3.5, then missing entirely from squeak 3.6 through 3.8. It then reappeared in the 2006 version in squeak 3.9, although by that time updates were often appearing from moticello files simply referenced by url in the changeset and thus opaque to my simple scanner.

Cheers,
Bob


On 10/4/13 6:16 PM, Nicolas Cellier wrote:
Never mind, I changed it


2013/10/4 Nicolas Cellier <[hidden email]>
From Bob's history site (http://69.251.218.6:9116/diffs) we can see this :

emphasizeScanner:

--squeak 1.31--
emphasizeScanner: scanner

    scanner placeEmbeddedObject: anchoredMorph

4614TextAndFonts-ar.cs
emphasizeScanner: scanner

    scanner placeEmbeddedObject: anchoredMorph
    "Do nothing for emphasizing the scanner - if the anchor is valid a #embeddedObject will be encountered by the scanner and do the real thing"

Indeed, a TextAnchor is associated with character of asciiValue 1, and there is a DefaultStopCondition for that which will invoke #embeddedObject stopCondition...

But current implementation is back to old implementation

!TextAnchor methodsFor: 'visiting' stamp: 'lr 2/3/2006 16:13'!
emphasizeScanner: aScanner
    self anchoredMorph ifNil: [ ^ self ].
    aScanner placeEmbeddedObject: self anchoredMorph.

This has wrong consequences when the embedded morph crosses the right margin... It is then not displayed at the right place (too far right on the next line), presumably because indentation would occur twice but logic is really hard to follow...

So I suggest reverting... Any hint on this?