Skip to content
Snippets Groups Projects
  1. May 02, 2002
  2. 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
  3. Mar 11, 2002
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. Feb 11, 2002
  11. Dec 04, 2001
  12. Aug 20, 2001
  13. Aug 06, 2001
    • Daniel Barlow's avatar
      8ad709bc
    • Daniel Barlow's avatar
      +(define-condition missing-dependency (system-definition-error) · 3708d88d
      Daniel Barlow authored
       -   (depends-on :initform nil
       +   (in-order-to :initform nil :initarg :in-order-to)
      
       +   ;; the defsystem syntax allows us to define EQL methods with our
       +   ;; components.  We must keep track of them all so we can get rid of
       +   ;; them if need be when the defsystem form is re-evaluated
      
      (although note that we don't yet parse the necessary syntax, but the
      infrastructure is ready when we do)
      
      
       +(defvar *visited-nodes* nil)
       +(defvar *visiting-nodes* nil)
      and logical equivalents in operation slots go away.
      
        (defmethod visit-component ((o operation) (c component))
        (defmethod component-visited-p ((o operation) (c component))
        (defmethod (setf visiting-component) (new-value (o operation) (c component))
        (defmethod component-visiting-p ((o operation) (c component))
      all get updated to use new variables
       +(defmethod component-depends-on ((o operation) (c component))
      looks up dependencies from :depends-on slot
      reintroduce circularity check.  also rewrote the dependency traversing
      to introduce new operations as and when it needs to
       +(defmethod component-depends-on ((operation load-system) (c component))
      depends on compile-system
       -	       (create-instance-for-component c :file (second i) nil)))
       +	       (create-instance-for-component c :file i nil)))
      oops.  thanks csr
      3708d88d
  14. Aug 03, 2001
  15. Aug 01, 2001
Loading