If a node's URL alias changes, any pre-existing links to the node become broken. Here's a use case using two pages:
* page 1 (node/20) is created with a URL alias of /test
* page 2 (node/21) is created, and includes a link [node:20]
At this point, page 2 includes a link to page 1 using the URL /test. If page 1 is updated and its URL alias changed to /test2, the link on page 2 is broken, since it continues to use the URL /test2.
I think the problem is that the filter cache isn't getting cleared correctly in the link_node_nodeapi function. The code currently calls cache_clear_all(null, 'cache_filter'), which only clears entries that are currently allowed to expire. This should probably call cache_clear_all('*', 'cache_filter', TRUE) instead to force the entire cache to be cleared.
Comments
Comment #1
TomChiverton commentedThank you for reporting this issue.
I assume you meant 'continues to use the URL /test'.
I will look into it as soon as I can.
Have you tried this modification yourself already ?
Comment #2
TomChiverton commentedPlease test the latest dev. release available from http://drupal.org/node/305617
Comment #3
dhauver commentedYou were indeed correct that I meant to write 'continues to use the URL /test'. I just tested out the latest dev release, and it fixes the issue. Thanks for the quick turnaround!
Comment #4
TomChiverton commentedComment #5
TomChiverton commentedv1.2 released containing this patch