changeset 65626:69a9e146ef35

(add_sym): Compare namespace names instead of namespace objects. This prevents the parser from incorrectly treating classes whose superclass is in another namespace.
author Chong Yidong <cyd@stupidchicken.com>
date Tue, 20 Sep 2005 13:19:29 +0000
parents 348c05075334
children 511f8e9d22ca
files lib-src/ChangeLog lib-src/ebrowse.c
diffstat 2 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lib-src/ChangeLog	Tue Sep 20 08:05:56 2005 +0000
+++ b/lib-src/ChangeLog	Tue Sep 20 13:19:29 2005 +0000
@@ -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.
--- a/lib-src/ebrowse.c	Tue Sep 20 08:05:56 2005 +0000
+++ b/lib-src/ebrowse.c	Tue Sep 20 13:19:29 2005 +0000
@@ -648,7 +648,10 @@
   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)