<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Alright, if it only affects rendering, then it should not be a big deal to make a preference for it. :-)</p>
<p><br>
</p>
<p>> <span>Tabbed comments are similar to  traditional type-setting’s margin notes, that can be used to write table-like data, etc.</span></p>
<p><span><br>
</span></p>
<p><span>That's indeed an interesting use case for that I would like elastic tabstops, too! And here is another one: PasteUpMorph >> #<span>defaultDesktopCommandKeyTriplets ... I would only dislike to indent blocks in this style. :-)</span></span></p>
<p><span><span><br>
</span></span></p>
<p><span><span>> </span></span><span style="font-size: 12pt;">My point being that Smalltalk source code is not plain text. Never has been. It shouldn’t be treated as such. IMHO.</span><span><span></p>
<div><br>
</div>
<div>Well, my perspective on this question is that Smalltalk is literally small talk without all this nasty and complicated syntactic stuff you are used to from C-like languages and many others. So it's still not exactly plain text, but at least very near to
 it. You can just read (good) Smalltalk code like a book (and I have to say that I *love* this book :D). That's why in my personal opinion, Smalltalk code does not deserve a separate font compared to comments. :-)</div>
<div><br>
</div>
<div>Best,</div>
<div>Christoph</div>
</span></span>
<p></p>
<div id="Signature">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Vanessa Freudenberg <vanessa@codefrau.net><br>
<b>Gesendet:</b> Mittwoch, 7. April 2021 18:22:16<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> Re: [squeak-dev] Elastic Tabstops (was Re: Need better default code font)</font>
<div> </div>
</div>
<div>
<div dir="auto">Guess you misunderstood - this does not affect indentation at all, it only affects the rendering of tabs following non-space characters in a line. And indeed there could be a preference to render those tabs as a space instead, however, that
 would probably lead to those text blocks being messed up accidentally.</div>
<div dir="auto"><br>
</div>
<div dir="auto">The Smalltalk environment was meant to provide rich text rendering. We had text that could flow around objects at some point, that could flow along a curve, that could embed bitmaps and even arbitrary morphs. For some reason we went back to
 more or less plain text at least for code. I partly blame Monticello which did not preserve the rich formatting that the style chunks in the fileout format supported. I do find that unfortunate, however, and would love to get some richness back. </div>
<div dir="auto"><br>
</div>
<div dir="auto">Tabbed comments are similar to  traditional type-setting’s margin notes, that can be used to write table-like data, etc. You don’t have to use them, but I’m convinced it would make our codebase look a lot better. </div>
<div dir="auto"><br>
</div>
<div dir="auto">Similarly, there’s no need for double quotes around comments. Comments should simply use a different font. Not coincidentally, that is exactly how commented code used to be printed in books. We only need the quotes for typing, and maybe for
 exporting, but otherwise I wouldn’t mind to never see them again.  </div>
<div dir="auto"><br>
</div>
<div dir="auto">My point being that Smalltalk source code is not plain text. Never has been. It shouldn’t be treated as such. IMHO.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Vanessa</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, Apr 7, 2021 at 08:31 Thiede, Christoph <<a href="mailto:Christoph.Thiede@student.hpi.uni-potsdam.de">Christoph.Thiede@student.hpi.uni-potsdam.de</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div dir="ltr">
<div id="m_-2933949977236584933x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif">
<p>> <span style="font-size:12pt">I would 💜 love 💜 if we had elastic tabstops by default in our code editors.</span></p>
<div><br>
</div>
<div>-1 for making this default behavior. :-) I think this is a matter of taste, but personally, I am not a friend of code that is not strictly left-justified, it just feels like wasted space to me.</div>
<div>Please let's make it an optional preference.</div>
<div><br>
</div>
<div>Best,</div>
<div>Christoph</div>
<p></p>
<div id="m_-2933949977236584933x_Signature">
<div id="m_-2933949977236584933x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div name="x_divtagdefaultwrapper">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%">
<div id="m_-2933949977236584933x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <<a href="mailto:squeak-dev-bounces@lists.squeakfoundation.org" target="_blank">squeak-dev-bounces@lists.squeakfoundation.org</a>>
 im Auftrag von Tobias Pape <<a href="mailto:Das.Linux@gmx.de" target="_blank">Das.Linux@gmx.de</a>><br>
