PROPER-LIST-LENGTH and related changes
commit86f69d0a09a1149e802710b2f2033b153063855c
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 1 Aug 2008 17:46:47 +0000 (1 20:46 +0300)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 1 Aug 2008 17:46:47 +0000 (1 20:46 +0300)
tree504dd4f16d72c2129fe7e89e8ab0f1435467d1e2
parent3f0815c8bc7194e75088357d8e9fdb73ec1625bc
PROPER-LIST-LENGTH and related changes

- New function: PROPER-LIST-LENGTH.

- Share code between PROPER-LIST-LENGTH, LASTCAR, and SETF LASTCAR
  via a macrolet.

- Use ENDP wrapped in SAFETY 3, to ensure proper detection of dotted
  lists.

- Use PROPER-LIST-LENGTH instead of LIST-LENGTH in ROTATE, RANDOM-ELT,
  and SHUFFLE, and test that they signal an error for improper lists.
  (Thanks to Tobias Rittweiler)
lists.lisp
package.lisp
sequences.lisp
tests.lisp