diff options
-rw-r--r-- | lib-src/ChangeLog | 6 | ||||
-rw-r--r-- | lib-src/ebrowse.c | 5 |
2 files changed, 10 insertions, 1 deletions
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 <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. 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) |