From d420b5a50c665f05a9bb71ffd7d31c74594683aa Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Tue, 1 Nov 2005 23:00:56 +0000
Subject: [PATCH] more function reordering, plus comment fixes

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3074 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 src/help.c   | 270 +++++++++++++++++++++++++--------------------------
 src/prompt.c |   9 +-
 src/proto.h  |   2 +-
 3 files changed, 141 insertions(+), 140 deletions(-)

diff --git a/src/help.c b/src/help.c
index e799f0c3..587d323d 100644
--- a/src/help.c
+++ b/src/help.c
@@ -34,6 +34,141 @@
 static char *help_text = NULL;
 	/* The text displayed in the help window. */
 
+/* Our dynamic, shortcut-list-compliant help function. */
+void do_help(void)
+{
+    int line = 0;
+	/* The line number in help_text of the first displayed help
+	 * line.  This variable is zero-based. */
+    bool no_more = FALSE;
+	/* no_more means the end of the help text is shown, so don't go
+	 * down any more. */
+    int kbinput = ERR;
+    bool meta_key, func_key;
+
+    bool old_no_help = ISSET(NO_HELP);
+#ifndef DISABLE_MOUSE
+    const shortcut *oldshortcut = currshortcut;
+	/* We will set currshortcut to allow clicking on the help
+	 * screen's shortcut list. */
+#endif
+
+    curs_set(0);
+    blank_edit();
+    wattroff(bottomwin, A_REVERSE);
+    blank_statusbar();
+
+    /* Set help_text as the string to display. */
+    help_init();
+
+    assert(help_text != NULL);
+
+#ifndef DISABLE_MOUSE
+    /* Set currshortcut to allow clicking on the help screen's shortcut
+     * list, after help_init() is called. */
+    currshortcut = help_list;
+#endif
+
+    if (ISSET(NO_HELP)) {
+	/* Make sure that the help screen's shortcut list will actually
+	 * be displayed. */
+	UNSET(NO_HELP);
+	window_init();
+    }
+
+    bottombars(help_list);
+
+    do {
+	int i;
+	int old_line = line;
+	    /* We redisplay the help only if it moved. */
+	const char *ptr = help_text;
+
+	switch (kbinput) {
+#ifndef DISABLE_MOUSE
+	    case KEY_MOUSE:
+		{
+		    int mouse_x, mouse_y;
+		    get_mouseinput(&mouse_x, &mouse_y, TRUE);
+		}
+		break;
+#endif
+	    case NANO_PREVPAGE_KEY:
+	    case NANO_PREVPAGE_FKEY:
+		if (line > 0) {
+		    line -= editwinrows - 2;
+		    if (line < 0)
+			line = 0;
+		}
+		break;
+	    case NANO_NEXTPAGE_KEY:
+	    case NANO_NEXTPAGE_FKEY:
+		if (!no_more)
+		    line += editwinrows - 2;
+		break;
+	    case NANO_PREVLINE_KEY:
+		if (line > 0)
+		    line--;
+		break;
+	    case NANO_NEXTLINE_KEY:
+		if (!no_more)
+		    line++;
+		break;
+	}
+
+	if (kbinput == NANO_REFRESH_KEY)
+	    total_redraw();
+	else {
+	    if (line == old_line && kbinput != ERR)
+		goto skip_redisplay;
+
+	    blank_edit();
+	}
+
+	/* Calculate where in the text we should be, based on the
+	 * page. */
+	for (i = 0; i < line; i++) {
+	    ptr += help_line_len(ptr);
+	    if (*ptr == '\n')
+		ptr++;
+	}
+
+	for (i = 0; i < editwinrows && *ptr != '\0'; i++) {
+	    size_t j = help_line_len(ptr);
+
+	    mvwaddnstr(edit, i, 0, ptr, j);
+	    ptr += j;
+	    if (*ptr == '\n')
+		ptr++;
+	}
+	no_more = (*ptr == '\0');
+
+  skip_redisplay:
+	kbinput = get_kbinput(edit, &meta_key, &func_key);
+    } while (kbinput != NANO_EXIT_KEY && kbinput != NANO_EXIT_FKEY);
+
+#ifndef DISABLE_MOUSE
+    currshortcut = oldshortcut;
+#endif
+
+    if (old_no_help) {
+	blank_bottombars();
+	wnoutrefresh(bottomwin);
+	SET(NO_HELP);
+	window_init();
+    } else
+	bottombars(currshortcut);
+
+    curs_set(1);
+    edit_refresh();
+
+    /* The help_init() at the beginning allocated help_text.  Since 
+     * help_text has now been written to the screen, we don't need it
+     * anymore. */
+    free(help_text);
+    help_text = NULL;
+}
+
 /* This function allocates help_text, and stores the help string in it. 
  * help_text should be NULL initially. */
 void help_init(void)
@@ -356,141 +491,6 @@ void help_init(void)
     assert(strlen(help_text) <= allocsize + 1);
 }
 
