H_PREV
direction = first < last ? H_PREV : H_NEXT;
rv = history(hist, &ev, H_PREV))
rc = history_w(hist, &ev, H_PREV))
#define HIST_PREV(el) HIST_FUN(el, H_PREV, NULL)
case H_PREV:
} while (history(h, &ev, H_PREV) == 0);
if (history(h, &ev, direction < 0 ? H_NEXT:H_PREV) != 0)
if (history(h, &ev, (pos < 0) ? H_PREV : H_NEXT) != 0)