Friday Oct 6,1978 NM+4D.11H.46M.53S. LISP 1747/1750 -HIC, JONL- Changes affecting all LISPs: [1] COMPLR now supports the new CATCH-like functions, and in-core compilation with the function CHOMP [2] New OPEN option: NODEFAULT Changes affecting ITS LISP: [A] New INIT file scheme supported ---------------------------------------------------------------------- Changes affecting all LISPs: [1] Compiler support for the new catch-style functions (UNWIND-PROTECT, *CATCH, *THROW, CATCHALL, and CATCH-BARRIER) is in compiler version 828 which is being released synchronously with LISP 1747. A new function in the COMPLR, "CHOMP", is from LIBLSP;CHOMP FASL. (CHOMP FUN1 FUN2 . . . FUN-M) will compile and asemble, in-core, all the m functions named, making the SUBR [or FSUBR] property to preceed the old EXPR [or FEXPR] property on the property list. Thus the compiled version will be current, but the EXPR version may be restored by REMPROPing the compiled marker. (CHOMP (FN1 FN2 DEV USR) FUN1 FUN2 . . . FUN-M) will do the same as above, but will also produce a file of FASL code named DEV:USR;FN1 FN2 [2] New OPEN option: NODEFAULT Normally, OPEN merges the user given filespec with the default filespec. Since * means omitted component, a file with a * in its name could not be looked up. To prevent merging with defaultf, and thereby allowing filenames with *'s to be looked up, use the NODEFAULT flag in the options list. Changes affecting ITS LISP: [A] New INIT file scheme supported by LISP. The new release of DDT (currently on MC, soon to be on all machines) supports a new style of INIT file as well as sophisticated HSNAME hackery. LISP now has support for both of these features. (STATUS HSNAME) returns your current HSNAME (home directory, where all init files and your mail live) This is the same as (STATUS HOMEDIR) (STATUS HSNAME foo) returns foo's home directory ("foo" is evaled) (STATUS HSNAME foo its) returns foo's home directory on the specified ITS ("foo" and "its" are evaled) (STATUS XUNAME) returns your XUNAME (his "real" name, possibly with trailing digits removed). This is the same as (STATUS USERID), but is included for compatibility with ITS names for things. The algorithm for interpreting the JCL line and for finding init files for LISP jobs is as follows: A) No JCL, look for <hsname>;<xuname> LISP, if not found try <hsname>;* LISP B) JCL of the form: foo; look for foo;<xuname> LISP, if not found try foo;* LISP fn1 look for <sname>;fn1 > fn1 fn2 look for <sname>;fn1 fn2 foo;fn1 look for foo;fn1 > for COMPLRs, it is similar: look for <hsname>;<xuname> COMPLR, if not found try <hsname>;* COMPLR