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 > > >