Re: [Pharo-project] NB Bug?
I've insist. Because maybe somebody else runs into this bug, and thinks that NB is broken, instead of understanding they should use new C syntax. For examples i was using the latest Pango code. If you want we could raise a warning, suggesting changing the code? (maybe too disturbing). Fernando On Wed, Dec 14, 2011 at 2:10 AM, Igor Stasenko <siguctua@gmail.com> wrote:
On 14 December 2011 01:17, Fernando Olivero <fernando.olivero@usi.ch> wrote:
Igor, is this a bug?
When parsing methods that send native functions withouth arguments , void, theres a DNU. For example in the following method:
^ self pangoCairoNbCall:#(PangoCairoFontMap pango_cairo_font_map_get_default ( void ) )
I fixed it like this:
usesMethodArguments "first check wether my single argument is void" ^(fnSpec arguments size = 1 ==> [fnSpec arguments first class ~= NBVoid]) and:[ fnSpec arguments anySatisfy: [:type | type loader usesSTStack ] ]
Well, the function signature syntax are not strictly following C. Just use empty parens for functions with no arguments. This is quite archaic C syntax, which is really not important to support.
Or i can add this patch if you insist. :)
-- Best regards, Igor Stasenko.
On 15 December 2011 00:12, Fernando Olivero <fernando.olivero@usi.ch> wrote:
I've insist.
Because maybe somebody else runs into this bug, and thinks that NB is broken, instead of understanding they should use new C syntax. For examples i was using the latest Pango code.
but this is NOT a bug. maybe a missing feature but not a bug. Is it so hard to put empty braces instead of void? :) And besides empty braces it is valid C syntax.
If you want we could raise a warning, suggesting changing the code? (maybe too disturbing).
no, i just dont understand why complicating a code for nothing? You can define a callout to functions with no arguments. If you would not be able to do so, then this can be considered a bug.
Fernando
On Wed, Dec 14, 2011 at 2:10 AM, Igor Stasenko <siguctua@gmail.com> wrote:
On 14 December 2011 01:17, Fernando Olivero <fernando.olivero@usi.ch> wrote:
Igor, is this a bug?
When parsing methods that send native functions withouth arguments , void, theres a DNU. For example in the following method:
^ self pangoCairoNbCall:#(PangoCairoFontMap pango_cairo_font_map_get_default ( void ) )
I fixed it like this:
usesMethodArguments "first check wether my single argument is void" ^(fnSpec arguments size = 1 ==> [fnSpec arguments first class ~= NBVoid]) and:[ fnSpec arguments anySatisfy: [:type | type loader usesSTStack ] ]
Well, the function signature syntax are not strictly following C. Just use empty parens for functions with no arguments. This is quite archaic C syntax, which is really not important to support.
Or i can add this patch if you insist. :)
-- Best regards, Igor Stasenko.
-- Best regards, Igor Stasenko.
participants (2)
-
Fernando Olivero -
Igor Stasenko