fixes #831 canonical changes

bad empty check, renamed to `linkcanonical`