From 3c875f9b5905f2b9a03874d70df67bd52ac508a5 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 19 Apr 2017 13:24:41 +0200
Subject: [PATCH] tweaks: complete the exclusion of backups and such from the
 tiny version

File formats, appending and prepending, and backups are not available
when --enable-tiny is used, so prevent all relevant pieces of code from
getting compiled.  And correct two misspelled ENABLE_TINY to NANO_TINY.
---
 src/files.c  | 10 +++++-----
 src/global.c | 15 ++++++++++-----
 2 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/src/files.c b/src/files.c
index 8c4b5b83..0ea0fb60 100644
--- a/src/files.c
+++ b/src/files.c
@@ -583,7 +583,7 @@ void replace_marked_buffer(const char *filename, filestruct *top, size_t top_x,
     if (!old_no_newlines)
 	UNSET(NO_NEWLINES);
 }
-#endif /* !ENABLE_TINY */
+#endif /* !NANO_TINY */
 #endif /* !DISABLE_SPELLER */
 
 /* Update the screen to account for the current buffer. */
@@ -2200,15 +2200,15 @@ int do_writeout(bool exiting)
 	    } else if (func == backup_file_void) {
 		TOGGLE(BACKUP_FILE);
 		continue;
-	    } else
-#endif /* !NANO_TINY */
-	    if (func == prepend_void) {
+	    } else if (func == prepend_void) {
 		method = (method == PREPEND) ? OVERWRITE : PREPEND;
 		continue;
 	    } else if (func == append_void) {
 		method = (method == APPEND) ? OVERWRITE : APPEND;
 		continue;
-	    } else if (func == do_help_void) {
+	    } else
+#endif /* !NANO_TINY */
+	    if (func == do_help_void) {
 		continue;
 	    }
 
diff --git a/src/global.c b/src/global.c
index d2e5eb20..1fdbdae4 100644
--- a/src/global.c
+++ b/src/global.c
@@ -1258,19 +1258,24 @@ void shortcut_init(void)
 #endif
     if (ISSET(TEMP_FILE))
 	add_to_sclist(MWRITEFILE, "^Q", 0, discard_buffer, 0);
+#ifndef NANO_TINY
     add_to_sclist(MWRITEFILE, "M-D", 0, dos_format_void, 0);
     add_to_sclist(MWRITEFILE, "M-M", 0, mac_format_void, 0);
+    /* In restricted mode, don't allow Appending, Prepending, nor making
+     * backups, nor executing a command, nor opening a new buffer. */
     if (!ISSET(RESTRICTED)) {
-	/* Don't allow Appending, Prepending, nor Backups in restricted mode. */
 	add_to_sclist(MWRITEFILE, "M-A", 0, append_void, 0);
 	add_to_sclist(MWRITEFILE, "M-P", 0, prepend_void, 0);
 	add_to_sclist(MWRITEFILE, "M-B", 0, backup_file_void, 0);
-#ifndef DISABLE_BROWSER
-	add_to_sclist(MWRITEFILE|MINSERTFILE, "^T", 0, to_files_void, 0);
-#endif
 	add_to_sclist(MINSERTFILE|MEXTCMD, "^X", 0, flip_execute_void, 0);
 	add_to_sclist(MINSERTFILE|MEXTCMD, "M-F", 0, new_buffer_void, 0);
     }
+#endif
+#ifndef DISABLE_BROWSER
+    /* In restricted mode, don't allow entering the file browser. */
+    if (!ISSET(RESTRICTED))
+	add_to_sclist(MWRITEFILE|MINSERTFILE, "^T", 0, to_files_void, 0);
+#endif
     add_to_sclist(MHELP|MBROWSER, "^C", 0, do_exit, 0);
     /* Allow exiting from the file browser and the help viewer with
      * the same key as they were entered. */
@@ -1560,6 +1565,7 @@ sc *strtosc(const char *input)
     else if (!strcasecmp(input, "nexthistory"))
 	s->scfunc = get_history_newer_void;
 #endif
+#ifndef NANO_TINY
     else if (!strcasecmp(input, "dosformat"))
 	s->scfunc = dos_format_void;
     else if (!strcasecmp(input, "macformat"))
@@ -1570,7 +1576,6 @@ sc *strtosc(const char *input)
 	s->scfunc = prepend_void;
     else if (!strcasecmp(input, "backup"))
 	s->scfunc = backup_file_void;
-#ifndef ENABLE_TINY
     else if (!strcasecmp(input, "flipexecute"))
 	s->scfunc = flip_execute_void;
 #endif
-- 
GitLab