Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
A
asdf
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Pascal J. Bourguignon
asdf
Commits
d5c5fc3f
Commit
d5c5fc3f
authored
22 years ago
by
Daniel Barlow
Browse files
Options
Downloads
Patches
Plain Diff
changes to run on clisp (tested with debian 2.28-1)
parent
f8c2b51a
No related branches found
No related tags found
No related merge requests found
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
asdf.lisp
+23
-6
23 additions, 6 deletions
asdf.lisp
cclan.lisp
+1
-1
1 addition, 1 deletion
cclan.lisp
test/run-tests.sh
+8
-3
8 additions, 3 deletions
test/run-tests.sh
test/test2.script
+2
-2
2 additions, 2 deletions
test/test2.script
test/test3.script
+7
-4
7 additions, 4 deletions
test/test3.script
with
41 additions
and
16 deletions
asdf.lisp
+
23
−
6
View file @
d5c5fc3f
;;; This is asdf: Another System Definition Facility. $Revision: 1.4
4
$
;;; This is asdf: Another System Definition Facility. $Revision: 1.4
5
$
;;;
;;; Feedback, bug reports, and patches are all welcome: please mail to
;;; <cclan-list@lists.sf.net>. But note first that the canonical
...
...
@@ -88,7 +88,7 @@
(
in-package
#:asdf
)
;;; parse the cvs revision into something that might be vaguely useful.
(
defvar
*asdf-revision*
(
let*
((
v
"$Revision: 1.4
4
$"
)
(
defvar
*asdf-revision*
(
let*
((
v
"$Revision: 1.4
5
$"
)
(
colon
(
position
#\:
v
))
(
dot
(
position
#\.
v
)))
(
and
v
colon
dot
...
...
@@ -611,7 +611,7 @@ system."))
(
multiple-value-bind
(
output
warnings-p
failure-p
)
(
compile-file
source-file
:output-file
output-file
)
(
declare
(
ignore
output
))
;
(declare (ignore output))
(
when
warnings-p
(
case
(
operation-on-warnings
operation
)
(
:warn
(
warn
"COMPILE-FILE warned while performing ~A on ~A"
...
...
@@ -708,9 +708,13 @@ system."))
;;; syntax
(
defun
remove-keyword
(
key
arglist
)
(
loop
for
sublist
=
arglist
then
rest
until
(
null
sublist
)
for
(
elt
arg
.
rest
)
=
sublist
unless
(
eq
key
elt
)
append
(
list
elt
arg
)))
(
labels
((
aux
(
key
arglist
)
(
cond
((
null
arglist
)
nil
)
((
eq
key
(
car
arglist
))
(
cddr
arglist
))
(
t
(
cons
(
car
arglist
)
(
cons
(
cadr
arglist
)
(
remove-keyword
key
(
cddr
arglist
))))))))
(
aux
key
arglist
)))
(
defmacro
defsystem
(
name
&body
options
)
(
destructuring-bind
(
&key
pathname
(
class
'system
)
&allow-other-keys
)
options
...
...
@@ -903,4 +907,17 @@ output to *trace-output*. Returns the shell's exit code."
:shell-type
"/bin/sh"
:output-stream
*trace-output*
)))
#+
clisp
(
defun
run-shell-command
(
control-string
&rest
args
)
"Interpolate ARGS into CONTROL-STRING as if by FORMAT, and
synchronously execute the result using a Bourne-compatible shell, with
output to *trace-output*. Returns the shell's exit code."
(
let
((
command
(
apply
#'
format
nil
control-string
args
)))
(
format
*trace-output*
"; $ ~A~%"
command
)
;; XXX :terminal is not exactly *trace-output*, but it'll do
;; XXX determined the return value of this by experimentation, it
;; doesn't seem to be documented
(
ext:run-shell-command
command
:output
:terminal
:wait
t
)))
(
pushnew
:asdf
*features*
)
This diff is collapsed.
Click to expand it.
cclan.lisp
+
1
−
1
View file @
d5c5fc3f
...
...
@@ -43,7 +43,7 @@
will compile and load the system into your running lisp.
[*] This path (~W) is only a suggestion; the important
thing is that asdf know where to find the .asd file.
Ads
f uses the
thing is that asdf know where to find the .asd file.
asd
f uses the
contents of the variable ASDF:*CENTRAL-REGISTRY* to find its system
definitions.
...
...
This diff is collapsed.
Click to expand it.
test/run-tests.sh
+
8
−
3
View file @
d5c5fc3f
...
...
@@ -25,10 +25,15 @@ set -e
if
type
sbcl
then
do_tests
"sbcl --noprogrammer"
fasl
do_tests
"sbcl
--userinit /dev/null
--noprogrammer"
fasl
fi
if
[
-x
/usr/
local/
bin/lisp
]
if
[
-x
/usr/bin/lisp
]
then
do_tests
"/usr/local/bin/lisp -batch"
axpf
do_tests
"/usr/bin/lisp -batch"
x86f
fi
if
[
-x
/usr/bin/clisp
]
then
do_tests
"/usr/bin/clisp -norc -ansi -I "
fas
fi
This diff is collapsed.
Click to expand it.
test/test2.script
+
2
−
2
View file @
d5c5fc3f
...
...
@@ -5,8 +5,8 @@
;(trace asdf::find-component)
;(trace asdf::traverse)
(asdf:oos 'asdf:load-op 'test2b1)
(assert (and (
file-write-dat
e (compile-file-pathname "file3"))
(
file-write-dat
e (compile-file-pathname "file4"))))
(assert (and (
probe-fil
e (compile-file-pathname "file3"))
(
probe-fil
e (compile-file-pathname "file4"))))
(handler-case
(asdf:oos 'asdf:load-op 'test2b2)
(asdf:missing-dependency (c)
...
...
This diff is collapsed.
Click to expand it.
test/test3.script
+
7
−
4
View file @
d5c5fc3f
...
...
@@ -2,6 +2,9 @@
#+(or f1 f2)
(error "This test cannot run if :f1 or :f2 are on *features*")
(load "../asdf")
(asdf:run-shell-command "rm ~A ~A"
(namestring (compile-file-pathname "file1"))
(namestring (compile-file-pathname "file2")))
(setf asdf:*central-registry* '(*default-pathname-defaults*))
(in-package :asdf)
(handler-case
...
...
@@ -11,10 +14,10 @@
(:no-error (c) (error "should have failed, oops")))
(pushnew :f1 *features*)
(asdf:oos 'asdf:load-op 'test3)
(assert (
file-write-dat
e (compile-file-pathname "file1")))
(assert (not (
file-write-dat
e (compile-file-pathname "file2"))))
(assert (
probe-fil
e (compile-file-pathname "file1")))
(assert (not (
probe-fil
e (compile-file-pathname "file2"))))
(run-shell-command "rm ~A" (namestring (compile-file-pathname "file1")))
(setf *features* (cons :f2 (cdr *features*)))
(asdf:oos 'asdf:load-op 'test3)
(assert (
file-write-dat
e (compile-file-pathname "file2")))
(assert (not (
file-write-dat
e (compile-file-pathname "file1"))))
(assert (
probe-fil
e (compile-file-pathname "file2")))
(assert (not (
probe-fil
e (compile-file-pathname "file1"))))
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment