This is the same as T according to '2.4.3 Type Specifiers' in the
spec. Fixes#240.
"If a type specifier is a list, the car of the list is a symbol,
and the rest of the list is subsidiary type information. Such a type
specifier is called a compound type specifier. Except as explicitly
stated otherwise, the subsidiary items can be unspecified. The
unspecified subsidiary items are indicated by writing *. For example, to
completely specify a vector, the type of the elements and the length of
the vector must be present."
`make-random-state' now accepts the conforming types of the
arguments (ie not a fixnum nor simple-vector).
Additionally we sanitize the vector provided to the #$ to be of the
correct arity and type (#313 byte64 or #625 byte32 depending on the
architecture).
Accidently it did call error instead of calling the declared
function (the behavior is the same, but let's keep things uniform – all
other type specifier errors call this function).
Allow CC and other environment variables to contain space when building
Currently if the value of `CC` or the like contains a space (most notably, `CC=ccache gcc`) the build fails like so:
```
;;; Note:
;;; Invoking external command:
;;; ccache gcc -I. -I/home/iguananaut/src/ecl/ecl/build/ -DECL_API -I/home/iguananaut/src/ecl/ecl/build/c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fPIC -D_THREAD_SAFE -Dlinux -I/home/iguananaut/src/ecl/ecl/src/c -c lsp/export.c -o lsp/export.o exec: No such file or directory
Condition of type: SIMPLE-ERROR
Error code 6 when executing
(RUN-PROGRAM "ccache gcc" ("-I." "-I/home/iguananaut/src/ecl/ecl/build/" "-DECL_API" "-I/home/iguananaut/src/ecl/ecl/build/c" "-D_GNU_SOURCE" "-D_FILE_OFFSET_BITS=64" "-g" "-O2" "-fPIC" "-D_THREAD_SAFE" "-Dlinux" "-I/home/iguananaut/src/ecl/ecl/src/c" "-c" "lsp/export.c" "-o" "lsp/export.o"))
Available restarts:
1. (CONTINUE) Continues anyway.
2. (ABORT) ABORT
Top level in: #<process TOP-LEVEL>.
```
This fixes the issue generally by patching `safe-run-program` rather than checking for this case every time `*cc*`, `*ld*`, etc. are used.
See merge request !20