Bug#607743: clisp: starnge behaviour of STORE-VALUE
Miĥail Vasiljev
gnu.xinm at gmail.com
Tue Dec 21 16:51:19 UTC 2010
Package: clisp
Version: 1:2.44.1-4.1
Severity: normal
Hello. I'm trying to learn Common Lisp with the help of the book
Stuart Shapiro. Common Lisp. An Interactive Approach.
On the page 90 of this book there is an example of defining your own
version of 'length'. I've tried to repeat it in clisp. Everything works
fine but in case I pass a wrong argument to 'length and then substitute
it with the right one, the function returns an incorrect answer. Here is
the example:
[1]> (defpackage "TEST"
(:use "COMMON-LISP"))
#<PACKAGE TEST>
[2]> (in-package test)
#<PACKAGE TEST>
TEST[3]> (shadow 'length)
T
TEST[4]> (defun length (l)
(check-type l list)
(if (null l) 0
(1+ (length (rest l)))))
LENGTH
TEST[5]> (length '(1 2 3 4 5))
5
TEST[6]> (length "abc")
*** - The value of L should be of type LIST.
The value is: "abc"
The following restarts are available:
STORE-VALUE :R1 You may input a new value for L.
ABORT :R2 Abort main loop
Break 1 TEST[7]> :R1
New L: '(1 2 3 4 5)
2
TEST[8]>
Why the result is 2? It should be 5!
Thank you
-- System Information:
Debian Release: 5.0.7
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.26-2-amd64 (SMP w/6 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages clisp depends on:
ii common-lisp-controller 6.17 Common Lisp source and
compiler ma
ii libc6 2.7-18lenny6 GNU C Library: Shared
libraries
ii libdb4.6 4.6.21-11 Berkeley v4.6 Database
Libraries [
ii libffcall1 1.10+2.41-3 Foreign Function Call
Libraries
ii libncurses5 5.7+20081213-1 shared libraries for
terminal hand
ii libreadline5 5.2-3.1 GNU readline and history
libraries
ii libsigsegv0 2.5-2 Library for handling page
faults i
ii libx11-6 2:1.1.5-2 X11 client-side library
ii libxau6 1:1.0.3-3 X11 authorisation library
ii libxext6 2:1.0.4-2 X11 miscellaneous extension
librar
ii libxpm4 1:3.5.7-1 X11 pixmap library
clisp recommends no packages.
Versions of packages clisp suggests:
pn clisp-dev <none> (no description available)
pn clisp-doc <none> (no description available)
pn gdb <none> (no description available)
ii slime 1:20080223.dfsg-1 Superior LISP Interaction
Mode for
-- no debconf information
--
Miĥail Vasiljev <gnu.xinm at gmail.com>
More information about the pkg-common-lisp-devel
mailing list