change references to "open files" to "open file buffers" for
consistency, and add DB's changes to die() so that it works properly
with the overhauled multibuffer routines


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2153 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
diff --git a/ChangeLog b/ChangeLog
index 081efd7..0f5cfd1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -26,6 +26,8 @@
 	  free_filestruct(); removal of open_prevfile() and
 	  open_nextfile(). (David Benbennick, minor tweaks and additions
 	  by DLR)
+	- Change references to "open files" to "open file buffers", for
+	  consistency. (DLR)
 - cut.c:
   do_cut_text()
 	- If keep_cutbuffer is FALSE, only blow away the text in the
diff --git a/src/files.c b/src/files.c
index 29c6b52..e725dc2 100644
--- a/src/files.c
+++ b/src/files.c
@@ -823,7 +823,7 @@
 }
 
 /* Read the current entry in the open_files structure and set up the
- * currently open file using that entry's information. */
+ * currently open file buffer using that entry's information. */
 void load_open_file(void)
 {
     assert(open_files != NULL);
@@ -887,17 +887,17 @@
     titlebar(NULL);
 }
 
-/* Open either the next or previous file. */
+/* Open either the next or previous file buffer. */
 void open_prevnext_file(bool next)
 {
     add_open_file(TRUE);
 
     assert(open_files != NULL);
 
-    /* If only one file is open, indicate it on the statusbar and get
-     * out. */
+    /* If only one file buffer is open, indicate it on the statusbar and
+     * get out. */
     if (open_files == open_files->next) {
-	statusbar(_("No more open files"));
+	statusbar(_("No more open file buffers"));
 	return;
     }
 
@@ -938,7 +938,7 @@
 
 /* Delete an entry from the open_files filestruct.  After deletion of an
  * entry, the next entry is opened.  Return TRUE on success or FALSE if
- * there are no more open files. */
+ * there are no more open file buffers. */
 bool close_open_file(void)
 {
     assert(open_files != NULL);
diff --git a/src/global.c b/src/global.c
index 179406a..dd9c2ad 100644
--- a/src/global.c
+++ b/src/global.c
@@ -70,7 +70,8 @@
 				   file struct */
 
 #ifdef ENABLE_MULTIBUFFER
-openfilestruct *open_files = NULL;	/* The list of open files */
+openfilestruct *open_files = NULL;	/* The list of open file
+					   buffers */
 #endif
 
 #if !defined(NANO_SMALL) && defined(ENABLE_NANORC)
diff --git a/src/nano.c b/src/nano.c
index 0b386c2..566b8a6 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -124,41 +124,32 @@
     vfprintf(stderr, msg, ap);
     va_end(ap);
 
-    /* save the currently loaded file if it's been modified */
+    /* Save the current file buffer if it's been modified. */
     if (ISSET(MODIFIED))
 	die_save_file(filename);
 
 #ifdef ENABLE_MULTIBUFFER
-    /* then save all of the other modified loaded files, if any */
+    /* Save all of the other modified file buffers, if any. */
     if (open_files != NULL) {
-	openfilestruct *tmp;
+	openfilestruct *tmp = open_files;
 
-	tmp = open_files;
+	while (tmp != open_files->next) {
+	    open_files = open_files->next;
 
-	while (open_files->prev != NULL)
-	    open_files = open_files->prev;
-
-	while (open_files->next != NULL) {
-
-	    /* if we already saved the file above (i.e, if it was the
-	       currently loaded file), don't save it again */
-	    if (tmp != open_files) {
-		/* make sure open_files->fileage and fileage, and
-		   open_files->filebot and filebot, are in sync; they
-		   might not be if lines have been cut from the top or
-		   bottom of the file */
+	    /* Save the current file buffer if it's been modified. */
+	    if (open_files->flags & MODIFIED) {
+		/* Set fileage and filebot to match the current file
+		 * buffer, and then write it to disk. */
 		fileage = open_files->fileage;
 		filebot = open_files->filebot;
-		/* save the file if it's been modified */
-		if (open_files->flags & MODIFIED)
-		    die_save_file(open_files->filename);
+		die_save_file(open_files->filename);
 	    }
-	    open_files = open_files->next;
 	}
     }
 #endif
 
-    exit(1); /* We have a problem: exit w/ errorlevel(1) */
+    /* Get out. */
+    exit(1);
 }
 
 void die_save_file(const char *die_filename)
@@ -3125,7 +3116,7 @@
 
     if (i == 0 || (i == 1 && do_writeout(TRUE) > 0)) {
 #ifdef ENABLE_MULTIBUFFER
-	/* Exit only if there are no more open buffers. */
+	/* Exit only if there are no more open file buffers. */
 	if (!close_open_file())
 #endif
 	    finish();