An patch to update lang/sbcl to 1.0.44 follows. I've tested on amd64
and i386 already, however my powerpc system isn't currently running.
If someone could test this for me (don't forget -E when patching) and
confirm that the plist is fine and that the tests finish with only
"Expected failure" lines (ie: no "Unexpected success" or "Failure"
lines) then I'd appreciate it. Note that you need to run "make fake"
before "make regress", the tests generate extra files which will
change the plist.
Notable changes include: ASDF has been updated to 2.009, many patches
in the port have been committed upstream, as well as the usual slew of
bug fixes and optimizations.
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/sbcl/Makefile,v
retrieving revision 1.7
diff -u -u -r1.7 Makefile
--- Makefile 17 Nov 2010 08:05:18 -0000 1.7
+++ Makefile 17 Jan 2011 20:36:03 -0000
@@ -1,4 +1,3 @@
-
# $OpenBSD: Makefile,v 1.7 2010/11/17 08:05:18 espie Exp $
# not yet ported to other arches
@@ -6,10 +5,9 @@
COMMENT= compiler and runtime system for ANSI Common Lisp
-V = 1.0.41
+V = 1.0.44
DISTNAME= sbcl-${V}-source
PKGNAME= sbcl-${V}
-REVISION = 0
WRKDIST= ${WRKDIR}/sbcl-${V}
EXTRACT_SUFX= .tar.bz2
@@ -55,11 +53,9 @@
MAKE_ENV= GNUMAKE=${GMAKE} INSTALL_ROOT=${PREFIX} \
MAN_DIR=${PREFIX}/man INFO_DIR=${PREFIX}/info
-pre-configure:
- @${SUBST_CMD} ${WRKSRC}/src/runtime/runtime.c
-
do-build:
- cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} /bin/sh make.sh "${BOOTSTRAP_CMD}"
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} /bin/sh make.sh \
+ --prefix=${PREFIX} --xc-host="${BOOTSTRAP_CMD}"
cd ${WRKSRC}/doc/manual && ${SETENV} ${MAKE_ENV} ${GMAKE}
do-install:
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/sbcl/distinfo,v
retrieving revision 1.3
diff -u -u -r1.3 distinfo
--- distinfo 24 Aug 2010 12:20:30 -0000 1.3
+++ distinfo 17 Jan 2011 20:36:03 -0000
@@ -1,5 +1,5 @@
-MD5 (sbcl-1.0.41-source.tar.bz2) = zfF6y5kfvcnTwTJj9cK7BA==
-RMD160 (sbcl-1.0.41-source.tar.bz2) = sgIi+IgMT0mvDEDeI215UUOVKOk=
-SHA1 (sbcl-1.0.41-source.tar.bz2) = t41Ubvm7PGFn3YoK8HNKuer+0fo=
-SHA256 (sbcl-1.0.41-source.tar.bz2) =
M9snVS6xtnDf2aPNMnnMDAeELzlpPO4WcAGTtjIFMAU=
-SIZE (sbcl-1.0.41-source.tar.bz2) = 3428046
+MD5 (sbcl-1.0.44-source.tar.bz2) = 80o5ldtuEkOZlglv1Df4eA==
+RMD160 (sbcl-1.0.44-source.tar.bz2) = xXyYUtBno/mW+EYQ/agNcP3Qov4=
+SHA1 (sbcl-1.0.44-source.tar.bz2) = Dh8n/0dpq5d1/aDL7ZWmzKDaKV0=
+SHA256 (sbcl-1.0.44-source.tar.bz2) =
DyLNYTO0cDkLiAQGJr1wMOGlQX7ExNWVhGvFan7egVo=
+SIZE (sbcl-1.0.44-source.tar.bz2) = 3525320
Index: patches/patch-contrib_asdf-module.mk
===================================================================
RCS file: /cvs/ports/lang/sbcl/patches/patch-contrib_asdf-module.mk,v
retrieving revision 1.3
diff -u -u -r1.3 patch-contrib_asdf-module.mk
--- patches/patch-contrib_asdf-module.mk 24 Aug 2010 12:20:30 -0000
1.3
+++ patches/patch-contrib_asdf-module.mk 16 Jan 2011 23:01:59 -0000
@@ -5,9 +5,9 @@
Don't copy every single file when installing the contribs, only the
ones that are actually needed to load the system.
---- contrib/asdf-module.mk.orig Thu Jan 28 11:46:39 2010
-+++ contrib/asdf-module.mk Fri Jul 30 12:24:33 2010
-@@ -22,7 +22,8 @@ endif
+--- contrib/asdf-module.mk.orig Sat Dec 4 19:32:29 2010
++++ contrib/asdf-module.mk Sun Jan 16 15:01:17 2011
+@@ -25,7 +25,8 @@ endif
export CC SBCL EXTRA_CFLAGS EXTRA_LDFLAGS
@@ -17,7 +17,7 @@
$(MAKE) -C ../asdf
$(SBCL) --eval '(defvar *system* "$(SYSTEM)")' --load ../asdf-stub.lisp
--eval '(quit)'
-@@ -34,5 +35,4 @@ test: all
+@@ -37,5 +38,4 @@ test: all
# KLUDGE: There seems to be no portable way to tell tar to not to
# preserve owner, so chown after installing for the current user.
install: $(EXTRA_INSTALL_TARGETS)
Index: patches/patch-make-target-contrib.sh
===================================================================
RCS file: /cvs/ports/lang/sbcl/patches/patch-make-target-contrib.sh,v
retrieving revision 1.2
diff -u -u -r1.2 patch-make-target-contrib.sh
--- patches/patch-make-target-contrib.sh 17 Nov 2009 10:45:00 -0000
1.2
+++ patches/patch-make-target-contrib.sh 16 Jan 2011 22:58:34 -0000
@@ -4,8 +4,8 @@
allows the contribs to be build when USE_SYSTRACE=Yes, and the tests
to be run later in do-regress.
---- make-target-contrib.sh.orig Mon Feb 16 13:36:13 2009
-+++ make-target-contrib.sh Tue Jul 7 17:57:02 2009
+--- make-target-contrib.sh.orig Fri Nov 5 19:50:28 2010
++++ make-target-contrib.sh Sun Nov 7 07:03:48 2010
@@ -43,6 +43,7 @@ export SBCL SBCL_BUILDING_CONTRIB
# as SB-RT and SB-GROVEL, but FIXME: there's probably a better
# solution. -- CSR, 2003-05-30
@@ -14,17 +14,19 @@
find contrib/ \( -name '*.fasl' -o \
-name '*.FASL' -o \
-name 'foo.c' -o \
-@@ -56,13 +57,17 @@ find contrib/ \( -name '*.fasl' -o \
- -print | xargs rm -f
+@@ -57,6 +58,11 @@ find contrib/ \( -name '*.fasl' -o \
find output -name 'building-contrib.*' -print | xargs rm -f
+
+make_target=all
+else
+make_target=test
+fi
-
- for i in contrib/*; do
- test -d $i && test -f $i/Makefile || continue;
++
+ # Ignore all source registries.
+ CL_SOURCE_REGISTRY='(:source-registry :ignore-inherited-configuration)'
+ export CL_SOURCE_REGISTRY
+@@ -66,7 +72,7 @@ for i in contrib/*; do
# export INSTALL_DIR=$SBCL_HOME/`basename $i `
test -f $i/test-passed && rm $i/test-passed
# hack to get exit codes right.
Index: patches/patch-src_runtime_GNUmakefile
===================================================================
RCS file: /cvs/ports/lang/sbcl/patches/patch-src_runtime_GNUmakefile,v
retrieving revision 1.2
diff -u -u -r1.2 patch-src_runtime_GNUmakefile
--- patches/patch-src_runtime_GNUmakefile 17 Nov 2009 10:45:00 -0000
1.2
+++ patches/patch-src_runtime_GNUmakefile 17 Jan 2011 20:22:23 -0000
@@ -1,12 +1,20 @@
+Don't override external CFLAGS.
+
+Use -idirafter . instead of -I . so that #include <util.h> finds
+/usr/include/util.h, not sbcl's unrelated src/runtime/util.h
+
$OpenBSD: patch-src_runtime_GNUmakefile,v 1.2 2009/11/17 10:45:00 pirofti Exp $
---- src/runtime/GNUmakefile.orig Wed Feb 20 09:55:26 2008
-+++ src/runtime/GNUmakefile Thu Apr 10 14:13:34 2008
-@@ -23,7 +23,7 @@ NM = nm -gp
- DEPEND_FLAGS = -MM
- GREP = grep
+--- src/runtime/GNUmakefile.orig Fri Nov 5 19:50:28 2010
++++ src/runtime/GNUmakefile Mon Jan 17 12:18:35 2011
+@@ -25,9 +25,9 @@ GREP = grep
+
+ include ../../output/prefix.def
-CFLAGS = -g -Wall -Wsign-compare -O3
+CFLAGS += -Wall -Wsign-compare
ASFLAGS = $(CFLAGS)
- CPPFLAGS = -I.
+-CPPFLAGS = -I. -DSBCL_PREFIX=\"$(SBCL_PREFIX)\"
++CPPFLAGS = -idirafter . -DSBCL_PREFIX=\"$(SBCL_PREFIX)\"
+ # Give make access to the target Lisp features.
+ include genesis/Makefile.features
Index: patches/patch-src_runtime_run-program_c
===================================================================
RCS file: patches/patch-src_runtime_run-program_c
diff -N patches/patch-src_runtime_run-program_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_runtime_run-program_c 17 Jan 2011 20:19:35 -0000
@@ -0,0 +1,93 @@
+$OpenBSD$
+--- src/runtime/run-program.c.orig Fri Nov 5 19:50:28 2010
++++ src/runtime/run-program.c Mon Jan 17 12:18:48 2011
+@@ -29,6 +29,9 @@
+ #include <sys/ioctl.h>
+ #include <termios.h>
+
++#ifdef LISP_FEATURE_OPENBSD
++#include <util.h>
++#endif
+
+ /* borrowed from detachtty's detachtty.c, in turn borrowed from APUE
+ * example code found at
+@@ -54,6 +57,45 @@ int set_noecho(int fd)
+ return 1;
+ }
+
++#if defined(LISP_FEATURE_OPENBSD)
++
++int
++set_pty(char *pty_name)
++{
++ int fd;
++
++ if ((fd = open(pty_name, O_RDWR, 0)) == -1 ||
++ login_tty(fd) == -1)
++ return (0);
++ return (set_noecho(STDIN_FILENO));
++}
++
++#else /* !LISP_FEATURE_OPENBSD */
++
++int
++set_pty(char *pty_name)
++{
++ int fd;
++
++#if !defined(LISP_FEATURE_HPUX) && !defined(SVR4)
++ fd = open("/dev/tty", O_RDWR, 0);
++ if (fd >= 0) {
++ ioctl(fd, TIOCNOTTY, 0);
++ close(fd);
++ }
++#endif
++ if ((fd = open(pty_name, O_RDWR, 0)) == -1)
++ return (-1);
++ dup2(fd, 0);
++ set_noecho(0);
++ dup2(fd, 1);
++ dup2(fd, 2);
++ close(fd);
++ return (0);
++}
++
++#endif /* !LISP_FEATURE_OPENBSD */
++
+ extern char **environ;
+ int spawn(char *program, char *argv[], int sin, int sout, int serr,
+ int search, char *envp[], char *pty_name, int wait)
+@@ -69,7 +111,7 @@ int spawn(char *program, char *argv[], int sin, int so
+ * share stdin with our parent. In the latter case we claim
+ * control of the terminal. */
+ if (sin >= 0) {
+-#if defined(LISP_FEATURE_HPUX)
++#if defined(LISP_FEATURE_HPUX) || defined(LISP_FEATURE_OPENBSD)
+ setsid();
+ #elif defined(LISP_FEATURE_DARWIN)
+ setpgid(0, getpid());
+@@ -87,21 +129,9 @@ int spawn(char *program, char *argv[], int sin, int so
+ sigprocmask(SIG_SETMASK, &sset, NULL);
+
+ /* If we are supposed to be part of some other pty, go for it. */
+- if (pty_name) {
+-#if !defined(LISP_FEATURE_HPUX) && !defined(SVR4)
+- fd = open("/dev/tty", O_RDWR, 0);
+- if (fd >= 0) {
+- ioctl(fd, TIOCNOTTY, 0);
+- close(fd);
+- }
+-#endif
+- fd = open(pty_name, O_RDWR, 0);
+- dup2(fd, 0);
+- set_noecho(0);
+- dup2(fd, 1);
+- dup2(fd, 2);
+- close(fd);
+- } else{
++ if (pty_name)
++ set_pty(pty_name);
++ else {
+ /* Set up stdin, stdout, and stderr */
+ if (sin >= 0)
+ dup2(sin, 0);
Index: patches/patch-src_runtime_runtime.c
===================================================================
RCS file: patches/patch-src_runtime_runtime.c
diff -N patches/patch-src_runtime_runtime.c
--- patches/patch-src_runtime_runtime.c 24 Aug 2010 12:20:30 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-$OpenBSD: patch-src_runtime_runtime.c,v 1.3 2010/08/24 12:20:30 jasper Exp $
-
-Don't hardcode /usr/local, patch and use SUBST_COMMAND.
-
---- src/runtime/runtime.c.orig Thu May 21 09:22:55 2009
-+++ src/runtime/runtime.c Mon Jun 29 07:53:42 2009
-@@ -67,7 +67,7 @@
- #endif
-
- #ifndef SBCL_HOME
--#define SBCL_HOME "/usr/local/lib/sbcl/"
-+#define SBCL_HOME "${PREFIX}/lib/sbcl/"
- #endif
-
- #ifdef LISP_FEATURE_HPUX
Index: patches/patch-src_runtime_x86-64-bsd-os_c
===================================================================
RCS file: patches/patch-src_runtime_x86-64-bsd-os_c
diff -N patches/patch-src_runtime_x86-64-bsd-os_c
--- patches/patch-src_runtime_x86-64-bsd-os_c 24 Aug 2010 12:20:30 -0000
1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,36 +0,0 @@
-$OpenBSD: patch-src_runtime_x86-64-bsd-os_c,v 1.1 2010/08/24 12:20:30 jasper
Exp $
-
-Fix FP exceptions after src/sys/arch/amd64/amd64/machdep.c 1.110
-
---- src/runtime/x86-64-bsd-os.c.orig Fri Nov 20 13:30:08 2009
-+++ src/runtime/x86-64-bsd-os.c Fri Jul 30 12:25:17 2010
-@@ -8,6 +8,10 @@
- #include <machine/fpu.h>
- #endif
-
-+#if defined(LISP_FEATURE_OPENBSD)
-+#include <machine/fpu.h>
-+#endif
-+
- #ifdef LISP_FEATURE_MACH_EXCEPTION_HANDLER
- #include <mach/mach.h>
-
-@@ -180,5 +184,18 @@ os_restore_fp_control(os_context_t *context)
- asm ("ldmxcsr %0" : : "m" (temp));
- /* same for x87 FPU. */
- asm ("fldcw %0" : : "m" (ex->en_cw));
-+}
-+#endif
-+
-+#if defined(LISP_FEATURE_OPENBSD)
-+void
-+os_restore_fp_control(os_context_t *context)
-+{
-+ if (context->sc_fpstate != NULL) {
-+ u_int32_t mxcsr = context->sc_fpstate->fx_mxcsr & ~0x3F;
-+ u_int16_t cw = context->sc_fpstate->fx_fcw;
-+ asm ("ldmxcsr %0" : : "m" (mxcsr));
-+ asm ("fldcw %0" : : "m" (cw));
-+ }
- }
- #endif
Index: patches/patch-src_runtime_x86-64-bsd-os_h
===================================================================
RCS file: patches/patch-src_runtime_x86-64-bsd-os_h
diff -N patches/patch-src_runtime_x86-64-bsd-os_h
--- patches/patch-src_runtime_x86-64-bsd-os_h 24 Aug 2010 12:20:30 -0000
1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-src_runtime_x86-64-bsd-os_h,v 1.1 2010/08/24 12:20:30 jasper
Exp $
-
-Fix FP exceptions after src/sys/arch/amd64/amd64/machdep.c 1.110
-
---- src/runtime/x86-64-bsd-os.h.orig Wed Jul 25 14:37:31 2007
-+++ src/runtime/x86-64-bsd-os.h Fri Jul 30 12:25:17 2010
-@@ -41,4 +41,9 @@ arch_os_context_mxcsr_addr(os_context_t *context)
- }
- #endif
-
-+#if defined LISP_FEATURE_OPENBSD
-+#define RESTORE_FP_CONTROL_FROM_CONTEXT
-+void os_restore_fp_control(os_context_t *context);
-+#endif
-+
- #endif /* _X86_64_BSD_OS_H */
Index: patches/patch-src_runtime_x86-bsd-os_c
===================================================================
RCS file: patches/patch-src_runtime_x86-bsd-os_c
diff -N patches/patch-src_runtime_x86-bsd-os_c
--- patches/patch-src_runtime_x86-bsd-os_c 6 Jul 2010 21:49:24 -0000
1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-$OpenBSD: patch-src_runtime_x86-bsd-os_c,v 1.1 2010/07/06 21:49:24 naddy Exp $
---- src/runtime/x86-bsd-os.c.orig Wed May 13 11:13:48 2009
-+++ src/runtime/x86-bsd-os.c Mon Jul 5 23:59:30 2010
-@@ -20,7 +20,6 @@
- #endif
-
- #if defined(LISP_FEATURE_OPENBSD)
--#include <machine/frame.h>
- #include <machine/npx.h>
- #include <stddef.h>
- #endif
-@@ -248,11 +247,9 @@ os_restore_fp_control(os_context_t *context)
- void
- os_restore_fp_control(os_context_t *context)
- {
-- struct sigframe *frame;
- union savefpu *fpu;
-
-- frame = (struct sigframe *)((char*)context - offsetof(struct sigframe,
sf_sc));
-- fpu = frame->sf_fpstate;
-+ fpu = context->sc_fpstate;
- if (openbsd_use_fxsave)
- __asm__ __volatile__ ("fldcw %0" : : "m" (fpu->sv_xmm.sv_env.en_cw));
- else
Index: patches/patch-tests_swap-lispobjs_impure_lisp
===================================================================
RCS file: patches/patch-tests_swap-lispobjs_impure_lisp
diff -N patches/patch-tests_swap-lispobjs_impure_lisp
--- patches/patch-tests_swap-lispobjs_impure_lisp 24 Aug 2010 12:20:30
-0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-tests_swap-lispobjs_impure_lisp,v 1.1 2010/08/24 12:20:30
jasper Exp $
---- tests/swap-lispobjs.impure.lisp.orig Fri Jul 30 14:06:20 2010
-+++ tests/swap-lispobjs.impure.lisp Fri Jul 30 14:06:20 2010
-@@ -32,7 +32,7 @@
- (run "cc" "-O3"
- "-I" "../src/runtime/"
- "swap-lispobjs.c"
-- #+(and (or linux freebsd) (or x86-64 ppc mips)) "-fPIC"
-+ #+(and (or linux freebsd openbsd) (or x86-64 ppc mips)) "-fPIC"
- #+(and x86-64 darwin) "-arch" #+(and x86-64 darwin) "x86_64"
- #+darwin "-bundle" #-darwin "-shared"
- "-o" "swap-lispobjs.so")
Index: patches/patch-tests_timer_impure_lisp
===================================================================
RCS file: patches/patch-tests_timer_impure_lisp
diff -N patches/patch-tests_timer_impure_lisp
--- patches/patch-tests_timer_impure_lisp 17 Nov 2009 10:45:00 -0000
1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-$OpenBSD: patch-tests_timer_impure_lisp,v 1.1 2009/11/17 10:45:00 pirofti Exp $
-
-The timer scheduler seems to only run one timer per SIGALRM and
-OpenBSD only delivers ~50 SIGALRMs per second, so it takes ~5 secs to
-trigger 200 timers.
-
---- tests/timer.impure.lisp.orig Mon Apr 6 01:54:27 2009
-+++ tests/timer.impure.lisp Thu Jun 4 07:31:02 2009
-@@ -159,7 +159,7 @@
- (let ((time (1+ (get-universal-time))))
- (loop repeat 200 do
- (schedule-timer (make-timer (lambda ())) time :absolute-p t))
-- (sleep 2)
-+ (sleep 6)
- (assert (zerop (length (sb-impl::%pqueue-contents
sb-impl::*schedule*))))))
-
- (with-test (:name (:with-timeout :timeout))
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/lang/sbcl/pkg/PLIST,v
retrieving revision 1.3
diff -u -u -r1.3 PLIST
--- pkg/PLIST 24 Aug 2010 12:20:30 -0000 1.3
+++ pkg/PLIST 17 Jan 2011 00:43:04 -0000
@@ -189,492 +189,5 @@
share/doc/sbcl/asdf.html
share/doc/sbcl/asdf.pdf
share/doc/sbcl/html/
-share/doc/sbcl/html/asdf/
-share/doc/sbcl/html/asdf/A-more-involved-example.html
-share/doc/sbcl/html/asdf/Common-attributes-of-components.html
-share/doc/sbcl/html/asdf/Components.html
-share/doc/sbcl/html/asdf/Concept-Index.html
-share/doc/sbcl/html/asdf/Configuring-ASDF.html
-share/doc/sbcl/html/asdf/Controlling-where-ASDF-saves-compiled-files.html
-share/doc/sbcl/html/asdf/Controlling-where-ASDF-searches-for-systems.html
-share/doc/sbcl/html/asdf/Creating-new-component-types.html
-share/doc/sbcl/html/asdf/Creating-new-operations.html
-share/doc/sbcl/html/asdf/Defining-systems-with-defsystem.html
-share/doc/sbcl/html/asdf/Error-handling.html
-share/doc/sbcl/html/asdf/FAQ.html
-share/doc/sbcl/html/asdf/Function-and-Class-Index.html
-share/doc/sbcl/html/asdf/Getting-the-latest-version.html
-share/doc/sbcl/html/asdf/Inspiration.html
-share/doc/sbcl/html/asdf/Introduction.html
-share/doc/sbcl/html/asdf/Loading-ASDF.html
-share/doc/sbcl/html/asdf/Miscellaneous-additional-functionality.html
-share/doc/sbcl/html/asdf/Operations.html
-share/doc/sbcl/html/asdf/Other-code-in-_002easd-files.html
-share/doc/sbcl/html/asdf/Pre_002ddefined-subclasses-of-component.html
-share/doc/sbcl/html/asdf/Predefined-operations-of-ASDF.html
-share/doc/sbcl/html/asdf/TODO-list.html
-share/doc/sbcl/html/asdf/The-defsystem-form.html
-share/doc/sbcl/html/asdf/The-defsystem-grammar.html
-share/doc/sbcl/html/asdf/The-object-model-of-ASDF.html
-share/doc/sbcl/html/asdf/Using-ASDF.html
-share/doc/sbcl/html/asdf/Variable-Index.html
-share/doc/sbcl/html/asdf/index.html
-share/doc/sbcl/html/asdf/operate.html
-share/doc/sbcl/html/asdf/report_002dbugs.html
-share/doc/sbcl/html/asdf/test_002dop.html
-share/doc/sbcl/html/sbcl/
-share/doc/sbcl/html/sbcl/ANSI-Conformance.html
-share/doc/sbcl/html/sbcl/Accessing-Foreign-Values.html
-share/doc/sbcl/html/sbcl/Additional-Documentation-Files.html
-share/doc/sbcl/html/sbcl/Atomic-Operations.html
-share/doc/sbcl/html/sbcl/Beyond-the-ANSI-Standard.html
-share/doc/sbcl/html/sbcl/Binary-stream-methods.html
-share/doc/sbcl/html/sbcl/Bivalent-Streams.html
-share/doc/sbcl/html/sbcl/Calling-Lisp-From-C.html
-share/doc/sbcl/html/sbcl/Character-counting-input-stream.html
-share/doc/sbcl/html/sbcl/Character-input-stream-methods.html
-share/doc/sbcl/html/sbcl/Character-output-stream-methods.html
-share/doc/sbcl/html/sbcl/Class-sb_002dbsd_002dsockets_003ahost_002dent.html
-share/doc/sbcl/html/sbcl/Class-sb_002dbsd_002dsockets_003ainet_002dsocket.html
-share/doc/sbcl/html/sbcl/Class-sb_002dbsd_002dsockets_003alocal_002dsocket.html
-share/doc/sbcl/html/sbcl/Class-sb_002dbsd_002dsockets_003asocket.html
-share/doc/sbcl/html/sbcl/Class-sb_002dgray_003afundamental_002dbinary_002dinput_002dstream.html
-share/doc/sbcl/html/sbcl/Class-sb_002dgray_003afundamental_002dbinary_002doutput_002dstream.html
-share/doc/sbcl/html/sbcl/Class-sb_002dgray_003afundamental_002dbinary_002dstream.html
-share/doc/sbcl/html/sbcl/Class-sb_002dgray_003afundamental_002dcharacter_002dinput_002dstream.html
-share/doc/sbcl/html/sbcl/Class-sb_002dgray_003afundamental_002dcharacter_002doutput_002dstream.html
-share/doc/sbcl/html/sbcl/Class-sb_002dgray_003afundamental_002dcharacter_002dstream.html
-share/doc/sbcl/html/sbcl/Class-sb_002dgray_003afundamental_002dinput_002dstream.html
-share/doc/sbcl/html/sbcl/Class-sb_002dgray_003afundamental_002doutput_002dstream.html
-share/doc/sbcl/html/sbcl/Class-sb_002dgray_003afundamental_002dstream.html
-share/doc/sbcl/html/sbcl/Class-sb_002dposix_003aflock.html
-share/doc/sbcl/html/sbcl/Class-sb_002dposix_003apasswd.html
-share/doc/sbcl/html/sbcl/Class-sb_002dposix_003astat.html
-share/doc/sbcl/html/sbcl/Class-sb_002dposix_003atermios.html
-share/doc/sbcl/html/sbcl/Class-sb_002dposix_003atimeval.html
-share/doc/sbcl/html/sbcl/Coercing-Foreign-Values.html
-share/doc/sbcl/html/sbcl/Colophon.html
-share/doc/sbcl/html/sbcl/Command-Line-Options.html
-share/doc/sbcl/html/sbcl/Command_002dline-arguments.html
-share/doc/sbcl/html/sbcl/Commercial-Support.html
-share/doc/sbcl/html/sbcl/Common-Lisp-Books.html
-share/doc/sbcl/html/sbcl/Compiler-Errors.html
-share/doc/sbcl/html/sbcl/Compiler-Policy.html
-share/doc/sbcl/html/sbcl/Compiler.html
-share/doc/sbcl/html/sbcl/Compiler_002donly-Implementation.html
-share/doc/sbcl/html/sbcl/Concept-Index.html
-share/doc/sbcl/html/sbcl/Condition-sb_002dext_003acode_002ddeletion_002dnote.html
-share/doc/sbcl/html/sbcl/Condition-sb_002dext_003acompiler_002dnote.html
-share/doc/sbcl/html/sbcl/Condition-sb_002dext_003apackage_002dlock_002dviolation.html
-share/doc/sbcl/html/sbcl/Condition-sb_002dext_003apackage_002dlocked_002derror.html
-share/doc/sbcl/html/sbcl/Condition-sb_002dext_003asymbol_002dpackage_002dlocked_002derror.html
-share/doc/sbcl/html/sbcl/Condition-sb_002dthread_003ainterrupt_002dthread_002derror.html
-share/doc/sbcl/html/sbcl/Condition-sb_002dthread_003ajoin_002dthread_002derror.html
-share/doc/sbcl/html/sbcl/Condition-sb_002dthread_003athread_002derror.html
-share/doc/sbcl/html/sbcl/Contributed-Modules.html
-share/doc/sbcl/html/sbcl/Controlling-Verbosity.html
-share/doc/sbcl/html/sbcl/Customization-Hooks-for-Users.html
-share/doc/sbcl/html/sbcl/Debug-Tail-Recursion.html
-share/doc/sbcl/html/sbcl/Debugger-Banner.html
-share/doc/sbcl/html/sbcl/Debugger-Command-Loop.html
-share/doc/sbcl/html/sbcl/Debugger-Entry.html
-share/doc/sbcl/html/sbcl/Debugger-Invocation.html
-share/doc/sbcl/html/sbcl/Debugger-Policy-Control.html
-share/doc/sbcl/html/sbcl/Debugger.html
-share/doc/sbcl/html/sbcl/Declarations-as-Assertions.html
-share/doc/sbcl/html/sbcl/Declarations.html
-share/doc/sbcl/html/sbcl/Defining-Constants.html
-share/doc/sbcl/html/sbcl/Defining-Foreign-Types.html
-share/doc/sbcl/html/sbcl/Deterministic-Profiler.html
-share/doc/sbcl/html/sbcl/Development-Tools.html
-share/doc/sbcl/html/sbcl/Diagnostic-Messages.html
-share/doc/sbcl/html/sbcl/Diagnostic-Severity.html
-share/doc/sbcl/html/sbcl/Dynamic_002dextent-allocation.html
-share/doc/sbcl/html/sbcl/Editor-Integration.html
-share/doc/sbcl/html/sbcl/Efficiency-Hacks.html
-share/doc/sbcl/html/sbcl/Efficiency.html
-share/doc/sbcl/html/sbcl/Enabling-and-Disabling-the-Debugger.html
-share/doc/sbcl/html/sbcl/End-of-File.html
-share/doc/sbcl/html/sbcl/Entry-Point-Details.html
-share/doc/sbcl/html/sbcl/Errors-During-Macroexpansion.html
-share/doc/sbcl/html/sbcl/Exit-on-Errors.html
-share/doc/sbcl/html/sbcl/Exiting-Commands.html
-share/doc/sbcl/html/sbcl/Extensions.html
-share/doc/sbcl/html/sbcl/External-Foreign-Variables.html
-share/doc/sbcl/html/sbcl/External-Formats.html
-share/doc/sbcl/html/sbcl/FASL-Format.html
-share/doc/sbcl/html/sbcl/File_002ddescriptors.html
-share/doc/sbcl/html/sbcl/Filenames.html
-share/doc/sbcl/html/sbcl/Foreign-Data-Structure-Examples.html
-share/doc/sbcl/html/sbcl/Foreign-Dynamic-Allocation.html
-share/doc/sbcl/html/sbcl/Foreign-Function-Calls.html
-share/doc/sbcl/html/sbcl/Foreign-Function-Interface.html
-share/doc/sbcl/html/sbcl/Foreign-Type-Specifiers.html
-share/doc/sbcl/html/sbcl/Foreign-Types-and-Lisp-Types.html
-share/doc/sbcl/html/sbcl/Foreign-Types.html
-share/doc/sbcl/html/sbcl/Foreign-Variables.html
-share/doc/sbcl/html/sbcl/Foreign-threads.html
-share/doc/sbcl/html/sbcl/Function-Index.html
-share/doc/sbcl/html/sbcl/Function-Names.html
-share/doc/sbcl/html/sbcl/Function-Parameters.html
-share/doc/sbcl/html/sbcl/Function-Return-Values.html
-share/doc/sbcl/html/sbcl/Function-Tracing.html
-share/doc/sbcl/html/sbcl/Function-common_002dlisp_003aed.html
-share/doc/sbcl/html/sbcl/Function-common_002dlisp_003amake_002dhash_002dtable.html
-share/doc/sbcl/html/sbcl/Function-common_002dlisp_003arequire.html
-share/doc/sbcl/html/sbcl/Function-sb_002dalien_003aload_002dshared_002dobject.html
-share/doc/sbcl/html/sbcl/Function-sb_002dalien_003aunload_002dshared_002dobject.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003aget_002dhost_002dby_002daddress.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003aget_002dhost_002dby_002dname.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003aget_002dprotocol_002dby_002dname.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003amake_002dinet_002daddress.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003asocket_002derror.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dbroadcast.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dbsd_002dcompatible.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002ddebug.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002ddont_002droute.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dkeep_002dalive.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002doob_002dinline.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dpass_002dcredentials.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dreuse_002daddress.html
-share/doc/sbcl/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dtcp_002dnodelay.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003adequeue.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003aenqueue.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003alist_002dmailbox_002dmessages.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003alist_002dqueue_002dcontents.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003amailbox_002dcount.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003amailbox_002dempty_002dp.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003amailbox_002dname.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003amailboxp.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003amake_002dmailbox.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003amake_002dqueue.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003aqueue_002dcount.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003aqueue_002dempty_002dp.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003aqueue_002dname.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003aqueuep.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003areceive_002dmessage.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003areceive_002dmessage_002dno_002dhang.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003areceive_002dpending_002dmessages.html
-share/doc/sbcl/html/sbcl/Function-sb_002dconcurrency_003asend_002dmessage.html
-share/doc/sbcl/html/sbcl/Function-sb_002dcover_003aclear_002dcoverage.html
-share/doc/sbcl/html/sbcl/Function-sb_002dcover_003areport.html
-share/doc/sbcl/html/sbcl/Function-sb_002dcover_003areset_002dcoverage.html
-share/doc/sbcl/html/sbcl/Function-sb_002dcover_003arestore_002dcoverage.html
-share/doc/sbcl/html/sbcl/Function-sb_002dcover_003arestore_002dcoverage_002dfrom_002dfile.html
-share/doc/sbcl/html/sbcl/Function-sb_002dcover_003asave_002dcoverage.html
-share/doc/sbcl/html/sbcl/Function-sb_002dcover_003asave_002dcoverage_002din_002dfile.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aadd_002dimplementation_002dpackage.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aarray_002dstorage_002dvector.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003abytes_002dconsed_002dbetween_002dgcs.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003acancel_002dfinalization.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003adescribe_002dcompiler_002dpolicy.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003adisable_002ddebugger.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aenable_002ddebugger.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003afinalize.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003agc.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003ageneration_002daverage_002dage.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003ageneration_002dbytes_002dallocated.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003ageneration_002dbytes_002dconsed_002dbetween_002dgcs.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003ageneration_002dminimum_002dage_002dbefore_002dgc.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003ageneration_002dnumber_002dof_002dgcs.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003ageneration_002dnumber_002dof_002dgcs_002dbefore_002dpromotion.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aget_002dbytes_002dconsed.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003ahash_002dtable_002dsynchronized_002dp.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003ahash_002dtable_002dweakness.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003alist_002dall_002dtimers.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003alock_002dpackage.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003amake_002dtimer.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003amake_002dweak_002dpointer.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003anative_002dnamestring.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003anative_002dpathname.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003apackage_002dimplemented_002dby_002dlist.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003apackage_002dimplements_002dlist.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003apackage_002dlocked_002dp.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aparse_002dnative_002dnamestring.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aposix_002dgetenv.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aprocess_002dalive_002dp.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aprocess_002dclose.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aprocess_002dcore_002ddumped.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aprocess_002derror.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aprocess_002dexit_002dcode.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aprocess_002dinput.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aprocess_002dkill.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aprocess_002doutput.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aprocess_002dp.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aprocess_002dstatus.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aprocess_002dwait.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003apurify.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aquit.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aremove_002dimplementation_002dpackage.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003arestrict_002dcompiler_002dpolicy.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003arun_002dprogram.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003asave_002dlisp_002dand_002ddie.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aschedule_002dtimer.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003atimer_002dname.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003atimer_002dscheduled_002dp.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aunlock_002dpackage.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aunschedule_002dtimer.html
-share/doc/sbcl/html/sbcl/Function-sb_002dext_003aweak_002dpointer_002dvalue.html
-share/doc/sbcl/html/sbcl/Function-sb_002dmd5_003amd5sum_002dfile.html
-share/doc/sbcl/html/sbcl/Function-sb_002dmd5_003amd5sum_002dsequence.html
-share/doc/sbcl/html/sbcl/Function-sb_002dmd5_003amd5sum_002dstream.html
-share/doc/sbcl/html/sbcl/Function-sb_002dmd5_003amd5sum_002dstring.html
-share/doc/sbcl/html/sbcl/Function-sb_002dposix_003afile_002ddescriptor.html
-share/doc/sbcl/html/sbcl/Function-sb_002dposix_003afilename.html
-share/doc/sbcl/html/sbcl/Function-sb_002dposix_003agetcwd.html
-share/doc/sbcl/html/sbcl/Function-sb_002dposix_003areadlink.html
-share/doc/sbcl/html/sbcl/Function-sb_002dposix_003asyslog.html
-share/doc/sbcl/html/sbcl/Function-sb_002dprofile_003areport.html
-share/doc/sbcl/html/sbcl/Function-sb_002dprofile_003areset.html
-share/doc/sbcl/html/sbcl/Function-sb_002drotate_002dbyte_003arotate_002dbyte.html
-share/doc/sbcl/html/sbcl/Function-sb_002dsprof_003aprofile_002dcall_002dcounts.html
-share/doc/sbcl/html/sbcl/Function-sb_002dsprof_003areport.html
-share/doc/sbcl/html/sbcl/Function-sb_002dsprof_003areset.html
-share/doc/sbcl/html/sbcl/Function-sb_002dsprof_003astart_002dprofiling.html
-share/doc/sbcl/html/sbcl/Function-sb_002dsprof_003astop_002dprofiling.html
-share/doc/sbcl/html/sbcl/Function-sb_002dsprof_003aunprofile_002dcall_002dcounts.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003acondition_002dbroadcast.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003acondition_002dnotify.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003acondition_002dwait.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003aget_002dmutex.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003ainterrupt_002dthread.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003ajoin_002dthread.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003alist_002dall_002dthreads.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003amake_002dmutex.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003amake_002dsemaphore.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003amake_002dthread.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003amake_002dwaitqueue.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003amutex_002dname.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003amutex_002dvalue.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003arelease_002dmutex.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003asemaphore_002dcount.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003asemaphore_002dname.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003asignal_002dsemaphore.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003asymbol_002dvalue_002din_002dthread.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003aterminate_002dthread.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003athread_002dalive_002dp.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003athread_002derror_002dthread.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003athread_002dname.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003athread_002dyield.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003atry_002dsemaphore.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003await_002don_002dsemaphore.html
-share/doc/sbcl/html/sbcl/Function-sb_002dthread_003awaitqueue_002dname.html
-share/doc/sbcl/html/sbcl/Functions-with-idiosyncratic-bindings.html
-share/doc/sbcl/html/sbcl/Garbage-Collection.html
-share/doc/sbcl/html/sbcl/General-Sockets.html
-share/doc/sbcl/html/sbcl/Generating-Executables.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-common_002dlisp_003aclose.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-common_002dlisp_003astream_002delement_002dtype.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003ahost_002dent_002daddress.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003anon_002dblocking_002dmode.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002daccept.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dbind.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dclose.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dconnect.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dlisten.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dmake_002dstream.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dname.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dopen_002dp.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dpeername.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dreceive.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dsend.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dadvance_002dto_002dcolumn.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dclear_002dinput.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dclear_002doutput.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dfile_002dposition.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dfinish_002doutput.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dforce_002doutput.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dfresh_002dline.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dline_002dcolumn.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dline_002dlength.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dlisten.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dpeek_002dchar.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dread_002dbyte.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dread_002dchar.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dread_002dchar_002dno_002dhang.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dread_002dline.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dread_002dsequence.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dstart_002dline_002dp.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dterpri.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dunread_002dchar.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dwrite_002dbyte.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dwrite_002dchar.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dwrite_002dsequence.html
-share/doc/sbcl/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dwrite_002dstring.html
-share/doc/sbcl/html/sbcl/Getting-Existing-Programs-to-Run.html
-share/doc/sbcl/html/sbcl/Getting-Support-and-Reporting-Bugs.html
-share/doc/sbcl/html/sbcl/Global-and-Always_002dBound-variables.html
-share/doc/sbcl/html/sbcl/Gray-Streams-classes.html
-share/doc/sbcl/html/sbcl/Gray-Streams-examples.html
-share/doc/sbcl/html/sbcl/Gray-Streams.html
-share/doc/sbcl/html/sbcl/Handling-of-Types.html
-share/doc/sbcl/html/sbcl/Hash-Table-Extensions.html
-share/doc/sbcl/html/sbcl/History-and-Implementation-of-SBCL.html
-share/doc/sbcl/html/sbcl/How-Arguments-are-Printed.html
-share/doc/sbcl/html/sbcl/How-the-Source-is-Found.html
-share/doc/sbcl/html/sbcl/INET-Domain-Sockets.html
-share/doc/sbcl/html/sbcl/Idiosyncrasies.html
-share/doc/sbcl/html/sbcl/Implementation-Limitations.html
-share/doc/sbcl/html/sbcl/Implementation-Packages.html
-share/doc/sbcl/html/sbcl/Implementation-_0028Linux-x86_002fx86_002d64_0029.html
-share/doc/sbcl/html/sbcl/Information-Commands.html
-share/doc/sbcl/html/sbcl/Initialization-Files.html
-share/doc/sbcl/html/sbcl/Initialization-and-Exit-Hooks.html
-share/doc/sbcl/html/sbcl/Input-stream-methods.html
-share/doc/sbcl/html/sbcl/Internals-Documentation.html
-share/doc/sbcl/html/sbcl/Internet-Community.html
-share/doc/sbcl/html/sbcl/Interpreter.html
-share/doc/sbcl/html/sbcl/Introduction-to-the-Foreign-Function-Interface.html
-share/doc/sbcl/html/sbcl/Introduction.html
-share/doc/sbcl/html/sbcl/Language-Reference.html
-share/doc/sbcl/html/sbcl/Lisp-Pathnames.html
-share/doc/sbcl/html/sbcl/Lisp-names-for-C-names.html
-share/doc/sbcl/html/sbcl/Lisp-objects-and-C-structures.html
-share/doc/sbcl/html/sbcl/Loading-Shared-Object-Files.html
-share/doc/sbcl/html/sbcl/Local-Foreign-Variables.html
-share/doc/sbcl/html/sbcl/Local-_0028Unix_0029-Domain-Sockets.html
-share/doc/sbcl/html/sbcl/Macro-common_002dlisp_003astep.html
-share/doc/sbcl/html/sbcl/Macro-common_002dlisp_003atrace.html
-share/doc/sbcl/html/sbcl/Macro-common_002dlisp_003auntrace.html
-share/doc/sbcl/html/sbcl/Macro-common_002dlisp_003awith_002dcompilation_002dunit.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dext_003aatomic_002ddecf.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dext_003aatomic_002dincf.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dext_003acompare_002dand_002dswap.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dext_003adefglobal.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dext_003adefine_002dhash_002dtable_002dtest.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dext_003awith_002dlocked_002dhash_002dtable.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dext_003awith_002dunlocked_002dpackages.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dext_003awithout_002dpackage_002dlocks.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dprofile_003aprofile.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dprofile_003aunprofile.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dsprof_003awith_002dprofiling.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dsprof_003awith_002dsampling.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dthread_003awith_002dmutex.html
-share/doc/sbcl/html/sbcl/Macro-sb_002dthread_003awith_002drecursive_002dlock.html
-share/doc/sbcl/html/sbcl/Metaobject-Protocol.html
-share/doc/sbcl/html/sbcl/Method-sb_002dbsd_002dsockets_003asocket_002dmake_002dstream-_0028_0028socket-socket_0029-_0026key-input-output-_0028element_002dtype-_0027character_0029-_0028buffering-full_0029-_0028external_002dformat-default_0029-timeout-auto_002dclose_0029.html
-share/doc/sbcl/html/sbcl/Methods-common-to-all-streams.html
-share/doc/sbcl/html/sbcl/Miscellaneous-Efficiency-Issues.html
-share/doc/sbcl/html/sbcl/Miscellaneous-Extensions.html
-share/doc/sbcl/html/sbcl/Modular-arithmetic.html
-share/doc/sbcl/html/sbcl/More-Common-Lisp-Information.html
-share/doc/sbcl/html/sbcl/More-SBCL-Information.html
-share/doc/sbcl/html/sbcl/Mutex-Support.html
-share/doc/sbcl/html/sbcl/Name-Service.html
-share/doc/sbcl/html/sbcl/Native-Filenames.html
-share/doc/sbcl/html/sbcl/Networking.html
-share/doc/sbcl/html/sbcl/Note-On-Lexical-Variable-Access.html
-share/doc/sbcl/html/sbcl/Online-Documentation.html
-share/doc/sbcl/html/sbcl/Open-Coding-and-Inline-Expansion.html
-share/doc/sbcl/html/sbcl/Operations-On-Foreign-Values.html
-share/doc/sbcl/html/sbcl/Operations-Violating-Package-Locks.html
-share/doc/sbcl/html/sbcl/Output-prefixing-character-stream.html
-share/doc/sbcl/html/sbcl/Output-stream-methods.html
-share/doc/sbcl/html/sbcl/Package-Lock-Concepts.html
-share/doc/sbcl/html/sbcl/Package-Lock-Dictionary.html
-share/doc/sbcl/html/sbcl/Package-Lock-Overview.html
-share/doc/sbcl/html/sbcl/Package-Lock-Violations.html
-share/doc/sbcl/html/sbcl/Package-Locks-in-Compiled-Code.html
-share/doc/sbcl/html/sbcl/Package-Locks.html
-share/doc/sbcl/html/sbcl/Pathnames.html
-share/doc/sbcl/html/sbcl/Precise-Type-Checking.html
-share/doc/sbcl/html/sbcl/Profiling.html
-share/doc/sbcl/html/sbcl/Querying-the-process-environment.html
-share/doc/sbcl/html/sbcl/Quit.html
-share/doc/sbcl/html/sbcl/Read-Errors.html
-share/doc/sbcl/html/sbcl/Reporting-Bugs.html
-share/doc/sbcl/html/sbcl/Resolution-of-Name-Conflicts.html
-share/doc/sbcl/html/sbcl/Running-external-programs.html
-share/doc/sbcl/html/sbcl/Running-from-Emacs.html
-share/doc/sbcl/html/sbcl/Running-from-Shell.html
-share/doc/sbcl/html/sbcl/Runtime-Options.html
-share/doc/sbcl/html/sbcl/SBCL-Homepage.html
-share/doc/sbcl/html/sbcl/Saving-a-Core-Image.html
-share/doc/sbcl/html/sbcl/Section-sb_002dconcurrency_003aqueue.html
-share/doc/sbcl/html/sbcl/Semaphores.html
-share/doc/sbcl/html/sbcl/Sessions_002fDebugging.html
-share/doc/sbcl/html/sbcl/Shebang-Scripts.html
-share/doc/sbcl/html/sbcl/Simple-Streams.html
-share/doc/sbcl/html/sbcl/Single-Stepping.html
-share/doc/sbcl/html/sbcl/Slot-access.html
-share/doc/sbcl/html/sbcl/Socket-Options.html
-share/doc/sbcl/html/sbcl/Sockets-Overview.html
-share/doc/sbcl/html/sbcl/Source-Location-Availability.html
-share/doc/sbcl/html/sbcl/Source-Location-Printing.html
-share/doc/sbcl/html/sbcl/Special-Variables.html
-share/doc/sbcl/html/sbcl/Special_002dOperator-sb_002dext_003atruly_002dthe.html
-share/doc/sbcl/html/sbcl/Stack-Frames.html
-share/doc/sbcl/html/sbcl/Stack-Motion.html
-share/doc/sbcl/html/sbcl/Stale-Extensions.html
-share/doc/sbcl/html/sbcl/Starting-SBCL.html
-share/doc/sbcl/html/sbcl/Starting-and-Stopping.html
-share/doc/sbcl/html/sbcl/Statistical-Profiler.html
-share/doc/sbcl/html/sbcl/Step_002dBy_002dStep-Example-of-the-Foreign-Function-Interface.html
-share/doc/sbcl/html/sbcl/Stopping-SBCL.html
-share/doc/sbcl/html/sbcl/Streams.html
-share/doc/sbcl/html/sbcl/Structure-sb_002dconcurrency_003amailbox.html
-share/doc/sbcl/html/sbcl/Structure-sb_002dconcurrency_003aqueue.html
-share/doc/sbcl/html/sbcl/Structure-sb_002dext_003atimer.html
-share/doc/sbcl/html/sbcl/Structure-sb_002dthread_003amutex.html
-share/doc/sbcl/html/sbcl/Structure-sb_002dthread_003asemaphore.html
-share/doc/sbcl/html/sbcl/Structure-sb_002dthread_003athread.html
-share/doc/sbcl/html/sbcl/Structure-sb_002dthread_003awaitqueue.html
-share/doc/sbcl/html/sbcl/Style-Warnings.html
-share/doc/sbcl/html/sbcl/Support-For-Unix.html
-share/doc/sbcl/html/sbcl/The-Original-and-Actual-Source.html
-share/doc/sbcl/html/sbcl/The-Parts-of-a-Compiler-Diagnostic.html
-share/doc/sbcl/html/sbcl/The-Processing-Path.html
-share/doc/sbcl/html/sbcl/The-alien_002dfuncall-Primitive.html
-share/doc/sbcl/html/sbcl/The-define_002dalien_002droutine-Macro.html
-share/doc/sbcl/html/sbcl/Third_002dparty-Libraries.html
-share/doc/sbcl/html/sbcl/Threading-basics.html
-share/doc/sbcl/html/sbcl/Threading.html
-share/doc/sbcl/html/sbcl/Timers.html
-share/doc/sbcl/html/sbcl/Tools-To-Help-Developers.html
-share/doc/sbcl/html/sbcl/Toplevel-Options.html
-share/doc/sbcl/html/sbcl/Type-Errors-at-Compile-Time.html
-share/doc/sbcl/html/sbcl/Type-Index.html
-share/doc/sbcl/html/sbcl/Type-sb_002dposix_003afile_002ddescriptor.html
-share/doc/sbcl/html/sbcl/Type-sb_002dposix_003afile_002ddescriptor_002ddesignator.html
-share/doc/sbcl/html/sbcl/Type-sb_002dposix_003afilename.html
-share/doc/sbcl/html/sbcl/Type-sb_002dposix_003afilename_002ddesignator.html
-share/doc/sbcl/html/sbcl/Types.html
-share/doc/sbcl/html/sbcl/Understanding-Compiler-Diagnostics.html
-share/doc/sbcl/html/sbcl/Unknown-Locations-and-Interrupts.html
-share/doc/sbcl/html/sbcl/Variable-Access.html
-share/doc/sbcl/html/sbcl/Variable-Index.html
-share/doc/sbcl/html/sbcl/Variable-Value-Availability.html
-share/doc/sbcl/html/sbcl/Variable-sb_002ddebug_003a_002amax_002dtrace_002dindentation_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002ddebug_003a_002atrace_002dencapsulate_002ddefault_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002ddebug_003a_002atrace_002dindentation_002dstep_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002ddebug_003a_002atrace_002dvalues_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dext_003a_002aafter_002dgc_002dhooks_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dext_003a_002acompiler_002dprint_002dvariable_002dalist_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dext_003a_002acore_002dpathname_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dext_003a_002adebug_002dprint_002dvariable_002dalist_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dext_003a_002aed_002dfunctions_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dext_003a_002aexit_002dhooks_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dext_003a_002agc_002drun_002dtime_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dext_003a_002ainit_002dhooks_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dext_003a_002ainvoke_002ddebugger_002dhook_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dext_003a_002amodule_002dprovider_002dfunctions_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dext_003a_002amuffled_002dwarnings_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dext_003a_002asave_002dhooks_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dext_003a_002astack_002dallocate_002ddynamic_002dextent_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dsprof_003a_002amax_002dsamples_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dsprof_003a_002asample_002dinterval_002a.html
-share/doc/sbcl/html/sbcl/Variable-sb_002dthread_003a_002acurrent_002dthread_002a.html
-share/doc/sbcl/html/sbcl/Volunteer-Support.html
-share/doc/sbcl/html/sbcl/Waitqueue_002fcondition-variables.html
-share/doc/sbcl/html/sbcl/define_002dalien_002droutine-Example.html
-share/doc/sbcl/html/sbcl/index.html
-share/doc/sbcl/html/sbcl/sb_002daclrepl.html
-share/doc/sbcl/html/sbcl/sb_002dconcurrency.html
-share/doc/sbcl/html/sbcl/sb_002dcover.html
-share/doc/sbcl/html/sbcl/sb_002dgrovel.html
-share/doc/sbcl/html/sbcl/sb_002dmd5.html
-share/doc/sbcl/html/sbcl/sb_002dposix.html
-share/doc/sbcl/html/sbcl/sb_002dqueue.html
-share/doc/sbcl/html/sbcl/sb_002drotate_002dbyte.html
share/doc/sbcl/sbcl.html
share/doc/sbcl/sbcl.pdf