From f7b5d930a9a20d710909048fbd8978edbbdaa8dd Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Mon, 5 Jul 2004 14:27:29 +0000
Subject: [PATCH] if we're in restricted mode and the filename isn't blank,
 disable tab completion at the "Write File" prompt, since we can't change the
 filename in that case; also remove an unneeded trailing space

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1842 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog   | 4 ++++
 src/files.c | 6 +++++-
 src/nano.c  | 2 +-
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 9ca165c8..9695f63b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -22,6 +22,10 @@ CVS code -
 	- For consistency with nano 1.2.x and with other editors, make
 	  the mode of newly created files 666 instead of 600 before
 	  it's modified by the umask. (DLR)
+  do_writeout()
+	- If we're in restricted mode abd the current filename isn't
+	  blank, we can't change it, so disable tab completion in that
+	  case. (DLR)
 - global.c:
   shortcut_init()
 	- Fix erroneous #ifdef so that nano compiles with
diff --git a/src/files.c b/src/files.c
index 9e109329..90db1d30 100644
--- a/src/files.c
+++ b/src/files.c
@@ -1847,7 +1847,11 @@ int do_writeout(int exiting)
 	else
 	    msg = _("File Name to Write");
 
-	i = statusq(TRUE, writefile_list,
+	/* If we're using restricted mode, the filename isn't blank,
+	 * and we're at the "Write File" prompt, disable tab
+	 * completion. */
+	i = statusq(!ISSET(RESTRICTED) || filename[0] == '\0' ? TRUE :
+		FALSE, writefile_list,
 #ifndef NANO_SMALL
 		ans, NULL, "%s%s%s", msg, formatstr, backupstr
 #else
diff --git a/src/nano.c b/src/nano.c
index 37298293..5d8f184b 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -2384,7 +2384,7 @@ void do_justify(int full_justify)
 	 * original to restore it later. */
     int allow_respacing;
 	/* Whether we should change the spacing at the end of a line
-	 * after justifying it.  This should be TRUE whenever we move 
+	 * after justifying it.  This should be TRUE whenever we move
 	 * to the next line after justifying the current line. */
 
     /* We save these global variables to be restored if the user
-- 
GitLab