diff --git a/ChangeLog b/ChangeLog index 2338f5e..6151d62 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004 Apr 19 Stefan Urbanek + + * applied patch from Mateu Batle to replace nil valuse with STNil on + message sending + * fixed STConversation issue + 2004 Mar 28 Stefan Urbanek Changes according to the Helge Hess: diff --git a/Frameworks/StepTalk/STConversation.m b/Frameworks/StepTalk/STConversation.m index b4371b8..f731c66 100644 --- a/Frameworks/StepTalk/STConversation.m +++ b/Frameworks/StepTalk/STConversation.m @@ -79,8 +79,9 @@ - initWithEnvironment:(STEnvironment *)env language:(NSString *)langName { - [self subclassResponsibility:_cmd]; - return nil; + [self dealloc]; + + return [[STConcreteLocalConversation alloc] initWithEnvironment:env language:langName]; } - (void)setLanguage:(NSString *)newLanguage diff --git a/Frameworks/StepTalk/STScriptObject.m b/Frameworks/StepTalk/STScriptObject.m index 64edc72..6d96583 100644 --- a/Frameworks/StepTalk/STScriptObject.m +++ b/Frameworks/StepTalk/STScriptObject.m @@ -2,9 +2,10 @@ #import "STScriptObject.h" -#import "STEngine.h" -#import "STObjCRuntime.h" #import "NSInvocation+additions.h" +#import "STEngine.h" +#import "STExterns.h" +#import "STObjCRuntime.h" #import #import @@ -141,7 +142,15 @@ some other, more clever mechanism. */ for(index = 2; index < count; index++) { arg = [invocation getArgumentAsObjectAtIndex:index]; - [args addObject:arg]; + + if (arg == nil) + { + [args addObject:STNil]; + } + else + { + [args addObject:arg]; + } } retval = [engine executeMethod:method diff --git a/Languages/Smalltalk/STSmalltalkScriptObject.m b/Languages/Smalltalk/STSmalltalkScriptObject.m index b4a7b6f..f4087f3 100644 --- a/Languages/Smalltalk/STSmalltalkScriptObject.m +++ b/Languages/Smalltalk/STSmalltalkScriptObject.m @@ -158,7 +158,15 @@ for(index = 2; index < count; index++) { arg = [invocation getArgumentAsObjectAtIndex:index]; - [args addObject:arg]; + + if (arg == nil) + { + [args addObject:STNil]; + } + else + { + [args addObject:arg]; + } } // NSDebugLLog(@"STSending", @@ -168,7 +176,7 @@ forReceiver:self arguments:args]; RELEASE(args); - + // NSDebugLLog(@"STSending", // @"<< returned from forwarding");