From iverodin at gmail.com Thu Jan 24 10:08:58 2008 From: iverodin at gmail.com (Iver Odin Kvello) Date: Thu, 24 Jan 2008 11:08:58 +0100 Subject: [rdnzl-devel] The constant *ffi-args-size* in port-acl Message-ID: I have a smallish problem with the default value of the constant *ffi-args-size* in port-acl.lisp in the distribution; this is 10 (ten) which is smaller than the number of arguments to the "Open" method of Office documents, in particular Excel (15 arguments to provide there). I tried to find out from where the restriction orginated so I could #+version it away, but I couldn't find it in the ACL documentation. Version 7.0 can handle at least 20 arguments, so this at least works: (defconstant *ffi-args-size* #+(version>= 7) 20 #-(version>= 7) 10) Does anyone know the correct limits? From edi at agharta.de Thu Jan 24 12:28:26 2008 From: edi at agharta.de (Edi Weitz) Date: Thu, 24 Jan 2008 13:28:26 +0100 Subject: [rdnzl-devel] The constant *ffi-args-size* in port-acl In-Reply-To: (Iver Odin Kvello's message of "Thu, 24 Jan 2008 11:08:58 +0100") References: Message-ID: On Thu, 24 Jan 2008 11:08:58 +0100, "Iver Odin Kvello" wrote: > I have a smallish problem with the default value of the constant > *ffi-args-size* in port-acl.lisp in the distribution; this is 10 > (ten) which is smaller than the number of arguments to the "Open" > method of Office documents, in particular Excel (15 arguments to > provide there). > > I tried to find out from where the restriction orginated so I could > #+version it away, but I couldn't find it in the ACL documentation. > Version 7.0 can handle at least 20 arguments, so this at least > works: > > (defconstant *ffi-args-size* #+(version>= 7) 20 #-(version>= 7) 10) > > Does anyone know the correct limits? I don't. I hope Charles Cox from Franz is still reading this list as he wrote that code. I see that the following form is in there: (when (> ,length ,*ffi-args-size*) (error "Need more coding here...")) Whatever that means... From cox at franz.com Thu Jan 24 13:43:49 2008 From: cox at franz.com (Charles A. Cox) Date: Thu, 24 Jan 2008 05:43:49 -0800 Subject: [rdnzl-devel] The constant *ffi-args-size* in port-acl In-Reply-To: References: Message-ID: <47989615.3020101@franz.com> Edi Weitz wrote: >> Does anyone know the correct limits? >> > > I don't. I hope Charles Cox from Franz is still reading this list as > he wrote that code. Just a quick note to say that I'm on travel this week. I don't immediately remember how the limit was picked or how much it can be increased, so I'll have to take a look at this when I get back (early next week, I hope). Charley From cox at franz.com Thu Jan 24 14:01:29 2008 From: cox at franz.com (Charles A. Cox) Date: Thu, 24 Jan 2008 06:01:29 -0800 Subject: [rdnzl-devel] The constant *ffi-args-size* in port-acl In-Reply-To: <47989615.3020101@franz.com> References: <47989615.3020101@franz.com> Message-ID: <47989A39.7090702@franz.com> Charles A. Cox wrote: > > Just a quick note to say that I'm on travel this week. I don't > immediately remember how the limit was picked or how much it can be > increased, so I'll have to take a look at this when I get back (early > next week, I hope). I managed to squeeze in a quick look at the code to remind myself what's going on. It does seem as though the limit can safely be increased to 20 (or beyond). The issue is that we are doing stack allocation at this point, which requires an array size to be known when the Lisp code is being compiled. That's the reason we specify a size at all. The actual limit value is arbitrary. It's best to keep it to a reasonably small number, though, so as not to waste stack space at runtime. The (error "Need more coding here...") was probably a note to myself that it would be nice to have a way to go beyond the limit at runtime, say, with simulated dyanamic-extent static arrays, but I seem to have left that as a lower priority task since it was easier just to increase the limit and recompile rdnzl when needed. Feel free to let me know if there are further questions. Charley From edi at agharta.de Fri Jan 25 04:20:33 2008 From: edi at agharta.de (Edi Weitz) Date: Fri, 25 Jan 2008 05:20:33 +0100 Subject: [rdnzl-devel] The constant *ffi-args-size* in port-acl In-Reply-To: <47989A39.7090702@franz.com> (Charles A. Cox's message of "Thu, 24 Jan 2008 06:01:29 -0800") References: <47989615.3020101@franz.com> <47989A39.7090702@franz.com> Message-ID: On Thu, 24 Jan 2008 06:01:29 -0800, "Charles A. Cox" wrote: > I managed to squeeze in a quick look at the code to remind myself > what's going on. It does seem as though the limit can safely be > increased to 20 (or beyond). The issue is that we are doing stack > allocation at this point, which requires an array size to be known > when the Lisp code is being compiled. That's the reason we > specify a size at all. The actual limit value is arbitrary. It's > best to keep it to a reasonably small number, though, so as not to > waste stack space at runtime. > > The (error "Need more coding here...") was probably a note to > myself that it would be nice to have a way to go beyond the limit > at runtime, say, with simulated dyanamic-extent static arrays, but > I seem to have left that as a lower priority task since it was > easier just to increase the limit and recompile rdnzl when needed. > > Feel free to let me know if there are further questions. Thanks for the info. I'll make a new release which ups the value from 10 to 20. AFAIU this should solve Iver's problem for now. Cheers, Edi. From iverodin at gmail.com Fri Jan 25 09:58:16 2008 From: iverodin at gmail.com (Iver Odin Kvello) Date: Fri, 25 Jan 2008 10:58:16 +0100 Subject: [rdnzl-devel] The constant *ffi-args-size* in port-acl In-Reply-To: References: <47989615.3020101@franz.com> <47989A39.7090702@franz.com> Message-ID: > I'll make a new release which ups the value from 10 to 20. AFAIU this > should solve Iver's problem for now. It certainly will, thank you very much. It also makes the excel.lisp example work on ACL. Regards, Iver From edi at agharta.de Sat Jan 26 22:31:04 2008 From: edi at agharta.de (Edi Weitz) Date: Sat, 26 Jan 2008 23:31:04 +0100 Subject: [rdnzl-devel] New release 0.11.2 (Was: The constant *ffi-args-size* in port-acl) In-Reply-To: (Edi Weitz's message of "Fri, 25 Jan 2008 05:20:33 +0100") References: <47989615.3020101@franz.com> <47989A39.7090702@franz.com> Message-ID: On Fri, 25 Jan 2008 05:20:33 +0100, Edi Weitz wrote: > I'll make a new release which ups the value from 10 to 20. It's online now. Cheers, Edi.