WEDNESDAY DEC 29,1976 FQ+1D.9H.29M.54S. LISP 1251 -JONL- AS USUAL, NUMBERED ITEMS APPLY BOTH TO OLDIO AND NEWIO LISPS; LETTERED ITEMS APPLY ONLY TO NEWIO. 1) THE FUNCTION "RANDOM" HAS BEEN SLIGHTLY IMPROVED 2) NUMBERS GIVEN AS FILE-NAME ARGUMENTS ARE NOW CONVERTED TO SYMBOLIC STRINGS ACCORDING TO A RIGID ALGORITHM. 3) ALLOC NO LONGER ASKS FOR "CORE?". 4) ALL VERSIONS ARE NOW BIBOP. TOPS-10 VERSION IS FULLY BIBOPIFIED. 5) MACDMP HAS BEEN FLUSHED. USE SUSPEND. 6) THE VALUE OF THE ATOM "TERPRI" NOW CONTROLS THE AUTOMATIC INSERTION OF NEWLINE CHARACTERS IN THE CHARACTER OUTPUT STREAMS. 7) MORE THINGS OPEN-CODED BY NCOMPLR, AND OTHER UPDATES 8) EDIT ALLOWS THE USER TO DEFINE NEW EDITING FUNCTIONS: [A] HOW TO USE DEFAULT LINEL AND PAGEL FOR FILES. [B] NCOMPLR THINKS IT KNOWS ABOUT INCLUDE NOW [C] WHO-LINES ON AI TV-TERMINALS ARE NOW USABLE. ---------------------------------------------------------------- 1) "RANDOM" CHANGED SLIGHTLY. NEW ALGORITHM FROM KNUTH IS MUCH BETTER - NO LONGER HAS THE CORRELATED-TRIPLES PROPERTY. (RANDOM NIL) AS WELL AS ANY TWO-ARGUMENT CALL TO RANDOM RESTARTS THE GENERATOR OVER AT ITS BEGINNING. TIMING IS THE SAME. 2) FIXNUMS GIVEN AS FILE NAMES: PREVIOUSLY, THESE WERE CONVERTED TO CHARACTER STRINGS MERELY BY PRINTING IN THE CURRENT BASE. NOW, THE BASE IS TEMPORARILY LAMBDA-BOUND TO TEN, AND *NOPOINT TO NIL, DURING THE CONVERSION. FOR EXAMPLE, IF BASE=IBASE=8, THEN TYPING IN AND EVALING THE FORM (UREAD TEST 131 DSK LOSER) WILL RESULT IN SELECTING THE FILE DSK:LOSER;TEST 89 3) ALLOC NO LONGER ASKS FOR "CORE". A # WILL PROMP THE ENTRIES THAT CANNOT BE EXPANDED AFTER ALLOCATION. FOR ITS VERSIONS ONLY THE PDLS CANNOT BE EXPANDED, BUT IN THE TOPS-10 VERSION, BINARY-PROGRAM-SPACE MAY NOT BE FURTHER EXPANDED. 4) AND 5) HOORAY, HOORAY! 6) THE VALUE OF THE ATOM "TERPRI" NOW CONTROLS THE AUTOMATIC INSERTION OF NEWLINE CHARACTERS IN THE CHARACTER OUTPUT STREAMS. IF NON-NIL, THEN ALL SUCH AUTOMATIC INSERTION IS SUPPRESSED FOR ALL OUTPUT FILES AND DEVICES, REGARDLESS OF THEIR PARTICULAR LINELS. IN NEWIO, IF THE LINEL FOR A PARTICULAR OUTPUT FILE IS 0, THEN THE AUTOMATIC INSERTION IS SUPPRESSED FOR THAT FILE. 7) NCOMPLR NOW OPEN-CODES TYPEP, ATOM, NUMBERP, FIXP, FLOATP, BIGP, ZEROP, MINUSP, PLUSP, AND HUNKP USING THE SEGMENT TABLE. FOR TOPS-10 LUSERS: THE MAKLAP PARSER ACCEPTS PPN DESIGNATIONS IN SQUARE BRACKETS. FOR ITS LUSERS: @DEFINE HAS BEEN DEFINED. SEE DOCUMENTATION FOR THE @ CROSS-REFERENCING PROGRAM. THE VALUE OF THE ATOM "GCPROTECT" NOW CONTROLS HOW LAP AND FASLOAD USE THAT FUNCTION. THIS IS A SPECIAL HAC FOR OWL SYSTEM, AND NO ONE ELSE SHOULD EVER SET "GCPROTECT" TO NON-NIL. 8) EDIT ALLOWS THE USER TO DEFINE NEW EDITING FUNCTIONS. PUTTING AN "EDIT" PROPERTY ON AN ATOM MAKES IT AN EDITOR COMMAND, AND WHEN INVOKED, THAT FUNCTIONS IS CALLED WITH THREE ARGUMENTS: I) REPEAT COUNT II) THE CURRENT "LEFT-LIST" (VALUE OF THE ATOM ) III) THE CURRENT "UP-LIST" FOR MORE DETAILS, SEE THE FILE MC:LISP;EDITOR > [A] WHENEVER A FILE-OBJECT IS CREATED, SUCH AS BY "OPEN", THE LINEL AND PAGEL ARE SET FROM AN INTERNAL DEFAULT VALUE. THESE VALUES ARE ACCESSED BY (LINEL NIL) (PAGEL NIL), AND SET TO NEW VALUES BY (LINEL NIL <NEWVAL>) (PAGEL NIL <NEWVAL>) [B] QCOMPLR THINKS IT KNOWS ABOUT INCLUDE. WHAT MORE CAN WE SAY? [C] THERE ARE THREE WHO-LINES USABLE FROM LISP ON THE AI MACHINE, AND THE GARBAGE-COLLECTOR CAN DISPLAY ITS OPERATIONS ON A WHO-LINE QUUX WILL DOCUMENT THIS STUFF AS AND WHEN IT IS OPERATIONAL.