From: Chris Allegretta Date: Thu, 3 Aug 2000 16:54:11 +0000 (+0000) Subject: Added recursive loop check X-Git-Tag: v0.9.15~7 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=ed02216378a3ea58ac69f40ae42171656be8dd75;p=nano.git Added recursive loop check git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@156 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- diff --git a/ChangeLog b/ChangeLog index 7d92049c..59945c5f 100644 --- 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. diff --git a/po/de.gmo b/po/de.gmo index 5f3e443a..e7d30f3e 100644 Binary files a/po/de.gmo and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po index 42fe05ec..3ed9bce9 100644 --- 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 \n" "Language-Team: German \n" diff --git a/po/es.gmo b/po/es.gmo index ee8d0022..7c1fa0f6 100644 Binary files a/po/es.gmo and b/po/es.gmo differ diff --git a/po/es.po b/po/es.po index 5c39cd4e..a977d030 100644 --- 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 \n" "Language-Team: Spanish \n" diff --git a/po/fi.gmo b/po/fi.gmo index 47e44225..ef2e2996 100644 Binary files a/po/fi.gmo and b/po/fi.gmo differ diff --git a/po/fi.po b/po/fi.po index 096f4d6e..d25662b2 100644 --- 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 \n" "Language-Team: Finnish \n" diff --git a/po/fr.po b/po/fr.po index d7d2630e..5492ba85 100644 --- 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 \n" "Language-Team: French \n" diff --git a/po/id.gmo b/po/id.gmo index 1a2d3f48..9f312a2f 100644 Binary files a/po/id.gmo and b/po/id.gmo differ diff --git a/po/id.po b/po/id.po index 0fbb2ca7..203cecda 100644 --- 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 \n" "Language-Team: Indonesian \n" diff --git a/po/it.gmo b/po/it.gmo index 26364f55..521875d9 100644 Binary files a/po/it.gmo and b/po/it.gmo differ diff --git a/po/it.po b/po/it.po index 11105eb0..de9997e7 100644 --- 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 \n" "MIME-Version: 1.0\n" diff --git a/po/nano.pot b/po/nano.pot index d42f57f0..ca8eb435 100644 --- a/po/nano.pot +++ b/po/nano.pot @@ -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 \n" "Language-Team: LANGUAGE \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 1a2c0e40..528b9064 100644 --- 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) {