I added an entry to http://www.pharo-project.org/documentation/faq
Cheers, Adrian On Aug 22, 2009, at 20:08 , Mariano Martinez Peck wrote: > 2009/8/22 François Tanguy <[email protected]> > >> Thank you Mariano for your answer. >> I think this information deserves to be in "Pharo FAQ". >> > > Thanks François for you comment and suggestion, I really appreciate > it. > However, I am sorry but I am not completely agree. SqueakDBX has > nothing to > do with Pharo. SqueakDBX is an external package that loads not only > in Pharo > but also in Squeak, Cuis or whatever. The problem you had is SqueakDBX > related, not Pharo. In addition, if you see our website: > http://wiki.squeak.org/squeak/6052 in the FAQ you will see that your > problem was already there. > > In summary, it is not Pharo, but SqueakDBX. And in order to use it, > you must > read the wiki :) > > Perhaps what we can do is to add a link in the Pharo FAQ that says > "if you > want to use SqueakDBX or GlorpDBX read the following link > http://wiki.squeak.org/squeak/6052" > > What do you think? > > François: let me know if it worked for you or how can I help you > with it ;) > > Best, > > Mariano > > >> Bye >> >> François >> >> Le Aug 21, 2009 à 3:23 PM, Mariano Martinez Peck a écrit : >> >> >> >> On Fri, Aug 21, 2009 at 8:16 AM, François Tanguy < >> [email protected]> wrote: >> >>> Hello, >>> >>> it may be a noobie question but I tried to execute the GlorpTest and >>> it failed in one case. >>> >>> If the DBXDriver is used, the tests failed. (See the stacktrace >>> below) >>> | tr | >>> SqueakDatabaseAccessor DefaultDriver: SqueakDBXDriver. >>> tr := TestRunner new. >>> ToolBuilder open: tr. >>> tr categoryAt: (tr categoryList indexOf: 'GlorpTest') put: true; >>> selectAllClasses; runAll. >>> >>> But the native driver is used, the tests passed. >>> | tr | >>> SqueakDatabaseAccessor DefaultDriver: NativePostgresDriver. >>> tr := TestRunner new. >>> ToolBuilder open: tr. >>> tr categoryAt: (tr categoryList indexOf: 'GlorpTest') put: true; >>> selectAllClasses; runAll. >>> >>> I thought the DBXDriver could be used to manage postgresql database, >>> no ? >> >> >> Yes, SqueakDBX supports PostgreSQL but also many others backends. >> But in >> contrary to the native postgresql driver which is all in smalltalk, >> SqueakDBX delegates to an external library written in C called >> OpenDBX. >> >> So, when using SqueakDBX you must install OpenDBX and the client >> library of >> your database (the error you had is because SqueakDBX doesn't find >> OpenDBX >> in your system). Unfortunately this solution requires a bit more >> time of >> configuring than using the native driver but we can use a lot of >> databases >> and have better performance. >> >> I suggest you read the link: http://wiki.squeak.org/squeak/6052 >> And more in deep this link: http://wiki.squeak.org/squeak/6129 >> >> For Linux and Windows there are also binaries, but in the case of >> Mac you >> must compile. >> >> Finally there is a blog someone write to use PostgreSQL with >> SqueakDBX in >> Mac OS: >> >> http://dreamsofascorpion.blogspot.com/2008/05/using-opendbx-with-squeak.html >> >> To avoid noise in Pharo mailing list remember there is our own >> mailing list >> here: >> http://wiki.squeak.org/squeak/6052 >> >> If you have more questions, just ask :) >> >> Best, >> >> Mariano >> >> >> >>> >>> >>> François >>> >>> ps : I am using pharo1.0-10418-BETAweb09.08.2 and I changed the >>> login >>> information in the correct methods (defaultPostgreSQLLocalLogin and >>> buildDefaultConnectionArgs). >>> 21 August 2009 11:13:22 am >>> >>> VM: Mac OS - intel - 1058 - Squeak3.8.1 of '28 Aug 2006' [latest >>> update: #6747] Squeak VM 4.1.1b2 >>> Image: Pharo1.0beta [Latest update: #10418] >>> >>> SecurityManager state: >>> Restricted: false >>> FileAccess: true >>> SocketAccess: true >>> Working Dir /Users/paco/Desktop/pharo1.0-10418-BETAweb09.08.2 >>> Trusted Dir /foobar/tooBar/forSqueak/bogus >>> Untrusted Dir /Users/paco/Library/Preferences/Squeak/Internet/My >>> Squeak >>> >>> OpenDBXMacOSX(Object)>>error: >>> Receiver: an OpenDBXMacOSX >>> Arguments and temporary variables: >>> aString: 'Unable to find function address' >>> Receiver's instance variables: >>> an OpenDBXMacOSX >>> >>> OpenDBXMacOSX(Object)>>externalCallFailed >>> Receiver: an OpenDBXMacOSX >>> Arguments and temporary variables: >>> errCode: 13 >>> Receiver's instance variables: >>> an OpenDBXMacOSX >>> >>> OpenDBXMacOSX(OpenDBXUnix)>>apiInitialize:backend:host:port: >>> Receiver: an OpenDBXMacOSX >>> Arguments and temporary variables: >>> handle: a WordArray(0) >>> backend: 'pgsql' >>> host: '127.0.0.1' >>> port: '5432' >>> Receiver's instance variables: >>> an OpenDBXMacOSX >>> >>> DBXPostgresPlatform(DBXPlatform)>>createConnection: >>> Receiver: a DBXPostgresPlatform >>> Arguments and temporary variables: >>> aConnection: a DBXConnection >>> err: nil >>> handleArray: a WordArray(0) >>> handle: nil >>> Receiver's instance variables: >>> a DBXPostgresPlatform >>> >>> DBXConnection>>connect >>> Receiver: a DBXConnection >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> platform: a DBXPostgresPlatform >>> settings: a DBXConnectionSettings >>> handle: nil >>> open: a ValueHolder >>> connected: a ValueHolder >>> result: nil >>> >>> SqueakDBXDriver>>connect: >>> Receiver: a SqueakDBXDriver >>> Arguments and temporary variables: >>> aLogin: a Login(a PostgreSQLPlatform, >>> 'postgres', >>> 'vorevoca', >>> '127.0.0.1_glorp'...etc... >>> Receiver's instance variables: >>> connection: a DBXConnection >>> database: nil >>> >>> [] in SqueakDatabaseAccessor>>loginIfError: >>> Receiver: a SqueakDatabaseAccessor >>> Arguments and temporary variables: >>> <<error during printing> >>> Receiver's instance variables: >>> connection: nil >>> currentLogin: a Login(a PostgreSQLPlatform, >>> 'postgres', >>> 'vorevoca', >>> '127.0.0.1_...etc... >>> logging: nil >>> reusePreparedStatements: nil >>> deniedCommands: nil >>> mutex: a Semaphore() >>> dependents: nil >>> isInTransaction: false >>> databaseDriver: a SqueakDBXDriver >>> >>> BlockClosure>>on:do: >>> Receiver: [closure] in SqueakDatabaseAccessor>>loginIfError: >>> Arguments and temporary variables: >>> exception: Error >>> handlerAction: [closure] in >>> SqueakDatabaseAccessor(DatabaseAccessor)>>login >>> handlerActive: false >>> Receiver's instance variables: >>> outerContext: SqueakDatabaseAccessor>>loginIfError: >>> startpc: 60 >>> numArgs: 0 >>> >>> SqueakDatabaseAccessor(DatabaseAccessor)>>execute:ifError: >>> Receiver: a SqueakDatabaseAccessor >>> Arguments and temporary variables: >>> aBlock: [closure] in >>> SqueakDatabaseAccessor>>loginIfError: >>> errorBlock: [closure] in >>> SqueakDatabaseAccessor(DatabaseAccessor)>>login >>> Receiver's instance variables: >>> connection: nil >>> currentLogin: a Login(a PostgreSQLPlatform, >>> 'postgres', >>> 'vorevoca', >>> '127.0.0.1_...etc... >>> logging: nil >>> reusePreparedStatements: nil >>> deniedCommands: nil >>> mutex: a Semaphore() >>> dependents: nil >>> isInTransaction: false >>> databaseDriver: a SqueakDBXDriver >>> >>> SqueakDatabaseAccessor>>loginIfError: >>> Receiver: a SqueakDatabaseAccessor >>> Arguments and temporary variables: >>> aBlock: [closure] in >>> SqueakDatabaseAccessor(DatabaseAccessor)>>login >>> Receiver's instance variables: >>> connection: nil >>> currentLogin: a Login(a PostgreSQLPlatform, >>> 'postgres', >>> 'vorevoca', >>> '127.0.0.1_...etc... >>> logging: nil >>> reusePreparedStatements: nil >>> deniedCommands: nil >>> mutex: a Semaphore() >>> dependents: nil >>> isInTransaction: false >>> databaseDriver: a SqueakDBXDriver >>> >>> SqueakDatabaseAccessor(DatabaseAccessor)>>login >>> Receiver: a SqueakDatabaseAccessor >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> connection: nil >>> currentLogin: a Login(a PostgreSQLPlatform, >>> 'postgres', >>> 'vorevoca', >>> '127.0.0.1_...etc... >>> logging: nil >>> reusePreparedStatements: nil >>> deniedCommands: nil >>> mutex: a Semaphore() >>> dependents: nil >>> isInTransaction: false >>> databaseDriver: a SqueakDBXDriver >>> >>> GlorpDatabaseLoginResource>>setUp >>> Receiver: GlorpDatabaseLoginResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> name: nil >>> description: nil >>> accessor: a SqueakDatabaseAccessor >>> login: a Login(a PostgreSQLPlatform, 'postgres', >>> 'vorevoca', >>> '127.0.0.1_glorp')...etc... >>> >>> GlorpDatabaseLoginResource(TestResource)>>initialize >>> Receiver: GlorpDatabaseLoginResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> name: nil >>> description: nil >>> accessor: a SqueakDatabaseAccessor >>> login: a Login(a PostgreSQLPlatform, 'postgres', >>> 'vorevoca', >>> '127.0.0.1_glorp')...etc... >>> >>> GlorpDatabaseLoginResource class(Behavior)>>new >>> Receiver: GlorpDatabaseLoginResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> superclass: TestResource >>> methodDict: a MethodDictionary(#accessor->a >>> CompiledMethod (1052) >>> #accessor:->a...etc... >>> format: 138 >>> instanceVariables: #('accessor' 'login') >>> organization: ('accessing' accessor accessor: login >>> login: platform) >>> ('initiali...etc... >>> subclasses: nil >>> name: #GlorpDatabaseLoginResource >>> classPool: a Dictionary(#DefaultLogin->a Login(a >>> PostgreSQLPlatform, 'postgres'...etc... >>> sharedPools: nil >>> environment: Smalltalk >>> category: #'OpenDBX-Glorp-Core-Test' >>> traitComposition: nil >>> localSelectors: nil >>> current: nil >>> >>> GlorpDatabaseLoginResource class(TestResource class)>>current >>> Receiver: GlorpDatabaseLoginResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> superclass: TestResource >>> methodDict: a MethodDictionary(#accessor->a >>> CompiledMethod (1052) >>> #accessor:->a...etc... >>> format: 138 >>> instanceVariables: #('accessor' 'login') >>> organization: ('accessing' accessor accessor: login >>> login: platform) >>> ('initiali...etc... >>> subclasses: nil >>> name: #GlorpDatabaseLoginResource >>> classPool: a Dictionary(#DefaultLogin->a Login(a >>> PostgreSQLPlatform, 'postgres'...etc... >>> sharedPools: nil >>> environment: Smalltalk >>> category: #'OpenDBX-Glorp-Core-Test' >>> traitComposition: nil >>> localSelectors: nil >>> current: nil >>> >>> GlorpDemoTablePopulatorResource>>setUp >>> Receiver: GlorpDemoTablePopulatorResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> name: nil >>> description: nil >>> login: nil >>> >>> GlorpDemoTablePopulatorResource(TestResource)>>initialize >>> Receiver: GlorpDemoTablePopulatorResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> name: nil >>> description: nil >>> login: nil >>> >>> GlorpDemoTablePopulatorResource class(Behavior)>>new >>> Receiver: GlorpDemoTablePopulatorResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> superclass: TestResource >>> methodDict: a >>> MethodDictionary(#populateStuffTable->a >>> CompiledMethod (555) #set...etc... >>> format: 136 >>> instanceVariables: #('login') >>> organization: ('setup' populateStuffTable setUp) >>> ('*glorpTestPostload-override'...etc... >>> subclasses: nil >>> name: #GlorpDemoTablePopulatorResource >>> classPool: a Dictionary(#NeedsSetup->false ) >>> sharedPools: nil >>> environment: Smalltalk >>> category: #GlorpTest >>> traitComposition: nil >>> localSelectors: nil >>> current: nil >>> >>> GlorpDemoTablePopulatorResource class(TestResource class)>>current >>> Receiver: GlorpDemoTablePopulatorResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> superclass: TestResource >>> methodDict: a >>> MethodDictionary(#populateStuffTable->a >>> CompiledMethod (555) #set...etc... >>> format: 136 >>> instanceVariables: #('login') >>> organization: ('setup' populateStuffTable setUp) >>> ('*glorpTestPostload-override'...etc... >>> subclasses: nil >>> name: #GlorpDemoTablePopulatorResource >>> classPool: a Dictionary(#NeedsSetup->false ) >>> sharedPools: nil >>> environment: Smalltalk >>> category: #GlorpTest >>> traitComposition: nil >>> localSelectors: nil >>> current: nil >>> >>> GlorpSessionResource>>glorpTestsSystem >>> Receiver: GlorpSessionResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> name: nil >>> description: nil >>> session: nil >>> >>> GlorpSessionResource>>setUp >>> Receiver: GlorpSessionResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> name: nil >>> description: nil >>> session: nil >>> >>> GlorpSessionResource(TestResource)>>initialize >>> Receiver: GlorpSessionResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> name: nil >>> description: nil >>> session: nil >>> >>> GlorpSessionResource class(Behavior)>>new >>> Receiver: GlorpSessionResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> superclass: TestResource >>> methodDict: a MethodDictionary(#glorpTestsSystem- >>> >a >>> CompiledMethod >>> (1814) #newS...etc... >>> format: 136 >>> instanceVariables: #('session') >>> organization: ('setup' glorpTestsSystem setUp) >>> ('accessing' newSession session)...etc... >>> subclasses: nil >>> name: #GlorpSessionResource >>> classPool: nil >>> sharedPools: nil >>> environment: Smalltalk >>> category: #GlorpTest >>> traitComposition: nil >>> localSelectors: nil >>> current: nil >>> >>> GlorpSessionResource class(TestResource class)>>current >>> Receiver: GlorpSessionResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> superclass: TestResource >>> methodDict: a MethodDictionary(#glorpTestsSystem- >>> >a >>> CompiledMethod >>> (1814) #newS...etc... >>> format: 136 >>> instanceVariables: #('session') >>> organization: ('setup' glorpTestsSystem setUp) >>> ('accessing' newSession session)...etc... >>> subclasses: nil >>> name: #GlorpSessionResource >>> classPool: nil >>> sharedPools: nil >>> environment: Smalltalk >>> category: #GlorpTest >>> traitComposition: nil >>> localSelectors: nil >>> current: nil >>> >>> GlorpSessionResource class(TestResource class)>>isAvailable >>> Receiver: GlorpSessionResource >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> superclass: TestResource >>> methodDict: a MethodDictionary(#glorpTestsSystem- >>> >a >>> CompiledMethod >>> (1814) #newS...etc... >>> format: 136 >>> instanceVariables: #('session') >>> organization: ('setup' glorpTestsSystem setUp) >>> ('accessing' newSession session)...etc... >>> subclasses: nil >>> name: #GlorpSessionResource >>> classPool: nil >>> sharedPools: nil >>> environment: Smalltalk >>> category: #GlorpTest >>> traitComposition: nil >>> localSelectors: nil >>> current: nil >>> >>> [] in TestRunner>>basicSetUpSuite: >>> Receiver: a TestRunner >>> Arguments and temporary variables: >>> <<error during printing> >>> Receiver's instance variables: >>> categories: #(#'AST-Tests' >>> #'AutomaticMethodCategorizer-Tests' >>> #'AutomaticMetho...etc... >>> categoriesSelected: a Set(#GlorpTest) >>> classes: >>> {GlorpBreadthFirstTopologicalSortTest . >>> GlorpCommandTest . >>> GlorpCursor...etc... >>> classIndex: 0 >>> classesSelected: a Set(GlorpSQLPrintingTest >>> GlorpDatabaseBasedTest >>> GlorpManyToM...etc... >>> failedList: #() >>> failedSelected: nil >>> errorList: #() >>> errorSelected: nil >>> lastUpdate: 3428305867 >>> result: 0 run, 0 passes, 0 expected >>> failures, 0 >>> failures, 0 errors, >>> 0 unexpecte...etc... >>> previousRun: nil >>> >>> Set>>do: >>> Receiver: a Set(GlorpSessionResource >>> GlorpDatabaseLoginResource >>> GlorpDemoTablePopulatorResource) >>> Arguments and temporary variables: >>> aBlock: [closure] in >>> TestRunner>>basicSetUpSuite: >>> index: 2 >>> each: GlorpSessionResource >>> indexLimiT: 5 >>> Receiver's instance variables: >>> tally: 3 >>> array: {nil . GlorpSessionResource . >>> GlorpDatabaseLoginResource . >>> GlorpDemoTabl...etc... >>> >>> TestRunner>>basicSetUpSuite: >>> Receiver: a TestRunner >>> Arguments and temporary variables: >>> aTestSuite: a TestSuite >>> Receiver's instance variables: >>> categories: #(#'AST-Tests' >>> #'AutomaticMethodCategorizer-Tests' >>> #'AutomaticMetho...etc... >>> categoriesSelected: a Set(#GlorpTest) >>> classes: >>> {GlorpBreadthFirstTopologicalSortTest . >>> GlorpCommandTest . >>> GlorpCursor...etc... >>> classIndex: 0 >>> classesSelected: a Set(GlorpSQLPrintingTest >>> GlorpDatabaseBasedTest >>> GlorpManyToM...etc... >>> failedList: #() >>> failedSelected: nil >>> errorList: #() >>> errorSelected: nil >>> lastUpdate: 3428305867 >>> result: 0 run, 0 passes, 0 expected >>> failures, 0 >>> failures, 0 errors, >>> 0 unexpecte...etc... >>> previousRun: nil >>> >>> TestRunner>>basicRunSuite:do: >>> Receiver: a TestRunner >>> Arguments and temporary variables: >>> aTestSuite: a TestSuite >>> aBlock: [closure] in TestRunner>>runSuite: >>> Receiver's instance variables: >>> categories: #(#'AST-Tests' >>> #'AutomaticMethodCategorizer-Tests' >>> #'AutomaticMetho...etc... >>> categoriesSelected: a Set(#GlorpTest) >>> classes: >>> {GlorpBreadthFirstTopologicalSortTest . >>> GlorpCommandTest . >>> GlorpCursor...etc... >>> classIndex: 0 >>> classesSelected: a Set(GlorpSQLPrintingTest >>> GlorpDatabaseBasedTest >>> GlorpManyToM...etc... >>> failedList: #() >>> failedSelected: nil >>> errorList: #() >>> errorSelected: nil >>> lastUpdate: 3428305867 >>> result: 0 run, 0 passes, 0 expected >>> failures, 0 >>> failures, 0 errors, >>> 0 unexpecte...etc... >>> previousRun: nil >>> >>> TestRunner>>runSuite: >>> Receiver: a TestRunner >>> Arguments and temporary variables: >>> aTestSuite: a TestSuite >>> Receiver's instance variables: >>> categories: #(#'AST-Tests' >>> #'AutomaticMethodCategorizer-Tests' >>> #'AutomaticMetho...etc... >>> categoriesSelected: a Set(#GlorpTest) >>> classes: >>> {GlorpBreadthFirstTopologicalSortTest . >>> GlorpCommandTest . >>> GlorpCursor...etc... >>> classIndex: 0 >>> classesSelected: a Set(GlorpSQLPrintingTest >>> GlorpDatabaseBasedTest >>> GlorpManyToM...etc... >>> failedList: #() >>> failedSelected: nil >>> errorList: #() >>> errorSelected: nil >>> lastUpdate: 3428305867 >>> result: 0 run, 0 passes, 0 expected >>> failures, 0 >>> failures, 0 errors, >>> 0 unexpecte...etc... >>> previousRun: nil >>> >>> TestRunner>>runAll >>> Receiver: a TestRunner >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> categories: #(#'AST-Tests' >>> #'AutomaticMethodCategorizer-Tests' >>> #'AutomaticMetho...etc... >>> categoriesSelected: a Set(#GlorpTest) >>> classes: >>> {GlorpBreadthFirstTopologicalSortTest . >>> GlorpCommandTest . >>> GlorpCursor...etc... >>> classIndex: 0 >>> classesSelected: a Set(GlorpSQLPrintingTest >>> GlorpDatabaseBasedTest >>> GlorpManyToM...etc... >>> failedList: #() >>> failedSelected: nil >>> errorList: #() >>> errorSelected: nil >>> lastUpdate: 3428305867 >>> result: 0 run, 0 passes, 0 expected >>> failures, 0 >>> failures, 0 errors, >>> 0 unexpecte...etc... >>> previousRun: nil >>> >>> UndefinedObject>>DoIt >>> Receiver: nil >>> Arguments and temporary variables: >>> tr: a TestRunner >>> Receiver's instance variables: >>> nil >>> >>> Compiler>>evaluate:in:to:notifying:ifFail:logged: >>> Receiver: a Compiler >>> Arguments and temporary variables: >>> <<error during printing> >>> Receiver's instance variables: >>> sourceStream: a ReadWriteStream ' >>> |tr | >>> SqueakDatabaseAccessor DefaultDriver: S...etc... >>> requestor: a TextMorphForShoutEditor >>> class: UndefinedObject >>> category: nil >>> context: nil >>> parser: a Parser >>> >>> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection >>> Receiver: a TextMorphForShoutEditor >>> Arguments and temporary variables: >>> <<error during printing> >>> Receiver's instance variables: >>> model: a SHWorkspace >>> paragraph: a MultiNewParagraph >>> startBlock: a CharacterBlock with index 201 and >>> character Character >>> cr and rect...etc... >>> stopBlock: a CharacterBlock with index 201 and >>> character Character >>> cr and recta...etc... >>> beginTypeInBlock: nil >>> emphasisHere: an Array(a TextColor code: Color red) >>> initialText: a Text for ' >>> |tr | >>> tr := TestRunner new. >>> ToolBuilder open: tr. >>> tr >>> ...etc... >>> selectionShowing: false >>> otherInterval: (403 to: 402) >>> lastParentLocation: nil >>> morph: a TextMorphForShout(168) >>> oldInterval: (106 to: 105) >>> pivotBlock: a CharacterBlock with index 200 and >>> character Character >>> cr and rect...etc... >>> inBackTo: false >>> >>> BlockClosure>>on:do: >>> Receiver: [closure] in >>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection >>> Arguments and temporary variables: >>> exception: OutOfScopeNotification >>> handlerAction: [closure] in >>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateS...etc... >>> handlerActive: true >>> Receiver's instance variables: >>> outerContext: >>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection >>> startpc: 116 >>> numArgs: 0 >>> >>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection >>> Receiver: a TextMorphForShoutEditor >>> Arguments and temporary variables: >>> result: nil >>> rcvr: nil >>> ctxt: nil >>> Receiver's instance variables: >>> model: a SHWorkspace >>> paragraph: a MultiNewParagraph >>> startBlock: a CharacterBlock with index 201 and >>> character Character >>> cr and rect...etc... >>> stopBlock: a CharacterBlock with index 201 and >>> character Character >>> cr and recta...etc... >>> beginTypeInBlock: nil >>> emphasisHere: an Array(a TextColor code: Color red) >>> initialText: a Text for ' >>> |tr | >>> tr := TestRunner new. >>> ToolBuilder open: tr. >>> tr >>> ...etc... >>> selectionShowing: false >>> otherInterval: (403 to: 402) >>> lastParentLocation: nil >>> morph: a TextMorphForShout(168) >>> oldInterval: (106 to: 105) >>> pivotBlock: a CharacterBlock with index 200 and >>> character Character >>> cr and rect...etc... >>> inBackTo: false >>> >>> TextMorphForShoutEditor(ParagraphEditor)>>doIt >>> Receiver: a TextMorphForShoutEditor >>> Arguments and temporary variables: >>> >>> Receiver's instance variables: >>> model: a SHWorkspace >>> paragraph: a MultiNewParagraph >>> startBlock: a CharacterBlock with index 201 and >>> character Character >>> cr and rect...etc... >>> stopBlock: a CharacterBlock with index 201 and >>> character Character >>> cr and recta...etc... >>> beginTypeInBlock: nil >>> emphasisHere: an Array(a TextColor code: Color red) >>> initialText: a Text for ' >>> |tr | >>> tr := TestRunner new. >>> ToolBuilder open: tr. >>> tr >>> ...etc... >>> selectionShowing: false >>> otherInterval: (403 to: 402) >>> lastParentLocation: nil >>> morph: a TextMorphForShout(168) >>> oldInterval: (106 to: 105) >>> pivotBlock: a CharacterBlock with index 200 and >>> character Character >>> cr and rect...etc... >>> inBackTo: false >>> >>> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt: >>> Receiver: a TextMorphForShoutEditor >>> Arguments and temporary variables: >>> <<error during printing> >>> Receiver's instance variables: >>> model: a SHWorkspace >>> paragraph: a MultiNewParagraph >>> startBlock: a CharacterBlock with index 201 and >>> character Character >>> cr and rect...etc... >>> stopBlock: a CharacterBlock with index 201 and >>> character Character >>> cr and recta...etc... >>> beginTypeInBlock: nil >>> emphasisHere: an Array(a TextColor code: Color red) >>> initialText: a Text for ' >>> |tr | >>> tr := TestRunner new. >>> ToolBuilder open: tr. >>> tr >>> ...etc... >>> selectionShowing: false >>> otherInterval: (403 to: 402) >>> lastParentLocation: nil >>> morph: a TextMorphForShout(168) >>> oldInterval: (106 to: 105) >>> pivotBlock: a CharacterBlock with index 200 and >>> character Character >>> cr and rect...etc... >>> inBackTo: false >>> >>> TextMorphForShoutEditor >>> (ParagraphEditor)>>terminateAndInitializeAround: >>> Receiver: a TextMorphForShoutEditor >>> Arguments and temporary variables: >>> aBlock: [closure] in >>> TextMorphForShoutEditor(ParagraphEditor)>>doIt: >>> Receiver's instance variables: >>> model: a SHWorkspace >>> paragraph: a MultiNewParagraph >>> startBlock: a CharacterBlock with index 201 and >>> character Character >>> cr and rect...etc... >>> stopBlock: a CharacterBlock with index 201 and >>> character Character >>> cr and recta...etc... >>> beginTypeInBlock: nil >>> emphasisHere: an Array(a TextColor code: Color red) >>> initialText: a Text for ' >>> |tr | >>> tr := TestRunner new. >>> ToolBuilder open: tr. >>> tr >>> ...etc... >>> selectionShowing: false >>> otherInterval: (403 to: 402) >>> lastParentLocation: nil >>> morph: a TextMorphForShout(168) >>> oldInterval: (106 to: 105) >>> pivotBlock: a CharacterBlock with index 200 and >>> character Character >>> cr and rect...etc... >>> inBackTo: false >>> >>> >>> --- The full stack --- >>> OpenDBXMacOSX(Object)>>error: >>> OpenDBXMacOSX(Object)>>externalCallFailed >>> OpenDBXMacOSX(OpenDBXUnix)>>apiInitialize:backend:host:port: >>> DBXPostgresPlatform(DBXPlatform)>>createConnection: >>> DBXConnection>>connect >>> SqueakDBXDriver>>connect: >>> [] in SqueakDatabaseAccessor>>loginIfError: >>> BlockClosure>>on:do: >>> SqueakDatabaseAccessor(DatabaseAccessor)>>execute:ifError: >>> SqueakDatabaseAccessor>>loginIfError: >>> SqueakDatabaseAccessor(DatabaseAccessor)>>login >>> GlorpDatabaseLoginResource>>setUp >>> GlorpDatabaseLoginResource(TestResource)>>initialize >>> GlorpDatabaseLoginResource class(Behavior)>>new >>> GlorpDatabaseLoginResource class(TestResource class)>>current >>> GlorpDemoTablePopulatorResource>>setUp >>> GlorpDemoTablePopulatorResource(TestResource)>>initialize >>> GlorpDemoTablePopulatorResource class(Behavior)>>new >>> GlorpDemoTablePopulatorResource class(TestResource class)>>current >>> GlorpSessionResource>>glorpTestsSystem >>> GlorpSessionResource>>setUp >>> GlorpSessionResource(TestResource)>>initialize >>> GlorpSessionResource class(Behavior)>>new >>> GlorpSessionResource class(TestResource class)>>current >>> GlorpSessionResource class(TestResource class)>>isAvailable >>> [] in TestRunner>>basicSetUpSuite: >>> Set>>do: >>> TestRunner>>basicSetUpSuite: >>> TestRunner>>basicRunSuite:do: >>> TestRunner>>runSuite: >>> TestRunner>>runAll >>> UndefinedObject>>DoIt >>> Compiler>>evaluate:in:to:notifying:ifFail:logged: >>> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection >>> BlockClosure>>on:do: >>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection >>> TextMorphForShoutEditor(ParagraphEditor)>>doIt >>> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt: >>> TextMorphForShoutEditor >>> (ParagraphEditor)>>terminateAndInitializeAround: >>> - - - - - - - - - - - - - - - >>> - - - - - - - - - - - - - - - - - - >>> TextMorphForShoutEditor(ParagraphEditor)>>doIt: >>> TextMorphForShoutEditor(ParagraphEditor)>>dispatchOnKeyEvent:with: >>> TextMorphForShoutEditor(TextMorphEditor)>>dispatchOnKeyEvent:with: >>> TextMorphForShoutEditor(ParagraphEditor)>>keystroke: >>> TextMorphForShoutEditor(TextMorphEditor)>>keystroke: >>> [] in [] in TextMorphForShout(TextMorph)>>keyStroke: >>> TextMorphForShout(TextMorph)>>handleInteraction: >>> TextMorphForShout(TextMorphForEditView)>>handleInteraction: >>> [] in TextMorphForShout(TextMorph)>>keyStroke: >>> ECToolSet class>>codeCompletionAround:textMorph:keyStroke: >>> DEVToolSet class>>codeCompletionAround:textMorph:keyStroke: >>> ToolSet class>>codeCompletionAround:textMorph:keyStroke: >>> TextMorphForShout(TextMorph)>>keyStroke: >>> TextMorphForShout(TextMorphForEditView)>>keyStroke: >>> TextMorphForShout(TextMorph)>>handleKeystroke: >>> KeyboardEvent>>sentTo: >>> TextMorphForShout(Morph)>>handleEvent: >>> TextMorphForShout(Morph)>>handleFocusEvent: >>> [] in HandMorph>>sendFocusEvent:to:clear: >>> [] in PasteUpMorph>>becomeActiveDuring: >>> BlockClosure>>on:do: >>> PasteUpMorph>>becomeActiveDuring: >>> HandMorph>>sendFocusEvent:to:clear: >>> HandMorph>>sendEvent:focus:clear: >>> HandMorph>>sendKeyboardEvent: >>> HandMorph>>handleEvent: >>> HandMorph>>processEvents >>> [] in WorldState>>doOneCycleNowFor: >>> Array(SequenceableCollection)>>do: >>> WorldState>>handsDo: >>> WorldState>>doOneCycleNowFor: >>> WorldState>>doOneCycleFor: >>> PasteUpMorph>>doOneCycle >>> [] in Project class>>spawnNewProcess >>> [] in BlockClosure>>newProcess >>> >>> >>> _______________________________________________ >>> Pharo-project mailing list >>> [email protected] >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >>> >> >> _______________________________________________ >> Pharo-project mailing list >> [email protected] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> >> >> >> _______________________________________________ >> Pharo-project mailing list >> [email protected] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
