Skip to content
Snippets Groups Projects
  1. Oct 12, 1990
    • ram's avatar
      Many changes for more robust redefinition of DEFfoos to DEFbars. · 5229e2dc
      ram authored
      We give a note if we see a function related thing for a SETF name
      that has a SETF macro as well.  This NOTE-IF-SETF-FUNCTION-AND-MACRO
      also is used in ir1tran.
      Changed DEFINE-FUNCTION-NAME to call the above, and also to check for
      redefining a slot accessor or alien operator.
      Added UNDEFINE-FUNCTION-NAME.  Added UNDEFINE-STRUCTURE, which uses 
      the previous.  Structures are undefined whenever we change a structure
      or its supertypes, or whenever we redefine an accessor as some other
      kind of function.  This causes a warning.
      Changed DEFSTRUCT to make the accessors WHERE-FROM :DECLARED rather than
      :DEFINED, since the stronger claim seems reasonable.
      Made %%COMPILER-DEFSTRUCT flame if we try to define a primitive type
      and warn if we redefine a DEFTYPE.
      5229e2dc
    • ram's avatar
      bc7fbf61
    • ram's avatar
      Fixed DEFUN to respect NOTINLINE declarations as inhibiting self-recursive · 3e98bdd9
      ram authored
      local call.
      Added stuff to put stuff in the DEBUG-SOURCE-INFO, the function
      in the case of DEFUN (so that FUNCTION-LAMBDA-EXPRESSION can work),
      and whatever is the :SOURCE-INFO argument to COMPILE-FROM-STREAM
      (for possible future clever editor hacks.)
      3e98bdd9
    • ram's avatar
      Exported efficency note variables. · e714cc63
      ram authored
      Changed LTN-ANNOTATE-RETURN to intersect the continuation asserted
      type with the union of non-tail uses (conditional on a non-null 
      intersection.)
      e714cc63
    • ram's avatar
      Changed the comment in the IR1-ATTRIBUTES definition to reflect a new · ad95cebb
      ram authored
      conception of what UNSAFE means.  Also, clarified that functions which
      are undefined on constant arguments (e.g. DELETE) are not FOLDABLE, 
      even if they have no predictable side-effect.
      ad95cebb
    • ram's avatar
      Exported misc error printing control variables. · c06d1328
      ram authored
      Added SUBSTITUTE-LEAF-IF.
      Changed *defmumble-take-car-forms* to *source-context- and made it use
      on all source context forms so that we can squelch (function (lambda....)
      Added FILE-NAME, FILE-POSITION and ORIGNAL-SOURCE-PATH slots to the
      COMPILER-ERROR-CONTEXT.
      Added hemlock compiler notification hooks.
      Changed *error-print-level* and *error-print-length* to go out to
      *print-level* and *print-length* when they are NIL.
      Added printing of the source file in PRINT-ERROR-MESSAGE.
      c06d1328
  2. Oct 11, 1990
    • ram's avatar
    • ram's avatar
      Made DEFTYPE warn if redefining a structure and flame if a primitive · 45c5ada9
      ram authored
      type.  Fixed it to test FBOUNDP on the right symbol so that
      %NOTE-TYPE-DEFINED can get called.
      Changed %%DEFUN to use DEFINE-FUNCTION-NAME and also to blow away
      any assumed type info.
      45c5ada9
    • ram's avatar
      Changed FUNCTION-LAMBDA-EXPRESSION to use the DEBUG-SOURCE-INFO so that · b3a530fc
      ram authored
      it can tell whether a function it's got is the real original DEFUN 
      function, or if it is some internal function.
      b3a530fc
    • ram's avatar
      Changed comment on debug-source-name to describe new convention for · efdf5eca
      ram authored
      :LISP and :STREAM.  Added DEBUG-SOURCE-INFO slot for useful stuff.
      efdf5eca
    • ram's avatar
      Made *debug-print-XXX* go to *print-XXX* if they are NIL. · 158b38fc
      ram authored
      Flushed "push" command.
      Made "l" command accept a prefix of the variables to print.
      Made source commands die more gracefully if there is no d-s-start-positions.
      Made source commands understand the new :STREAM debug-info format.
      Made "flush" print whether it turned flushing on or off.
      158b38fc
    • ram's avatar
      Many fixes and some enhancements. · ee750fd3
      ram authored
      Added *DERIVE-FUNCTION-TYPES* switch which can inhibit inter-routine
      type interence.
      Fixed some broken FTYPE proclamations that have been noticed now that
      the declarations are applied to the definition.
      Added the VALUES declaration for conveniently declaring the return
      values from a function (or any other form that has declarations.)
      Made the gensym introduced to hold the value before defaulting for
      hairy keyword args have a comprehensible name so that type errors
      are somewhat more informative.
      Also, if the keyword default isn't hairy, give the value temp the
      right type so that the type check is forced back into the XEP.
      Made FIND-FREE-FUNCTION note if a setf function is also a setf macro.
      Made REFERENCE-CONSTANT error if the constant isn't dumpable.
      Fixed THE to be correct, which required adding information into the
      LEXENV and having USE-CONTINUATION cooperate.
      Added doc strings for all the special forms that didn't have any.
      Ripped out most of the code in the %COMPILER-DEFSTRUCT translator
      now that most everything is done by %%COMPILER-DEFSTRUCT.
      Frobbed DEFMACRO to clobber any old function info with
      UNDEFINE-FUNCTION-NAME.
      Tweaked %DEFUN translator quite a bit.  NOTINLINE declarations
      are now respected as forcing named call.  Changed to use
      ASSERT-DEFINITION-TYPE to apply any FTYPE proclamation to the
      definition.  Also, call CHECK-FREE-FUNCTION now if we can't enter
      the functional into *FREE-FUNCTIONS* for some reason.
      Made %DEFCONSTANT warn about redefining constant or specials.
      Also, made DEFCONSTANT always eval the form at compile time, as
      this is now allowed
      ee750fd3
    • ram's avatar
      fb894d56
    • ram's avatar
      Fixed CHECK-FREE-FUNCTION to not blow away :DECLARED types when we · 8b415534
      ram authored
      see a definition, and some other minor tweaks.
      8b415534
    • ram's avatar
      Changed INFO TYPE KIND be more correct in determining whether the type · f202857f
      ram authored
      is :PRIMITIVE.
      f202857f
    • ram's avatar
      Cleaned things up a bit. Made sure that we were consistently using · 51965692
      ram authored
      the UNSAFE and FOLDABLE attributes, and flushed some of the old
      DERIVE-TYPE annotations that are now implemented with special
      case derive-type optimizers.  Also finished the conversion of the
      list functions, so that the compiler knows which args are supposed
      to be lists, etc.
      51965692
    • ram's avatar
      Changed the DEBUG-SOURCE-NAME to be a vector of the top-level forms · ab987d72
      ram authored
      for both :LISP and :STREAM.
      ab987d72
    • ram's avatar
      Implemented ASSERT-DEFINITION-TYPE to apply a FTYPE proclamation · 6c255f84
      ram authored
      to a DEFUN.
      6c255f84
    • ram's avatar
      Force type check conversion of continuations that may be forced to · d24f0501
      ram authored
      unknown values even though they are really fixed-values (and people
      might be depending on the check, like non-local RETURN-FROM.)
      Don't do an inline type check for the argument of a full call, even when
      we are "sure" that there is an error, since the user might want to
      fix the problem by redefining the callee, and not by changing the 
      caller (or callers.)
      Spiffed up type error warnings to use the variable we are binding to
      as context when doing a local call.  Also, instead of saying we
      "got NIL", we say we got an expression that didn't return.
      Changed type error checking to consistently flame about all losing
      uses of a continuation, instead of maybe only flaming about the
      first one, or even totally missing it if the first use we see is
      non-erroneous but hairy.
      Also, don't do type warnings on continuations with :DELETE TYPE-CHECK,
      since those are the result of hairy type checks.
      d24f0501
    • ram's avatar
      Changed uses of COMPILER-ERROR to ERROR, since we can't use · a15164d7
      ram authored
      COMPILER-ERROR at this late date.  Anyway, we should never
      run into these errors anway, since IR1tran now picks off bad
      constants.  
      I reenabled i-vector byte-swapping.  There was never any reason to
      disable it, since the use of TYPED-VREF was only in the direct
      copy case.
      a15164d7
    • ram's avatar
      Fixed structure describing to use STRUCTURE-REF. · c78b66d0
      ram authored
      c78b66d0
  3. Oct 10, 1990
  4. Oct 09, 1990
Loading