Emergency evaluator broken?

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

Emergency evaluator broken?

Frank Shearar-3
I've not run into the emergency evaluator, but I wonder: Transcript
class >> #emergencyEvaluator calls Transcript >> #newInFrame:, which
calls #initInFrame: which checks for a class called Paragraph. (Trunk
doesn't have such a class, because - AFAIK at least - it's an ST80
class). If there's no such class, _it raises an #inform:_. In an
emergency, that's probably not what you want!

So: has anyone used the emergency evaluator of late? Have you used it
in an image without ST80?

Certainly the example usage in Transcript >> #newInFrame: is broken:

(Transcripter newInFrame: (0@0 extent: 100@200))
    nextPutAll: 'Hello there'; endEntry;
    cr; print: 355.0/113; endEntry;
    readEvalPrint.

frank

Reply | Threaded
Open this post in threaded view
|

Re: Emergency evaluator broken?

Chris Muller-3
Move Transcripter to ST80.

Then check for presence of class named #Transcripter in Object>>#primitiveError: to determine whether to present and accept that option.


On Thu, Dec 12, 2013 at 1:33 PM, Frank Shearar <[hidden email]> wrote:
I've not run into the emergency evaluator, but I wonder: Transcript
class >> #emergencyEvaluator calls Transcript >> #newInFrame:, which
calls #initInFrame: which checks for a class called Paragraph. (Trunk
doesn't have such a class, because - AFAIK at least - it's an ST80
class). If there's no such class, _it raises an #inform:_. In an
emergency, that's probably not what you want!

So: has anyone used the emergency evaluator of late? Have you used it
in an image without ST80?

Certainly the example usage in Transcript >> #newInFrame: is broken:

(Transcripter newInFrame: (0@0 extent: 100@200))
    nextPutAll: 'Hello there'; endEntry;
    cr; print: 355.0/113; endEntry;
    readEvalPrint.

frank




Reply | Threaded
Open this post in threaded view
|

Re: Emergency evaluator broken?

David T. Lewis
In reply to this post by Frank Shearar-3
Good catch. It's been a while since I tried unloading/reloading MVC, but
I'm fairly sure that I never tried to do anything that would invoke it
while I had MVC unloaded from the image. So I cannot say if it works in
Morphic-only or not.

Assuming that it is a problem, we should see how Juan handles it in Cuis
(which has no MVC, and presumably does have a working emergency
evaluator).

I can definitely confirm that the emergency evaluator works in MVC,
because I fell into it about a zillion times in the course of getting the
debugger to work in MVC again ;-)

Dave


> I've not run into the emergency evaluator, but I wonder: Transcript
> class >> #emergencyEvaluator calls Transcript >> #newInFrame:, which
> calls #initInFrame: which checks for a class called Paragraph. (Trunk
> doesn't have such a class, because - AFAIK at least - it's an ST80
> class). If there's no such class, _it raises an #inform:_. In an
> emergency, that's probably not what you want!
>
> So: has anyone used the emergency evaluator of late? Have you used it
> in an image without ST80?
>
> Certainly the example usage in Transcript >> #newInFrame: is broken:
>
> (Transcripter newInFrame: (0@0 extent: 100@200))
>     nextPutAll: 'Hello there'; endEntry;
>     cr; print: 355.0/113; endEntry;
>     readEvalPrint.
>
> frank
>



Reply | Threaded
Open this post in threaded view
|

Re: Emergency evaluator broken?

Frank Shearar-3
In reply to this post by Chris Muller-3
On 12 December 2013 19:57, Chris Muller <[hidden email]> wrote:
> Move Transcripter to ST80.
>
> Then check for presence of class named #Transcripter in
> Object>>#primitiveError: to determine whether to present and accept that
> option.

... and also get an emergency evaluator working in Morphic.

frank

> On Thu, Dec 12, 2013 at 1:33 PM, Frank Shearar <[hidden email]>
> wrote:
>>
>> I've not run into the emergency evaluator, but I wonder: Transcript
>> class >> #emergencyEvaluator calls Transcript >> #newInFrame:, which
>> calls #initInFrame: which checks for a class called Paragraph. (Trunk
>> doesn't have such a class, because - AFAIK at least - it's an ST80
>> class). If there's no such class, _it raises an #inform:_. In an
>> emergency, that's probably not what you want!
>>
>> So: has anyone used the emergency evaluator of late? Have you used it
>> in an image without ST80?
>>
>> Certainly the example usage in Transcript >> #newInFrame: is broken:
>>
>> (Transcripter newInFrame: (0@0 extent: 100@200))
>>     nextPutAll: 'Hello there'; endEntry;
>>     cr; print: 355.0/113; endEntry;
>>     readEvalPrint.
>>
>> frank
>>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Emergency evaluator broken?

