Skip to content
Snippets Groups Projects
Commit 3a1b88bb authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

1.700: big rewrite of TRAVERSE.

* split traverse into multiple functions.
* don't append things all over traverse, use a collector function
* don't insert and remove prune-op to indicate something needs be done
 even when the collected list is empty... use a boolean flag in all cases.
* fix the age-old broken :force (system1 ... system2) feature... with a cerror!
* fix the age-old broken (:feature :foo dependency) feature... with a cerror!
* tighten :version syntax to only accept the keyword, not any same-named symbol.
* use hash-tables for O(1) access where linear search was previously used,
 notably in visited-nodes and in components-by-name.
* use more uniform #+ features for windows.
* modify defclass to make POIU happier (hopefully).
* factor probe-asd out of sysdef-source-registry-search and sysdef-central-registry-search
* fix safe-file-write-date, which I had previously broken when accepting a null pathname.
* have serial-depends-on only name the previous thing to depend on.

Passes tests on sbcl, clisp, ecl, lispworks, allegro.
Fails on gclcvs: bind stack overflow. Is that a regression?

small website updates.
parent 01647351
No related branches found
No related tags found
No related merge requests found
...@@ -21,7 +21,6 @@ bump_revision: FORCE ...@@ -21,7 +21,6 @@ bump_revision: FORCE
bin/bump-revision-and-tag.sh bin/bump-revision-and-tag.sh
archive: FORCE archive: FORCE
sbcl --userinit /dev/null --sysinit /dev/null --load bin/make-helper.lisp \ sbcl --userinit /dev/null --sysinit /dev/null --load bin/make-helper.lisp \
--eval "(rewrite-license)" --eval "(quit)" --eval "(rewrite-license)" --eval "(quit)"
bin/build-tarball.sh bin/build-tarball.sh
...@@ -33,9 +32,8 @@ archive-copy: archive ...@@ -33,9 +32,8 @@ archive-copy: archive
git push cl.net git push cl.net
git push --tags cl.net git push --tags cl.net
website-copy: FORCE website:
bin/rsync-cp.sh website/output/ $(webhome_private) make -C doc website
bin/rsync-cp.sh tmp/asdf.lisp $(webhome_private)
clean_dirs = $(sourceDirectory) clean_dirs = $(sourceDirectory)
clean_extensions = fasl dfsl cfsl fasl fas lib dx32fsl lx64fsl lx32fsl o bak clean_extensions = fasl dfsl cfsl fasl fas lib dx32fsl lx64fsl lx32fsl o bak
...@@ -52,6 +50,8 @@ clean: FORCE ...@@ -52,6 +50,8 @@ clean: FORCE
done; \ done; \
fi; \ fi; \
done done
rm -rf tmp
make -C doc clean
test: FORCE test: FORCE
@cd test; make clean;./run-tests.sh $(lisp) $(test-regex) @cd test; make clean;./run-tests.sh $(lisp) $(test-regex)
......
This diff is collapsed.
Redirect /project/asdf/manual.html http://common-lisp.net/project/asdf/asdf.html
user=frideau user=frideau
website:=${user}@common-lisp.net:/project/asdf/public_html/ website:=${user}@common-lisp.net:/project/asdf/public_html/
output = asdf.html asdf asdf.pdf asdf.info output = asdf.html asdf asdf.pdf asdf.info
webfiles = index.html manual.html style.css cclan.png lisp-logo120x80.png favicon.ico ${output} webfiles = index.html .htaccess style.css cclan.png lisp-logo120x80.png favicon.ico ${output}
intermediate = asdf.cps asdf.log asdf.vr asdf.aux asdf.fn asdf.toc asdf.vrs \ intermediate = asdf.cps asdf.log asdf.vr asdf.aux asdf.fn asdf.toc asdf.vrs \
asdf.cp asdf.fns asdf.ky asdf.pg asdf.tp asdf.cp asdf.fns asdf.ky asdf.pg asdf.tp
...@@ -19,7 +19,7 @@ asdf.info: asdf.texinfo ...@@ -19,7 +19,7 @@ asdf.info: asdf.texinfo
asdf.pdf: asdf.texinfo asdf.pdf: asdf.texinfo
texi2pdf asdf.texinfo texi2pdf asdf.texinfo
website: website: all
rsync -av ${webfiles} ${website} rsync -av ${webfiles} ${website}
.PHONY: clean veryclean manual-html .PHONY: clean veryclean manual-html
......
...@@ -32,6 +32,9 @@ ...@@ -32,6 +32,9 @@
This manual describes ASDF, a system definition facility This manual describes ASDF, a system definition facility
for Common Lisp programs and libraries. for Common Lisp programs and libraries.
You can find the latest version of this manual at
@url{http://common-lisp.net/project/asdf/asdf.html}.
ASDF Copyright @copyright{} 2001-2010 Daniel Barlow and contributors. ASDF Copyright @copyright{} 2001-2010 Daniel Barlow and contributors.
This manual Copyright @copyright{} 2001-2010 Daniel Barlow and contributors. This manual Copyright @copyright{} 2001-2010 Daniel Barlow and contributors.
......
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Refresh" content="0;url=asdf.html">
<title>This page has moved</title>
</head><body>
This page has moved.
<a href="asdf.html">Click here</a>
to go to its new address
<p>
</body></html>
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
;; recompiled ;; recompiled
(sleep 1) ; mtime has 1-second granularity, so pause here for fast machines (sleep 1) ; mtime has 1-second granularity, so pause here for fast machines
(trace asdf::operation-done-p asdf::traverse)
(asdf::run-shell-command "rm -f ~A" (namestring file2)) (asdf::run-shell-command "rm -f ~A" (namestring file2))
(asdf:operate 'asdf:load-op 'test1) (asdf:operate 'asdf:load-op 'test1)
(assert (= file1-date (file-write-date file1))) (assert (= file1-date (file-write-date file1)))
...@@ -36,4 +37,4 @@ ...@@ -36,4 +37,4 @@
(sleep 1) (sleep 1)
(asdf::run-shell-command "touch file1.lisp") (asdf::run-shell-command "touch file1.lisp")
(asdf:operate 'asdf:load-op 'test1) (asdf:operate 'asdf:load-op 'test1)
(assert (> (file-write-date file2) before))))) (assert (> (file-write-date file2) before)))))
...@@ -3,4 +3,4 @@ ...@@ -3,4 +3,4 @@
:version "1.0" :version "1.0"
:components ((:file "file2" :in-order-to ((compile-op (load-op "file1")))) :components ((:file "file2" :in-order-to ((compile-op (load-op "file1"))))
(:file "file1")) (:file "file1"))
:in-order-to ((load-op (load-op (version test2a "1.1"))))) :in-order-to ((load-op (load-op (:version test2a "1.1")))))
...@@ -3,6 +3,6 @@ ...@@ -3,6 +3,6 @@
:version "1.0" :version "1.0"
:components ((:file "file2" :in-order-to ((compile-op (load-op "file1")))) :components ((:file "file2" :in-order-to ((compile-op (load-op "file1"))))
(:file "file1")) (:file "file1"))
:in-order-to ((load-op (load-op (version test2a "1.2"))))) :in-order-to ((load-op (load-op (:version test2a "1.2")))))
...@@ -4,5 +4,3 @@ ...@@ -4,5 +4,3 @@
:components ((:file "file2" :in-order-to ((compile-op (load-op "file1")))) :components ((:file "file2" :in-order-to ((compile-op (load-op "file1"))))
(:file "file1")) (:file "file1"))
:depends-on (bet-you-cant-find-this)) :depends-on (bet-you-cant-find-this))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment