Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!cam-news-feed3.bbnplanet.com!cam-news-hub1.bbnplanet.com!news.bbnplanet.com!howland.erols.net!ix.netcom.com!vrotney
From: vrotney@netcom.com (William Paul Vrotney)
Subject: Re: Display of large structures by LISP interpreter
In-Reply-To: rab@scms.rgu.ac.uk's message of 5 Mar 1997 15:10:07 GMT
Message-ID: <vrotneyE6LDyM.GEp@netcom.com>
Organization: Netcom On-Line Services
References: <5fk2cf$fd$2@roadkill.scms.rgu.ac.uk>
Date: Wed, 5 Mar 1997 22:47:10 GMT
Lines: 33
Sender: vrotney@netcom.netcom.com

In article <5fk2cf$fd$2@roadkill.scms.rgu.ac.uk> rab@scms.rgu.ac.uk (Robin Boswell) writes:

> X-Newsreader: TIN [version 1.2 PL2]
> 
>    Can anyone tell me if it is possible to prevent
> the LISP interpreter from truncating returned values,
> when these happen to be long lists or other large
> structures.  I am aware of the effect of *print-length*
> and *print-level* on the (print) function, but these
> don't seem to effect the LISP reader/interpreter itself,
> e.g.
> 
> USER(1): *print-length*
> NIL ;; So (print) won't truncate, but ...
> 
> USER(2): (setq foo '(1 2 3 4 5 6 7 8 9 10 11 12 13 14))
> (1 2 3 4 5 6 7 8 9 10 ...) ;; foo still gets truncated
> 
>              Thanks,
> 
>                 Robin Boswell.
> 

You could get around it by writing your own REP loop

    (defun myloop ()
      (let ((*print-length* nil))
        (loop (print (eval (read))))))


-- 

William P. Vrotney - vrotney@netcom.com