-/* Our dynamic, shortcut-list-compliant help function. */
-void do_help(void)
-{
-    int line = 0;
-	/* The line number in help_text of the first displayed help
-	 * line.  This variable is zero-based. */
-    bool no_more = FALSE;
-	/* no_more means the end of the help text is shown, so don't go
-	 * down any more. */
-    int kbinput = ERR;
-    bool meta_key, func_key;
-
-    bool old_no_help = ISSET(NO_HELP);
-#ifndef DISABLE_MOUSE
-    const shortcut *oldshortcut = currshortcut;
-	/* We will set currshortcut to allow clicking on the help
-	 * screen's shortcut list. */
-#endif
-
-    curs_set(0);
-    blank_edit();
-    wattroff(bottomwin, A_REVERSE);
-    blank_statusbar();
-
-    /* Set help_text as the string to display. */
-    help_init();
-
-    assert(help_text != NULL);
-
-#ifndef DISABLE_MOUSE
-    /* Set currshortcut to allow clicking on the help screen's shortcut
-     * list, after help_init() is called. */
-    currshortcut = help_list;
-#endif
-
-    if (ISSET(NO_HELP)) {
-	/* Make sure that the help screen's shortcut list will actually
-	 * be displayed. */
-	UNSET(NO_HELP);
-	window_init();
-    }
-
-    bottombars(help_list);
-
-    do {
-	int i;
-	int old_line = line;
-	    /* We redisplay the help only if it moved. */
-	const char *ptr = help_text;
-
-	switch (kbinput) {
-#ifndef DISABLE_MOUSE
-	    case KEY_MOUSE:
-		{
-		    int mouse_x, mouse_y;
-		    get_mouseinput(&mouse_x, &mouse_y, TRUE);
-		}
-		break;
-#endif
-	    case NANO_PREVPAGE_KEY:
-	    case NANO_PREVPAGE_FKEY:
-		if (line > 0) {
-		    line -= editwinrows - 2;
-		    if (line < 0)
-			line = 0;
-		}
-		break;
-	    case NANO_NEXTPAGE_KEY:
-	    case NANO_NEXTPAGE_FKEY:
-		if (!no_more)
-		    line += editwinrows - 2;
-		break;
-	    case NANO_PREVLINE_KEY:
-		if (line > 0)
-		    line--;
-		break;
-	    case NANO_NEXTLINE_KEY:
-		if (!no_more)
-		    line++;
-		break;
-	}
-
-	if (kbinput == NANO_REFRESH_KEY)
-	    total_redraw();
-	else {
-	    if (line == old_line && kbinput != ERR)
-		goto skip_redisplay;
-
-	    blank_edit();
-	}
-
-	/* Calculate where in the text we should be, based on the
-	 * page. */
-	for (i = 0; i < line; i++) {
-	    ptr += help_line_len(ptr);
-	    if (*ptr == '\n')
-		ptr++;
-	}
-
-	for (i = 0; i < editwinrows && *ptr != '\0'; i++) {
-	    size_t j = help_line_len(ptr);
-
-	    mvwaddnstr(edit, i, 0, ptr, j);
-	    ptr += j;
-	    if (*ptr == '\n')
-		ptr++;
-	}
-	no_more = (*ptr == '\0');
-
-  skip_redisplay:
-	kbinput = get_kbinput(edit, &meta_key, &func_key);
-    } while (kbinput != NANO_EXIT_KEY && kbinput != NANO_EXIT_FKEY);
-
-#ifndef DISABLE_MOUSE
-    currshortcut = oldshortcut;
-#endif
-
-    if (old_no_help) {
-	blank_bottombars();
-	wnoutrefresh(bottomwin);
-	SET(NO_HELP);
-	window_init();
-    } else
-	bottombars(currshortcut);
-
-    curs_set(1);
-    edit_refresh();
-
-    /* The help_init() at the beginning allocated help_text.  Since 
-     * help_text has now been written to the screen, we don't need it
-     * anymore. */
-    free(help_text);
-    help_text = NULL;
-}
-
 /* Calculate the next line of help_text, starting at ptr. */
 size_t help_line_len(const char *ptr)
 {
diff --git a/src/prompt.c b/src/prompt.c
index b902270d..d4961709 100644
--- a/src/prompt.c
+++ b/src/prompt.c
@@ -807,10 +807,11 @@ int nanogetstr(bool allow_tabs, const char *curranswer,
     return kbinput;
 }
 
-/* Ask a question on the statusbar.  Answer will be stored in answer
- * global.  Returns -1 on aborted enter, -2 on a blank string, and 0
- * otherwise, the valid shortcut key caught.  curranswer is any editable
- * text that we want to put up by default.
+/* Ask a question on the statusbar.  The prompt will be stored in
+ * the static prompt, which should be NULL initially, and the answer
+ * will be stored in the answer global.  Returns -1 on aborted enter, -2
+ * on a blank string, and 0 otherwise, the valid shortcut key caught.
+ * curranswer is any editable text that we want to put up by default.
  *
  * The allow_tabs parameter indicates whether we should allow tabs to be
  * interpreted. */
diff --git a/src/proto.h b/src/proto.h
index a3247cee..2db367be 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -312,8 +312,8 @@ void thanks_for_all_the_fish(void);
 
 /* Public functions in help.c. */
 #ifndef DISABLE_HELP
-void help_init(void);
 void do_help(void);
+void help_init(void);
 size_t help_line_len(const char *ptr);
 #endif
 
-- 
GitLab