]> git.wh0rd.org Git - nano.git/commitdiff
Added recursive loop check
authorChris Allegretta <chrisa@asty.org>
Thu, 3 Aug 2000 16:54:11 +0000 (16:54 +0000)
committerChris Allegretta <chrisa@asty.org>
Thu, 3 Aug 2000 16:54:11 +0000 (16:54 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@156 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

14 files changed:
ChangeLog
po/de.gmo
po/de.po
po/es.gmo
po/es.po
po/fi.gmo
po/fi.po
po/fr.po
po/id.gmo
po/id.po
po/it.gmo
po/it.po
po/nano.pot
winio.c

index 7d92049c9949ea22f38a42ec9d7838a298af1be7..59945c5f8a9f4f8d7ec378b5d5d87cd2340555fa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -26,6 +26,7 @@ CVS code
        - Added check for current line "running" off the screen.
          Hopefully this will not cause any recursive lockups.
          (Who am I kidding, of course it will!)
+       - Added check to stop infinite loop calling edit_update.
   edit_update()
        - Rewritten, hopefully this will remove a lot of the
          scrolling the cursor back and forth needlessly.
index 5f3e443a423ba763237ccb7be9eab0b7a2260d13..e7d30f3e549b6d80beefad6245476eccb8cc335f 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index 42fe05ec9c77f79df7ce4603b8f230d64d3b41d5..3ed9bce92f7bcc7131f49943ee589ea185a01d75 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: nano 0.9.14pre1\n"
-"POT-Creation-Date: 2000-07-31 08:56-0400\n"
+"POT-Creation-Date: 2000-08-01 18:28-0400\n"
 "PO-Revision-Date: 2000-07-27 11:44+0200\n"
 "Last-Translator: Florian König <floki@bigfoot.com>\n"
 "Language-Team: German <floki@bigfoot.com>\n"
index ee8d002262cad5ef0d7c9b29b5ca13209a5f82d9..7c1fa0f6cd6301364f50c86777e989239aaf84f8 100644 (file)
Binary files a/po/es.gmo and b/po/es.gmo differ
index 5c39cd4e8d54e029c12e6a23add7a4232a32a554..a977d030a3a80d1da82d664e6a872369b54945ab 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: 0.9.13\n"
-"POT-Creation-Date: 2000-07-31 08:56-0400\n"
+"POT-Creation-Date: 2000-08-01 18:28-0400\n"
 "PO-Revision-Date: 2000-07-13 04:57+0200\n"
 "Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
 "Language-Team: Spanish <jordi@sindominio.net>\n"
index 47e442254586b22352e8544260298b496376cc0e..ef2e2996c667d68513fc6c13176b8448d84b8bb6 100644 (file)
Binary files a/po/fi.gmo and b/po/fi.gmo differ
index 096f4d6efda196e5e9dc8fd01b9ea5e882ba860d..d25662b24c7d9588959c0153f582fca00718d957 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: nano 0.9.11\n"
-"POT-Creation-Date: 2000-07-31 08:56-0400\n"
+"POT-Creation-Date: 2000-08-01 18:28-0400\n"
 "PO-Revision-Date: 2000-06-21 23:08+03:00\n"
 "Last-Translator: Pauli Virtanen <pauli.virtanen@saunalahti.fi>\n"
 "Language-Team: Finnish <fi@li.org>\n"
index d7d2630e42e24a12c8093dc13784d10703368966..5492ba85b45f9e8b8d7feac72ac2ee9c48da7f59 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: 0.8.9\n"
-"POT-Creation-Date: 2000-07-31 08:56-0400\n"
+"POT-Creation-Date: 2000-08-01 18:28-0400\n"
 "PO-Revision-Date: 2000-07-09 01:32+0100\n"
 "Last-Translator: Clement Laforet <sheep.killer@free.fr>\n"
 "Language-Team: French <LL@li.org>\n"
index 1a2d3f4871d564abfe9d8b21dff1156acc6d43d6..9f312a2f9e5ea9a2f5773989f88e3d6a6ab1d3de 100644 (file)
Binary files a/po/id.gmo and b/po/id.gmo differ
index 0fbb2ca78510226c2496e43b17cfe9f7ccf7c2ba..203cecda87506745dbf5605d210feeac74bea040 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: nano-0.9.10\n"
-"POT-Creation-Date: 2000-07-31 08:56-0400\n"
+"POT-Creation-Date: 2000-08-01 18:28-0400\n"
 "PO-Revision-Date: 2000-06-08 20:56+07:00\n"
 "Last-Translator: Tedi Heriyanto <tedi-h@usa.net>\n"
 "Language-Team: Indonesian <id@li.org>\n"
index 26364f5593bbcd3af43eeb7505419d3f1873ca35..521875d995eac69818139c9e683cb79a59891822 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index 11105eb0a5b2257908d0f15d0202461dfe848084..de9997e76fd624adffc22b49af2743834aefafc9 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: 0.8.7\n"
-"POT-Creation-Date: 2000-07-31 08:56-0400\n"
+"POT-Creation-Date: 2000-08-01 18:28-0400\n"
 "PO-Revision-Date: 2000-03-03 04:57+0100\n"
 "Last-Translator: Daniele Medri <madrid@linux.it>\n"
 "MIME-Version: 1.0\n"
index d42f57f027fdee10e3a42aded57823b6b0024daa..ca8eb435ac9a2bdcde12509062433e10679f0d1f 100644 (file)
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-07-31 08:56-0400\n"
+"POT-Creation-Date: 2000-08-03 12:58-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -344,7 +344,7 @@ msgid "Case Sens"
 msgstr ""
 
 #: global.c:282 global.c:301 global.c:311 global.c:327 global.c:331
-#: global.c:337 winio.c:975
+#: global.c:337 winio.c:983
 msgid "Cancel"
 msgstr ""
 
@@ -758,50 +758,50 @@ msgstr ""
 msgid "Modified"
 msgstr ""
 
-#: winio.c:891
+#: winio.c:899
 #, c-format
 msgid "Moved to (%d, %d) in edit buffer\n"
 msgstr ""
 
-#: winio.c:902
+#: winio.c:910
 #, c-format
 msgid "current->data = \"%s\"\n"
 msgstr ""
 
-#: winio.c:945
+#: winio.c:953
 #, c-format
 msgid "I got \"%s\"\n"
 msgstr ""
 
-#: winio.c:970
+#: winio.c:978
 msgid "Yes"
 msgstr ""
 
-#: winio.c:972
+#: winio.c:980
 msgid "All"
 msgstr ""
 
-#: winio.c:974
+#: winio.c:982
 msgid "No"
 msgstr ""
 
-#: winio.c:1110
+#: winio.c:1118
 #, c-format
 msgid "do_cursorpos: linepct = %f, bytepct = %f\n"
 msgstr ""
 
-#: winio.c:1114
+#: winio.c:1122
 msgid "line %d of %d (%.0f%%), character %d of %d (%.0f%%)"
 msgstr ""
 
-#: winio.c:1238
+#: winio.c:1246
 msgid "Dumping file buffer to stderr...\n"
 msgstr ""
 
-#: winio.c:1240
+#: winio.c:1248
 msgid "Dumping cutbuffer to stderr...\n"
 msgstr ""
 
-#: winio.c:1242
+#: winio.c:1250
 msgid "Dumping a buffer to stderr...\n"
 msgstr ""
diff --git a/winio.c b/winio.c
index 1a2c0e40a86b508caa6cf13740765d398c21abc9..528b90646d079b8d73260de8568c12741dc975d0 100644 (file)
--- a/winio.c
+++ b/winio.c
@@ -822,6 +822,7 @@ void center_cursor(void)
 /* Refresh the screen without changing the position of lines */
 void edit_refresh(void)
 {
+    static int noloop = 0;
     int lines = 0, i = 0, currentcheck = 0;
     filestruct *temp, *hold = current;
 
@@ -839,8 +840,15 @@ void edit_refresh(void)
        temp = temp->next;
        lines++;
     }
-    if (!currentcheck) /* Then current has run off the screen... */ 
+    /* If noloop == 1, then we already did an edit_update without finishing
+       this function.  So we don't run edit_update again */
+    if (!currentcheck && !noloop) /* Then current has run off the screen... */ 
+    {
        edit_update(current, CENTER);
+       noloop = 1;
+    }
+    else if (noloop)
+       noloop = 0;
 
     if (lines <= editwinrows - 1)
        while (lines <= editwinrows - 1) {