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