(add_sym): Compare namespace names instead of namespace objects. This
authorChong Yidong <cyd@stupidchicken.com>
Tue, 20 Sep 2005 13:19:29 +0000 (13:19 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Tue, 20 Sep 2005 13:19:29 +0000 (13:19 +0000)
prevents the parser from incorrectly treating classes whose superclass
is in another namespace.

lib-src/ChangeLog
lib-src/ebrowse.c

index 76e56e7..7d22972 100644 (file)
@@ -1,3 +1,9 @@
+2005-09-20  Chong Yidong  <cyd@stupidchicken.com>
+
+       * ebrowse.c (add_sym): Compare namespace names instead of
+       namespace objects.  This prevents the parser from incorrectly
+       treating classes whose superclass is in another namespace.
+
 2005-09-15  Richard M. Stallman  <rms@gnu.org>
 
        * Makefile.in (update-game-score.o): New target.
index 49e353c..a9a3eb7 100644 (file)
@@ -648,7 +648,10 @@ add_sym (name, nested_in_class)
   h %= TABLE_SIZE;
 
   for (sym = class_table[h]; sym; sym = sym->next)
-    if (streq (name, sym->name) && sym->namesp == scope)
+    if (streq (name, sym->name)
+       && ((!sym->namesp && !scope)
+           || (sym->namesp && scope
+               && streq (sym->namesp->name, scope->name))))
       break;
 
   if (sym == NULL)