From 530c7862c9d594e8d070ea62daa777d840b3ee1d Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 25 Nov 2015 10:11:54 +0000
Subject: [PATCH] Handling more internal errors, and doing it correctly:
 showing it directly on the statusbar instead of as an undid or redid message.

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

diff --git a/ChangeLog b/ChangeLog
index 493ce6a2..7a38ada6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,8 @@
 	occur, instead of silently continuing.
 	* src/text.c (do_undo): Elide an unneeded variable, and don't skip
 	the end of this function when things went wrong.
+	* src/text.c (do_undo, do_redo, add_undo, update_undo): Handle more
+	possible internal errors, and do it correctly.
 
 2015-11-24  Benno Schulenberg  <bensberg@justemail.net>
 	* doc/syntax/makefile.nanorc: Also recognize the extensions .make and
diff --git a/src/text.c b/src/text.c
index fb863149..3e6e75cf 100644
--- a/src/text.c
+++ b/src/text.c
@@ -605,7 +605,7 @@ void do_undo(void)
 	f->data = data;
 	break;
     default:
-	undidmsg = _("Internal error: unknown type.  Please save your work.");
+	statusbar(_("Internal error: unknown type.  Please save your work."));
 	break;
     }
 
@@ -735,7 +735,7 @@ void do_redo(void)
 	u->cutbuffer = NULL;
 	break;
     default:
-	redidmsg = _("Internal error: unknown type.  Please save your work.");
+	statusbar(_("Internal error: unknown type.  Please save your work."));
 	break;
     }
 
@@ -1021,7 +1021,7 @@ void add_undo(undo_type action)
 	break;
     case ENTER:
 	break;
-    case OTHER:
+    default:
 	statusbar(_("Internal error: unknown type.  Please save your work."));
 	break;
     }
@@ -1160,7 +1160,9 @@ fprintf(stderr, "  >> Updating... action = %d, openfile->last_action = %d, openf
 #endif
     case JOIN:
 	/* These cases are handled by the earlier check for a new line and action. */
-    case OTHER:
+	break;
+    default:
+	statusbar(_("Internal error: unknown type.  Please save your work."));
 	break;
     }
 
-- 
GitLab