here is why I consider this new 'addition' as a total failure.
I'm importing a lot of C libraries and each time, I like to keep track of libraries types (C typedefs,etc..) to be consistent with the libraries documentations and samples. For instance, with the DevIL library (I'm using it just to import OpenEXR images):
Until now I had (just an excerpt with the first 5.10 encountered error):
Code: Select all
Macro ILubyte
a
EndMacro
Macro ILuint
l
EndMacro
PrototypeC.ILint fReadProc( *buf, a.ILuint, b.ILuint, hnd.ILHANDLE )
ImportC "DevIL.lib"
ilCompressDXT.i ( *data_.ILubyte, Width.ILuint, Height.ILuint, Depth.ILuint, DXTCFormat.ILenum, *DXTCSize.ILuint ) ; returns ILubyte*
EndImport
If I change:
Code: Select all
Macro ILuint
Long
EndMacro
Code: Select all
ilCompressDXT.i ( *data_.Ascii, Width.ILuint, Height.ILuint, Depth.ILuint, DXTCFormat.ILenum, *DXTCSize.Long ) ; returns ILubyte*
I have to either use PB long syntax types that can't be used on non-pointer variables, or I have to create 2 different Macros (ex: pILuint) or I have to embed the type in the pointer name..
Elegance of the previous PB versions is broken, this new 'addition' leads to messy code, and all this, just for 'confused beginners' ?!

To me this is a bug, not a technical one, but a design one.
ps: Aside from that I love everything else in the 5.10+ version. That's why I'm even more angry about this.