On 12 Jul 2017, at 10:51, Marcus Denker <marcus.denker@inria.fr> wrote:
On 12 Jul 2017, at 10:46, Denis Kudriashov <dionisiydk@gmail.com <mailto:dionisiydk@gmail.com>> wrote:
2017-07-12 9:09 GMT+02:00 Marcus Denker <marcus.denker@inria.fr <mailto:marcus.denker@inria.fr>>: in the workspace it creates a variable (with value nil)⦠so it treats upper-case unknown vars the same as lower case.
I think it might make sense to have for upper case instead the menu that asks what to do (it could there have a âadd binding to workspaceâ entry for the current way, too)
I would prefer same behaviour like in method editor. I really hate when I made mistake in class name and after evaluation I got uppercase binding with nil value.
yes, we should fix it. binding should just be created for lower case vars.
How to fix it: OCRequestorScope is the scope of variables in tools. #lookupVar: is the method that is doing the lookup. replace the code global := self lookupGlobalVar: name. global ifNotNil: [ ^ global ]. with: name first isUppercase ifTrue: [ ^ outerScope lookupVar: name]. But: right now we abuse the requesterscope to implement the feature that you can hand in an additional dictionary with bindings. See testEvaluateWithBindingsWithUppercaseName This change breaks this feature⦠but it just means we need to implement this better, which I will do . Marcus