[Oberon] Mail.FindObj

peter at easthope.ca peter at easthope.ca
Fri May 17 17:15:21 CEST 2019


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.Mod
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.



More information about the Oberon mailing list