Index: kernel/generic/src/debug/symtab.c
===================================================================
--- kernel/generic/src/debug/symtab.c	(revision 1e01a353860b7e227c355a8a681a76dac240bfd7)
+++ kernel/generic/src/debug/symtab.c	(revision f0d7bd959c3be29cd9d56901480b064516cd54ec)
@@ -43,4 +43,5 @@
 #include <typedefs.h>
 #include <errno.h>
+#include <console/prompt.h>
 
 /** Get name of a symbol that seems most likely to correspond to address.
@@ -232,8 +233,7 @@
 	size_t input_len = str_length(input);
 	char *sym_name;
-	char display = 'y';
 	size_t hints_to_show = MAX_TAB_HINTS - 1;
 	size_t total_hints_shown = 0;
-	char continue_showing_hints = 'y';
+	bool continue_showing_hints = true;
 	
 	output[0] = 0;
@@ -256,7 +256,9 @@
 	if (found > MAX_TAB_HINTS) {
 		printf("\nDisplay all %zu possibilities? (y or n)", found);
+		wchar_t display;
 		do {
 			display = indev_pop_character(indev);
 		} while (display != 'y' && display != 'n' && display != 'Y' && display != 'N');
+		continue_showing_hints = (display == 'y') || (display == 'Y');
 	}
 	
@@ -268,5 +270,5 @@
 			pos++;
 
-			if (display == 'y' || display == 'Y') { /* We are still showing hints */
+			if (continue_showing_hints) { /* We are still showing hints */
 				printf("%s\n", sym_name);
 				--hints_to_show;
@@ -274,26 +276,5 @@
 
 				if (hints_to_show == 0 && total_hints_shown != found) { /* Time to ask user to continue */
-					printf("--More--");
-					do {
-						continue_showing_hints = indev_pop_character(indev);
-						if (continue_showing_hints == 'y' || continue_showing_hints == 'Y'
-								|| continue_showing_hints == ' ') {
-							hints_to_show = MAX_TAB_HINTS - 1; /* Display a full page again */
-							break;
-						}
-
-						if (continue_showing_hints == 'n' || continue_showing_hints == 'N'
-								|| continue_showing_hints == 'q' || continue_showing_hints == 'Q') {
-							display = 'n'; /* Stop displaying hints */
-							break;
-						}
-
-						if (continue_showing_hints == '\n') {
-							hints_to_show = 1; /* Show one more hint */
-							break;
-						}
-					} while (1);
-
-					printf("\r         \r"); /* Delete the --More-- option */
+					continue_showing_hints = console_prompt_more_hints(indev, &hints_to_show);
 				}
 			}
