2017-03-03 0:06 GMT+01:00 Bert Freudenberg bert@freudenbergs.de:
Let me see if I understand ...
On Thu, Mar 2, 2017 at 3:45 AM, Jakob Reschke jakob.reschke@student.hpi.de wrote:
- prepare the environment in a workspace, because there are no tools for
it:
env := Environment named: #NewProjectWithPharoBindings.
This creates a new empty environment.
env import: Smalltalk globals.
This makes all current classes available inside the new environment.
env from: Smalltalk globals import: { #FSFilesystem -> #FileSystem. #FSPath -> #Path. "..." }
This makes the FS classes (which you loaded previously) available under the non-prefixed name, too.
Correct.
env importSelf;
Makes future declarations in this environment visible to itself.
Yes, and also the already existing ones (if any), but for some reason the implementation of importSelf explicitly does not overwrite existing (imported) bindings with own declarations. I wonder why... But it does not matter all that much because of what I described in the older thread titled "Environments: imported bindings overwriting each other".
exportSelf.
Makes future changes in this environment visible to other environments that imported it.
Correct.
- open a Workspace that "lives" in the new environment:
env beCurrentDuring: [Workspace open]
...and change its title to remember its purpose.
Yoshiki and I tried that but evaluating code still appears to use the Smalltalk environment. We had to change the evaluateSelectionAndDo: method in the Morphic package to use the model's environment. Is that a change you missed?
Bingo! Stupid me. There are some other relevant changes in TextEditor as well. Add Morphic-jr.1325 to the list.
In general it appears to be working well, although the tool support is minimal for now. It would be useful if environment-aware tools indicated the current environment (if it is not the default).
Maybe. I did it for the TestRunner, but playing with only two different environments and without duplicate class names (except for Path) I could always tell the environment from the visible classes. Question is: How to indicate? Changing the title might make some titles long. IIRC, Marcel once told me that Bastian Steinert indicated environments with differently colored window borders in his thesis work. But Marcel found that confusing, and I also think that would be difficult to comprehend.
On Thu, Mar 2, 2017 at 6:34 PM, Jakob Reschke jakob.reschke@student.hpi.de wrote:
Bingo! Stupid me. There are some other relevant changes in TextEditor as well. Add Morphic-jr.1325 to the list.
Okay. Here, for people to try:
(MCConfiguration fromArray: #( repository ('http://source.squeak.org/inbox') dependency ('Compiler' 'Compiler-jr.329' '6053da84-5a5b-b043-8dcc-019bc75762df') dependency ('Kernel' 'Kernel-jr.1061' 'acd952fb-8e90-e940-8d2e-6c1a9e3a7d3f') dependency ('System' 'System-jr.928' '3b79a197-c860-eb40-8f04-645f64bc7988') dependency ('ToolBuilder-Kernel' 'ToolBuilder-Kernel-jr.109' 'edda3c34-f8df-fc4f-b6a5-6404053750f1') dependency ('Tools' 'Tools-jr.745' 'c3e3bfae-ac2c-0d4e-a606-c41b7d388d67') dependency ('ToolsTests' 'ToolsTests-jr.79' '633800f6-1e23-1744-8e1a-01ecd6e88cd2') dependency ('Environments' 'Environments-jr.71' 'a50d4dbb-f587-6d46-bd22-bfcba43c4187') dependency ('Traits' 'Traits-jr.309' '32a4e214-747f-cc42-8b8d-a95182963d05') dependency ('Monticello' 'Monticello-jr.664' '5f7f61e8-c5f7-7749-8d7f-c39b5b4584fb') dependency ('Tests' 'Tests-jr.366' 'a91286d9-df10-e24e-b128-dc03557db77a') dependency ('PackageInfo-Base' 'PackageInfo-Base-jr.70' '4eaf925f-ff65-7647-8ef5-f9d0c9f7b58c') dependency ('SUnit' 'SUnit-jr.106' '675e77ab-782e-2c47-a754-a9d1ca6f9c03') dependency ('SUnitGUI' 'SUnitGUI-jr.65' '2fc0a490-bd92-cc43-96c7-ede4b233243d') dependency ('Morphic' 'Morphic-jr.1325' 'ec6312f8-a496-fe46-8c4e-e1ca155b499d') )) upgrade
Is it fair to say that we can pretty much ignore environments in daily use? That we only create one if we need it? Or do you think they would be useful for regular development?
- Bert -
On Thu, Mar 02, 2017 at 07:23:21PM -0800, Bert Freudenberg wrote:
On Thu, Mar 2, 2017 at 6:34 PM, Jakob Reschke jakob.reschke@student.hpi.de wrote:
Bingo! Stupid me. There are some other relevant changes in TextEditor as well. Add Morphic-jr.1325 to the list.
Okay. Here, for people to try:
(MCConfiguration fromArray: #( repository ('http://source.squeak.org/inbox') dependency ('Compiler' 'Compiler-jr.329' '6053da84-5a5b-b043-8dcc-019bc75762df') dependency ('Kernel' 'Kernel-jr.1061' 'acd952fb-8e90-e940-8d2e-6c1a9e3a7d3f') dependency ('System' 'System-jr.928' '3b79a197-c860-eb40-8f04-645f64bc7988') dependency ('ToolBuilder-Kernel' 'ToolBuilder-Kernel-jr.109' 'edda3c34-f8df-fc4f-b6a5-6404053750f1') dependency ('Tools' 'Tools-jr.745' 'c3e3bfae-ac2c-0d4e-a606-c41b7d388d67') dependency ('ToolsTests' 'ToolsTests-jr.79' '633800f6-1e23-1744-8e1a-01ecd6e88cd2') dependency ('Environments' 'Environments-jr.71' 'a50d4dbb-f587-6d46-bd22-bfcba43c4187') dependency ('Traits' 'Traits-jr.309' '32a4e214-747f-cc42-8b8d-a95182963d05') dependency ('Monticello' 'Monticello-jr.664' '5f7f61e8-c5f7-7749-8d7f-c39b5b4584fb') dependency ('Tests' 'Tests-jr.366' 'a91286d9-df10-e24e-b128-dc03557db77a') dependency ('PackageInfo-Base' 'PackageInfo-Base-jr.70' '4eaf925f-ff65-7647-8ef5-f9d0c9f7b58c') dependency ('SUnit' 'SUnit-jr.106' '675e77ab-782e-2c47-a754-a9d1ca6f9c03') dependency ('SUnitGUI' 'SUnitGUI-jr.65' '2fc0a490-bd92-cc43-96c7-ede4b233243d') dependency ('Morphic' 'Morphic-jr.1325' 'ec6312f8-a496-fe46-8c4e-e1ca155b499d') )) upgrade
Thanks, this loads cleanly into my trunk 64 image, and causes no problems that I can see with respect to normal Squeak usage.
Dave
Another confirmation:
(MCConfiguration fromArray: #( repository ('http://source.squeak.org/inbox') dependency ('Compiler' 'Compiler-jr.329' '6053da84-5a5b-b043-8dcc-019bc75762df') dependency ('Kernel' 'Kernel-jr.1061' 'acd952fb-8e90-e940-8d2e-6c1a9e3a7d3f') dependency ('System' 'System-jr.928' '3b79a197-c860-eb40-8f04-645f64bc7988') dependency ('ToolBuilder-Kernel' 'ToolBuilder-Kernel-jr.109' 'edda3c34-f8df-fc4f-b6a5-6404053750f1') dependency ('Tools' 'Tools-jr.745' 'c3e3bfae-ac2c-0d4e-a606-c41b7d388d67') dependency ('ToolsTests' 'ToolsTests-jr.79' '633800f6-1e23-1744-8e1a-01ecd6e88cd2') dependency ('Environments' 'Environments-jr.71' 'a50d4dbb-f587-6d46-bd22-bfcba43c4187') dependency ('Traits' 'Traits-jr.309' '32a4e214-747f-cc42-8b8d-a95182963d05') dependency ('Monticello' 'Monticello-jr.664' '5f7f61e8-c5f7-7749-8d7f-c39b5b4584fb') dependency ('Tests' 'Tests-jr.366' 'a91286d9-df10-e24e-b128-dc03557db77a') dependency ('PackageInfo-Base' 'PackageInfo-Base-jr.70' '4eaf925f-ff65-7647-8ef5-f9d0c9f7b58c') dependency ('SUnit' 'SUnit-jr.106' '675e77ab-782e-2c47-a754-a9d1ca6f9c03') dependency ('SUnitGUI' 'SUnitGUI-jr.65' '2fc0a490-bd92-cc43-96c7-ede4b233243d') dependency ('Morphic' 'Morphic-jr.1325' 'ec6312f8-a496-fe46-8c4e-e1ca155b499d') )) upgrade
loads fine into a Squeak6.0alpha-16966-32bit.image
I start testing it....
--Hannes
On 3/3/17, David T. Lewis lewis@mail.msen.com wrote:
On Thu, Mar 02, 2017 at 07:23:21PM -0800, Bert Freudenberg wrote:
On Thu, Mar 2, 2017 at 6:34 PM, Jakob Reschke jakob.reschke@student.hpi.de wrote:
Bingo! Stupid me. There are some other relevant changes in TextEditor as well. Add Morphic-jr.1325 to the list.
Okay. Here, for people to try:
(MCConfiguration fromArray: #( repository ('http://source.squeak.org/inbox') dependency ('Compiler' 'Compiler-jr.329' '6053da84-5a5b-b043-8dcc-019bc75762df') dependency ('Kernel' 'Kernel-jr.1061' 'acd952fb-8e90-e940-8d2e-6c1a9e3a7d3f') dependency ('System' 'System-jr.928' '3b79a197-c860-eb40-8f04-645f64bc7988') dependency ('ToolBuilder-Kernel' 'ToolBuilder-Kernel-jr.109' 'edda3c34-f8df-fc4f-b6a5-6404053750f1') dependency ('Tools' 'Tools-jr.745' 'c3e3bfae-ac2c-0d4e-a606-c41b7d388d67') dependency ('ToolsTests' 'ToolsTests-jr.79' '633800f6-1e23-1744-8e1a-01ecd6e88cd2') dependency ('Environments' 'Environments-jr.71' 'a50d4dbb-f587-6d46-bd22-bfcba43c4187') dependency ('Traits' 'Traits-jr.309' '32a4e214-747f-cc42-8b8d-a95182963d05') dependency ('Monticello' 'Monticello-jr.664' '5f7f61e8-c5f7-7749-8d7f-c39b5b4584fb') dependency ('Tests' 'Tests-jr.366' 'a91286d9-df10-e24e-b128-dc03557db77a') dependency ('PackageInfo-Base' 'PackageInfo-Base-jr.70' '4eaf925f-ff65-7647-8ef5-f9d0c9f7b58c') dependency ('SUnit' 'SUnit-jr.106' '675e77ab-782e-2c47-a754-a9d1ca6f9c03') dependency ('SUnitGUI' 'SUnitGUI-jr.65' '2fc0a490-bd92-cc43-96c7-ede4b233243d') dependency ('Morphic' 'Morphic-jr.1325' 'ec6312f8-a496-fe46-8c4e-e1ca155b499d') )) upgrade
Thanks, this loads cleanly into my trunk 64 image, and causes no problems that I can see with respect to normal Squeak usage.
Dave
squeak-dev@lists.squeakfoundation.org