CACHE_LAST
assert(CACHE_LAST(hdp) == NULL);
if (CACHE_LAST(hdp) == cmnp) {
CACHE_LAST(hdp) = NULL;
if (!LOOKUP_CACHE(flags) || CACHE_LAST(hdp) == NULL ||
CACHE_LAST(hdp)->node == NULL) {
cnp = CACHE_LAST(hdp)->node;
if (!LOOKUP_CACHE(flags) || CACHE_LAST(hdp) == NULL) {
cmnp = CACHE_LAST(hdp);
CACHE_LAST(hdp) = cmnp;
} else if (CACHE_LAST(hdp) && CACHE_LAST(hdp)->node &&
CACHE_LAST(hdp)->node->parent == pcnp &&
CACHE_LAST(hdp)->node->sib == NULL) {
CACHE_LAST(hdp)->node->sib = cnp;