Skip to content
Snippets Groups Projects
  1. Nov 08, 2002
    • Daniel Barlow's avatar
      · d8bd7cfb
      Daniel Barlow authored
      shouldn't do global proclamations, that's bad karma (reported by Gary Byers)
      
      modules maybe now can have no components (Matthew Danish, SF bug id 625738)
      (added an :initform nil, haven't actually tested)
      
      significant reworking to handle recompilation of dependencies properly
       - use of component properties for last-compiled/last-loaded is gone
       - new internal gf INPUT-FILES (COMPONENT OPERATION)
       - TRAVERSE doesn't actually perform anything, but it now has a defined
         return value: a list of the ops and components that need doing.
         OPERATE loops over answers from TRAVERSE
       - intended to have no user-visible effects, but ICBW!
         May break existing systems!
       - still doesn't do cross-module dependencies properly, sigh.  but we're
         closer
       - default output-files method now returns NIL instead of causing an error
      d8bd7cfb
  2. Sep 20, 2002
  3. Sep 17, 2002
  4. Sep 13, 2002
  5. Sep 12, 2002
  6. Sep 09, 2002
  7. Aug 30, 2002
  8. Aug 28, 2002
    • Daniel Barlow's avatar
    • Daniel Barlow's avatar
      *asdf-revision* is a new special variable. It's a list (1 31) or · 951d5829
      Daniel Barlow authored
      similar which corresponds to the CVS revision of asdf.lisp
      - compile-file errors
      
      The default behaviour for coping with compile-file errors has changed:
      
       (defvar  *compile-file-warnings-behaviour* :warn)
      -(defvar  *compile-file-failure-behaviour* :error)
      +(defvar  *compile-file-failure-behaviour* #+sbcl :error #-sbcl :warn)
      
      Most lisp implementations (all that I know of except for sbcl) stop
      and enter the debugger for catastrophic errors in file compilation.
      SBCL otoh has a much finer warning/style-warning distinction and
      should not ever return failure-p unless for a catastrophic error
      
      Fix printing of system-definition-error in CMUCL (thanks to Bob Rogers)
      
      Moved a lot of messing around with 'last-compiled and 'last-loaded
      properties into :before and :after methods on source-file so that
      "don't reload if already loaded" works for new source file types that
      users create
      
      There is a new operation load-source-op based on Kevin Rosenberg's
      implementation of same.  I'm not altogether sure yet how this should
      interact with 'last-compiled and 'last-loaded: suggestions welcomed
      
      OPERATE now does the operation inside a WITH-COMPILATION-UNIT form, to
      reduce noise from the compiler about forward definitions.  Courtesy of
      Bob Rogers
      951d5829
  9. Aug 26, 2002
  10. Aug 18, 2002
  11. Jul 04, 2002
  12. Jun 19, 2002
  13. Jun 08, 2002
  14. May 20, 2002
  15. May 03, 2002
  16. May 02, 2002
  17. Apr 30, 2002
    • Daniel Barlow's avatar
      · 4a6a10ed
      Daniel Barlow authored
      Several changes
      
      * If some component of *central-registry* is a function or a symbol for
        which fboundp returns true, it will be funcalled with the system name
        string as an argument, and should return a directory in which to look
        for the system definition.  This allows much more flexibility in
        the location of .asd files
      
      * New component type 'system' is functionally identical to module, but
        has attributes for author name, licence, description etc, which can
        be used by programs that make platform packages
      
      * Much shuffling of parts of the file so that it compiles without any
        warnings about forward declarations
      
      * The behaviour when compile-file returns non-NIL in its secondary
        values (failure-p and warnings-p) can now be customized: new
        compile-op initargs :on-warnings and :on-failure take values
        (or :warn :error :ignore).  If unspecified, these default to
        *compile-file-{failure,warnings}-behaviour*
      
      * A new 'properties' attribute to component which can be used to
        communicate extra optional information between system authors and
        platform package creation programs
      4a6a10ed
  18. Mar 11, 2002
  19. Mar 06, 2002
    • Daniel Barlow's avatar
      added html-file as a static-file subclass · 7c4fa09f
      Daniel Barlow authored
      7c4fa09f
    • Daniel Barlow's avatar
      component gains a slot: · e745241c
      Daniel Barlow authored
       +   (parent :initarg :parent :initform nil :reader component-parent)
      relevant other changes to accomodate and take advantage of this
      lose the *known-extensions* completely; we don't need a reversable
      mapping any more (we were only using the reverse half.  replaced with
      a nice sensible gf
      +(defgeneric source-file-type (component system))
      new static-file component that does nothing
      oos rewnamed to operate
      component name -> pathname case conversion issues finally specified
      
      (defun system-definition-pathname (system)
      break out the appropriate bit from find-system
      defsystem gets a new 'class' option so that systems can be subclassed.
      presently this is only specialised on in component-file-type, but more
      gfs will appear later I expect
      e745241c
  20. Feb 28, 2002
    • Daniel Barlow's avatar
      -(define-condition system-definition-error (error)) · 7265988e
      Daniel Barlow authored
       +(define-condition system-definition-error (error) ())
      fix for syntax error in probably any implementation other than cmucl.
      Thanks to John M Adams for pointing this out
      lose the special variables for tracking visited nodes; keep this data
      in the operation instead
       +(defmethod operation-ancestor ((operation operation))
       +  "Recursively chase the operation's parent pointer until we get to the head of the tree"
       +(defun make-sub-operation (o type)
      use this when creating new operations so that they inherit initargs
      appropriately from their parent
      7265988e
  21. Feb 22, 2002
    • Daniel Barlow's avatar
      - (:use "CL")) · cc1db98b
      Daniel Barlow authored
       +  (:use :cl))
      may help people with odd read/print case (or ACL "modern" mode users)
       -    "telent:asdf;systems;"))
       +    #+nil "telent:asdf;systems;"))
      clisp objects to this
      fix pathname merging in internal-find-system so it works with CMUCL's
      rather odd *default-pathname-defaults*
      add a run-shell-command dfefintion for cmucl
      cc1db98b
  22. Feb 20, 2002
    • Daniel Barlow's avatar
      rejigged the condition hierarchy slightly · 27a91156
      Daniel Barlow authored
       -(defmethod component-depends-on ((operation load-op) (c source-file))
       +(defmethod component-depends-on ((operation load-op) (c component))
       +(defun internal-find-system (name)
      does everything find-system does, but returns nil instead of raising an error.
      27a91156
    • Daniel Barlow's avatar
      version-satisfies is not just a method not an operation · a28bd5a2
      Daniel Barlow authored
       -		   (destructuring-bind (ignore name version-object)
       +		   (destructuring-bind (ignore name version-object) dep
      oops
       -			   :case :common :name name :type "SYSTEM"
       +			   :case :common :name name :type "ASD"
      and everywhere else that we found
        (defun class-for-type (parent type)
       -  (let ((class (find-class (intern (symbol-name type) *package*) nil)))
       +  (let ((class (find-class
       +		(or (find-symbol (symbol-name type) *package*)
       +		    (find-symbol (symbol-name type) #.*package*)) nil)))
      fix for system definitions in packages that don't use ASDF
      a28bd5a2
  23. Feb 19, 2002
    • Daniel Barlow's avatar
      (defclass module (component) · 6f6d3345
      Daniel Barlow authored
       +   (if-component-dep-fails :initform :fail
       +(defgeneric find-component (module name &optional version)
      though presently it ignores the extra arg
      major dependency rewrite to allow for and/or dependencies and specification
      of versions
      compile-and-load-op is dead
      we reuse old components when processing a defsystem form that we've already
      seen once.  this means that eql-specialized methods will continue to work
      and also that we can implement the pathname defaulting properly (it doesn't
      work yet)
      6f6d3345
  24. Feb 14, 2002
    • Daniel Barlow's avatar
      component class · 3ec3a499
      Daniel Barlow authored
       -   (pathname :initarg :pathname)))
       +   (relative-pathname :initarg :pathname)))
      component-pathname, component-relative-pathname changed to actually work
      (defmethod print-object ((c component) stream)
      is suffering strangely, but that might just be me.  try re-enabling
      this and see if itworks for you
      
      
        (defmethod perform ((o load-op) (c cl-source-file))
       -    (mapc nil #'load (output-files co c))))
       +    (map nil #'load (output-files co c))))
      oops
      
      load-op and compile-and-load-op are actually the same thing (at least
      for CL files).  need to choose a name ...
      3ec3a499
    • Daniel Barlow's avatar
      s/{compile,load}-system/{compile,load}-op/ · 9d9f8a71
      Daniel Barlow authored
      defsystem parsing basically totally rewritten.  diffs unmeaningful,
      so UTSL
      9d9f8a71
Loading