Hello, Here a work-around for my second question : catching stack-overflow. If you catch a stack-overflow you need to issue (ext:set-limit 'ext:c-stack #<my-stack-size>) in or after the condition-handler in order to avoid the observed (undesirable?) behaviour. Where #<my-stack-size> is any positive integer you may get beforehand by (ext:get-limit 'ext:c-stack).
ecky PS: By the way, thanks for your answers I discovered them today when I checked the mail-archive for something else. I'll have a look why I didn't get them right away. Le 28/10/2013 19:38, Eckhard Wiederhold a écrit : > Hello, > > I encountered some trouble using ecl that I don't know how to resolve > myself and I'd be very grateful to get some advice on what to do or > pointers to background-information that I was unable to find : > > 1. I just tried to get all conditions that ecl is aware of by traversing > all packages and all symbols calling > (subtypep _symbol 'condition) on any symbol in any package. I got my > list finally by excluding the > following symbols: (mod si:property-list si::proper-list). It seems > that > - (subtypep 'mod 'condition) raises "Wrong number of arguments ..." > error-condition > - (subtypep 'si:property-list 'condition) and (subtypep > 'si::proper-list 'condition) raise "Stack overflow." > serious-condition > Question: Is this some issue I need to report here: > http://sourceforge.net/p/ecls/bugs/ ? Or is it normal > behaviour ? > > 2. Further I observed that I was only able to catch the stack-overflow > condition using a handler-case for > exactly three times : > ECL (Embeddable Common-Lisp) 13.5.1 (git:UNKNOWN) > Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya > Copyright (C) 1993 Giuseppe Attardi > Copyright (C) 2000 Juan J. Garcia-Ripoll > ECL is free software, and you are welcome to redistribute it > under certain conditions; see file 'Copyright' for details. > Type :h for Help. > Top level in: #<process TOP-LEVEL>. > > (handler-case (subtypep 'si:property-list 'condition) > (ext:stack-overflow (e) (print "Caught it."))) > > "Caught it." > "Caught it." > > (handler-case (subtypep 'si:property-list 'condition) > (ext:stack-overflow (e) (print "Caught it."))) > > "Caught it." > "Caught it." > > (handler-case (subtypep 'si:property-list 'condition) > (ext:stack-overflow (e) (print "Caught it."))) > > ;;; > ;;; Stack overflow. > ;;; Jumping to the outermost toplevel prompt > ;;; > > > Top level in: #<process TOP-LEVEL>. > > Any attempt to catch it later failed and i ended up on toplevel ... > this seems odd to me but it matches > in a strange way the fact that you may, if a stack-overflow occurs, > resize the stack two times, after that > you're put to toplevel automatically. Is there any way to get around > this? > > Thanks for any comment > ecky > > > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk > _______________________________________________ > Ecls-list mailing list > Ecls-list@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/ecls-list ------------------------------------------------------------------------------ Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk _______________________________________________ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list