<b>Gesendet:</b> Montag, 5. April 2021 22:39:10<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> Re: [squeak-dev] Elastic Tabstops (was Re: Need better default code font)</font>
<div> </div>
</div>
</div>
</div>
<div><font size="2"><span style="font-size:10pt">
<div><br>
<br>
> On 5. Apr 2021, at 22:37, Vanessa Freudenberg <<a href="mailto:vanessa@codefrau.net" target="_blank">vanessa@codefrau.net</a>> wrote:<br>
> <br>
> Since we're on the subject of how our code looks:<br>
> I would 💜 love 💜 if we had elastic tabstops by default in our code editors.<br>
> This would eliminate (IMHO) the biggest counter-argument to using proportional fonts.<br>
> <br>
<br>
+100<br>
-t<br>
> <br>
> <br>
> Vanessa<br>
> <br>
> On Sat, Apr 3, 2021 at 12:55 PM Vanessa Freudenberg <<a href="mailto:vanessa@codefrau.net" target="_blank">vanessa@codefrau.net</a>> wrote:<br>
> I just fixed a typo that went unnoticed for ~9 years (see KernelTests-codefrau.395). Even when Levente revised the code in 2015, he did not spot it:<br>
> <br>
> <image.png><br>
> <br>
> IMHO (speaking as a typo nerd) this is due to our default code font not having distinct enough letter shapes. I very much like our use of a proportional font, but maybe it's time to switch to a different one?<br>
> <br>
> - Vanessa -<br>
> <br>
> On Sat, Apr 3, 2021 at 12:06 PM <<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>> wrote:<br>
> Vanessa Freudenberg uploaded a new version of KernelTests to project The Trunk:<br>
> <a href="http://source.squeak.org/trunk/KernelTests-codefrau.395.mcz" target="_blank">
http://source.squeak.org/trunk/KernelTests-codefrau.395.mcz</a><br>
> <br>
> ==================== Summary ====================<br>
> <br>
> Name: KernelTests-codefrau.395<br>
> Author: codefrau<br>
> Time: 3 April 2021, 12:06:03.17026 pm<br>
> UUID: 062e8b73-a62e-46ce-af80-0dbb34c2f8dc<br>
> Ancestors: KernelTests-mt.394<br>
> <br>
> Fix typo in CompiledMethodComparisonTest.<br>
> <br>
> =============== Diff against KernelTests-mt.394 ===============<br>
> <br>
> Item was changed:<br>
>   ----- Method: CompiledMethodComparisonTest>>testHash (in category 'tests') -----<br>
>   testHash<br>
>         <timeout: 120><br>
> <br>
>         | ai |<br>
>         ai := CompiledMethod allInstances.<br>
>         "We assume here that if two CompiledMethods are equal then they have the same size and header."<br>
>         (ai groupBy: [ :method | { method size. method header } ]) values<br>
>                 replace: [ :each | each asArray ];<br>
>                 do: [ :methods |<br>
>                         1 to: methods size do: [ :i |<br>
>                                 i to: methods size do: [ :j |<br>
>                                         (methods at: i) = (methods at: j) ifTrue: [<br>
> +                                               self assert: (methods at: i) hash equals: (methods at: j) hash ] ] ] ]<br>
> -                                               self assert: (methods at: i) hash equals: (methods at: i) hash ] ] ] ]<br>
>                 displayingProgress: 'Testing hashes'.<br>
>         self assert: (ai collect: [ :cm | cm hash ] as: Set) size * 2 >= ai asSet size!<br>
> <br>
> <br>
> <br>
<br>
<br>
<br>
</div>
</span></font></div>
<br>
</blockquote>
</div>
</div>
</div>
</body>
</html>