Wednesday  February 17,1982 LQ+2D.4H.21M.13S.        -- JonL --

1) In SHARPM 82, #| now works as on the LISPM, namely  #|...cruft...|#  
   "disappears" like a balanced comment; note that termination is |# 
   Also, #<n>R<ddd>  now works; e.g. #3R21 is 7 (21 in base 3).
2) Two new functions in auxillary files, but not autoloading 
   DEFCONST is in the MLMAC file; it is like DEFVAR, but always SETQs.
   ARRAYP is in the MLSUB file;  returns true for non-funny arrays.
3) GENTEMP, an LSUBR, generates truly uninterned symbols.  Should be
   used in preference to GENSYM by macros which generate temporary 
   local variables.
4) The TTYNOTES-FUNCTION facility for COMPLR has been emended

_______________________________________________________________________


2) Two new functions in auxillary files, but not autoloading 
   DEFCONST is in the MLMAC file; it is like DEFVAR, but always SETQs.
   ARRAYP is in the MLSUB file;  returns true for non-funny arrays.
    (defun ARRAYP (x)
      (and (eq (typep x) 'ARRAY) 
	   (memq (array-type x) '(NIL T FIXNUM FLONUM))
	   'T))

3) GENTEMP, an LSUBR, generates truly uninterned symbols.  Should be
   used in preference to GENSYM by macros which generate temporary 
   local variables.
    
    GENTEMP permits one optional argument, a prefix for the symbol to be 
    created (defaults to T), and creates a symbol like
	    (maknam (append (explode <prefix>)
			    (explode '|..|)
			    (explode (<increment-gentemp-counter>))))
    E.g., (GENTEMP)         => |T..1|
	  (GENTEMP '|Foo|)  => |Foo..1|
    A basic problem with GENSYM is that even though the symbol is uninterned
    when created, it may be written out to a FASL during compilation, and
    upon loading it will then be interned;  separate such compilations
    can thus have unfortunate co-incidences between variables which were 
    thought to be unique.   Any symbol with a +INTERNAL-TEMP-MARKER 
    property on its property list will be treated during compilation in 
    such a way that it won't be interned when the FASL file is loaded.

4) The TTYNOTES-FUNCTION facility for COMPLR has been emended

    If a symbol has a TTYNOTES-FUNCTION property, then that is assumed to 
    be some function which when applied to the symbol will either return a 
    re-nameing of it for the unfasl and ttynotes purposes, or will return () 
    meaning "I've alredy outputted all the msgs I care to see".  Currently it 
    doesn't support the re-naming for break-point error msgs.

