<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.32.2">
</HEAD>
<BODY>
On Sun, 2011-09-04 at 16:27 +0200, walter harms wrote:<BR>
<BLOCKQUOTE TYPE=CITE>
    <TT><FONT COLOR="#3c3c3c">IMHO to have yyparse() etc. is ok. If someone complains we/you can</FONT></TT><BR>
    <TT><FONT COLOR="#3c3c3c">revert the change. cleaning up seems more important now.</FONT></TT><BR>
</BLOCKQUOTE>
I did some more searching. I found a couple of posts where name clashing did occur (not with X). Other modules in X using lex &amp; yacc are the server and apps, but this module is a library and more prone to name clashing. Looking at external symbols of X libraries, it shows that they have a prefix, for example, Xaw. In fact, a prefix for libraries external symbols is a GNU coding standard.<BR>
<BR>
One thing I don't know is if these yy* symbols should be external symbols or not. If yes, they should have an Xaw3d prefix, otherwise they should be made invisible. I don't know if this would be possible, however.<BR>
<BLOCKQUOTE TYPE=CITE>
    <BR>
    <TT><FONT COLOR="#3c3c3c">What confuses me is why does it come up here (Layout.c)</FONT></TT><BR>
    <TT><FONT COLOR="#3c3c3c">I would expect it with Layout.h</FONT></TT><BR>
    <BR>
    <BR>
</BLOCKQUOTE>
Maybe because the author did not want those to be in the public headers space (include/X11/Xaw3d/Layout.h).
</BODY>
</HTML>