I don't recall which version of Emacs first had "go to definition", but it was well before the 90's.
was there something before etags in emacs?
I think there was a find-function key binding for lisp code before ctags, but these are very rusty bits I’m recalling.