MODULE Mail IN Oberon; ... PROCEDURE Show*; ... obj := FindObj("MailList"); ... END Show; The module is visible at https://en.wikibooks.org/wiki/Oberon/A2/Oberon.Mail.Mod . If message n exists, Show n ~ shows it; so obj # NIL. Yet this procedure always reports "obj is NIL." (** Display salient information of message number no. In absence of no, survey all messages. Survey [no] ~ *) PROCEDURE Survey*; VAR S: Attributes.Scanner; obj: Objects.Object; m, n: LONGINT; BEGIN Attributes.OpenScanner(S, Oberon.Par.text, Oberon.Par.pos); Attributes.Scan(S); IF S.class = Attributes.Int THEN (* message number specified. *) IF (0 <= S.i) & (S.i < noMsgs) THEN obj := FindObj("MailList"); IF obj # NIL THEN Texts.WriteString(W, "obj is not NIL."); Texts.WriteLn(W); m := S.i; n := m+1 ELSE Texts.WriteString(W, "obj is NIL."); Texts.WriteLn(W) END END ELSE (* Survey all messages. *) m := 0; n := noMsgs END; IF m < n THEN Texts.WriteString(W, "Msg no. From To Subject"); Texts.WriteLn(W) END; WHILE m < n DO Texts.WriteInt(W, m, 4); Texts.Write(W, " "); Texts.WriteLn(W); INC(m) END; Texts.Append(Oberon.Log, W.buf) END Survey; How can obj always be NIL in Survey but not in Show? Incidentally, https://trac.inf.ethz.ch/trac/lecturers/a2/browser/trunk/source/Oberon.Mail.... was functional a few months back. Now gives, "Error TracError: IOError: [Errno 2] No such file or directory: '/import/lecturers/svn/repositories/a2/trac/VERSION'" Any clues about trac? Thanks, ... Lyall E. -- Composed and transmitted by software designed to avoid the complication and vulnerability of antivirus software.
Hello, Am 17.05.2019 um 17:15 schrieb peter@easthope.ca:
Incidentally, https://trac.inf.ethz.ch/trac/lecturers/a2/browser/trunk/source/Oberon.Mail.... was functional a few months back. Now gives, "Error
TracError: IOError: [Errno 2] No such file or directory: '/import/lecturers/svn/repositories/a2/trac/VERSION'"
Any clues about trac?
Not only trac, but also the repository at <https://svn.inf.ethz.ch/svn/lecturers/a2/> seems to be gone. There seems to be an old (2015) copy of it at <https://github.com/btreut/a2>, but unfortunately without history. If anyone has an svnrdump of the repository (with history), or can get it from the people who maintained trac and/or the repo, and needs help converting the history for importing into GitHub (or GitLab or elsewhere), I can certainly help with that conversion. Would be a shame for the history of this interesting piece of software to be lost forever. (The certificate for the community repository at <https://www.ocp.inf.ethz.ch/svn/ocp/> seems to be expired since 2016, but when ignoring the certificate warning it is still possible to dump the repository. But compared to the A2 repository, there is not much in that repository - svnrdump is about 40MB uncompressed.) Regards, Michael
Hello Serge, Am 30.05.2019 um 11:54 schrieb Serge Durmanov:
github mirror https://github.com/metacore/A2OS
Thank you. They also have the OCP repository mirrored at <https://github.com/metacore/A2Community>. Regards, Michael
On Thu, 30 May 2019 at 14:14, Michael Schierl <schierlm@gmx.de> wrote:
Hello Serge,
Am 30.05.2019 um 11:54 schrieb Serge Durmanov:
github mirror https://github.com/metacore/A2OS
Thank you. They also have the OCP repository mirrored at <https://github.com/metacore/A2Community>.
So the source is out there. That's good. Has anyone actually managed to build it? -- Liam Proven - Profile: https://about.me/liamproven Email: lproven@cix.co.uk - Google Mail/Hangouts/Plus: lproven@gmail.com Twitter/Facebook/Flickr: lproven - Skype/LinkedIn: liamproven UK: +44 7939-087884 - ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053
Am 30.05.2019 um 17:43 schrieb Liam Proven:
So the source is out there. That's good.
Has anyone actually managed to build it?
Any particular platform? I tried for the first time to build UnixAos (Linux64), and I used <https://github.com/metacore/A2OS/commit/0615f0a73854b566ddde5577ed9a98bdcde591b6> (corresponds to SVN revision 9003) and I believe I managed to rebuild everything (all the modules compiled by Release.Build, as well as the core object file), and it still starts up. :) The hardest part was to find the correct Linker.Link line in the dozens of .Tool, .Text and .Mod files that contain Linker.Link lines. "Fortunately", some of them used an incorrect syntax (when compared to Linker.Mod), so all the lines containing \P (instead of --path) or \. (instead of what?) could be ruled out. The lines that finally worked for me are the ones at the end of source/Builds.Tool (not to be confused with Build.Tool or Builder.Tool...) I then wanted to try linking native A2 (Bios32), but did not find any Linker.Link line for it that uses the correct syntax, so I stopped as I assume it would need some more trial&error for me to find the correct modules to link. Also, testing native would take longer - UnixAOS can be started and tested quickly. (If there was a known good revision, one could use "git bisect" to find the commit that broke it, but probably it will find the commit that changed the syntax to Linker.Link without updating the documentation...) Regards, Michael
On 5/30/19 4:44 AM, Michael Schierl wrote:
Would be a shame for the history of this interesting piece of software to be lost forever.
Software Heritage <https://softwareheritage.org> is a new-ish group that's working on this sort of thing. Their work is still in the early phases, but they've got a service running with a developer API that you can write your own client against. One thing you *can* do, is if you have a copy of the source code repo (or even just a partial snapshot), you can pull out a file that seems like it would be reasonably unique to that project, find the SHA-1, and then check the hash through the Software Heritage homepage. For example, the contents of A2OS/tools/builds/install.txt should be fairly unique. Its SHA-1 is d9079c001447813b1eef04a7b2ec5f8547bae16b. And the Software Heritage service reports that they have a copy. Unfortunately, it looks like right now that it's not possible to follow it back to the repo that the file originally came from, but it might be possible using the developer API. -- Colby Russell
Hello Colby, Am 30.05.2019 um 15:17 schrieb oberon@x.colbyrussell.com:
For example, the contents of A2OS/tools/builds/install.txt should be fairly unique. Its SHA-1 is d9079c001447813b1eef04a7b2ec5f8547bae16b. And the Software Heritage service reports that they have a copy.
Thanks, I was not aware of this service.
Unfortunately, it looks like right now that it's not possible to follow it back to the repo that the file originally came from, but it might be possible using the developer API.
After a closer look at the developer API, it does not seem to be possible there either. The API only allows you to move in one direction: From URL to crawl timestamps, to branches, to commits, to trees, to files, to content hashes, but not in the opposite direction. So when you have a repository URL, you can check what it contained at a given time, but you cannot search which repo contains a file, and you also cannot search from a given repo, if forks of that repo (with more recent source code) exist. But probably this might be added later. Regards, Michael
participants (5)
-
Liam Proven -
Michael Schierl -
oberon@x.colbyrussell.com -
peter@easthope.ca -
Serge Durmanov