<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>The only other example I was thinking of would be multi-line comments, but I dislike them anyway. :-)</p>
<p><br>
</p>
<p>Yes, speaking generally, subjective coding style preferences are a problem when writing or maintaining code in a community. I am still convinced that it would be the best solution to remove specific styling information from the Trunk code base and apply
 it on everyone's end only according to their personal preferences. With prettyDiff, which is already fairly well supported, and a good pretty-printer, this should be a feasible endeavor. PoppyPrint looks very promising to me in this regard.</p>
<p><br>
</p>
<p>Best,</p>
<p>Christoph</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>
<div class="_rp_T4" id="Item.MessagePartBody">
<div class="_rp_U4 ms-font-weight-regular ms-font-color-neutralDark rpHighlightAllClass rpHighlightBodyClass" id="Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr">
<div id="divtagdefaultwrapper"><font face="Calibri,Helvetica,sans-serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols">
<div id="Signature">
<div style="margin:0px"><font style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont"></font></div>
</div>
</font></div>
</div>
</div>
</div>
</div>
<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 Jakob Reschke <jakres+squeak@gmail.com><br>
<b>Gesendet:</b> Mittwoch, 7. April 2021 18:04:32<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="ltr">Hi,
<div><br>
</div>
<div>The problem is, if it were a preference, for which setting will you write the Squeak Trunk code? A per-package setting dictated by the package maintainer sounds more practical to me, though it tends towards overengineering already.</div>
<div><br>
</div>
<div>The idea of elastic tabstops sounds good to me, but I have no practical experience with it. For the left-side-only indentation, I guess it will only make a difference if somebody wants a block with hanging indent like this:</div>
<div><br>
</div>
<div>    | sum count |</div>
    sum := anInteger.
<div>    count := 0.<br>
    aCollection do: [:each | sum := sum + each.<br>
                                          count := count + 1].</div>
<div>    "The first occurrences of sum and count are supposed to be left-aligned on the two lines above."<br>
</div>
<div><br>
</div>
<div>The example applies analogously if you want to start the remaining lines of the block at or just right of the [ of its first line and put the sum-mation on its own line.</div>
<div><br>
</div>
<div>Do you see other practical differences for our coding habits, everyone?<br>
<div><br>
</div>
<div>Kind regards,<br>
Jakob</div>
<div><br>
</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Am Mi., 7. Apr. 2021 um 17:31 Uhr schrieb Thiede, Christoph <<a href="mailto:Christoph.Thiede@student.hpi.uni-potsdam.de">Christoph.Thiede@student.hpi.uni-potsdam.de</a>>:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div dir="ltr">
<div id="gmail-m_-1077517757217990425x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);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="gmail-m_-1077517757217990425x_Signature">
<div id="gmail-m_-1077517757217990425x_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="gmail-m_-1077517757217990425x_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>
<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>
</body>
</html>