1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-11 23:53:12 +00:00

Update LLOGO files with newer ones.

Keep the patches made to previous files.
This commit is contained in:
Lars Brinkhoff 2018-11-09 22:02:03 +01:00
parent a3c88dec1e
commit 51c63da007
6 changed files with 1264 additions and 774 deletions

View File

@ -390,6 +390,15 @@
(DEFINE POP MACRO (X) (RPLACA X 'SETQ)
(RPLACD X (LIST (CADR X) (LIST 'CDR (CADR X)))))
(DEFINE REPEAT MACRO (CALL)
(SUBLIS (LIST (CONS 'REPEAT-ITERATIONS (CADR CALL))
(CONS 'REPEAT-BODY (CDDR CALL)))
'(DO ((REPEAT-COUNT 1. (1+ REPEAT-COUNT)))
((> REPEAT-COUNT REPEAT-ITERATIONS))
. REPEAT-BODY)))
;;END OF MACRO DEFINITIONS AND COMPILER DECLARATIONS. CHOOSE BETWEEN INTERPRETED
;;AND COMPILED DEFINITIONS OF DEFINE.

View File

@ -479,7 +479,8 @@
;;SEARCH FOR FRAME CONTAINING PROG.
(STACK-SEARCH ABOVE-PROG 'PROG))
(ABOVE-PROG)
(USER-FUNCTION))
(USER-FUNCTION)
(BAD-LINE))
((COND
((NULL PROG-FRAME))
((MEMQ
@ -500,12 +501,17 @@
'": ")
(MAPC '(LAMBDA (BAD-LINE-FORM) (UNPARSE-PRINT-FORM BAD-LINE-FORM)
(DPRINC '/ ))
(GETLINE (CADDR PROG-FRAME) BAD-LINE-NUMBER))
(SETQ BAD-LINE (GETLINE (CADDR PROG-FRAME) BAD-LINE-NUMBER)))
(TERPRI)
T)))
(TYPE '";COULDN'T EVALUATE ")
(UNPARSE-PRINT-FORM (CADDR START-FRAME))
(TYPE EOL '";BECAUSE " MESSAGE)
(COND ((OR (NULL PROG-FRAME) (CDR BAD-LINE))
;;If we didn't type out the form as a line of the user procedure,
;;or there's more than one form on the line, show the user which
;;form lost.
(TYPE '";COULDN'T EVALUATE ")
(UNPARSE-PRINT-FORM (CADDR START-FRAME))
(TYPE EOL '";BECAUSE " MESSAGE))
((TYPE '";" MESSAGE)))
(OR :ERRBREAK :LISPBREAK (ERR 'ERRBREAK))
;;NO BREAKPOINT, CAUSE ERROR BACK TO TOP LEVEL.
(DTERPRI)

View File

@ -14,7 +14,7 @@
(LOAD '((DSK LLOGO) IOC LSP))
(DEFUN HOW-BIG NIL
(REMPROP 'HOW-BIG 'EXPR)
(PROG2 T
((LAMBDA (FREE)
((LAMBDA (GC-DAEMON) (GCTWA) (GC))
(FUNCTION (LAMBDA (GC-STATISTICS) (SETQ FREE GC-STATISTICS))))
@ -24,13 +24,12 @@
(CDDR (ASSOC SPACE FREE)))
(ERRSET (STATUS PURSIZE SPACE) NIL)))
(STATUS SPCNAMES))))
NIL))
NIL)
(REMPROP 'HOW-BIG 'EXPR)))
(DECLARE (COUTPUT (READ)))
(DEFUN CREATE NIL
(REMPROP 'CREATE 'FEXPR)
(REMPROP 'HOW-BIG 'EXPR)
(*RSET T)
((LAMBDA (DUMP)
(AND (STATUS FEATURE ITS)
@ -157,12 +156,12 @@ UUO:/ ) (PRINC (COND ((NUMBERP PURE) (* PURE 2048.)) (0.)))
(AND (PRINC 'DO/ YOU/ WANT/ TO/ DUMP/ ON/ DSK?/ )
(MEMQ (IOG NIL (READ)) '(Y YES OK SURE T YA OUI))
(PRINC 'NAME/ /[LLOGO/,/ NLLOGO/]?/ )
(IOG NIL (READ)))))
(IOG NIL (READ))))
(REMPROP 'CREATE 'FEXPR))
(DECLARE (COUTPUT (READ)))
(DEFUN START-UP NIL
(REMPROP 'START-UP 'EXPR)
(LOGO)
(AND (STATUS FEATURE ITS) (OR (ZEROP TTY) (CURSORPOS 'C)))
;;CLEAR SCREEN IF AT A DISPLAY TERMINAL.
@ -173,23 +172,27 @@ UUO:/ ) (PRINC (COND ((NUMBERP PURE) (* PURE 2048.)) (0.)))
(CADR (GET 'LLOGO 'VERSION))))
(AND (STATUS FEATURE ITS) (ERRSET (ALLOCATOR) NIL))
;; ALLOCATOR LOADS IN AUXILIARY PACKAGES IF THE USER WANTS THEM.
(UCLOSE)
(APPLY 'CRUNIT (LIST 'DSK (STATUS UDIR)))
(SETQ SAIL (NOT (ZEROP (BOOLE 1. 536870912. (CADDR (STATUS TTY))))))
(COND ((STATUS FEATURE ITS)
(SETQ SAIL (NOT (ZEROP (BOOLE 1. 536870912. (CADDR (STATUS TTY))))))))
;;SET FLAG WHETHER TERMINAL IS IN SAIL MODE.
((LAMBDA (^W)
(COND ((STATUS FEATURE ITS)
(OR (ERRSET (READFILE LLOGO /(INIT/)) NIL)
(ERRSET (AND (APPLY 'READFILE
(LIST (STATUS UDIR)
'/.LLOGO/.
'/(INIT/)))
(APPLY 'CRUNIT
(LIST 'DSK (STATUS UDIR))))
NIL)))
(OR (ERRSET (APPLY 'READFILE
(LIST (STATUS UDIR) 'LLOGO 'DSK (STATUS UDIR))) NIL)
(ERRSET (APPLY 'READFILE
(LIST (STATUS UDIR) 'LLOGO 'DSK 'USERS1)) NIL)
(ERRSET (APPLY 'READFILE
(LIST (STATUS UDIR) 'LLOGO 'DSK 'USERS2)) NIL)
(ERRSET (APPLY 'READFILE
(LIST (STATUS UDIR) 'LLOGO 'DSK 'USERS3)) NIL))
(APPLY 'CRUNIT (LIST 'DSK (STATUS UDIR))))
((STATUS FEATURE DEC10) (ERRSET (READFILE INIT LGO) NIL))
((ERRSET (READFILE START_UP LOGO) NIL))))
T)
(PRINC 'LLOGO/ LISTENING)
(REMPROP 'START-UP 'EXPR)
'?)

View File

@ -580,6 +580,11 @@
((CDR X))))
(DEFINE LAST (PARSE (PARSE-SUBSTITUTE 'LOGO-LAST)))
;;; (DEFINE NTH (POSITION LIST)
;;; ;;THE CLASSIC NTH FUNCTION. FINDS THE NTH ELEMENT IN A LIST. INSERT ERROR
;;; ;;CHECKING -- BAD POSITION NUMBER, TOO SHORT LIST, ETC.
;;; (DO NIL ((= POSITION 1.) (CAR LIST)) (POP LIST) (DECREMENT POSITION)))
(DEFINE LOGO-LAST (ABB LA) (UNPARSE (UNPARSE-SUBSTITUTE 'LAST)) (X)
(COND ((EMPTYP X)

File diff suppressed because it is too large Load Diff