From 41ea4df8c30cb9c1c7254188c5aa812d9875f383 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 20 Sep 2005 13:19:29 +0000 Subject: [PATCH] (add_sym): Compare namespace names instead of namespace objects. This prevents the parser from incorrectly treating classes whose superclass is in another namespace. --- lib-src/ChangeLog | 6 ++++++ lib-src/ebrowse.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 76e56e77e16..7d22972794f 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,9 @@ +2005-09-20 Chong Yidong + + * 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 * Makefile.in (update-game-score.o): New target. diff --git a/lib-src/ebrowse.c b/lib-src/ebrowse.c index 49e353cf536..a9a3eb78442 100644 --- a/lib-src/ebrowse.c +++ b/lib-src/ebrowse.c @@ -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)