<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi Bernhard,<br>
    <br>
    Interesting issue. $: as a directory separator was only used for
    Classic Mac OS, that ran only on Motorola 68k and PowerPC. According
    to Wikipedia, its support status is "Historical, unsupported as of
    February 1, 2002", That's 22 years ago. I think it is safe to
    abandon support for $: as a directory separator.<br>
    <br>
    Just pushed an update for this.<br>
    <br>
    Thanks,<br>
    <br>
    On 3/3/2024 6:47 PM, Bernhard Pieber via Cuis-dev wrote:
    <blockquote
      cite="mid:A2550FBA-95C0-4C52-B32A-C5BEEAEA24C5@pieber.com"
      type="cite">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      Hi,
      <div><br>
      </div>
      <div>In macOS Finder it is possible to create directories and file
        names which contain forward slashes. I created a directory named
        a/b with a file named b/c. Under the hood the slash is converted
        to a colon, e.g.</div>
      <div>
        <p style="margin: 0px; font-style: normal; font-stretch: normal;
          font-size: 11px; line-height: normal; font-family: Menlo;
          font-size-adjust: none;"><span style="">bernhard@MacBookPro16
            Cuis-Smalltalk-Dev % find . -name b:c</span></p>
        <p style="margin: 0px; font-style: normal; font-stretch: normal;
          font-size: 11px; line-height: normal; font-family: Menlo;
          font-size-adjust: none;"><span style="">./a:b/b:c</span></p>
      </div>
      <div><br>
      </div>
      <div>See also <a moz-do-not-send="true"
href="https://stackoverflow.com/questions/13298434/colon-appears-as-forward-slash-when-creating-file-name">https://stackoverflow.com/questions/13298434/colon-appears-as-forward-slash-when-creating-file-name</a></div>
      <div><br>
      </div>
      <div><span style="">In Cuis the names are shown with colons as
          well. The following expression answers true:</span></div>
      <div><span style="">(DirectoryEntry vmDirectory directoryMatching:
          'a:b') exists. „true“</span></div>
      <div><span style=""><br>
        </span></div>
      <div><span style="">However, the following expression answers
          false:</span></div>
      <div><span style="">(DirectoryEntry vmDirectory / 'a:b') exists.</span></div>
      <div><span style=""><br>
        </span></div>
      <div>The reason for this is that on macOS the colon is not a
        separator – it was in Classic Mac OS, while Cuis assumes it
        still is, see String class>>#pathSeparators:</div>
      <div><br>
      </div>
      <div>pathSeparators</div>
      <div><span class="Apple-tab-span" style="white-space: pre;"> </span>^'\:/'</div>
      <div><span style=""><br>
        </span></div>
      <div>Seeing this implementation made me realize the same problem
        exists for directory and file names including a backslash. While
        I can create them in Finder, Cuis does not fully support them.</div>
      <div><span style=""><br>
        </span></div>
      <div><span style="">Creating such directories fails as well:</span></div>
      <div><span style="">
          <div>DirectoryEntry vmDirectory assureExistenceDirNamed:
            'bin:go'.</div>
          <div>DirectoryEntry vmDirectory assureExistenceDirNamed:
            'bin\go‘.</div>
          <div><br>
          </div>
          <div>Interestingly, using SqueakCompatibility the following
            works:</div>
          <div>
            <div>(FileDirectory on:
              '/Users/bernhard/Entwicklung/Cuis/Cuis-Smalltalk/Cuis-Smalltalk-Dev')
              createDirectory: 'bin:go'.</div>
            <div>(FileDirectory on:
              '/Users/bernhard/Entwicklung/Cuis/Cuis-Smalltalk/Cuis-Smalltalk-Dev')
              createDirectory: 'bin\go‘.</div>
          </div>
          <div><br>
          </div>
          <div>The best fix would probably be to make the path separator
            platform dependent. (However, given that Smalltalk
            platformName returns 'Mac OS' even on macOS, I am not sure
            how best to distinguish between Classic Mac OS and macOS.)</div>
          <div><br>
          </div>
          <div>Cheers,</div>
          <div>Bernhard</div>
        </span></div>
    </blockquote>
    <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>