<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>I wonder anyway why <span>InvalidDirectoryError & Co. override #defaultAction ...</span></p>
<p><span>If they are serious errors, they should show up a debugger via UndefinedError but not silently fix that anyhow by returning a default value, shouldn't they?</span></p>
<p>And if they are no serious errors, they should be Notifications IMO.</p>
<p><br>
</p>
<p>What do you think? :-)</p>
<p><br>
</p>
<p>Best,</p>
<p>Christoph</p>
<div id="x_Signature">
<div id="x_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" 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 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> Samstag, 6. Juni 2020 20:19:27<br>
<b>An:</b> squeak-dev@lists.squeakfoundation.org<br>
<b>Betreff:</b> [squeak-dev] The Inbox: System-ct.1161.mcz</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Christoph Thiede uploaded a new version of System to project The Inbox:<br>
<a href="http://source.squeak.org/inbox/System-ct.1161.mcz">http://source.squeak.org/inbox/System-ct.1161.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: System-ct.1161<br>
Author: ct<br>
Time: 6 June 2020, 8:19:13.480392 pm<br>
UUID: 173a90f3-4bb8-fc46-b5a6-6e4ab74e63ca<br>
Ancestors: System-mt.1160<br>
<br>
Catch all InvalidDirectoryErrors in GetTextTranslator availableLanguageLocaleIDs. Those exceptions are an implementation detail and may not confuse the caller. Such a confusion happened in connection with Morphic-ct.1638.<br>
<br>
=============== Diff against System-mt.1160 ===============<br>
<br>
Item was changed:<br>
  ----- Method: GetTextTranslator class>>availableLanguageLocaleIDs (in category 'accessing') -----<br>
  availableLanguageLocaleIDs<br>
         "GetTextTranslator availableLanguageLocaleIDs"<br>
         | ids dirs localeDirForLang directoryNames |<br>
         ids := Set new.<br>
         dirs := Set new.<br>
         dirs addAll: LocaleDirsForDomain values.<br>
         dirs addAll: self defaultLocaleDirs.<br>
+        [dirs do: [:dir |<br>
-        dirs do: [:dir |<br>
                 | localesDir |<br>
                 localesDir := FileDirectory on: dir. <br>
+                directoryNames := localesDir directoryNames.<br>
-                directoryNames := [localesDir directoryNames] on: InvalidDirectoryError do: [:e | #()].<br>
                 directoryNames<br>
                                 do: [:langDirName | <br>
                                         | localeID  |<br>
                                         localeID := LocaleID posixName: langDirName.<br>
                                         localeDirForLang := localesDir directoryNamed: (self langDirNameForLocaleID: localeID).<br>
                                         localeDirForLang ifNotNil: [<br>
                                                 (localeDirForLang fileNamesMatching: '*.mo') ifNotEmpty: [ids add: localeID]].<br>
                                         localeID hasParent ifTrue: [<br>
                                                 localeDirForLang := localesDir directoryNamed: (self langDirNameForLocaleID: localeID parent).<br>
                                                 localeDirForLang ifNotNil: [<br>
                                                         (localeDirForLang fileNamesMatching: '*.mo') ifNotEmpty: [ids add: localeID parent]]].<br>
                                 ].<br>
+        ]] on: InvalidDirectoryError do: [:error | error resumeUnchecked: error defaultAction].<br>
-        ].<br>
         ^ids!<br>
<br>
<br>
</div>
</span></font>
</body>
</html>