<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>Personally, I sometimes type-to-filter a menu for things like '...' or ' ' (space). Am I the only one who does this? :)</p>
<p><br>
</p>
<p>I still would consider something like Character>>#isControlCharacter useful. How about this?</p>
<p><br>
</p>
<p></p>
<div>Unicode class>>isControlCode: charCode</div>
<div><span style="white-space:pre"></span>^ (self generalCategoryOf: charCode) <= Cs</div>
<div><br>
</div>
<div>Character>>isControlCharacter</div>
<div>
<div><span style="font-size:12pt; white-space:pre"></span><span style="font-size:12pt">^ self encodedCharSet isControlCode: self charCode</span></div>
</div>
<div><br>
</div>
<div>Versions for other char sets would have to be added.</div>
<div><br>
</div>
<div>Best,</div>
<div>Christoph</div>
<div id="x_Signature">
<div name="x_divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von commits@source.squeak.org <commits@source.squeak.org><br>
<b>Gesendet:</b> Donnerstag, 5. September 2019 14:36:59<br>
<b>An:</b> squeak-dev@lists.squeakfoundation.org; packages@lists.squeakfoundation.org<br>
<b>Betreff:</b> [squeak-dev] The Trunk: Morphic-mt.1514.mcz</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Marcel Taeumel uploaded a new version of Morphic to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Morphic-mt.1514.mcz">http://source.squeak.org/trunk/Morphic-mt.1514.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Morphic-mt.1514<br>
Author: mt<br>
Time: 5 September 2019, 2:36:47.777837 pm<br>
UUID: 49f63b40-72ce-c447-9fb0-9400ea43fab2<br>
Ancestors: Morphic-mt.1513, Morphic-ct.1501<br>
<br>
Merges Morphic-ct.1500. and 1501.<br>
<br>
Can't we just filter for #isAlphaNumeric? Do we need parentheses etc.? Would be more readable than  ">= 32". I also do not think that #caseOf: helps much in terms of readability. ;-)<br>
<br>
=============== Diff against Morphic-mt.1513 ===============<br>
<br>
Item was changed:<br>
  ----- Method: MenuMorph>>handleFiltering: (in category 'keystroke helpers') -----<br>
  handleFiltering: evt<br>
  <br>
         | matchString |<br>
         matchString := self valueOfProperty: #matchString ifAbsentPut: [ String new ].<br>
+        matchString := true<br>
+                caseOf: {<br>
+                        [ evt keyCharacter = Character backspace ] -><br>
+                                [ matchString isEmpty <br>
+                                        ifTrue: [ matchString ] <br>
+                                        ifFalse: [ matchString allButLast ] ].<br>
+                        [ evt keyValue >= 32 ] -><br>
+                                [ matchString , evt keyCharacter ] }<br>
+                otherwise: [ matchString ].<br>
-        matchString := evt keyValue = 8 " Character backspace asciiValue "<br>
-                ifTrue: [<br>
-                        matchString isEmpty <br>
-                                ifTrue: [ matchString ] <br>
-                                ifFalse: [ matchString allButLast ] ]<br>
-                ifFalse: [<br>
-                        matchString copyWith: evt keyCharacter ].<br>
         self setProperty: #matchString toValue: matchString.<br>
         self displayFiltered: evt!<br>
<br>
<br>
</div>
</span></font>
</body>
</html>