[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Sc-devel] *** Refactoring of "Document" class *** now committed [cross-platform implications]



Hi Tom -

That error, as you can probably tell, is happening as SC runs your
startup.rtf file. Try moving it out of the way temporarily - I'm sure
the lang will compile happily. The question is, what have I broken in
your startup.rtf?

There is probably a call to some Document method in there. If you can
find out what command is causing the error (e.g. by commenting things
out) and let us know, we may be able to fix it straightforwardly. Feel
free to send me your startup.rtf offlist if you think that'll help.

Dan


2007/11/19, Tom Hall <scth@xxxxxxxxxxx>:
> Hello Dan
>
> I still am unable to build successfully.
> Latest errors below.
> Can anyone else reproduce this?
>
> Regards
>
> Tom
>
>
> ERROR:
> throw during error handling!
>
> Instance of DoesNotUnderstandError {    (0170F1F0, gc=2C, fmt=00,
> flg=00, set=03)
>    instance variables [5]
>      what : Symbol 'DoesNotUnderstandError'
>      backtrace : nil
>      receiver : nil
>      selector : Symbol 'name'
>      args : instance of Array (04734F90, size=0, set=0)
> }
> ERROR: 'nil' should have been implemented by Meta_Document.
> RECEIVER:
> class Document (049AF360) {
>    instance variables [19]
>      name : Symbol 'Document'
>      nextclass : class DoesNotUnderstandError (05058120)
>      superclass : Symbol 'Object'
>      subclasses : instance of Array (0177C880, size=2, set=1)
>      methods : instance of Array (049AF420, size=91, set=7)
>      instVarNames : instance of SymbolArray (049AF850, size=9, set=3)
>      classVarNames : instance of SymbolArray (049AF970, size=9, set=3)
>      iprototype : instance of Array (049AF8C0, size=9, set=4)
>      cprototype : instance of Array (049AF9E0, size=9, set=4)
>      constNames : nil
>      constValues : nil
>      instanceFormat : Integer 0
>      instanceFlags : Integer 0
>      classIndex : Integer 455
>      classFlags : Integer 0
>      maxSubclassIndex : Integer 457
>      filenameSymbol : Symbol '/Users/tom/Applications/SuperCollider3/
> build/SCClassLibrary/Common/GUI/Document.sc'
>      charPos : Integer 310
>      classVarIndex : Integer 38
> }
> CALL STACK:
>         MethodError:reportError   0170EFB0
>                 arg this = <instance of SubclassResponsibilityError>
>         Nil:handleError   0170ED70
>                 arg this = nil
>                 arg error = <instance of SubclassResponsibilityError>
>         Thread:handleError   0170D3C0
>                 arg this = <instance of Thread>
>                 arg error = <instance of SubclassResponsibilityError>
>         Object:throw   0170CB20
>                 arg this = <instance of SubclassResponsibilityError>
>         Function:protect   0170CAC0
>                 arg this = <instance of Function>
>                 arg handler = <instance of Function>
>                 var result = <instance of SubclassResponsibilityError>
>         Interpreter:executeFile   01734A00
>                 arg this = <instance of Interpreter>
>                 arg pathName = "/Users/tom/scwork/startup.rtf"
>                 arg args = [*0]
>                 var result = nil
>         < FunctionDef in Method Collection:collectAs >   0170CA60
>                 arg elem = "/Users/tom/scwork/startup.rtf"
>                 arg i = 0
>         ArrayedCollection:do   0170CA00
>                 arg this = [*1]
>                 arg function = <instance of Function>
>                 var i = 0
>         Collection:collectAs   04869390
>                 arg this = [*1]
>                 arg function = <instance of Function>
>                 arg class = class Array
>                 var res = [*0]
>         ArrayedCollection:do   0170C9A0
>                 arg this = [*1]
>                 arg function = <instance of Function>
>                 var i = 0
>         Platform:loadStartupFiles   0170C940
>                 arg this = <instance of OSXPlatform>
>         OSXPlatform:startup   01733400
>                 arg this = <instance of OSXPlatform>
>         Main:startup   017333A0
>                 arg this = <instance of Main>
>
>
>
> On 18 Nov 2007, at 22:54, Dan Stowell wrote:
>
> > Excellent Tom, you get a lollipop for spotting that one.
> >
> > I forgot to add a file - oops - now added (svn rev 6648). Should
> > fix that.
> >
> > Dan
> >
> >
> > 2007/11/18, Tom Hall <scth@xxxxxxxxxxx>:
> >> Hello Dan
> >>
> >> I'm getting a compile error after updating to revision 6647 on ppc.
> >>
> >> Errors as below. Any ideas?
> >>
> >> regards
> >>
> >> Tom
> >>
> >> Class tree inited in 0.12 seconds
> >> ERROR: Message 'implementationClass' not understood.
> >> RECEIVER:
> >> class Document (05355470) {
> >>    instance variables [19]
> >>      name : Symbol 'Document'
> >>      nextclass : class DoesNotUnderstandError (0B98B7A0)
> >>      superclass : Symbol 'Object'
> >>      subclasses : instance of Array (054DD060, size=2, set=1)
> >>      methods : instance of Array (05355530, size=91, set=7)
> >>      instVarNames : instance of SymbolArray (05355960, size=9, set=3)
> >>      classVarNames : instance of SymbolArray (05355A80, size=9,
> >> set=3)
> >>      iprototype : instance of Array (053559D0, size=9, set=4)
> >>      cprototype : instance of Array (05355AF0, size=9, set=4)
> >>      constNames : nil
> >>      constValues : nil
> >>      instanceFormat : Integer 0
> >>      instanceFlags : Integer 0
> >>      classIndex : Integer 454
> >>      classFlags : Integer 0
> >>      maxSubclassIndex : Integer 456
> >>      filenameSymbol : Symbol '/Users/tom/Applications/SuperCollider3/
> >> build/SCClassLibrary/Common/GUI/Document.sc'
> >>      charPos : Integer 310
> >>      classVarIndex : Integer 38
> >> }
> >> ARGS:
> >> CALL STACK:
> >>         DoesNotUnderstandError:reportError   04BF0E20
> >>                 arg this = <instance of DoesNotUnderstandError>
> >>         Nil:handleError   04BF0DC0
> >>                 arg this = nil
> >>                 arg error = <instance of DoesNotUnderstandError>
> >>         Thread:handleError   04BBEE00
> >>                 arg this = <instance of Thread>
> >>                 arg error = <instance of DoesNotUnderstandError>
> >>         Object:throw   04BBEAA0
> >>                 arg this = <instance of DoesNotUnderstandError>
> >>         Object:doesNotUnderstand   017B5860
> >>                 arg this = class Document
> >>                 arg selector = 'implementationClass'
> >>                 arg args = [*0]
> >>         OSXPlatform:startup   017B5400
> >>                 arg this = <instance of OSXPlatform>
> >>         Main:startup   017B53A0
> >>                 arg this = <instance of Main>
> >>
> >>
> >> On 18 Nov 2007, at 19:45, Dan Stowell wrote:
> >>
> >>> Dear all,
> >>>
> >>> I've now refactored the Document class, as discussed at symposium
> >>> (svn
> >>> rev 6646). I've been running this refactored code for a while and I
> >>> believe it to work fine on OSX, but shout if there are any problems.
> >>>
> >>> The cocoa-specific code is now moved into a subclass called
> >>> CocoaDocument. However, for platform-neutrality you shouldn't
> >>> instantiate that class directly - simply carry on using Document.new
> >>> or Document.open or whatever, since those calls should automatically
> >>> instantiate the correct class. In theory this means the API hasn't
> >>> changed and nothing will break, but that's only theory. Let us
> >>> know if
> >>> anything goes weird.
> >>>
> >>> Linux: I've done nothing to rework the linux documenty classes
> >>> since I
> >>> don't understand them. Hopefully Marije will be able to get it all
> >>> working nicely on Linux since this change originated from her and I
> >>> think I've done what she said... ;)
> >>>
> >>> Windows: Again, I've done nothing since I can't. The easiest
> >>> thing to
> >>> do for windows is probably to take the CocoaDocument class,
> >>> duplicate
> >>> it as "WindowsDocument" or "PsycoDocument" or something, and make
> >>> changes as necessary.
> >>>
> >>> Dan
> >>>
> >>> --
> >>> http://www.mcld.co.uk
> >>> _______________________________________________
> >>> Sc-devel mailing list
> >>> Sc-devel@xxxxxxxxxxxxxxx
> >>> http://www.create.ucsb.edu/mailman/listinfo/sc-devel
> >>
> >> ________________________________
> >>
> >> Dr Tom Hall
> >> Department of Music and Performing Arts
> >> Anglia Ruskin University
> >> East Road, Cambridge CB1 1PT
> >>
> >> www.ludions.com
> >> ________________________________
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> Sc-devel mailing list
> >> Sc-devel@xxxxxxxxxxxxxxx
> >> http://www.create.ucsb.edu/mailman/listinfo/sc-devel
> >>
> >
> >
> > --
> > http://www.mcld.co.uk
> > _______________________________________________
> > Sc-devel mailing list
> > Sc-devel@xxxxxxxxxxxxxxx
> > http://www.create.ucsb.edu/mailman/listinfo/sc-devel
>
> ________________________________
>
> Dr Tom Hall
> Department of Music and Performing Arts
> Anglia Ruskin University
> East Road, Cambridge CB1 1PT
>
> www.ludions.com
> ________________________________
>
>
>
>
> _______________________________________________
> Sc-devel mailing list
> Sc-devel@xxxxxxxxxxxxxxx
> http://www.create.ucsb.edu/mailman/listinfo/sc-devel
>


-- 
http://www.mcld.co.uk