ChangeList parseSelector bug

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

ChangeList parseSelector bug

GLASS mailing list
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
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: ChangeList parseSelector bug

GLASS mailing list
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
> [hidden email]
> https://lists.gemtalksystems.com/mailman/listinfo/glass
_______________________________________________
Glass mailing list
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: ChangeList parseSelector bug

GLASS mailing list
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
>> [hidden email]
>> https://lists.gemtalksystems.com/mailman/listinfo/glass
> _______________________________________________
> Glass mailing list
> [hidden email]
> https://lists.gemtalksystems.com/mailman/listinfo/glass
_______________________________________________
Glass mailing list
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: ChangeList parseSelector bug

GLASS mailing list
Turns out that the fix was in FileList[1] and it has been fixed.

Dale

[1] https://github.com/dalehenrich/filetree/issues/231

On 10/26/20 10:54 AM, Dale Henrichs wrote:

> 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
>>> [hidden email]
>>> https://lists.gemtalksystems.com/mailman/listinfo/glass
>> _______________________________________________
>> Glass mailing list
>> [hidden email]
>> https://lists.gemtalksystems.com/mailman/listinfo/glass
_______________________________________________
Glass mailing list
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass