<div dir="ltr"><div><br></div><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Mar 9, 2013 at 8:30 PM,  <span dir="ltr">&lt;<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>&gt;</span> wrote:<br>
<div> </div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
==================== Summary ====================<br>
<br>
Name: Environments-cwp.15<br>
Author: cwp<br>
Time: 9 March 2013, 8:15:12.639 pm<br>
UUID: 57b74903-5b1b-495e-86c9-97bde295a0ce<br>
Ancestors: Environments-cwp.14<br>
<br>
Added the ability to rename classes as they are imported or exported.<br></blockquote><div><br></div><div><br></div><div>With this update, Environments now understand the following messages:</div><div><br></div><div><font class="" face="&#39;times new roman&#39;, serif">import: anEnvironment</font></div>
</div></div><blockquote class="" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:40px;border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-style:none;border-width:initial;border-color:initial;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<div class="gmail_extra"><div class="gmail_quote"><div>Imports all the bindings from the other environment, with no renaming</div></div></div></blockquote><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>
<font class="" face="&#39;times new roman&#39;, serif">import: anEnvironment addingPrefix: aString </font></div></div></div><blockquote class="" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:40px;border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-style:none;border-width:initial;border-color:initial;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<div class="gmail_extra"><div class="gmail_quote"><div>Imports all the bindings from the given environment which have keys that do not begin with the specified prefix. The bindings are made visible in the receiver with the prefix added. For example, if the other environment has classes named Foo and XXBar, Foo will be imported as XXFoo, but XXBar will not be imported.</div>
<div><br></div></div></div></blockquote><div class="gmail_extra"><div class="gmail_quote"><div><font class="" face="&#39;times new roman&#39;, serif">import: anEnvironment removingPrefix: aString <br></font></div></div></div>
<blockquote class="" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:40px;border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-style:none;border-width:initial;border-color:initial;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<div class="gmail_extra"><div class="gmail_quote"><div>Imports all bindings from the given environment which have keys that begin with the specified prefix. The bindings are made visible in the receiver with the prefix removed. For example, if the other environment has classes named Foo and XXBar, XXBar will be imported as Bar, but Foo will not be imported.</div>
<div><br></div></div></div></blockquote><font class="" face="&#39;times new roman&#39;, serif">importSelf</font><br><blockquote class="" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:40px;border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-style:none;border-width:initial;border-color:initial;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<div>Imports all the classes and globals defined in the receiver visible to methods compiled in the receiver, with no renaming.</div></blockquote><div><br></div><div><font class="" face="&#39;times new roman&#39;, serif">from: anEnvironment import: aSpec</font></div>
<blockquote class="" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:40px;border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-style:none;border-width:initial;border-color:initial;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<div>Imports only the specified bindings from the given environment. The specification may be any of the following: a symbol, an association, a dictionary or an array of specifications. These all do what you&#39;d expect, giving you either a straight import or an alias. </div>
</blockquote><br><div><font class="" face="&#39;times new roman&#39;, serif">exportSelf</font></div><blockquote class="" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:40px;border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-style:none;border-width:initial;border-color:initial;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<div>Makes all the classes and globals defined in the environment public (available for import by other environments).</div></blockquote><div><br></div><div><font class="" face="&#39;times new roman&#39;, serif">export: aSpec</font></div>
<blockquote class="" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:40px;border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-style:none;border-width:initial;border-color:initial;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<div>Makes the specified classes and globals public, using the same specifications as <font class="" face="&#39;times new roman&#39;, serif">#from:import:</font>.</div></blockquote><div><br></div><div><font class="" face="&#39;times new roman&#39;, serif">exportAddingPrefix: aString<br>
</font></div><blockquote class="" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:40px;border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-style:none;border-width:initial;border-color:initial;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<div>Makes the classes and globals that don&#39;t have the given prefix public, adding the prefix, similar to <font class="" face="&#39;times new roman&#39;, serif">#import:addingPrefix:.</font></div></blockquote><font class="" face="&#39;times new roman&#39;, serif"><div>
<font class="" face="&#39;times new roman&#39;, serif"><br></font></div>exportRemovingPrefix: aString</font><blockquote class="webkit-indent-blockquote" style="margin:0 0 0 40px;border:none;padding:0px"><div><font class="" face="arial, helvetica, sans-serif">Makes the classes and globals that do have the given prefix public, removing the prefix, similar to </font><font class="" face="&#39;times new roman&#39;, serif">#import:removingPrefix:</font><font class="" face="arial, helvetica, sans-serif">.</font></div>
</blockquote><font class="Apple-style-span" face="arial, helvetica, sans-serif"><div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><br></font><div><div><font class="" face="arial, helvetica, sans-serif">This covers all the use cases I can think of, so now I&#39;m going to move on and start working on making the rest of the system environment-aware. UI for easily opening a class browser on an environment. Tools for defining and modifying environments during development. Environment support in Monticello, SystemNavigator, SystemChangeNotifier etc. </font></div>
</div><div><font class="" face="arial, helvetica, sans-serif"><br></font></div><div><font class="" face="arial, helvetica, sans-serif">Cheers,</font></div><div><font class="" face="arial, helvetica, sans-serif"><br></font></div>
<div><font class="" face="arial, helvetica, sans-serif">Colin</font></div><div><font class="" face="arial, helvetica, sans-serif"><br></font></div><div><font class="" face="arial, helvetica, sans-serif"><br></font></div></div>