[Glass] ChangeList parseSelector bug

Dale Henrichs dale.henrichs at gemtalksystems.com
Mon Oct 26 10:54:09 PDT 2020


Bruno,

GsDevKit is the right place ...

Dale

On 10/26/20 10:31 AM, bruno buzzi brassesco via Glass wrote:
> Hi,
>
> In which github repo should i report this issue ?
> (GsDevKit ???)
>
> regards,
> bruno
>
> On 26/10/2020 14:26, bruno buzzi brassesco via Glass wrote:
>> Hi,
>>
>> It seems there is bug in ChangeList>>parseSelector: (or 
>> Scanner>>scanMessageParts:) (tested on GS 3.5.1 & 3.5.4).
>> Try:
>> ChangeList parseSelector:
>> 'myMethodName
>>     -1 to: 2 do: [:i |].'.
>>
>> But the following will work ok :
>> ChangeList parseSelector:
>> 'myMethodName
>>     ||
>>     -1 to: 2 do: [:i |].'.
>>
>> So it seems a border case when you have a negative number immediately 
>> after the selector.
>>
>> The following also will fail:
>> ChangeList parseSelector:
>> 'myMethodName
>>     -1 '.
>>
>> The workaround will be add  empty temp definition at the beginning 
>> "||" of the method.
>>
>> regards,
>> bruno
>>
>> Stack:
>> MessageNotUnderstood >> defaultAction @2 line 3
>> MessageNotUnderstood (AbstractException) >> _signalWith: @5 line 25
>> MessageNotUnderstood (AbstractException) >> signal @2 line 47
>> SmallInteger (Object) >> doesNotUnderstand: @9 line 10
>> SmallInteger (Object) >> _doesNotUnderstand:args:envId:reason: @8 
>> line 14
>> String >> addAll: @51 line 32
>> WriteStream >> nextPutAll: @8 line 9
>> ChangeList class >> parseSelector: @15 line 8
>> MCFileTreeStCypressReader >> methodSelectorFor: @2 line 2
>> [] in MCFileTreeStCypressReader >> 
>> addMethodDefinitionsForClass:methodProperties:in:extensionMethod: @43 
>> line 19
>> [] in FileDirectory >> readOnlyFileNamed:do: @8 line 4
>> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
>> ServerFileDirectory (FileDirectory) >> readOnlyFileNamed:do: @4 line 4
>> DirectoryEntry >> readStreamDo: @4 line 2
>> [] in MCFileTreeStCypressReader >> 
>> addMethodDefinitionsForClass:methodProperties:in:extensionMethod: @29 
>> line 14
>> Array (Collection) >> do: @5 line 10
>> [] in MCFileTreeStCypressReader >> 
>> addMethodDefinitionsForClass:methodProperties:in:extensionMethod: @21 
>> line 12
>> Array (Collection) >> do: @5 line 10
>> MCFileTreeStCypressReader >> 
>> addMethodDefinitionsForClass:methodProperties:in:extensionMethod: @2 
>> line 3
>> MCFileTreeStCypressReader >> 
>> addMethodDefinitionsForClass:methodProperties:in: @2 line 3
>> MCFileTreeStCypressReader >> addClassAndMethodDefinitionsFromEntry: 
>> @21 line 29
>> [] in MCFileTreeStCypressReader >> 
>> addClassAndMethodDefinitionsFromDirectory: @10 line 5
>> Array (Collection) >> do: @5 line 10
>> MCFileTreeStCypressReader >> 
>> addClassAndMethodDefinitionsFromDirectory: @3 line 3
>> MCFileTreeStCypressReader >> loadDefinitions @15 line 11
>> MCFileTreeStCypressReader (MCVersionReader) >> definitions @3 line 2
>> MCFileTreeStCypressReader (MCVersionReader) >> snapshot @2 line 2
>> MCFileTreeStCypressReader >> basicVersion @5 line 5
>> MCFileTreeStCypressReader (MCVersionReader) >> version @2 line 2
>> [] in MCFileBasedRepository >> loadVersionFromFileNamed: @5 line 2
>> [] in MCFileTreeRepository >> versionReaderForFileNamed:do: @12 line 10
>> MCGitHubRepository (MCFileTreeRepository) >> 
>> readStreamForFileNamed:do: @3 line 2
>> MCGitHubRepository (MCFileTreeRepository) >> 
>> versionReaderForFileNamed:do: @2 line 3
>> MCGitHubRepository (MCFileBasedRepository) >> 
>> loadVersionFromFileNamed: @2 line 2
>> [] in MCFileTreeRepository >> goferVersionFrom: @31 line 20
>> Array (Collection) >> do: @5 line 10
>> MCGitHubRepository (MCFileTreeRepository) >> goferVersionFrom: @6 line 9
>> MetacelloCachingGoferResolvedReference (GoferResolvedReference) >> 
>> version @3 line 4
>> MetacelloCachingGoferResolvedReference >> version @3 line 4
>> [] in MetacelloFetchingMCSpecLoader >> 
>> resolveDependencies:nearest:into: @45 line 28
>> OrderedCollection (Collection) >> do: @5 line 10
>> [] in MetacelloFetchingMCSpecLoader >> 
>> resolveDependencies:nearest:into: @38 line 28
>> ExecBlock0 (ExecBlock) >> on:do: @3 line 44
>> MetacelloFetchingMCSpecLoader >> resolveDependencies:nearest:into: 
>> @15 line 31
>> [] in MetacelloFetchingMCSpecLoader >> linearLoadPackageSpec:gofer: 
>> @41 line 51
>> MetacelloGemStonePlatform (MetacelloPlatform) >> do:displaying: @2 
>> line 3
>> MetacelloFetchingMCSpecLoader >> linearLoadPackageSpec:gofer: @5 line 3
>> MetacelloPackageSpec >> loadUsing:gofer: @2 line 3
>> [] in MetacelloCommonMCSpecLoader >> 
>> linearLoadPackageSpecs:repositories: @13 line 6
>> OrderedCollection (Collection) >> do: @5 line 10
>> MetacelloFetchingMCSpecLoader (MetacelloCommonMCSpecLoader) >> 
>> linearLoadPackageSpecs:repositories: @5 line 6
>> [] in MetacelloFetchingMCSpecLoader >> 
>> linearLoadPackageSpecs:repositories: @7 line 4
>> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
>> MetacelloLoaderPolicy >> pushLoadDirective:during: @6 line 7
>> MetacelloLoaderPolicy >> pushLinearLoadDirectivesDuring:for: @3 line 3
>> MetacelloFetchingMCSpecLoader >> linearLoadPackageSpecs:repositories: 
>> @3 line 4
>> MetacelloFetchingMCSpecLoader (MetacelloCommonMCSpecLoader) >> load 
>> @15 line 7
>> MetacelloMCVersionSpecLoader >> load @13 line 21
>> MetacelloMCVersion >> executeLoadFromArray: @9 line 7
>> [] in MetacelloMCVersion >> fetchRequiredFromArray: @33 line 11
>> [] in MetacelloPlatform >> useStackCacheDuring:defaultDictionary: @13 
>> line 9
>> ExecBlock0 (ExecBlock) >> on:do: @3 line 44
>> MetacelloGemStonePlatform (MetacelloPlatform) >> 
>> useStackCacheDuring:defaultDictionary: @9 line 10
>> [] in MetacelloMCVersion >> fetchRequiredFromArray: @29 line 11
>> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
>> [] in MetacelloMCVersion >> fetchRequiredFromArray: @21 line 12
>> MetacelloGemStonePlatform (MetacelloPlatform) >> do:displaying: @2 
>> line 3
>> MetacelloMCVersion >> fetchRequiredFromArray: @17 line 7
>> [] in MetacelloMCVersion >> doLoadRequiredFromArray: @27 line 10
>> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
>> MetacelloMCVersion >> doLoadRequiredFromArray: @22 line 16
>> MetacelloMCVersion >> load @4 line 3
>> [] in MetacelloScriptEngine >> 
>> load:onProjectDownGrade:onProjectUpgrade: @17 line 15
>> ExecBlock0 (ExecBlock) >> on:do: @3 line 44
>> [] in MetacelloScriptEngine >> handleNotificationsForAction: @20 line 6
>> ExecBlock0 (ExecBlock) >> on:do: @3 line 44
>> [] in MetacelloScriptEngine >> handleNotificationsForAction: @12 line 14
>> ExecBlock0 (ExecBlock) >> on:do: @3 line 44
>> [] in MetacelloScriptEngine >> handleNotificationsForAction: @6 line 20
>> ExecBlock0 (ExecBlock) >> on:do: @3 line 44
>> MetacelloScriptEngine >> handleNotificationsForAction: @2 line 24
>> [] in MetacelloScriptEngine >> 
>> load:onProjectDownGrade:onProjectUpgrade: @6 line 5
>> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
>> MetacelloProjectRegistration class >> 
>> copyRegistryRestoreOnErrorWhile: @8 line 14
>> MetacelloScriptEngine >> load:onProjectDownGrade:onProjectUpgrade: @2 
>> line 3
>> MetacelloScriptEngine >> load: @2 line 3
>> MetacelloScriptEngine (Object) >> perform:withArguments: @1 line 12
>> [] in MetacelloScriptExecutor >> execute: @40 line 15
>> [] in MetacelloScriptApiExecutor >> executeString:do: @13 line 6
>> Array (Collection) >> do: @5 line 10
>> MetacelloScriptApiExecutor >> executeString:do: @6 line 4
>> String >> execute:against: @2 line 2
>> MetacelloScriptApiExecutor (MetacelloScriptExecutor) >> execute: @6 
>> line 9
>> Metacello >> execute:args: @8 line 5
>> Metacello >> load @2 line 2
>> Executed Code  @5 line 4
>> GsNMethod class >> _gsReturnToC @1 line 11
>>
>> _______________________________________________
>> Glass mailing list
>> Glass at lists.gemtalksystems.com
>> https://lists.gemtalksystems.com/mailman/listinfo/glass
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> https://lists.gemtalksystems.com/mailman/listinfo/glass


More information about the Glass mailing list