You can't undef a typedef, but you can hack around it by #define Function
Something_Else, and then #undef Function after including the offending
header.

That said, the C++ solution is to place your own definitions into a unique
namespace.

Regards,
Elias


On 24 July 2014 18:17, Juergen Sauermann <juergen.sauerm...@t-online.de>
wrote:

>  Hi Elias,
>
> thanks. I made some changes rot readline to be more portable.
> Including the Function problem.
>
> It is really not nice to typedef a fundamental name like "Function" in a
> library
> because you can't un-typedef it (can you?). In my readline version you
> could
> prevent that by #defining_FUNCTION_DEF but in your version that seems
> not to work.
>
> Also having different return types on different platforms (like void vs.
> int for
> the hook functions) is not the most elegant way. My love for readline grows
> every day.
>
> I hope my changes solved these issues, please let me know if not. SVN 388.
>
> /// Jürgen
>
>
>
>
> On 07/24/2014 07:58 AM, Elias Mårtenson wrote:
>
> Here's a patch that fixes the readline bug that happens when readline is
> * disabled*. It also addresses the casing issue with SQL.apl.
>
>  Now, the file is called sql.apl in the source, but SQL.apl in the wslib5
> directory.
>
>  It's still not possible to build on OSX with readline enabled. This is
> because readline defines a type called Function which clashes with a GNU
> APL class of the same name. Either C++ namespaces or a rename of the class
> to, say, APLFunction would solve this.
>
>  Patch is attached.
>
>  Regards,
> Elias
>
>
>

Reply via email to