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
Jan Moringen
asdf
Commits
4b75e2b7
Commit
4b75e2b7
authored
10 years ago
by
Francois-Rene Rideau
Browse files
Options
Downloads
Patches
Plain Diff
Improve GCL support: add chdir support; make install-asdf; update TODO.
parent
fe31090f
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
TODO
+12
-5
12 additions, 5 deletions
TODO
tools/install-asdf.lisp
+11
-1
11 additions, 1 deletion
tools/install-asdf.lisp
uiop/os.lisp
+15
-13
15 additions, 13 deletions
uiop/os.lisp
with
38 additions
and
19 deletions
TODO
+
12
−
5
View file @
4b75e2b7
...
...
@@ -131,7 +131,16 @@
*** XCL doesn't properly process files the name of which contains a *
** GCL is almost working again; but implementation bugs remain.
See November 2013 discussion on gcl-devel.
See Francois-Rene Rideau's messages on gcl-devel starting November 2013.
*** Missing support for many UIOP functions:
combine-fasls, get-optimization-settings...
*** ASDF may now be included for (require "asdf") and (require "ASDF"),
but how to compile it properly?
*** GCL fails to properly compile ASDF with the default compilation settings,
but works with those in script-support.lisp.
Symptoms when trying to load asdf.o:
Signalled by "AN ANONYMOUS FUNCTION".
INTERNAL-SIMPLE-ERROR: The package named ASDF/INTERFACE, does not exist
*** Another GCL compiler bug:
when I changed the definition of getcwd from
(let ((*default-pathname-defaults* #p"")) (truename #p"")) to
...
...
@@ -143,11 +152,11 @@
before `(#',beforef)) ,@(when after `(#',afterf))))
*** (typep p 'logical-pathname) should be T if p has a logical-pathname host.
*** apropos is case-sensitive and returns a same symbol many times
(presumably once per package where it is present,
instead of just once for its home package)
*** compile-file fails to return proper secondary values in case of non-style WARNING.
*** (pathname-directory #p"foo/") is incorrectly ("foo") instead of (:RELATIVE "foo")
*** Missing: chdir, combine-fasls, and plenty more UIOP functions.
*** Do whatever it takes to pass the asdf tests, add the above?
*** Have (require "asdf") and (require "ASDF") both work.
*** Trying to uiop:slurp-stream-forms from a stream with #+(or) :foo
(or read-file-forms from an file with same) results in an error,
rather than nil. This is probably a bug in #+ processing.
...
...
@@ -159,8 +168,6 @@
rather than #(1 2 3 2 3 2 3 2 3) or even better #(1 2 3 3 3).
*** (DIRECTORY #p"*.*") fails to match files with pathname type NIL.
*** GCL doesn't properly process files the name of which contains a *
*** Require is useless, because there is no system search path,
and so you can't put ASDF (or anything) there.
*** Low-level compiler bug:
./cl-launch.sh -B redo_test sh gcl exec noupdate noinc file system noinit
...
...
This diff is collapsed.
Click to expand it.
tools/install-asdf.lisp
+
11
−
1
View file @
4b75e2b7
...
...
@@ -27,6 +27,16 @@ It notably doesn't work on:
* Corman Lisp, RMCL, Genera, that are obsolete anyway.
|#
#+
gcl
(
eval-when
(
:compile-toplevel
:load-toplevel
:execute
)
(
declaim
(
optimize
(
speed
1
)
(
safety
0
)
(
space
0
)))
(
proclaim
'
(
optimize
(
speed
1
)
(
safety
0
)
(
space
0
)))
(
si::use-fast-links
nil
)
(
compile-file
(
merge-pathnames
#p"../build/asdf.lisp"
*load-truename*
)
:output-file
(
merge-pathnames
#p"../modules/asdf.o"
system:*system-directory*
))
(
system:quit
0
))
;;; Ensure we load and configure this particular ASDF
#-
cl-launch
(
eval-when
(
:compile-toplevel
:load-toplevel
:execute
)
...
...
@@ -93,7 +103,7 @@ It notably doesn't work on:
(
defun
install-asdf-as-module
()
(
nest
(
let*
((
asdf.lisp
(
system-relative-pathname
:
asdf-tools
"../build/asdf.lisp"
))
(
let*
((
asdf.lisp
(
system-relative-pathname
:
uiop
"../build/asdf.lisp"
))
(
asdf.fasl
(
asdf-module-fasl
))
#+
(
or
ecl
mkcl
)
(
asdf.o
(
object-file
asdf.fasl
:object
))
#+
(
or
ecl
mkcl
)
(
asdf.a
(
object-file
asdf.fasl
:lib
))))
...
...
This diff is collapsed.
Click to expand it.
uiop/os.lisp
+
15
−
13
View file @
4b75e2b7
...
...
@@ -271,19 +271,21 @@ suitable for use as a directory name to segregate Lisp FASLs, C dynamic librarie
(
defun
chdir
(
x
)
"Change current directory, as per POSIX chdir(2), to a given pathname object"
(
if-let
(
x
(
pathname
x
))
(
or
#+
abcl
(
java:jstatic
"setProperty"
"java.lang.System"
"user.dir"
(
namestring
x
))
#+
allegro
(
excl:chdir
x
)
#+
clisp
(
ext:cd
x
)
#+
clozure
(
setf
(
ccl:current-directory
)
x
)
#+
(
or
cmu
scl
)
(
unix:unix-chdir
(
ext:unix-namestring
x
))
#+
cormanlisp
(
unless
(
zerop
(
win32::_chdir
(
namestring
x
)))
(
error
"Could not set current directory to ~A"
x
))
#+
ecl
(
ext:chdir
x
)
#+
genera
(
setf
*default-pathname-defaults*
x
)
#+
lispworks
(
hcl:change-directory
x
)
#+
mkcl
(
mk-ext:chdir
x
)
#+
sbcl
(
progn
(
require
:sb-posix
)
(
symbol-call
:sb-posix
:chdir
(
sb-ext:native-namestring
x
)))
(
error
"chdir not supported on your implementation"
)))))
#+
abcl
(
java:jstatic
"setProperty"
"java.lang.System"
"user.dir"
(
namestring
x
))
#+
allegro
(
excl:chdir
x
)
#+
clisp
(
ext:cd
x
)
#+
clozure
(
setf
(
ccl:current-directory
)
x
)
#+
(
or
cmu
scl
)
(
unix:unix-chdir
(
ext:unix-namestring
x
))
#+
cormanlisp
(
unless
(
zerop
(
win32::_chdir
(
namestring
x
)))
(
error
"Could not set current directory to ~A"
x
))
#+
ecl
(
ext:chdir
x
)
#+
gcl
(
system:chdir
x
)
#+
genera
(
setf
*default-pathname-defaults*
x
)
#+
lispworks
(
hcl:change-directory
x
)
#+
mkcl
(
mk-ext:chdir
x
)
#+
sbcl
(
progn
(
require
:sb-posix
)
(
symbol-call
:sb-posix
:chdir
(
sb-ext:native-namestring
x
)))
#-
(
or
abcl
allegro
clisp
clozure
cmu
cormanlisp
ecl
gcl
genera
lispworks
mkcl
sbcl
scl
)
(
error
"chdir not supported on your implementation"
))))
;;;; -----------------------------------------------------------------
...
...
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