Frank Shearar-3
On 12 December 2013 20:17, Frank Shearar <[hidden email]> wrote:
> On 12 December 2013 19:57, Chris Muller <[hidden email]> wrote:
>> Move Transcripter to ST80.
>>
>> Then check for presence of class named #Transcripter in
>> Object>>#primitiveError: to determine whether to present and accept that
>> option.
>
> ... and also get an emergency evaluator working in Morphic.

I'll do the class moving, but I'm not tackling Morphic.

frank

> frank
>
>> On Thu, Dec 12, 2013 at 1:33 PM, Frank Shearar <[hidden email]>
>> wrote:
>>>
>>> I've not run into the emergency evaluator, but I wonder: Transcript
>>> class >> #emergencyEvaluator calls Transcript >> #newInFrame:, which
>>> calls #initInFrame: which checks for a class called Paragraph. (Trunk
>>> doesn't have such a class, because - AFAIK at least - it's an ST80
>>> class). If there's no such class, _it raises an #inform:_. In an
>>> emergency, that's probably not what you want!
>>>
>>> So: has anyone used the emergency evaluator of late? Have you used it
>>> in an image without ST80?
>>>
>>> Certainly the example usage in Transcript >> #newInFrame: is broken:
>>>
>>> (Transcripter newInFrame: (0@0 extent: 100@200))
>>>     nextPutAll: 'Hello there'; endEntry;
>>>     cr; print: 355.0/113; endEntry;
>>>     readEvalPrint.
>>>
>>> frank
>>>
>>
>>
>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: Emergency evaluator broken?

Frank Shearar-3
On 12 December 2013 20:18, Frank Shearar <[hidden email]> wrote:

> On 12 December 2013 20:17, Frank Shearar <[hidden email]> wrote:
>> On 12 December 2013 19:57, Chris Muller <[hidden email]> wrote:
>>> Move Transcripter to ST80.
>>>
>>> Then check for presence of class named #Transcripter in
>>> Object>>#primitiveError: to determine whether to present and accept that
>>> option.
>>
>> ... and also get an emergency evaluator working in Morphic.
>
> I'll do the class moving, but I'm not tackling Morphic.

Or not, because moving the class is the wrong thing to do. Instead,
the _right_ thing to do is to make a MorphicTranscripter and an
St80Transcripter. The latter is just Transcripter with a new name, and
the new Transcripter is an AppRegistry subclass, presumably in
System-Applications. Morphic and ST80 then register their preferred
Transcripter-protocol-fulfiller.

> frank
>
>> frank
>>
>>> On Thu, Dec 12, 2013 at 1:33 PM, Frank Shearar <[hidden email]>
>>> wrote:
>>>>
>>>> I've not run into the emergency evaluator, but I wonder: Transcript
>>>> class >> #emergencyEvaluator calls Transcript >> #newInFrame:, which
>>>> calls #initInFrame: which checks for a class called Paragraph. (Trunk
>>>> doesn't have such a class, because - AFAIK at least - it's an ST80
>>>> class). If there's no such class, _it raises an #inform:_. In an
>>>> emergency, that's probably not what you want!
>>>>
>>>> So: has anyone used the emergency evaluator of late? Have you used it
>>>> in an image without ST80?
>>>>
>>>> Certainly the example usage in Transcript >> #newInFrame: is broken:
>>>>
>>>> (Transcripter newInFrame: (0@0 extent: 100@200))
>>>>     nextPutAll: 'Hello there'; endEntry;
>>>>     cr; print: 355.0/113; endEntry;
>>>>     readEvalPrint.
>>>>
>>>> frank
>>>>
>>>
>>>
>>>
>>>

Reply | Threaded
Open this post in threaded view
|

Re: Emergency evaluator broken?

David T. Lewis
On Thu, Dec 12, 2013 at 08:25:40PM +0000, Frank Shearar wrote:

> On 12 December 2013 20:18, Frank Shearar <[hidden email]> wrote:
> > On 12 December 2013 20:17, Frank Shearar <[hidden email]> wrote:
> >> On 12 December 2013 19:57, Chris Muller <[hidden email]> wrote:
> >>> Move Transcripter to ST80.
> >>>
> >>> Then check for presence of class named #Transcripter in
> >>> Object>>#primitiveError: to determine whether to present and accept that
> >>> option.
> >>
> >> ... and also get an emergency evaluator working in Morphic.
> >
> > I'll do the class moving, but I'm not tackling Morphic.
>
> Or not, because moving the class is the wrong thing to do. Instead,
> the _right_ thing to do is to make a MorphicTranscripter and an
> St80Transcripter. The latter is just Transcripter with a new name, and
> the new Transcripter is an AppRegistry subclass, presumably in
> System-Applications. Morphic and ST80 then register their preferred
> Transcripter-protocol-fulfiller.

Eeek! Holy overengineering batman.

Hopefully Collections-dtl.548 will resolve the problem.

Note to self: Touching a method that carries the initials 'di' is a
fast path to public embarrassment. Not that I did not already know
this...

Dave