Commit 921be307 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

2.29.5: more fixing of exports, with test added.

Thanks to stassats for initial test code.
parent 7d6d515a
......@@ -74,7 +74,7 @@
:licence "MIT"
:description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems."
:version "2.29.4" ;; to be automatically updated by make bump-version
:version "2.29.5" ;; to be automatically updated by make bump-version
:depends-on ()
#+asdf3 :encoding #+asdf3 :utf-8
;; For most purposes, asdf itself specially counts as a builtin system.
......
......@@ -17,7 +17,7 @@
#:*central-registry* #:probe-asd #:sysdef-central-registry-search
#:find-system-if-being-defined #:*systems-being-defined*
#:contrib-sysdef-search #:sysdef-find-asdf ;; backward compatibility symbols, functions removed
#:sysdef-find-preloaded-system #:register-preloaded-system #:*preloaded-systems*
#:sysdef-preloaded-system-search #:register-preloaded-system #:*preloaded-systems*
#:clear-defined-systems #:*defined-systems*
;; defined in source-registry, but specially mentioned here:
#:initialize-source-registry #:sysdef-source-registry-search))
......@@ -139,7 +139,7 @@ called with an object of type asdf:system."
(remove-if #'(lambda (x) (member x *system-definition-search-functions*))
'(sysdef-central-registry-search
sysdef-source-registry-search
sysdef-find-preloaded-systems)))))
sysdef-preloaded-system-search)))))
(cleanup-system-definition-search-functions)
(defun search-for-system-definition (system)
......@@ -344,7 +344,7 @@ PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded.
(defvar *preloaded-systems* (make-hash-table :test 'equal))
(defun sysdef-find-preloaded-systems (requested)
(defun sysdef-preloaded-system-search (requested)
(let ((name (coerce-name requested)))
(multiple-value-bind (keys foundp) (gethash name *preloaded-systems*)
(when foundp
......
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.29.4: Another System Definition Facility.
;;; This is ASDF 2.29.5: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
......
......@@ -14,7 +14,7 @@
#:circular-dependency #:circular-dependency-actions
#:node-for #:needed-in-image-p
#:action-index #:action-planned-p #:action-valid-p
#:plan-record-dependency #:visiting-action-p
#:plan-record-dependency
#:normalize-forced-systems #:action-forced-p #:action-forced-not-p
#:map-direct-dependencies #:reduce-direct-dependencies #:direct-dependencies
#:visit-dependencies #:compute-action-stamp #:traverse-action
......
......@@ -6,9 +6,9 @@
(:recycle :asdf/source-registry :asdf)
(:use :asdf/common-lisp :asdf/driver :asdf/upgrade :asdf/find-system)
(:export
#:*source-registry* #:*source-registry-parameter* #:*default-source-registries*
#:*source-registry-parameter* #:*default-source-registries*
#:invalid-source-registry
#:source-registry #:source-registry-initialized-p
#:source-registry-initialized-p
#:initialize-source-registry #:clear-source-registry #:*source-registry*
#:ensure-source-registry #:*source-registry-parameter*
#:*default-source-registry-exclusions* #:*source-registry-exclusions*
......
......@@ -215,14 +215,15 @@ Some constraints:
(defmacro assert-equal (x y)
`(assert-compare (equal ,x ,y)))
(defun touch-file (file &key offset timestamp)
(defun touch-file (file &key offset timestamp in-filesystem)
(let* ((base (or timestamp (get-universal-time)))
(stamp (if offset (+ base offset) base)))
(if (asymval :*asdf-cache*)
(if (and (asymval :*asdf-cache*) (not in-filesystem))
(acall :register-file-stamp file stamp)
(multiple-value-bind (sec min hr day month year)
(decode-universal-time stamp #+gcl2.6 -5) ;; -5 is for *my* localtime
(error "Y U NO use stamp cache?")
(unless in-filesystem
(error "Y U NO use stamp cache?"))
(acall :run-program
`("touch" "-t" ,(format nil "~4,'0D~2,'0D~2,'0D~2,'0D~2,'0D.~2,'0D"
year month day hr min sec)
......
......@@ -60,3 +60,113 @@
(:function (:lambda isnt lambda))
(:function (lambda (too many args) blah))))
'(t t nil nil nil nil))
(initialize-source-registry '())
#|
(unless (find-system :swank nil)
(leave-test "Cannot find SWANK" 0))
(load-system :swank)
;;(setq swank-loader::*fasl-directory* (resolve-output "slime/"))
;;(ensure-directories-exist swank-loader::*fasl-directory*)
;;(DBG :foo swank-loader::*fasl-directory*)
(swank-loader:init)
|#
(defparameter *ok-symbols*
'(;; slots names
ASDF/ACTION:ACCEPT
ASDF/ACTION:ACTION
ASDF/ACTION:DONE-P
ASDF/ACTION:FEATURE
ASDF/ACTION:STAMP
ASDF/BUNDLE:PROLOGUE-CODE
ASDF/BUNDLE:BUILD-ARGS
ASDF/BUNDLE:EPILOGUE-CODE
ASDF/BUNDLE:NAME-SUFFIX
ASDF/COMPONENT:ABSOLUTE-PATHNAME
ASDF/COMPONENT:AROUND-COMPILE
ASDF/COMPONENT:AUTHOR
ASDF/COMPONENT:CHILDREN
ASDF/COMPONENT:CHILDREN-BY-NAME
ASDF/COMPONENT:COMPONENTS
ASDF/COMPONENT:COMPONENTS-BY-NAME
ASDF/COMPONENT:DEFAULT-COMPONENT-CLASS
ASDF/COMPONENT:DEFSYSTEM-DEPENDS-ON
ASDF/COMPONENT:DESCRIPTION
ASDF/COMPONENT:%ENCODING
ASDF/COMPONENT:IF-FEATURE
ASDF/COMPONENT:INLINE-METHODS
ASDF/COMPONENT:IN-ORDER-TO
ASDF/COMPONENT:LICENCE
ASDF/COMPONENT:LONG-DESCRIPTION
ASDF/COMPONENT:MAINTAINER
ASDF/COMPONENT:NAME
ASDF/COMPONENT:OPERATION-TIMES
ASDF/COMPONENT:PARENT
ASDF/COMPONENT:PROPERTIES
ASDF/COMPONENT:RELATIVE-PATHNAME
ASDF/COMPONENT:SIBLING-DEPENDENCIES
ASDF/COMPONENT:VERSION
ASDF/LISP-ACTION:FLAGS
ASDF/PLAN:INDEX
ASDF/PLAN:FORCED
ASDF/PLAN:FORCED-NOT
ASDF/PLAN:PLANNED-ACTION-COUNT
ASDF/PLAN:PLANNED-OUTPUT-ACTION-COUNT
ASDF/PLAN:PLANNED-P
ASDF/PLAN:TOTAL-ACTION-COUNT
ASDF/PLAN:VISITED-ACTIONS
ASDF/PLAN:VISITING-ACTION-SET
ASDF/PLAN:VISITING-ACTION-LIST
ASDF/SYSTEM:BUG-TRACKER
ASDF/SYSTEM:BUILD-PATHNAME
ASDF/SYSTEM:ENTRY-POINT
ASDF/SYSTEM:HOMEPAGE
ASDF/SYSTEM:LONG-NAME
ASDF/SYSTEM:MAILTO
ASDF/SYSTEM:SOURCE-CONTROL
;; restarts
ASDF/ACTION:ACCEPT
ASDF/FIND-COMPONENT:RETRY
ASDF/FIND-SYSTEM:COERCE-ENTRY-TO-DIRECTORY
ASDF/FIND-SYSTEM:REMOVE-ENTRY-FROM-REGISTRY
ASDF/LISP-ACTION:TRY-RECOMPILING
;; types
ASDF/BUNDLE:USER-SYSTEM
;; on some implementations only
ASDF/BUNDLE:BUNDLE-SYSTEM
ASDF/BUNDLE:REGISTER-PRE-BUILT-SYSTEM
ASDF/BUNDLE:STATIC-LIBRARY
ASDF/IMAGE:CREATE-IMAGE
ASDF/LISP-BUILD:REIFY-UNDEFINED-WARNING
;; backward compatibility upgrade only
ASDF/BACKWARD-INTERNALS:MAKE-SUB-OPERATION
ASDF/FIND-SYSTEM:CONTRIB-SYSDEF-SEARCH
ASDF/FIND-SYSTEM:SYSDEF-FIND-ASDF
))
(defun defined-symbol-p (symbol)
(or (boundp symbol)
(fboundp symbol)
(macro-function symbol)
(find-class symbol nil)))
(defun fishy-exported-symbols (package &optional (ok-symbols *ok-symbols*))
(loop :for symbol :being :the external-symbols :of package
:unless (or
(defined-symbol-p symbol)
;;(symbol-call :swank :classify-symbol symbol)
(member symbol ok-symbols))
:collect symbol))
(defun fishy-asdf-exported-symbols ()
(remove-duplicates
(loop :for package :in (list-all-packages)
:when (and (string-prefix-p "ASDF/" (package-name package))
(not (equal (package-name package) "ASDF/COMMON-LISP")))
:nconc (fishy-exported-symbols package))
:from-end t))
(assert-equal nil (fishy-asdf-exported-symbols))
......@@ -52,7 +52,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
;; "3.4.5.67" would be a development version in the official upstream of 3.4.5.
;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
(asdf-version "2.29.4")
(asdf-version "2.29.5")
(existing-version (asdf-version)))
(setf *asdf-version* asdf-version)
(when (and existing-version (not (equal asdf-version existing-version)))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment