Commit Diff


commit - 3ecf170abf3a0062ff745ebe29c1e18e2ef361f3
commit + acf9defe6aa430581cda55be848d06c76da738ad
blob - b5c5d74d817371346a6e8417ac61ba82031627c7
blob + ee081ceaeeaa62ce81b1bdcf488dbd0cb908c515
--- cmd.c
+++ cmd.c
@@ -995,6 +995,12 @@ cmd_reply_last_input(struct buffer *buffer)
 
 	if (current_tab->last_input_url == NULL) {
 		message("there was no previous input request in this tab");
+		return;
+	}
+
+	if (has_prefix(current_tab->last_input_url, "gopher")) {
+		load_url_in_tab(current_tab, current_tab->last_input_url,
+		    NULL, LU_MODE_NOCACHE);
 		return;
 	}
 
blob - 675bf515111430b8cf3f85838b48c092a0bafe3e
blob + cce3b0a13dbdcac30ab92ff4f795cb0eedf830ca
--- telescope.c
+++ telescope.c
@@ -808,6 +808,10 @@ load_gopher_url(struct tab *tab, const char *url)
 		parser_init(tab, gophermap_initparser);
 		break;
 	case '7':
+		free(tab->last_input_url);
+		tab->last_input_url = strdup(url);
+		if (tab->last_input_url == NULL)
+			die();
 		ui_require_input(tab, 0, ir_select_gopher);
 		return load_page_from_str(tab, err_pages[10]);
 	default: