diff --git a/src/gmnlm.c b/src/gmnlm.c
index 41284df2235e869f49e542f5e1f2dcc240deb684..756520c728baad52206866a3af64b0ffebbac3cd 100644
--- a/src/gmnlm.c
+++ b/src/gmnlm.c
@@ -59,6 +59,7 @@ "q\tQuit\n"
"N\tFollow Nth link (where N is a number)\n"
"b\tBack (in the page history)\n"
"f\tForward (in the page history)\n"
+ "H\tView all page history\n"
"m\tSave bookmark\n"
"M\tBrowse bookmarks\n"
"\n"
@@ -206,16 +207,6 @@ browser->history = browser->history->prev;
set_url(browser, browser->history->url, NULL);
result = PROMPT_ANSWERED;
goto exit;
- case 'm':
- if (in[1]) break;
- save_bookmark(browser);
- result = PROMPT_AGAIN;
- goto exit;
- case 'M':
- if (in[1]) break;
- open_bookmarks(browser);
- result = PROMPT_ANSWERED;
- goto exit;
case 'f':
if (in[1]) break;
if (!browser->history->next) {
@@ -225,6 +216,32 @@ goto exit;
}
browser->history = browser->history->next;
set_url(browser, browser->history->url, NULL);
+ result = PROMPT_ANSWERED;
+ goto exit;
+ case 'H':
+ if (in[1]) break;
+ struct history *cur = browser->history;
+ while (cur->prev) cur = cur->prev;
+ while (cur != browser->history) {
+ fprintf(browser->tty, " %s\n", cur->url);
+ cur = cur->next;
+ }
+ fprintf(browser->tty, "* %s\n", cur->url);
+ cur = cur->next;
+ while (cur) {
+ fprintf(browser->tty, " %s\n", cur->url);
+ cur = cur->next;
+ }
+ result = PROMPT_AGAIN;
+ goto exit;
+ case 'm':
+ if (in[1]) break;
+ save_bookmark(browser);
+ result = PROMPT_AGAIN;
+ goto exit;
+ case 'M':
+ if (in[1]) break;
+ open_bookmarks(browser);
result = PROMPT_ANSWERED;
goto exit;
case '/':