[alexandria-devel] Alexandria/SBCL buglet
Daniel Herring
dherring at tentpost.com
Sun Nov 2 04:12:15 UTC 2008
There's a subtle bug in the 'include' target in alexandria/doc/Makefile.
include:
sbcl --eval '(progn (require :asdf) (require :alexandria) (rename-package :alexandria :alexandria))' \
--eval '(load (merge-pathnames "doc/manual/docstrings" (posix-getenv "SBCL_SOURCE_ROOT")))' \
--eval '(sb-texinfo:generate-includes "include/" :alexandria)' \
--eval '(quit)'
mv include/fun-alexandria-type=.texinfo include/fun-alexandria-type-equal.texinfo
When the SBCL manual is built, it creates a directory named "docstrings";
so you now have both
doc/manual/docstrings and
doc/manual/docstrings.lisp
Thus (load (merge-pathnames "doc/manual/docstrings" ...) fails with a
debugger invoked on a SB-INT:SIMPLE-STREAM-ERROR in thread #<THREAD "initial thread" RUNNING {100274FC21}>:
couldn't read from #<SB-SYS:FD-STREAM for "file /path/to/sbcl/doc/manual/docstrings" {1002871401}>:
Is a directory
[SBCL 1.0.22.7 on x86-64 linux]
- Daniel
P.S. Since "clean:" is the first target in this Makefile, it runs by
default when you simply type `make`. That surprised me; I expected the
first rule to be something like
all: pdf html
or
all:
echo "Try 'make clean', 'make pdf', or 'make html'."
More information about the alexandria-devel
mailing list