Add location of overridden def in warning message

When a def is overridden (for example because it had multiple clauses and a different def was put between two clauses) it would be nice to have the location of the original def as well, not just the location of the redefined def. This adds
the original def's filename and line number in the format suggested by #1559.

One potential problem with the patch as is is that the filename is an absolute path, so it could be a bit long.