<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Luciano,<br>
<br>
On 5/4/2024 8:55 AM, Luciano Notarfrancesco via Cuis-dev wrote:
<blockquote
cite="mid:CAL5GDyrO6F7Haaqhkei2gB8QrbZhoEYM0JikTAYq3=i0pQbQDA@mail.gmail.com"
type="cite">
<div dir="auto">Namespaces? ;)</div>
<div dir="auto">Interesting, why it was the not possible to do
this before? What were the main obstructions?</div>
</blockquote>
<br>
The first big thing here is that class references in all code are
fixed. This is possible by RenameClass, part of HernĂ¡n Refactoring
implementation for Cuis.<br>
<br>
Still, see that we are renaming _all_ classes. Until recently, it
worked for many but could fail because:<br>
- Class references in backticked code were not found. The fix was,
for instance, to make references to Color include #blue, that only
references the class in backticked code.<br>
- DateAndTime >> #is: is used during the rename, when fixing
methods. Its own use of #DateAndTime is different before / after
being itself updated.<br>
- 'ProtoObject' and #Array were hardcoded literals. Now the class is
asked for #name.<br>
<br>
After fixes to these issues, all classes in the system can be
renamed.<br>
<br>
Cheers,<br>
<br>
<blockquote
cite="mid:CAL5GDyrO6F7Haaqhkei2gB8QrbZhoEYM0JikTAYq3=i0pQbQDA@mail.gmail.com"
type="cite">
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sat, May 4, 2024 at 03:11
Juan Vuletich via Cuis-dev <<a moz-do-not-send="true"
href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">Hi Folks,<br>
<br>
For some experiments I've been involved with I wanted to be
able to <br>
rename _any_ class in Cuis. The result was a series of
updates and new <br>
images I pushed today to GitHub.<br>
<br>
So, you can have some fun by pulling the latest, and
evaluating:<br>
<br>
Smalltalk allClassesDo: [ :cls |(RenameClass from: cls to:
('Cuis', cls <br>
name) asSymbol) apply ]<br>
<br>
After a couple of minutes, browse the system, and be
surprised that this <br>
is even possible!<br>
<br>
Cheers,<br>
<br>
-- <br>
Juan Vuletich<br>
<a moz-do-not-send="true"
href="http://www.cuis-smalltalk.org" rel="noreferrer"
target="_blank">www.cuis-smalltalk.org</a><br>
<a moz-do-not-send="true"
href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev"
rel="noreferrer" target="_blank">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a><br>
<a moz-do-not-send="true"
href="https://github.com/jvuletich" rel="noreferrer"
target="_blank">https://github.com/jvuletich</a><br>
<a moz-do-not-send="true"
href="https://www.linkedin.com/in/juan-vuletich-75611b3"
rel="noreferrer" target="_blank">https://www.linkedin.com/in/juan-vuletich-75611b3</a><br>
<a moz-do-not-send="true"
href="https://independent.academia.edu/JuanVuletich"
rel="noreferrer" target="_blank">https://independent.academia.edu/JuanVuletich</a><br>
<a moz-do-not-send="true"
href="https://www.researchgate.net/profile/Juan-Vuletich"
rel="noreferrer" target="_blank">https://www.researchgate.net/profile/Juan-Vuletich</a><br>
<a moz-do-not-send="true"
href="https://patents.justia.com/inventor/juan-manuel-vuletich"
rel="noreferrer" target="_blank">https://patents.justia.com/inventor/juan-manuel-vuletich</a><br>
<a moz-do-not-send="true"
href="https://twitter.com/JuanVuletich" rel="noreferrer"
target="_blank">https://twitter.com/JuanVuletich</a><br>
<br>
-- <br>
Cuis-dev mailing list<br>
<a moz-do-not-send="true"
href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a moz-do-not-send="true"
href="https://lists.cuis.st/mailman/listinfo/cuis-dev"
rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote>
</div>
</div>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
</body>
</html>