[Ecls-list] [PATCH RESEND] Fix the value of the print-function depth parameter in defstruct.

Alexander Gavrilov angavrilov at gmail.com
Tue Oct 6 16:20:24 UTC 2009


> Thanks for reminding! If nothing went wrong, I must have uploaded this
> to GIt/CVS. Can you check whether things work for you with fset now?

Printing now works correctly. 

After updating to the current version I noticed that :continue
does not work anymore after stopping with Ctrl-C. The program
hangs, and the next Ctrl-C kills it completely. Also, if I
start with -norc and immediately press Ctrl-C, it segfaults
after printing "suspending process TOP-LEVEL".

Alexander

 
> On Mon, Oct 5, 2009 at 7:52 PM, Alexander Gavrilov <angavrilov at gmail.com> wrote:
> > >From the Common Lisp HyperSpec:
> >
> >  It is implementation-dependent whether <<current-print-depth>>
> >  is always 0 and *print-level*, if non-nil, is re-bound to
> >  successively smaller values as printing descends recursively,
> >  or whether current-print-depth varies in value as printing
> >  descends recursively and *print-level* remains constant during
> >  the same traversal.
> >
> > ECL modifies *print-level*, so the value should be 0. Besides,
> > that's what is passed by the no-CLOS version of the C code.
> > ---
> >
> >        This is necessary to make FSet containers print properly.
> >
> >        - Alexander
> >
> >
> >  src/lsp/defstruct.lsp |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/src/lsp/defstruct.lsp b/src/lsp/defstruct.lsp
> > index 40f78d9..de01954 100644
> > --- a/src/lsp/defstruct.lsp
> > +++ b/src/lsp/defstruct.lsp
> > @@ -294,7 +294,7 @@
> >   #+clos
> >   (when print-function
> >     (eval `(defmethod print-object ((obj ,name) stream)
> > -            (,print-function obj stream *print-level*))))
> > +            (,print-function obj stream 0))))
> >   #+clos
> >   (when print-object
> >     (eval `(defmethod print-object ((obj ,name) stream)
> > --
> > 1.6.3.rc3.12.gb7937
> >
> >
> > ------------------------------------------------------------------------------
> > Come build with us! The BlackBerry® Developer Conference in SF, CA
> > is the only developer event you need to attend this year. Jumpstart your
> > developing skills, take BlackBerry mobile applications to market and stay
> > ahead of the curve. Join us from November 9-12, 2009. Register now!
> > http://p.sf.net/sfu/devconf
> > _______________________________________________
> > Ecls-list mailing list
> > Ecls-list at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/ecls-list
> >
> 
> 
> 
> 




More information about the ecl-devel mailing list