From 9fc8d43a82020b905a515287bc04bfc771d1aed2 Mon Sep 17 00:00:00 2001
From: Chris Allegretta <chrisa@asty.org>
Date: Fri, 7 Jul 2000 01:49:52 +0000
Subject: [PATCH] New regexp search feature by Bill Soudan

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@78 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog       |   6 +-
 global.c        |   6 +
 nano.1          |   4 +
 nano.c          |  11 +-
 nano.h          |   3 +-
 po/cat-id-tbl.c | 180 +++++++++++++++---------------
 po/de.gmo       | Bin 15478 -> 15478 bytes
 po/de.po        | 112 +++++++++----------
 po/es.gmo       | Bin 15665 -> 15627 bytes
 po/es.po        | 110 +++++++++---------
 po/fi.gmo       | Bin 15186 -> 15148 bytes
 po/fi.po        | 110 +++++++++---------
 po/fr.po        | 112 +++++++++----------
 po/id.gmo       | Bin 14950 -> 14913 bytes
 po/id.po        | 110 +++++++++---------
 po/it.gmo       | Bin 13146 -> 13146 bytes
 po/it.po        | 112 +++++++++----------
 po/nano.pot     | 290 +++++++++++++++++++++++++-----------------------
 proto.h         |   4 +
 search.c        | 173 +++++++++++++++++++++++++----
 utils.c         |   7 +-
 21 files changed, 758 insertions(+), 592 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4775efe2..4129ed21 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
-CVS code changes since last release -
+CVS code changes since last release -	
 - all:
+	- New regexp search feature by Bill Soudan.  New flags USE_REGEXP
+	  and REGEXP_COMPILED, new functions regexp_init, regexp_cleanup
+	  replace_line, replace_regexp in search.c, changes to
+	  search_init() and do_replace() and strstrwrapper().
 	- Made search functions & keys more like Pico.  Added goto line from  
 	  search and replace function, changed wording to "No Replace" instead
 	  of "To Search", "To Replace" to simply "Replace", and changed to
diff --git a/global.c b/global.c
index 4e89bf7b..483c29c2 100644
--- a/global.c
+++ b/global.c
@@ -76,6 +76,12 @@ shortcut writefile_list[WRITEFILE_LIST_LEN];
 shortcut help_list[HELP_LIST_LEN];
 shortcut spell_list[SPELL_LIST_LEN];
 
+/* Regular expressions */
+
+regex_t search_regexp;          /* Global to store compiled search regexp */
+regmatch_t regmatches[10];      /* Match positions for parenthetical
+                                   subexpressions, max of 10 */ 
+
 /* Initialize a struct *without* our lovely braces =( */
 void sc_init_one(shortcut * s, int key, char *desc, char *help, int alt,
 		 int misc1, int misc2, int view, int (*func) (void))
diff --git a/nano.1 b/nano.1
index 06d9c723..65e3fd14 100644
--- a/nano.1
+++ b/nano.1
@@ -42,6 +42,10 @@ number".
 .B \-T (\-\-tabsize)
 Set the size (width) of a tab, if supported by your curses library.
 .TP
+.B \-R (\-\-regexp)
+Enable regular expression matching for search strings, as well as
+\\n subexpression replacement for replace strings.
+.TP
 .B \-V (\-\-version)
 Show the current version number and author.
 .TP
diff --git a/nano.c b/nano.c
index ef15ac71..d6b43bf5 100644
--- a/nano.c
+++ b/nano.c
@@ -312,6 +312,8 @@ void usage(void)
     printf(_
 	   (" -T 		--tabsize=[num]		Set width of a tab to num\n"));
 #endif
+    printf(_
+         (" -R		--regexp		Use regular expressions for search\n"));
     printf
 	(_
 	 (" -V 		--version		Print version information and exit\n"));
@@ -353,6 +355,7 @@ void usage(void)
 #ifdef HAVE_TABSIZE
     printf(_(" -T [num]	Set width of a tab to num\n"));
 #endif
+    printf(_(" -R		Use regular expressions for search\n"));
     printf(_(" -V 		Print version information and exit\n"));
     printf(_(" -c 		Constantly show cursor position\n"));
     printf(_(" -h 		Show this message\n"));
@@ -1528,6 +1531,7 @@ int main(int argc, char *argv[])
 #ifdef HAVE_GETOPT_LONG
     int option_index = 0;
     struct option long_options[] = {
+        {"regexp", 0, 0, 'R'},
 	{"version", 0, 0, 'V'},
 	{"const", 0, 0, 'c'},
 	{"suspend", 0, 0, 'z'},
@@ -1558,10 +1562,10 @@ int main(int argc, char *argv[])
 #endif
 
 #ifdef HAVE_GETOPT_LONG
-    while ((optchr = getopt_long(argc, argv, "?T:Vchilmpr:s:tvwxz",
+    while ((optchr = getopt_long(argc, argv, "?T:RVchilmpr:s:tvwxz",
 				 long_options, &option_index)) != EOF) {
 #else
-    while ((optchr = getopt(argc, argv, "h?T:Vcilmpr:s:tvwxz")) != EOF) {
+    while ((optchr = getopt(argc, argv, "h?T:RVcilmpr:s:tvwxz")) != EOF) {
 #endif
 
 	switch (optchr) {
@@ -1578,6 +1582,9 @@ int main(int argc, char *argv[])
 	    usage();		/* Oops!  You dont really have that option */
 	    finish(1);
 #endif
+	case 'R':
+	    SET(USE_REGEXP);
+	    break;
 	case 'V':
 	    version();
 	    exit(0);
diff --git a/nano.h b/nano.h
index 03461912..802f97d8 100644
--- a/nano.h
+++ b/nano.h
@@ -102,7 +102,8 @@ typedef struct shortcut {
 #define SAMELINEWRAP		(1<<11)
 #define VIEW_MODE		(1<<12)
 #define USE_MOUSE		(1<<13)
-
+#define USE_REGEXP              (1<<14)
+#define REGEXP_COMPILED         (1<<15)
 
 /* Control key sequences, chaning these would be very very bad */
 
diff --git a/po/cat-id-tbl.c b/po/cat-id-tbl.c
index ae51401a..b560aadb 100644
--- a/po/cat-id-tbl.c
+++ b/po/cat-id-tbl.c
@@ -116,96 +116,100 @@ Usage: nano [GNU long option] [option] +LINE <file>\n\
 \n", 88},
   {"Option\t\tLong option\t\tMeaning\n", 89},
   {" -T \t\t--tabsize=[num]\t\tSet width of a tab to num\n", 90},
-  {" -V \t\t--version\t\tPrint version information and exit\n", 91},
-  {" -c \t\t--const\t\t\tConstantly show cursor position\n", 92},
-  {" -h \t\t--help\t\t\tShow this message\n", 93},
-  {" -i \t\t--autoindent\t\tAutomatically indent new lines\n", 94},
-  {" -l \t\t--nofollow\t\tDon't follow symbolic links, overwrite.\n", 95},
-  {" -m \t\t--mouse\t\t\tEnable mouse\n", 96},
+  {" -R\t\t--regexp\t\tUse regular expressions for search\n", 91},
+  {" -V \t\t--version\t\tPrint version information and exit\n", 92},
+  {" -c \t\t--const\t\t\tConstantly show cursor position\n", 93},
+  {" -h \t\t--help\t\t\tShow this message\n", 94},
+  {" -i \t\t--autoindent\t\tAutomatically indent new lines\n", 95},
+  {" -l \t\t--nofollow\t\tDon't follow symbolic links, overwrite.\n", 96},
+  {" -m \t\t--mouse\t\t\tEnable mouse\n", 97},
   {"\
- -r [#cols] \t--fill=[#cols]\t\tSet fill cols to (wrap lines at) #cols\n", 97},
-  {" -p\t \t--pico\t\t\tMake bottom 2 lines more Pico-like\n", 98},
-  {" -s [prog] \t--speller=[prog]\tEnable alternate speller\n", 99},
-  {" -t \t\t--tempfile\t\tAuto save on exit, don't prompt\n", 100},
-  {" -v \t\t--view\t\t\tView (read only) mode\n", 101},
-  {" -w \t\t--nowrap\t\tDon't wrap long lines\n", 102},
-  {" -x \t\t--nohelp\t\tDon't show help window\n", 103},
-  {" -z \t\t--suspend\t\tEnable suspend\n", 104},
-  {" +LINE\t\t\t\t\tStart at line number LINE\n", 105},
+ -r [#cols] \t--fill=[#cols]\t\tSet fill cols to (wrap lines at) #cols\n", 98},
+  {" -p\t \t--pico\t\t\tMake bottom 2 lines more Pico-like\n", 99},
+  {" -s [prog] \t--speller=[prog]\tEnable alternate speller\n", 100},
+  {" -t \t\t--tempfile\t\tAuto save on exit, don't prompt\n", 101},
+  {" -v \t\t--view\t\t\tView (read only) mode\n", 102},
+  {" -w \t\t--nowrap\t\tDon't wrap long lines\n", 103},
+  {" -x \t\t--nohelp\t\tDon't show help window\n", 104},
+  {" -z \t\t--suspend\t\tEnable suspend\n", 105},
+  {" +LINE\t\t\t\t\tStart at line number LINE\n", 106},
   {"\
 Usage: nano [option] +LINE <file>\n\
-\n", 106},
-  {"Option\t\tMeaning\n", 107},
-  {" -T [num]\tSet width of a tab to num\n", 108},
-  {" -V \t\tPrint version information and exit\n", 109},
-  {" -c \t\tConstantly show cursor position\n", 110},
-  {" -h \t\tShow this message\n", 111},
-  {" -i \t\tAutomatically indent new lines\n", 112},
-  {" -l \t\tDon't follow symbolic links, overwrite.\n", 113},
-  {" -m \t\tEnable mouse\n", 114},
-  {" -r [#cols] \tSet fill cols to (wrap lines at) #cols\n", 115},
-  {" -s [prog]  \tEnable alternate speller\n", 116},
-  {" -p \t\tMake bottom 2 lines more Pico-like\n", 117},
-  {" -t \t\tAuto save on exit, don't prompt\n", 118},
-  {" -v \t\tView (read only) mode\n", 119},
-  {" -w \t\tDon't wrap long lines\n", 120},
-  {" -x \t\tDon't show help window\n", 121},
-  {" -z \t\tEnable suspend\n", 122},
-  {" +LINE\t\tStart at line number LINE\n", 123},
-  {" nano version %s by Chris Allegretta (compiled %s, %s)\n", 124},
-  {" Email: nano@asty.org\tWeb: http://www.asty.org/nano\n", 125},
-  {"Mark Set", 126},
-  {"Mark UNset", 127},
-  {"check_wrap called with inptr->data=\"%s\"\n", 128},
-  {"current->data now = \"%s\"\n", 129},
-  {"After, data = \"%s\"\n", 130},
-  {"Error deleting tempfile, ack!", 131},
-  {"Could not create a temporary filename: %s", 132},
-  {"Could not invoke spell program \"%s\"", 133},
-  {"Could not invoke \"ispell\"", 134},
-  {"Finished checking spelling", 135},
-  {"Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? ", 136},
-  {"Cannot resize top win", 137},
-  {"Cannot move top win", 138},
-  {"Cannot resize edit win", 139},
-  {"Cannot move edit win", 140},
-  {"Cannot resize bottom win", 141},
-  {"Cannot move bottom win", 142},
-  {"Main: set up windows\n", 143},
-  {"Main: bottom win\n", 144},
-  {"Main: open file\n", 145},
-  {"I got Alt-[-%c! (%d)\n", 146},
-  {"I got Alt-%c! (%d)\n", 147},
-  {"Case Sensitive Search%s", 148},
-  {"Search%s", 149},
-  {"Search Cancelled", 150},
-  {"Search Wrapped", 151},
-  {"Replaced %d occurences", 152},
-  {"Replaced 1 occurence", 153},
-  {"Replace Cancelled", 154},
-  {"Replace with [%s]", 155},
-  {"Replace with", 156},
-  {"Replace this instance?", 157},
-  {"Enter line number", 158},
-  {"Aborted", 159},
-  {"Come on, be reasonable", 160},
-  {"Only %d lines available, skipping to last line", 161},
-  {"actual_x_from_start for xplus=%d returned %d\n", 162},
-  {"input '%c' (%d)\n", 163},
-  {"New Buffer", 164},
-  {"  File: ...", 165},
-  {"Modified", 166},
-  {"Moved to (%d, %d) in edit buffer\n", 167},
-  {"current->data = \"%s\"\n", 168},
-  {"I got \"%s\"\n", 169},
-  {"Yes", 170},
-  {"All", 171},
-  {"No", 172},
-  {"do_cursorpos: linepct = %f, bytepct = %f\n", 173},
-  {"line %d of %d (%.0f%%), character %d of %d (%.0f%%)", 174},
-  {"Dumping file buffer to stderr...\n", 175},
-  {"Dumping cutbuffer to stderr...\n", 176},
-  {"Dumping a buffer to stderr...\n", 177},
+\n", 107},
+  {"Option\t\tMeaning\n", 108},
+  {" -T [num]\tSet width of a tab to num\n", 109},
+  {" -R\t\tUse regular expressions for search\n", 110},
+  {" -V \t\tPrint version information and exit\n", 111},
+  {" -c \t\tConstantly show cursor position\n", 112},
+  {" -h \t\tShow this message\n", 113},
+  {" -i \t\tAutomatically indent new lines\n", 114},
+  {" -l \t\tDon't follow symbolic links, overwrite.\n", 115},
+  {" -m \t\tEnable mouse\n", 116},
+  {" -r [#cols] \tSet fill cols to (wrap lines at) #cols\n", 117},
+  {" -s [prog]  \tEnable alternate speller\n", 118},
+  {" -p \t\tMake bottom 2 lines more Pico-like\n", 119},
+  {" -t \t\tAuto save on exit, don't prompt\n", 120},
+  {" -v \t\tView (read only) mode\n", 121},
+  {" -w \t\tDon't wrap long lines\n", 122},
+  {" -x \t\tDon't show help window\n", 123},
+  {" -z \t\tEnable suspend\n", 124},
+  {" +LINE\t\tStart at line number LINE\n", 125},
+  {" nano version %s by Chris Allegretta (compiled %s, %s)\n", 126},
+  {" Email: nano@asty.org\tWeb: http://www.asty.org/nano\n", 127},
+  {"Mark Set", 128},
+  {"Mark UNset", 129},
+  {"check_wrap called with inptr->data=\"%s\"\n", 130},
+  {"current->data now = \"%s\"\n", 131},
+  {"After, data = \"%s\"\n", 132},
+  {"Error deleting tempfile, ack!", 133},
+  {"Could not create a temporary filename: %s", 134},
+  {"Could not invoke spell program \"%s\"", 135},
+  {"Could not invoke \"ispell\"", 136},
+  {"Finished checking spelling", 137},
+  {"Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? ", 138},
+  {"Cannot resize top win", 139},
+  {"Cannot move top win", 140},
+  {"Cannot resize edit win", 141},
+  {"Cannot move edit win", 142},
+  {"Cannot resize bottom win", 143},
+  {"Cannot move bottom win", 144},
+  {"Main: set up windows\n", 145},
+  {"Main: bottom win\n", 146},
+  {"Main: open file\n", 147},
+  {"I got Alt-[-%c! (%d)\n", 148},
+  {"I got Alt-%c! (%d)\n", 149},
+  {"Case Sensitive Regexp Search%s", 150},
+  {"Regexp Search%s", 151},
+  {"Case Sensitive Search%s", 152},
+  {"Search%s", 153},
+  {"Search Cancelled", 154},
+  {"Search Wrapped", 155},
+  {"Replaced %d occurences", 156},
+  {"Replaced 1 occurence", 157},
+  {"Replace Cancelled", 158},
+  {"Replace with [%s]", 159},
+  {"Replace with", 160},
+  {"Replace this instance?", 161},
+  {"Enter line number", 162},
+  {"Aborted", 163},
+  {"Come on, be reasonable", 164},
+  {"Only %d lines available, skipping to last line", 165},
+  {"actual_x_from_start for xplus=%d returned %d\n", 166},
+  {"input '%c' (%d)\n", 167},
+  {"New Buffer", 168},
+  {"  File: ...", 169},
+  {"Modified", 170},
+  {"Moved to (%d, %d) in edit buffer\n", 171},
+  {"current->data = \"%s\"\n", 172},
+  {"I got \"%s\"\n", 173},
+  {"Yes", 174},
+  {"All", 175},
+  {"No", 176},
+  {"do_cursorpos: linepct = %f, bytepct = %f\n", 177},
+  {"line %d of %d (%.0f%%), character %d of %d (%.0f%%)", 178},
+  {"Dumping file buffer to stderr...\n", 179},
+  {"Dumping cutbuffer to stderr...\n", 180},
+  {"Dumping a buffer to stderr...\n", 181},
 };
 
-int _msg_tbl_length = 177;
+int _msg_tbl_length = 181;
diff --git a/po/de.gmo b/po/de.gmo
index 2f4c56f8dabf4ddb873fb4715a798724f7a95f45..2b744132d5330a6424249f0c7d224a2a35620b02 100644
GIT binary patch
delta 23
fcmexX@vUOR9%U|bT>~=(LklYtqs_;ZH%I^gcoPWC

delta 23
fcmexX@vUOR9%U{wT_XzxBSR}gi_OQBH%I^gcn}E9

diff --git a/po/de.po b/po/de.po
index dc0c430d..913ecc40 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: nano 0.9.11\n"
-"POT-Creation-Date: 2000-06-28 21:18-0400\n"
+"POT-Creation-Date: 2000-07-06 18:42-0400\n"
 "PO-Revision-Date: 2000-06-21 12:19+0200\n"
 "Last-Translator: Florian König <floki@bigfoot.com>\n"
 "Language-Team: German <floki@bigfoot.com>\n"
@@ -27,83 +27,83 @@ msgstr "Inhalt der Zwischenablage verworfen\n"
 msgid "read_line: not on first line and prev is NULL"
 msgstr "read_line: nicht in der ersten Zeile und prev ist NULL"
 
-#: files.c:180 files.c:193
+#: files.c:180 files.c:197
 #, c-format
 msgid "Read %d lines"
 msgstr "%d Zeilen gelesen"
 
-#: files.c:211 search.c:129 search.c:147
+#: files.c:215 search.c:129 search.c:147
 #, c-format
 msgid "\"%s\" not found"
 msgstr "\"%s\" nicht gefunden"
 
 #. We have a new file
-#: files.c:215
+#: files.c:219
 msgid "New File"
 msgstr "Neue Datei"
 
-#: files.c:224
+#: files.c:228
 #, c-format
 msgid "File \"%s\" is a directory"
 msgstr "Datei \"%s\" ist ein Verzeichnis"
 
-#: files.c:229
+#: files.c:233
 msgid "Reading File"
 msgstr "Lese Datei"
 
-#: files.c:242
+#: files.c:246
 msgid "File to insert [from ./] "
 msgstr "Datei zum Einfügen [von ./] "
 
-#: files.c:270 files.c:294 files.c:458 nano.c:1165
+#: files.c:271 files.c:295 files.c:462 nano.c:1130
 msgid "Cancelled"
 msgstr "Abgebrochen"
 
-#: files.c:306 files.c:322 files.c:334 files.c:351 files.c:357
+#: files.c:307 files.c:323 files.c:338 files.c:355 files.c:361
 #, c-format
 msgid "Could not open file for writing: %s"
 msgstr "Konnte nicht in Datei schreiben: %s"
 
-#: files.c:314
+#: files.c:315
 msgid "Could not open file: Path length exceeded."
 msgstr "Konnte Datei nicht öffnen: Pfad zu lang."
 
-#: files.c:339
+#: files.c:343
 #, c-format
 msgid "Wrote >%s\n"
 msgstr "Schrieb >%s\n"
 
-#: files.c:366
+#: files.c:370
 #, c-format
 msgid "Could not close %s: %s"
 msgstr "Konnte %s nicht schließen: %s"
 
 #. Try a rename??
-#: files.c:387 files.c:398 files.c:403
+#: files.c:391 files.c:402 files.c:407
 #, c-format
 msgid "Could not open %s for writing: %s"
 msgstr "Konnte nicht in %s schreiben: %s"
 
-#: files.c:409
+#: files.c:413
 #, c-format
 msgid "Could not set permissions %o on %s: %s"
 msgstr "Konnte Rechte %o für %s nicht setzen: %s"
 
-#: files.c:416
+#: files.c:420
 #, c-format
 msgid "Wrote %d lines"
 msgstr "%d Zeilen geschrieben"
 
-#: files.c:437
+#: files.c:441
 msgid "File Name to write"
 msgstr "Dateiname zum Speichern"
 
-#: files.c:442
+#: files.c:446
 #, c-format
 msgid "filename is %s"
 msgstr "Dateiname ist %s"
 
-#: files.c:447
+#: files.c:451
 msgid "File exists, OVERWRITE ?"
 msgstr "Datei exisitiert, ÜBERSCHREIBEN ?"
 
@@ -248,7 +248,7 @@ msgstr "Zu Zeile"
 msgid "Justify"
 msgstr "Ausrichten"
 
-#: global.c:169 global.c:240
+#: global.c:169 global.c:240 global.c:270
 msgid "Replace"
 msgstr "Ersetzen"
 
@@ -344,18 +344,12 @@ msgstr "Letzte Zeile"
 msgid "Case Sens"
 msgstr "GROSZ/klein"
 
-#: global.c:270
-#, fuzzy
-msgid "To Replace"
-msgstr "Ersetzen"
-
 #: global.c:276 global.c:295 global.c:305 global.c:321 global.c:325
-#: global.c:331 winio.c:969
+#: global.c:331 winio.c:963
 msgid "Cancel"
 msgstr "Abbrechen"
 
 #: global.c:289
-#, fuzzy
 msgid "No Replace"
 msgstr ""
 
@@ -590,90 +584,90 @@ msgstr "Markierung gesetzt"
 msgid "Mark UNset"
 msgstr "Markierung gelöscht"
 
-#: nano.c:847
+#: nano.c:857
 #, c-format
 msgid "check_wrap called with inptr->data=\"%s\"\n"
 msgstr "check_wrap aufgerufen mit inptr->data=\"%s\"\n"
 
-#: nano.c:925
+#: nano.c:917
 #, c-format
 msgid "current->data now = \"%s\"\n"
 msgstr "current->data jetzt = \"%s\"\n"
 
-#: nano.c:969
+#: nano.c:970
 #, c-format
 msgid "After, data = \"%s\"\n"
 msgstr "Nachher, data = \"%s\"\n"
 
-#: nano.c:1032
+#: nano.c:1040
 msgid "Error deleting tempfile, ack!"
 msgstr "Konnte temporäre Datei nicht löschen"
 
-#: nano.c:1045 nano.c:1095
+#: nano.c:1057
 #, c-format
 msgid "Could not create a temporary filename: %s"
 msgstr "Konnte keine temporäre Datei erzeugen: %s"
 
-#: nano.c:1067 nano.c:1117
+#: nano.c:1081
 #, c-format
 msgid "Could not invoke spell program \"%s\""
 msgstr "Konnte Rechtschreibprogramm \"%s\" nicht aufrufen"
 
 #. Why 32512? I dont know!
-#: nano.c:1073 nano.c:1123
+#: nano.c:1087
 msgid "Could not invoke \"ispell\""
 msgstr "Konnte \"ispell\" nicht aufrufen"
 
-#: nano.c:1085 nano.c:1135
+#: nano.c:1099
 msgid "Finished checking spelling"
 msgstr "Rechtschreibprüfung abgeschlossen"
 
-#: nano.c:1152
+#: nano.c:1117
 msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? "
 msgstr "Veränderten Puffer speichern (\"Nein\" verwirft die Änderungen) ? "
 
-#: nano.c:1275
+#: nano.c:1240
 msgid "Cannot resize top win"
 msgstr "Kann die Größe des oberen Fensters nicht verändern"
 
-#: nano.c:1277
+#: nano.c:1242
 msgid "Cannot move top win"
 msgstr "Kann oberes Fenster nicht verschieben"
 
-#: nano.c:1279
+#: nano.c:1244
 msgid "Cannot resize edit win"
 msgstr "Kann Größe des Bearbeitungsfensters nicht verändern"
 
-#: nano.c:1281
+#: nano.c:1246
 msgid "Cannot move edit win"
 msgstr "Kann Bearbeitungsfenster nicht verschieben"
 
-#: nano.c:1283
+#: nano.c:1248
 msgid "Cannot resize bottom win"
 msgstr "Kann Größe des unteren Fensters nicht verändern"
 
-#: nano.c:1285
+#: nano.c:1250
 msgid "Cannot move bottom win"
 msgstr "Kann unteres Fenster nicht verschieben"
 
-#: nano.c:1749
+#: nano.c:1705
 msgid "Main: set up windows\n"
 msgstr "Hauptprogramm: Fenster konfigurieren\n"
 
-#: nano.c:1771
+#: nano.c:1727
 msgid "Main: bottom win\n"
 msgstr "Hauptprogramm: unteres Fenster\n"
 
-#: nano.c:1777
+#: nano.c:1733
 msgid "Main: open file\n"
 msgstr "Hauptprogramm: Datei öffnen\n"
 
-#: nano.c:1850
+#: nano.c:1806
 #, c-format
 msgid "I got Alt-[-%c! (%d)\n"
 msgstr "Erhielt Alt-[-%c! (%d)\n"
 
-#: nano.c:1866
+#: nano.c:1822
 #, c-format
 msgid "I got Alt-%c! (%d)\n"
 msgstr "Erhielt Alt-%c! (%d)\n"
@@ -763,54 +757,58 @@ msgstr "  Datei: ..."
 msgid "Modified"
 msgstr "Verändert"
 
-#: winio.c:885
+#: winio.c:879
 #, c-format
 msgid "Moved to (%d, %d) in edit buffer\n"
 msgstr "Nach (%d, %d) im Bearbeitungspuffer verschoben\n"
 
-#: winio.c:896
+#: winio.c:890
 #, c-format
 msgid "current->data = \"%s\"\n"
 msgstr "current->data = \"%s\"\n"
 
-#: winio.c:939
+#: winio.c:933
 #, c-format
 msgid "I got \"%s\"\n"
 msgstr "Erhielt \"%s\"\n"
 
-#: winio.c:964
+#: winio.c:958
 msgid "Yes"
 msgstr "Ja"
 
-#: winio.c:966
+#: winio.c:960
 msgid "All"
 msgstr "Alle"
 
-#: winio.c:968
+#: winio.c:962
 msgid "No"
 msgstr "Nein"
 
-#: winio.c:1104
+#: winio.c:1098
 #, c-format
 msgid "do_cursorpos: linepct = %f, bytepct = %f\n"
 msgstr "do_cursorpos: linepct = %f, bytepct = %f\n"
 
-#: winio.c:1108
+#: winio.c:1102
 msgid "line %d of %d (%.0f%%), character %d of %d (%.0f%%)"
 msgstr "Zeile %d von %d (%.0f%%), Zeichen %d von %d (%.0f%%)"
 
-#: winio.c:1232
+#: winio.c:1226
 msgid "Dumping file buffer to stderr...\n"
 msgstr "Gebe Datei Puffer nach stderr aus...\n"
 
-#: winio.c:1234
+#: winio.c:1228
 msgid "Dumping cutbuffer to stderr...\n"
 msgstr "Gebe Inhalt der Zwischenablage nach stderr aus...\n"
 
-#: winio.c:1236
+#: winio.c:1230
 msgid "Dumping a buffer to stderr...\n"
 msgstr "Gebe einen Puffer nach stderr aus...\n"
 
+#, fuzzy
+#~ msgid "To Replace"
+#~ msgstr "Ersetzen"
+
 #, fuzzy
 #~ msgid "To Search"
 #~ msgstr "Suche"
diff --git a/po/es.gmo b/po/es.gmo
index 9d21e2cdbd45fe88a41349673f6065e012008b0d..67855974bcd92b4b28ed84c499614eb2eb7bb9c8 100644
GIT binary patch
delta 3079
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

delta 3114
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
WJT1Paw)QnHH!N7u@qERJnEwGA#8A=z

diff --git a/po/es.po b/po/es.po
index c2e11212..7bf4e16b 100644
--- a/po/es.po
+++ b/po/es.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: 0.9.11\n"
-"POT-Creation-Date: 2000-06-28 21:18-0400\n"
+"POT-Creation-Date: 2000-07-06 18:42-0400\n"
 "PO-Revision-Date: 2000-06-20 02:56+0200\n"
 "Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
 "Language-Team: Spanish <jordi@sindominio.net>\n"
@@ -27,83 +27,83 @@ msgstr "Nos hemos cargado el cutbuffer =)\n"
 msgid "read_line: not on first line and prev is NULL"
 msgstr "read_line: no estamos en la primera línea y la anterior es NULL"
 
-#: files.c:180 files.c:193
+#: files.c:180 files.c:197
 #, c-format
 msgid "Read %d lines"
 msgstr "%d líneas leídas"
 
-#: files.c:211 search.c:129 search.c:147
+#: files.c:215 search.c:129 search.c:147
 #, c-format
 msgid "\"%s\" not found"
 msgstr "\"%s\" no encontrado"
 
 #. We have a new file
-#: files.c:215
+#: files.c:219
 msgid "New File"
 msgstr "Nuevo Fichero"
 
-#: files.c:224
+#: files.c:228
 #, c-format
 msgid "File \"%s\" is a directory"
 msgstr "Fichero \"%s\" es un directorio"
 
-#: files.c:229
+#: files.c:233
 msgid "Reading File"
 msgstr "Leyendo Fichero"
 
-#: files.c:242
+#: files.c:246
 msgid "File to insert [from ./] "
 msgstr "Fichero a insertar [desde ./] "
 
-#: files.c:270 files.c:294 files.c:458 nano.c:1165
+#: files.c:271 files.c:295 files.c:462 nano.c:1130
 msgid "Cancelled"
 msgstr "Cancelado"
 
-#: files.c:306 files.c:322 files.c:334 files.c:351 files.c:357
+#: files.c:307 files.c:323 files.c:338 files.c:355 files.c:361
 #, c-format
 msgid "Could not open file for writing: %s"
 msgstr "No pude abrir el fichero para escribir: %s"
 
-#: files.c:314
+#: files.c:315
 msgid "Could not open file: Path length exceeded."
 msgstr "El fichero no pudo ser abierto: longitud del path excedida."
 
-#: files.c:339
+#: files.c:343
 #, c-format
 msgid "Wrote >%s\n"
 msgstr "Escribí >%s\n"
 
-#: files.c:366
+#: files.c:370
 #, c-format
 msgid "Could not close %s: %s"
 msgstr "No pude cerrar %s: %s"
 
 #. Try a rename??
-#: files.c:387 files.c:398 files.c:403
+#: files.c:391 files.c:402 files.c:407
 #, c-format
 msgid "Could not open %s for writing: %s"
 msgstr "No pude abrir %s para escribir: %s"
 
-#: files.c:409
+#: files.c:413
 #, c-format
 msgid "Could not set permissions %o on %s: %s"
 msgstr "No pude establecer permisos %o en %s: %s"
 
-#: files.c:416
+#: files.c:420
 #, c-format
 msgid "Wrote %d lines"
 msgstr "%d líneas escritas"
 
-#: files.c:437
+#: files.c:441
 msgid "File Name to write"
 msgstr "Nombre de Fichero a escribir"
 
-#: files.c:442
+#: files.c:446
 #, c-format
 msgid "filename is %s"
 msgstr "filename es %s"
 
-#: files.c:447
+#: files.c:451
 msgid "File exists, OVERWRITE ?"
 msgstr "El fichero existe, SOBREESCRIBIR ?"
 
@@ -247,7 +247,7 @@ msgstr "Ir a L
 msgid "Justify"
 msgstr "Justificar"
 
-#: global.c:169 global.c:240
+#: global.c:169 global.c:240 global.c:270
 msgid "Replace"
 msgstr "Reemplazar"
 
@@ -343,17 +343,12 @@ msgstr "
 msgid "Case Sens"
 msgstr "May/Min"
 
-#: global.c:270
-msgid "To Replace"
-msgstr "Reemplazar"
-
 #: global.c:276 global.c:295 global.c:305 global.c:321 global.c:325
-#: global.c:331 winio.c:969
+#: global.c:331 winio.c:963
 msgid "Cancel"
 msgstr "Cancelar"
 
 #: global.c:289
-#, fuzzy
 msgid "No Replace"
 msgstr ""
 
@@ -583,90 +578,90 @@ msgstr "Marca Establecida"
 msgid "Mark UNset"
 msgstr "Marca Borrada"
 
-#: nano.c:847
+#: nano.c:857
 #, c-format
 msgid "check_wrap called with inptr->data=\"%s\"\n"
 msgstr "check_wrap llamada con inptr->data=\"%s\"\n"
 
-#: nano.c:925
+#: nano.c:917
 #, c-format
 msgid "current->data now = \"%s\"\n"
 msgstr "current->data ahora = \"%d\"\n"
 
-#: nano.c:969
+#: nano.c:970
 #, c-format
 msgid "After, data = \"%s\"\n"
 msgstr "Después, data = \"%s\"\n"
 
-#: nano.c:1032
+#: nano.c:1040
 msgid "Error deleting tempfile, ack!"
 msgstr "Error borrando el fichero temporal, ouch!"
 
-#: nano.c:1045 nano.c:1095
+#: nano.c:1057
 #, c-format
 msgid "Could not create a temporary filename: %s"
 msgstr "No pude crear un fichero temporal: %s"
 
-#: nano.c:1067 nano.c:1117
+#: nano.c:1081
 #, c-format
 msgid "Could not invoke spell program \"%s\""
 msgstr "No se pudo llamar al corrector \"%s\""
 
 #. Why 32512? I dont know!
-#: nano.c:1073 nano.c:1123
+#: nano.c:1087
 msgid "Could not invoke \"ispell\""
 msgstr "No pude llamar a \"ispell\""
 
-#: nano.c:1085 nano.c:1135
+#: nano.c:1099
 msgid "Finished checking spelling"
 msgstr "Revisión de ortografía finalizada"
 
-#: nano.c:1152
+#: nano.c:1117
 msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? "
 msgstr "Salvar el buffer modificado (RESPONDER \"No\" DESTRUIRÁ LOS CAMBIOS) ?"
 
-#: nano.c:1275
+#: nano.c:1240
 msgid "Cannot resize top win"
 msgstr "No se puede cambiar el tamaño de la ventana superior"
 
-#: nano.c:1277
+#: nano.c:1242
 msgid "Cannot move top win"
 msgstr "No se puede mover la ventana superior"
 
-#: nano.c:1279
+#: nano.c:1244
 msgid "Cannot resize edit win"
 msgstr "No se puede cambiar el tamaño de la ventana de edición"
 
-#: nano.c:1281
+#: nano.c:1246
 msgid "Cannot move edit win"
 msgstr "No se puede mover la ventana de edición"
 
-#: nano.c:1283
+#: nano.c:1248
 msgid "Cannot resize bottom win"
 msgstr "No se puede cambiar el tamaño de la ventana inferior"
 
-#: nano.c:1285
+#: nano.c:1250
 msgid "Cannot move bottom win"
 msgstr "No se puede mover la ventana inferior"
 
-#: nano.c:1749
+#: nano.c:1705
 msgid "Main: set up windows\n"
 msgstr "Main: configurar las ventanas\n"
 
-#: nano.c:1771
+#: nano.c:1727
 msgid "Main: bottom win\n"
 msgstr "Main: ventana inferior\n"
 
-#: nano.c:1777
+#: nano.c:1733
 msgid "Main: open file\n"
 msgstr "Main: abrir fichero\n"
 
-#: nano.c:1850
+#: nano.c:1806
 #, c-format
 msgid "I got Alt-[-%c! (%d)\n"
 msgstr "Pillé Alt-[-%c! (%d)\n"
 
-#: nano.c:1866
+#: nano.c:1822
 #, c-format
 msgid "I got Alt-%c! (%d)\n"
 msgstr "Pillé Alt-%c! (%d)\n"
@@ -756,54 +751,57 @@ msgstr "Fichero: ..."
 msgid "Modified"
 msgstr "Modificado"
 
-#: winio.c:885
+#: winio.c:879
 #, c-format
 msgid "Moved to (%d, %d) in edit buffer\n"
 msgstr "Moviendo a (%d, %d) en buffer de edición\n"
 
-#: winio.c:896
+#: winio.c:890
 #, c-format
 msgid "current->data = \"%s\"\n"
 msgstr "current->data = \"%s\"\n"
 
-#: winio.c:939
+#: winio.c:933
 #, c-format
 msgid "I got \"%s\"\n"
 msgstr "Pillé \"%s\"\n"
 
-#: winio.c:964
+#: winio.c:958
 msgid "Yes"
 msgstr "Sí"
 
-#: winio.c:966
+#: winio.c:960
 msgid "All"
 msgstr "Todas"
 
-#: winio.c:968
+#: winio.c:962
 msgid "No"
 msgstr "No"
 
-#: winio.c:1104
+#: winio.c:1098
 #, c-format
 msgid "do_cursorpos: linepct = %f, bytepct = %f\n"
 msgstr "do_cursorpos: linepct = %f, bytepct = %f\n"
 
-#: winio.c:1108
+#: winio.c:1102
 msgid "line %d of %d (%.0f%%), character %d of %d (%.0f%%)"
 msgstr "línea %d de %d (%.0f%%), carácter %d de %d (%.0f%%)"
 
-#: winio.c:1232
+#: winio.c:1226
 msgid "Dumping file buffer to stderr...\n"
 msgstr "Volcando buffer de fichero a stderr...\n"
 
-#: winio.c:1234
+#: winio.c:1228
 msgid "Dumping cutbuffer to stderr...\n"
 msgstr "Volcando el cutbuffer a stderr...\n"
 
-#: winio.c:1236
+#: winio.c:1230
 msgid "Dumping a buffer to stderr...\n"
 msgstr "Volcando un buffer a stderr...\n"
 
+#~ msgid "To Replace"
+#~ msgstr "Reemplazar"
+
 #~ msgid "To Search"
 #~ msgstr "Buscar"
 
diff --git a/po/fi.gmo b/po/fi.gmo
index 36cb8b07788b17876017beccdf46552e3586fabe..1a1c60eed430712e16123d90be901939cc74f656 100644
GIT binary patch
delta 3080
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

delta 3115
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
Z$rw|R5}3WJzOkmEp{B7WGP~qj%>NIRQEdPK

diff --git a/po/fi.po b/po/fi.po
index 1a37cace..1286259a 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-06-28 21:18-0400\n"
+"POT-Creation-Date: 2000-07-06 18:42-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"
@@ -26,83 +26,83 @@ msgstr "Leiketila katosi =)\n"
 msgid "read_line: not on first line and prev is NULL"
 msgstr "read_line: ei ensimmäisellä rivillä ja prev on NULL"
 
-#: files.c:180 files.c:193
+#: files.c:180 files.c:197
 #, c-format
 msgid "Read %d lines"
 msgstr "%d riviä luettu"
 
-#: files.c:211 search.c:129 search.c:147
+#: files.c:215 search.c:129 search.c:147
 #, c-format
 msgid "\"%s\" not found"
 msgstr "Tiedostoa \"%s\" ei ole"
 
 #. We have a new file
-#: files.c:215
+#: files.c:219
 msgid "New File"
 msgstr "Uusi tiedosto"
 
-#: files.c:224
+#: files.c:228
 #, c-format
 msgid "File \"%s\" is a directory"
 msgstr "\"%s\" on hakemisto"
 
-#: files.c:229
+#: files.c:233
 msgid "Reading File"
 msgstr "Tiedostoa luetaan"
 
-#: files.c:242
+#: files.c:246
 msgid "File to insert [from ./] "
 msgstr "Lisättävä tiedosto [hakemistossa ./]"
 
-#: files.c:270 files.c:294 files.c:458 nano.c:1165
+#: files.c:271 files.c:295 files.c:462 nano.c:1130
 msgid "Cancelled"
 msgstr "Peruttu"
 
-#: files.c:306 files.c:322 files.c:334 files.c:351 files.c:357
+#: files.c:307 files.c:323 files.c:338 files.c:355 files.c:361
 #, c-format
 msgid "Could not open file for writing: %s"
 msgstr "Tiedostoa ei voitu avata luettavaksi: %s"
 
-#: files.c:314
+#: files.c:315
 msgid "Could not open file: Path length exceeded."
 msgstr "Tiedostoa ei voitu avata: liian pitkä tiedostonnimi."
 
-#: files.c:339
+#: files.c:343
 #, c-format
 msgid "Wrote >%s\n"
 msgstr "Kirjoitettu: >%s\n"
 
-#: files.c:366
+#: files.c:370
 #, c-format
 msgid "Could not close %s: %s"
 msgstr "Tiedosto %s ei sulkeutunut: %s"
 
 #. Try a rename??
-#: files.c:387 files.c:398 files.c:403
+#: files.c:391 files.c:402 files.c:407
 #, c-format
 msgid "Could not open %s for writing: %s"
 msgstr "Tiedostoa %s ei voitu avata kirjoitettavaksi: %s"
 
-#: files.c:409
+#: files.c:413
 #, c-format
 msgid "Could not set permissions %o on %s: %s"
 msgstr "Oikeuksia %o ei voitu asettaa tiedostolle %s: %s"
 
-#: files.c:416
+#: files.c:420
 #, c-format
 msgid "Wrote %d lines"
 msgstr "%d riviä kirjoitettu"
 
-#: files.c:437
+#: files.c:441
 msgid "File Name to write"
 msgstr "Kirjoitettavan tiedoston nimi"
 
-#: files.c:442
+#: files.c:446
 #, c-format
 msgid "filename is %s"
 msgstr "tiedoston nimi on %s"
 
-#: files.c:447
+#: files.c:451
 msgid "File exists, OVERWRITE ?"
 msgstr "Tiedosto on jo olemassa, korvataanko?"
 
@@ -246,7 +246,7 @@ msgstr "Siirry"
 msgid "Justify"
 msgstr "Tasaa"
 
-#: global.c:169 global.c:240
+#: global.c:169 global.c:240 global.c:270
 msgid "Replace"
 msgstr "Korvaa"
 
@@ -342,17 +342,12 @@ msgstr "Viim. rivi"
 msgid "Case Sens"
 msgstr "Kirj. koko"
 
-#: global.c:270
-msgid "To Replace"
-msgstr "Korvattava"
-
 #: global.c:276 global.c:295 global.c:305 global.c:321 global.c:325
-#: global.c:331 winio.c:969
+#: global.c:331 winio.c:963
 msgid "Cancel"
 msgstr "Peru"
 
 #: global.c:289
-#, fuzzy
 msgid "No Replace"
 msgstr ""
 
@@ -582,90 +577,90 @@ msgstr "Teksti merkitty"
 msgid "Mark UNset"
 msgstr "Merkintä poistettu"
 
-#: nano.c:847
+#: nano.c:857
 #, c-format
 msgid "check_wrap called with inptr->data=\"%s\"\n"
 msgstr "check_wrap -funktion parametri inptr->data=\"%s\"\n"
 
-#: nano.c:925
+#: nano.c:917
 #, c-format
 msgid "current->data now = \"%s\"\n"
 msgstr "current->data nyt = \"%s\"\n"
 
-#: nano.c:969
+#: nano.c:970
 #, c-format
 msgid "After, data = \"%s\"\n"
 msgstr "Jälkeenpäin, data = \"%s\"\n"
 
-#: nano.c:1032
+#: nano.c:1040
 msgid "Error deleting tempfile, ack!"
 msgstr "Väliaikaistiedostoa poistettaessa tapahtui virhe."
 
-#: nano.c:1045 nano.c:1095
+#: nano.c:1057
 #, c-format
 msgid "Could not create a temporary filename: %s"
 msgstr "Väliaikaista tiedostonnimeä ei voitu luoda: %s"
 
-#: nano.c:1067 nano.c:1117
+#: nano.c:1081
 #, c-format
 msgid "Could not invoke spell program \"%s\""
 msgstr "Oikoluinta \"%s\" ei voitu käynnistää"
 
 #. Why 32512? I dont know!
-#: nano.c:1073 nano.c:1123
+#: nano.c:1087
 msgid "Could not invoke \"ispell\""
 msgstr "\"ispell\" -ohjelmaa ei voitu käynnistää"
 
-#: nano.c:1085 nano.c:1135
+#: nano.c:1099
 msgid "Finished checking spelling"
 msgstr "Oikoluku on valmis"
 
-#: nano.c:1152
+#: nano.c:1117
 msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? "
 msgstr "Tallenna muutettu teksti (Muutokset häviävät, jos vastaat \"ei\") ? "
 
-#: nano.c:1275
+#: nano.c:1240
 msgid "Cannot resize top win"
 msgstr "Yläikkunan kokoa ei voi muuttaa"
 
-#: nano.c:1277
+#: nano.c:1242
 msgid "Cannot move top win"
 msgstr "Yläikkunaa ei voi siirtää"
 
-#: nano.c:1279
+#: nano.c:1244
 msgid "Cannot resize edit win"
 msgstr "Muokkausikkunan kokoa ei voi muuttaa"
 
-#: nano.c:1281
+#: nano.c:1246
 msgid "Cannot move edit win"
 msgstr "Muokkausikkunaa ei voi siirtää"
 
-#: nano.c:1283
+#: nano.c:1248
 msgid "Cannot resize bottom win"
 msgstr "Alaikkunan kokoa ei voi muuttaa"
 
-#: nano.c:1285
+#: nano.c:1250
 msgid "Cannot move bottom win"
 msgstr "Alaikkunaa ei voi siirtää"
 
-#: nano.c:1749
+#: nano.c:1705
 msgid "Main: set up windows\n"
 msgstr "Päätila: ikkunoiden asettelu\n"
 
-#: nano.c:1771
+#: nano.c:1727
 msgid "Main: bottom win\n"
 msgstr "Päätila: alaikkuna\n"
 
-#: nano.c:1777
+#: nano.c:1733
 msgid "Main: open file\n"
 msgstr "Päätila: avaa tiedosto\n"
 
-#: nano.c:1850
+#: nano.c:1806
 #, c-format
 msgid "I got Alt-[-%c! (%d)\n"
 msgstr "Vastaanotettu Alt-[-%c! (%d)\n"
 
-#: nano.c:1866
+#: nano.c:1822
 #, c-format
 msgid "I got Alt-%c! (%d)\n"
 msgstr "Vastaanotettu Alt-%c! (%d)\n"
@@ -755,54 +750,57 @@ msgstr "  Tiedosto: ..."
 msgid "Modified"
 msgstr "Muokattu"
 
-#: winio.c:885
+#: winio.c:879
 #, c-format
 msgid "Moved to (%d, %d) in edit buffer\n"
 msgstr "Kohtaan (%d,%d) siirrytty muokkausruudussa\n"
 
-#: winio.c:896
+#: winio.c:890
 #, c-format
 msgid "current->data = \"%s\"\n"
 msgstr "current->data = \"%s\"\n"
 
-#: winio.c:939
+#: winio.c:933
 #, c-format
 msgid "I got \"%s\"\n"
 msgstr "Saatiin \"%s\"\n"
 
-#: winio.c:964
+#: winio.c:958
 msgid "Yes"
 msgstr "Kyllä"
 
-#: winio.c:966
+#: winio.c:960
 msgid "All"
 msgstr "Kaikki"
 
-#: winio.c:968
+#: winio.c:962
 msgid "No"
 msgstr "Ei"
 
-#: winio.c:1104
+#: winio.c:1098
 #, c-format
 msgid "do_cursorpos: linepct = %f, bytepct = %f\n"
 msgstr "do_cursorpos: linepct = %f, bytepct = %f\n"
 
-#: winio.c:1108
+#: winio.c:1102
 msgid "line %d of %d (%.0f%%), character %d of %d (%.0f%%)"
 msgstr "rivi %d/%d (%.0f%%), merkki %d/%d (%.0f%%)"
 
-#: winio.c:1232
+#: winio.c:1226
 msgid "Dumping file buffer to stderr...\n"
 msgstr "Syötetään tiedosto stderriin...\n"
 
-#: winio.c:1234
+#: winio.c:1228
 msgid "Dumping cutbuffer to stderr...\n"
 msgstr "Syötetään leiketila stderriin...\n"
 
-#: winio.c:1236
+#: winio.c:1230
 msgid "Dumping a buffer to stderr...\n"
 msgstr "Syötetään teksti stderriin...\n"
 
+#~ msgid "To Replace"
+#~ msgstr "Korvattava"
+
 #~ msgid "To Search"
 #~ msgstr "Etsittävä"
 
diff --git a/po/fr.po b/po/fr.po
index 83d12457..6d227a31 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-06-28 21:18-0400\n"
+"POT-Creation-Date: 2000-07-06 18:42-0400\n"
 "PO-Revision-Date: 2000-03-24 01:32+0100\n"
 "Last-Translator: Pierre Tane <tanep@bigfoot.com>\n"
 "Language-Team: French <LL@li.org>\n"
@@ -29,83 +29,83 @@ msgstr ""
 "read_line: la position actuelle n'est pas la première ligne et la précédente "
 "est NULL"
 
-#: files.c:180 files.c:193
+#: files.c:180 files.c:197
 #, c-format
 msgid "Read %d lines"
 msgstr "%d lignes lues"
 
-#: files.c:211 search.c:129 search.c:147
+#: files.c:215 search.c:129 search.c:147
 #, c-format
 msgid "\"%s\" not found"
 msgstr "\"%s\" non trouvé"
 
 #. We have a new file
-#: files.c:215
+#: files.c:219
 msgid "New File"
 msgstr "Nouveau fichier"
 
-#: files.c:224
+#: files.c:228
 #, c-format
 msgid "File \"%s\" is a directory"
 msgstr "Le fichier \"%s\" est un répertoire"
 
-#: files.c:229
+#: files.c:233
 msgid "Reading File"
 msgstr "Lecture du fichier"
 
-#: files.c:242
+#: files.c:246
 msgid "File to insert [from ./] "
 msgstr "Fichier à insérer [depuis ./] "
 
-#: files.c:270 files.c:294 files.c:458 nano.c:1165
+#: files.c:271 files.c:295 files.c:462 nano.c:1130
 msgid "Cancelled"
 msgstr "Annulé"
 
-#: files.c:306 files.c:322 files.c:334 files.c:351 files.c:357
+#: files.c:307 files.c:323 files.c:338 files.c:355 files.c:361
 #, c-format
 msgid "Could not open file for writing: %s"
 msgstr "Impossible d'ouvrir le fichier en écriture: %s"
 
-#: files.c:314
+#: files.c:315
 msgid "Could not open file: Path length exceeded."
 msgstr "Impossible d'ouvrir le fichier: la longueur du chemin a été dépassée"
 
-#: files.c:339
+#: files.c:343
 #, c-format
 msgid "Wrote >%s\n"
 msgstr "Écrit >%s\n"
 
-#: files.c:366
+#: files.c:370
 #, c-format
 msgid "Could not close %s: %s"
 msgstr "Impossible de fermer %s: %s"
 
 #. Try a rename??
-#: files.c:387 files.c:398 files.c:403
+#: files.c:391 files.c:402 files.c:407
 #, c-format
 msgid "Could not open %s for writing: %s"
 msgstr "Impossible d'ouvrir %s en écriture: %s"
 
-#: files.c:409
+#: files.c:413
 #, c-format
 msgid "Could not set permissions %o on %s: %s"
 msgstr "Impossible de donner les permissions %o à %s: %s"
 
-#: files.c:416
+#: files.c:420
 #, c-format
 msgid "Wrote %d lines"
 msgstr "%d lignes écrites"
 
-#: files.c:437
+#: files.c:441
 msgid "File Name to write"
 msgstr "Nom du fichier dans lequel écrire"
 
-#: files.c:442
+#: files.c:446
 #, c-format
 msgid "filename is %s"
 msgstr "Le nom du fichier est %s"
 
-#: files.c:447
+#: files.c:451
 msgid "File exists, OVERWRITE ?"
 msgstr ""
 
@@ -250,7 +250,7 @@ msgstr ""
 msgid "Justify"
 msgstr ""
 
-#: global.c:169 global.c:240
+#: global.c:169 global.c:240 global.c:270
 #, fuzzy
 msgid "Replace"
 msgstr "Rempacer par"
@@ -349,18 +349,12 @@ msgstr ""
 msgid "Case Sens"
 msgstr ""
 
-#: global.c:270
-#, fuzzy
-msgid "To Replace"
-msgstr "Rempacer par"
-
 #: global.c:276 global.c:295 global.c:305 global.c:321 global.c:325
-#: global.c:331 winio.c:969
+#: global.c:331 winio.c:963
 msgid "Cancel"
 msgstr "Annuler"
 
 #: global.c:289
-#, fuzzy
 msgid "No Replace"
 msgstr ""
 
@@ -582,90 +576,90 @@ msgstr "Marque enregistr
 msgid "Mark UNset"
 msgstr "Marque effacée"
 
-#: nano.c:847
+#: nano.c:857
 #, c-format
 msgid "check_wrap called with inptr->data=\"%s\"\n"
 msgstr "check_wrap appelée avec inptr->data=\"%s\"\n"
 
-#: nano.c:925
+#: nano.c:917
 #, c-format
 msgid "current->data now = \"%s\"\n"
 msgstr "current->data vaut maintenant \"%s\"\n"
 
-#: nano.c:969
+#: nano.c:970
 #, c-format
 msgid "After, data = \"%s\"\n"
 msgstr "Après, data = \"%s\"\n"
 
-#: nano.c:1032
+#: nano.c:1040
 msgid "Error deleting tempfile, ack!"
 msgstr "Erreur lors de l'effacement du fichier temporaire, zut!"
 
-#: nano.c:1045 nano.c:1095
+#: nano.c:1057
 #, c-format
 msgid "Could not create a temporary filename: %s"
 msgstr "Impossible de créer un nom de fichier temporaire: %s"
 
-#: nano.c:1067 nano.c:1117
+#: nano.c:1081
 #, c-format
 msgid "Could not invoke spell program \"%s\""
 msgstr "Impossible d'invoquer le programme spell \"%s\""
 
 #. Why 32512? I dont know!
-#: nano.c:1073 nano.c:1123
+#: nano.c:1087
 msgid "Could not invoke \"ispell\""
 msgstr "Impossible d'invoquer \"ispell\""
 
-#: nano.c:1085 nano.c:1135
+#: nano.c:1099
 msgid "Finished checking spelling"
 msgstr "Vérification orthographique terminée"
 
-#: nano.c:1152
+#: nano.c:1117
 msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? "
 msgstr "Sauver le buffer modifié (RÉPONDRE \"No\" EFFACERA LES CHANGEMENTS"
 
-#: nano.c:1275
+#: nano.c:1240
 msgid "Cannot resize top win"
 msgstr "Impossible de redimensionner la fenêtre du haut"
 
-#: nano.c:1277
+#: nano.c:1242
 msgid "Cannot move top win"
 msgstr "Impossible de bouger la fenêtre du haut"
 
-#: nano.c:1279
+#: nano.c:1244
 msgid "Cannot resize edit win"
 msgstr "Impossible de redimensionner la fenêtre d'édition"
 
-#: nano.c:1281
+#: nano.c:1246
 msgid "Cannot move edit win"
 msgstr "Impossible de bouger la fenêtre d'édition"
 
-#: nano.c:1283
+#: nano.c:1248
 msgid "Cannot resize bottom win"
 msgstr "Impossible de redimensionner la fenêtre du bas"
 
-#: nano.c:1285
+#: nano.c:1250
 msgid "Cannot move bottom win"
 msgstr "Impossible de bouger la fenêtre du bas"
 
-#: nano.c:1749
+#: nano.c:1705
 msgid "Main: set up windows\n"
 msgstr "Main: configuration des fenêtres\n"
 
-#: nano.c:1771
+#: nano.c:1727
 msgid "Main: bottom win\n"
 msgstr "Main: fenêtre du bas\n"
 
-#: nano.c:1777
+#: nano.c:1733
 msgid "Main: open file\n"
 msgstr "Main: ouvrir fichier\n"
 
-#: nano.c:1850
+#: nano.c:1806
 #, c-format
 msgid "I got Alt-[-%c! (%d)\n"
 msgstr "J'ai reçu Alt-[-%c! (%d)\n"
 
-#: nano.c:1866
+#: nano.c:1822
 #, c-format
 msgid "I got Alt-%c! (%d)\n"
 msgstr "J'ai reçu Alt-%c! (%d)\n"
@@ -755,54 +749,58 @@ msgstr "  Fichier: ..."
 msgid "Modified"
 msgstr "Modifié"
 
-#: winio.c:885
+#: winio.c:879
 #, c-format
 msgid "Moved to (%d, %d) in edit buffer\n"
 msgstr "Déplacement jusqu'à (%d, %d) dans le buffer d'édition\n"
 
-#: winio.c:896
+#: winio.c:890
 #, c-format
 msgid "current->data = \"%s\"\n"
 msgstr "current->data = \"%s\"\n"
 
-#: winio.c:939
+#: winio.c:933
 #, c-format
 msgid "I got \"%s\"\n"
 msgstr "J'ai reçu \"%s\"\n"
 
-#: winio.c:964
+#: winio.c:958
 msgid "Yes"
 msgstr "Oui"
 
-#: winio.c:966
+#: winio.c:960
 msgid "All"
 msgstr "Tous"
 
-#: winio.c:968
+#: winio.c:962
 msgid "No"
 msgstr "Non"
 
-#: winio.c:1104
+#: winio.c:1098
 #, c-format
 msgid "do_cursorpos: linepct = %f, bytepct = %f\n"
 msgstr "do_cursorpos: linepct = %f, bytepct = %f\n"
 
-#: winio.c:1108
+#: winio.c:1102
 msgid "line %d of %d (%.0f%%), character %d of %d (%.0f%%)"
 msgstr "ligne %d sur %d (%.0f%%), caractère %d sur %d (%.0f%%)"
 
-#: winio.c:1232
+#: winio.c:1226
 msgid "Dumping file buffer to stderr...\n"
 msgstr "Envoi du buffer fichier sur stderr...\n"
 
-#: winio.c:1234
+#: winio.c:1228
 msgid "Dumping cutbuffer to stderr...\n"
 msgstr "Envoi du cutbuffer sur stderr...\n"
 
-#: winio.c:1236
+#: winio.c:1230
 msgid "Dumping a buffer to stderr...\n"
 msgstr "Envoi d'un buffer sur stderr...\n"
 
+#, fuzzy
+#~ msgid "To Replace"
+#~ msgstr "Rempacer par"
+
 #~ msgid " Y"
 #~ msgstr " O"
 
diff --git a/po/id.gmo b/po/id.gmo
index 10e24c97b45f788bc0156f66b09e91f7443a99a3..c6d2bef4abcc1878b6a3d423f9fb3d110f5abe6e 100644
GIT binary patch
delta 3029
zcmXxk32anF9LMqhmM)Zbx6m%MP_C_PEu~OODP6=02*_d55NL!3F(66+2}iJU3Qq#W
zq)}S)Ahfk0lv56sRtUuqL_ml&DyWT-L%~2q2tftU6#V|$=Vsr2W@hKj{O3RO-i^|e
zrOuV)*iFXgAXj&;b$+v(csrgSJ{5^(z3?qez(bgU$MF&T2_x9HgIPXiV;0W9Tr9&!
z@gq#fYuE*2JDLqLbF2pi4LA{p;!@1PI_!a0F@z5>4?{_<6O6&p)EA*9K8ywU3u?mj
z<ktS<Q1z9ld1_G$J=fCim|gc80?d-hA6cl0Ct?^EVrQ&CO|%<*ZOkrWl=|fqGm>DP
zQ_b381o_MQA>C{Q#^PvfkK>WA74y@U`E4GBZnzlLVFNOzRbnT6A2r}<RO-I-{{Iyf
zSR9SIuP4%EeNgw0@SK9$k_FfmE3r4$p`$%%@*4iazSO(ZODP+RTG0ZG!zGx94z|TQ
z)K)d1Qu{M%rHN?-gCW$}$wSRE36+sj^y9KL_Mh#t)ifyO6{u9chs0vXk=?N-uYMDm
z!(vDmMeB|_r%_a(BT<1qjbSWC1yG90&_?8ITlrC-$GVY!o$3=bD8-Gal>UGN@IES)
z8Jw6tScuw^S*WwJ0yS|hY61IDfuBQ7cont4TgdsfX4LqJbRLWmhk_!Win`$i)QaY#
zCS2zIza6!=`%oGA1eJkrQG0tAwWn$1UHyh3vD;+S#EVf|uogA`F4Vlv2NX1M1IFMf
z)SiBdjA{2#1BA$<`bAI!<aqT$3{W3~%0w|LkY~NRgUZ0`$WT^=%IHz#KF7ZFI$ZMp
zxPwZuKWz2{rlA5TL7k1csFf^3t)LqD+75nnxK5+m&!GZ7k6O@0)B@wVS*e%3ncqfH
z&<(Ru5iauT<){fOQ7hhqnxGCf;1TSD*Rf?!c^&F-MlcJ9q3)l9bg`w#+N=t-pavYo
z{Pr1z{`dg1e7rcwpE^#Cv`)MP_2OBBdd!YsHeSL(7)N72EW{^qF6QEXul*A0EVSpD
z9)=m%7hgo@aSG*LLnG=`|AE@0o>Y{o!Kex5;Zs<NdJkN|(U?RUwBpG)24BMhJd1qo
z0Y6$$CY^NOSX4$<WRd^JDAdrPj!nqd9`d8dD2p&P&`7)(W47F@KSR27M&7`9-0sy6
zpr86ljKj0o9=}38-rsxw-|_1A`jdYR5XXj+eG8!?D?qYqCCHq%3KiI1RG=471OJQK
zb3ZQ&1=I`mSmvX)Xaed?twh~d?Rg3{?rn#{KnkgBm?jvH3g~6ji)l47hn1mL)_@B1
z1ZtvdUVF1wZ^K}EY<r?oUWmGHn&(VZpmR{;IIAdhq_7RO@<XT>$k(Wp-9nv(hhBRM
z8>j$tPy-jDp8t`kr(goA|18uNyowrcJ;ve|)VQ_Cp>*s>Yr!s{GH?eqP#2E2QkR2@
zxCp~I6P1~@s54TIyj5*4CgK@X|8FpaH&Np?qt03=zjf=1FhS4%l$HXoUgSXALez>j
zV;Fa$GIR!&+9uS*_fUHu&m*E0W}>!aICj9Pn1L^$0<J)vnHo&S-RNh2YoNgP*$LDH
zcd;`ja`e?Pf(jst8ekkMz)9E+r(+7vMs3Mz?1bx3fmNXbI)u9KBqre(=xBl;y@ua$
z6m@^Jb>i`;)K0?`T#hX(!Bpxss5jz=s6dXQ&c?^cE5sU6d;S{^!9P(M&ZVOMB}2%+
z2A)BKB43JH=_=Gf8<5A|s*nf8YLG|QK1XHfA5_LVvavclIj9AdpdPn*s4dut8uu7-
zi#1{)#t!9#_$bWh+Qv1GYo8lT7!}+@DUVBGY<Hha=#{jW((_#DTsoNVxNjz;CT*tl
z|7R_Q9q!?T>HaO0cDY>x6MP5Vxq)n7wYw=0O?unw*cI1s)wq`f-F*AqzXO@R-EMj?
z(_cmFyKYf1(|5pqB{;xW>+T9>`?k90`Q7O@2aA1`^%E1zlIw4Tt7GD${c{V#1BVRF
Q&#N!%UDT=mYIJ?ff6y&S0ssI2

delta 3059
zcmXxm32anV6vpv0wL|GnOX&u};843z3f<_!CW{LR2!c`}K~oBXC<+20YRX_)Y>EN(
zfvlE-AW)P<2CSljEm1^i2+|k=2n0hTfeO_iB4Yf1^x4dt-@R|S=iGDeo3wF3>w>`f
z_|Ub+-(HR$9B+BeuHZireDPNoW7Z3|Vk9<V8aCqt_y_jE#8|Te9E6!T7YE=*d=P)Y
z-uOEvV?r0Re6xV{qoD!Iu@v9L9Bjh-u^qc&Y@Ash`cVNU;V4{!3j7TY#J^DibK^Vi
ze;U<aiHfriHPO@e&IinHx+i)NC7lZ;sKDju!vJ=}I#i%f(Q}{KRV<?4mS{#1EG@|_
z3=5D;HW<0h#$zZxiQzaI`B(*CorrI*)98*>s2ggLF>Mzn;9=B&EvVA{>R$KIQDVuc
z=W>usR*ZUnyz5L<#TH`<?m|B{VL)rr>YnJ#)hznisFIbTX0#YP;|k2f)z}G}P)l_T
zRocH$GwqqmfqvB98G(v34ONk4=*8+()}Q6FRh&@C>rkaUgydw+$m&?D+rN#(uz1Qv
z)3Q<f^ifoz6HtjxK_6D25?F?+(01fwd-+nL-*>0}+SMmGp%R}(mGnCHM=v`?r7Xk@
z9D`btg{Zw!g9^M4HGzYu#80CFwxcF^2ieCK!A%;!Cl+EsfQB-jje1}{YDSf)fYt8x
zPf%-n5LJ;MQ5Cq1T3gjyYnp|+?{Q=f_8cm36>13_)c6NbaRXn|P~c-2f~Qbx`V%s?
zd8wZU@T2Z4Kn*a|?T^7I`jb$Vs6Zw1g4<t>s=zvANZXC7=y%9-0lVPdaLv8&FRH}d
zd}c#13zfhu)ZTa%HIr)84C;}O1^LqEYC$D<8g=~_RN~iA6Z;c2(KH4rB)(<PP{z-o
z9;iZPy3*~}qXGv}12>@pHKPVRi5aM$L#=HlYLgDbOq`5*ekpRRy^GAz_G1^~TMLbR
zyo~)Yg={iC>}u4F^ZIlIeg_NaZ$`atC$TTyLOt*2WHy%Ja9oB1@LTu%E!3Xq!@E5c
zAHqNujR1{7SdZ$rqIP#2Us|gY)NUP*3a|nn#vtnV;5LrJY|5Y+&%;M>6Ar{n$j4H+
zs0ocgJvS|r`l}>sIZ=WQs2kgnkEN20UZ+v0fu`cw5VJLIe=g<HUfGEe_@&!FieCEX
zurpr5aJ-6o&2PHb!*i&=PQ<d18o-aNg5{tRdjhGh%|~L|dQ@UZP>Hso22SM1LTm0r
zB~*%fJ;$MzXf|q3y@z`4fb01H4GkQ|Lgiu}D!_D9LaQ(mHz2WW2Wn<5s6@}80^N1b
zCo_opJyEZ33995}sOJ{BR-zIOETy4=)?*j^0yXpFs2`HwP!;OLf@v?LqR!`{5*&>h
zxD53>FctL{%tqb61hoX~P|ww2D1L^F8?divXjh(eZ9`QcJilY0d{pU1qcWa_KCDDl
zrWUnF>XBbrJAyHI5q1A{?24fU9pfdV_F4{x>;0caLj%3yx)|BeR)d<+KJ?*XRD~|0
zO52VK9LuYrwa-A!a0F@zreG{C#57!vin9l`XBse`_|{0{-kKuIXlGCXBH8lYFcaf(
z7%G7Yr~xWa3C_VVd<_$^3N_vaOu#Lu#P*{SI*xko90uZOT%n-=cToM9BD0a`L!F<F
zD(xan#5H(tCYVIO0riV`0+rY)R6;+a_Q+-AC&g}{);_72e^RhVG4)repQ5J+Dp3KJ
zqh_!fHREllfr7~EZ-<Z<#~P7W+1gQ+>czsUa)qcpG!Zp{O4MujHfkw8M~!=-gr8WR
zwHurmjG3kUZ-;X@wsJhivB$X^F*14=tvn8;vCSD9*(+{0t#Xdu9NM6DPGw|L+<IF7
z|1G7l-PsZOthbidhfa9ZIL}^Za#UZ>CTDq6QQT(EZs17ac!T48r#Y&-=OgDzRJv!U
z6BnKC-N@N`XGnCq=VNC^bbrqW&f4g{o-Ixz-#eVP=!u?n!QnAA@nI8Y%zd%EVn*<&
juQnuNV86U#UtVr$ZgKEs|JVfY%<`8OJRfW*stNfI83|K<

diff --git a/po/id.po b/po/id.po
index be79c57f..e37a39d5 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-06-28 21:18-0400\n"
+"POT-Creation-Date: 2000-07-06 18:42-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"
@@ -26,83 +26,83 @@ msgstr "Hapus cutbuffer =>\n"
 msgid "read_line: not on first line and prev is NULL"
 msgstr "read_line: tidak di baris pertama dan sebelumnya adalah NULL"
 
-#: files.c:180 files.c:193
+#: files.c:180 files.c:197
 #, c-format
 msgid "Read %d lines"
 msgstr "Membaca %d baris"
 
-#: files.c:211 search.c:129 search.c:147
+#: files.c:215 search.c:129 search.c:147
 #, c-format
 msgid "\"%s\" not found"
 msgstr "\"%s\" tidak ditemukan"
 
 #. We have a new file
-#: files.c:215
+#: files.c:219
 msgid "New File"
 msgstr "File Baru"
 
-#: files.c:224
+#: files.c:228
 #, c-format
 msgid "File \"%s\" is a directory"
 msgstr "File \"%s\" adalah sebuah direktori"
 
-#: files.c:229
+#: files.c:233
 msgid "Reading File"
 msgstr "Membaca File"
 
-#: files.c:242
+#: files.c:246
 msgid "File to insert [from ./] "
 msgstr "File untuk disisipkan "
 
-#: files.c:270 files.c:294 files.c:458 nano.c:1165
+#: files.c:271 files.c:295 files.c:462 nano.c:1130
 msgid "Cancelled"
 msgstr "Dibatalkan"
 
-#: files.c:306 files.c:322 files.c:334 files.c:351 files.c:357
+#: files.c:307 files.c:323 files.c:338 files.c:355 files.c:361
 #, c-format
 msgid "Could not open file for writing: %s"
 msgstr "Tidak dapat membuka file untuk menulis: %s"
 
-#: files.c:314
+#: files.c:315
 msgid "Could not open file: Path length exceeded."
 msgstr "Tidak dapat membuka file: panjang path terlampaui"
 
-#: files.c:339
+#: files.c:343
 #, c-format
 msgid "Wrote >%s\n"
 msgstr "Tulis >%s\n"
 
-#: files.c:366
+#: files.c:370
 #, c-format
 msgid "Could not close %s: %s"
 msgstr "Tidak dapat menutup %s: %s"
 
 #. Try a rename??
-#: files.c:387 files.c:398 files.c:403
+#: files.c:391 files.c:402 files.c:407
 #, c-format
 msgid "Could not open %s for writing: %s"
 msgstr "Tidak dapat membuka %s untuk menulis: %s"
 
-#: files.c:409
+#: files.c:413
 #, c-format
 msgid "Could not set permissions %o on %s: %s"
 msgstr "Tidak dapat menset permisi %o pada %s: %s"
 
-#: files.c:416
+#: files.c:420
 #, c-format
 msgid "Wrote %d lines"
 msgstr "Menulis %d baris"
 
-#: files.c:437
+#: files.c:441
 msgid "File Name to write"
 msgstr "Nama file untuk ditulis"
 
-#: files.c:442
+#: files.c:446
 #, c-format
 msgid "filename is %s"
 msgstr "Namafile adalah %s"
 
-#: files.c:447
+#: files.c:451
 msgid "File exists, OVERWRITE ?"
 msgstr "File ada, DITIMPA ?"
 
@@ -247,7 +247,7 @@ msgstr "Ke baris"
 msgid "Justify"
 msgstr "Justifikasi"
 
-#: global.c:169 global.c:240
+#: global.c:169 global.c:240 global.c:270
 msgid "Replace"
 msgstr "Ganti"
 
@@ -343,17 +343,12 @@ msgstr "Baris terakhir"
 msgid "Case Sens"
 msgstr "Case Sens"
 
-#: global.c:270
-msgid "To Replace"
-msgstr "Mengganti"
-
 #: global.c:276 global.c:295 global.c:305 global.c:321 global.c:325
-#: global.c:331 winio.c:969
+#: global.c:331 winio.c:963
 msgid "Cancel"
 msgstr "Batal"
 
 #: global.c:289
-#, fuzzy
 msgid "No Replace"
 msgstr ""
 
@@ -581,90 +576,90 @@ msgstr "Set Tanda"
 msgid "Mark UNset"
 msgstr "Unset Tanda"
 
-#: nano.c:847
+#: nano.c:857
 #, c-format
 msgid "check_wrap called with inptr->data=\"%s\"\n"
 msgstr "check_wrap dipanggil dengan inptr->data=\"%s\"\n"
 
-#: nano.c:925
+#: nano.c:917
 #, c-format
 msgid "current->data now = \"%s\"\n"
 msgstr "current->data sekarang =\"%s\"\n"
 
-#: nano.c:969
+#: nano.c:970
 #, c-format
 msgid "After, data = \"%s\"\n"
 msgstr "Setelah, data= \"%s\"\n"
 
-#: nano.c:1032
+#: nano.c:1040
 msgid "Error deleting tempfile, ack!"
 msgstr "Kesalahan menghapus tempfile, ack!"
 
-#: nano.c:1045 nano.c:1095
+#: nano.c:1057
 #, c-format
 msgid "Could not create a temporary filename: %s"
 msgstr "Tidak dapat membuat nama file sementara: %s"
 
-#: nano.c:1067 nano.c:1117
+#: nano.c:1081
 #, c-format
 msgid "Could not invoke spell program \"%s\""
 msgstr "Tidak dapat memanggil program ejaan \"%s\""
 
 #. Why 32512? I dont know!
-#: nano.c:1073 nano.c:1123
+#: nano.c:1087
 msgid "Could not invoke \"ispell\""
 msgstr "Tidak dapat memanggil \"ispell\""
 
-#: nano.c:1085 nano.c:1135
+#: nano.c:1099
 msgid "Finished checking spelling"
 msgstr "Selesai memeriksa ejaan"
 
-#: nano.c:1152
+#: nano.c:1117
 msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? "
 msgstr "Simpan buffer termodifikasi (JAWAB \"No\" AKAN MENGHAPUS PERUBAHAN) ?"
 
-#: nano.c:1275
+#: nano.c:1240
 msgid "Cannot resize top win"
 msgstr "Tidak dapat menganti ukuran jendela atas"
 
-#: nano.c:1277
+#: nano.c:1242
 msgid "Cannot move top win"
 msgstr "Tidak dapat memindahkan jendela atas"
 
-#: nano.c:1279
+#: nano.c:1244
 msgid "Cannot resize edit win"
 msgstr "Tidak dapat mengganti ukuran jendela edit"
 
-#: nano.c:1281
+#: nano.c:1246
 msgid "Cannot move edit win"
 msgstr "Tidak dapat memindah jendela edit"
 
-#: nano.c:1283
+#: nano.c:1248
 msgid "Cannot resize bottom win"
 msgstr "Tidak dapat mengganti ukuran jendela bawah"
 
-#: nano.c:1285
+#: nano.c:1250
 msgid "Cannot move bottom win"
 msgstr "Tidak dapat memindah jendela bawah"
 
-#: nano.c:1749
+#: nano.c:1705
 msgid "Main: set up windows\n"
 msgstr "Main: menset jendela\n"
 
-#: nano.c:1771
+#: nano.c:1727
 msgid "Main: bottom win\n"
 msgstr "Main: jendela bawah\n"
 
-#: nano.c:1777
+#: nano.c:1733
 msgid "Main: open file\n"
 msgstr "Main: membuka file\n"
 
-#: nano.c:1850
+#: nano.c:1806
 #, c-format
 msgid "I got Alt-[-%c! (%d)\n"
 msgstr "Saya mendapat Alt-%c! (%d)\n"
 
-#: nano.c:1866
+#: nano.c:1822
 #, c-format
 msgid "I got Alt-%c! (%d)\n"
 msgstr "Saya mendapat Alt-%c! (%d)\n"
@@ -754,54 +749,57 @@ msgstr " File: ..."
 msgid "Modified"
 msgstr "Dimodifikasi"
 
-#: winio.c:885
+#: winio.c:879
 #, c-format
 msgid "Moved to (%d, %d) in edit buffer\n"
 msgstr "Pindah ke (%d, %d) dalam buffer edit\n"
 
-#: winio.c:896
+#: winio.c:890
 #, c-format
 msgid "current->data = \"%s\"\n"
 msgstr "current->data = \"%s\"\n"
 
-#: winio.c:939
+#: winio.c:933
 #, c-format
 msgid "I got \"%s\"\n"
 msgstr "Saya mendapat \"%s\"\n"
 
-#: winio.c:964
+#: winio.c:958
 msgid "Yes"
 msgstr "Ya"
 
-#: winio.c:966
+#: winio.c:960
 msgid "All"
 msgstr "Semua"
 
-#: winio.c:968
+#: winio.c:962
 msgid "No"
 msgstr "Tidak"
 
-#: winio.c:1104
+#: winio.c:1098
 #, c-format
 msgid "do_cursorpos: linepct = %f, bytepct = %f\n"
 msgstr "do_cursorpos: linepct = %f, bytepct = %f\n"
 
-#: winio.c:1108
+#: winio.c:1102
 msgid "line %d of %d (%.0f%%), character %d of %d (%.0f%%)"
 msgstr "baris %d dari %d (%f.0f%%), karakter %d dari %d (%.0f%%)"
 
-#: winio.c:1232
+#: winio.c:1226
 msgid "Dumping file buffer to stderr...\n"
 msgstr "Kirim buffer file ke stderr...\n"
 
-#: winio.c:1234
+#: winio.c:1228
 msgid "Dumping cutbuffer to stderr...\n"
 msgstr "Kirim cutbuffer ke stderr...\n"
 
-#: winio.c:1236
+#: winio.c:1230
 msgid "Dumping a buffer to stderr...\n"
 msgstr "Kirim buffer ke stderr...\n"
 
+#~ msgid "To Replace"
+#~ msgstr "Mengganti"
+
 #~ msgid "To Search"
 #~ msgstr "Mencari"
 
diff --git a/po/it.gmo b/po/it.gmo
index 8c8451f7a070a45bf2e0b9c5e9aaaa6c69e77acd..5ecb52083ce2a38daca4a0612b0ece37f79a94e9 100644
GIT binary patch
delta 23
ecmcbWb}MazfjpPFu7R0?p@o%+(Pk@o1rY#Z(+0f&

delta 23
ecmcbWb}MazfjpO)u91a;k)f5L#bzsc1rY#Z&<4E#

diff --git a/po/it.po b/po/it.po
index 3e7cbabe..0f0c0218 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-06-28 21:18-0400\n"
+"POT-Creation-Date: 2000-07-06 18:42-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"
@@ -26,83 +26,83 @@ msgstr ""
 msgid "read_line: not on first line and prev is NULL"
 msgstr "read_line: no estamos en la primera línea y la anterior es NULL"
 
-#: files.c:180 files.c:193
+#: files.c:180 files.c:197
 #, c-format
 msgid "Read %d lines"
 msgstr "Leggi %d linee"
 
-#: files.c:211 search.c:129 search.c:147
+#: files.c:215 search.c:129 search.c:147
 #, c-format
 msgid "\"%s\" not found"
 msgstr "\"%s\" non trovato"
 
 #. We have a new file
-#: files.c:215
+#: files.c:219
 msgid "New File"
 msgstr "Nuovo file"
 
-#: files.c:224
+#: files.c:228
 #, c-format
 msgid "File \"%s\" is a directory"
 msgstr "Il file \"%s\" è una directory"
 
-#: files.c:229
+#: files.c:233
 msgid "Reading File"
 msgstr "Lettura file"
 
-#: files.c:242
+#: files.c:246
 msgid "File to insert [from ./] "
 msgstr "File da inserire [da ./] "
 
-#: files.c:270 files.c:294 files.c:458 nano.c:1165
+#: files.c:271 files.c:295 files.c:462 nano.c:1130
 msgid "Cancelled"
 msgstr "Cancellato"
 
-#: files.c:306 files.c:322 files.c:334 files.c:351 files.c:357
+#: files.c:307 files.c:323 files.c:338 files.c:355 files.c:361
 #, c-format
 msgid "Could not open file for writing: %s"
 msgstr "Impossibile aprire il file in scrittura: %s"
 
-#: files.c:314
+#: files.c:315
 msgid "Could not open file: Path length exceeded."
 msgstr "Impossibile aprire il file: esagerata lunghezza del percorso."
 
-#: files.c:339
+#: files.c:343
 #, c-format
 msgid "Wrote >%s\n"
 msgstr "Scrivi >%s\n"
 
-#: files.c:366
+#: files.c:370
 #, c-format
 msgid "Could not close %s: %s"
 msgstr "Impossibile chiudere %s: %s"
 
 #. Try a rename??
-#: files.c:387 files.c:398 files.c:403
+#: files.c:391 files.c:402 files.c:407
 #, c-format
 msgid "Could not open %s for writing: %s"
 msgstr "Impossibile aprire %s in scrittura: %s"
 
-#: files.c:409
+#: files.c:413
 #, c-format
 msgid "Could not set permissions %o on %s: %s"
 msgstr "Impossibile configurare i permessi di %o su %s: %s"
 
-#: files.c:416
+#: files.c:420
 #, c-format
 msgid "Wrote %d lines"
 msgstr "Scritte %d linee"
 
-#: files.c:437
+#: files.c:441
 msgid "File Name to write"
 msgstr "Salva con nome"
 
-#: files.c:442
+#: files.c:446
 #, c-format
 msgid "filename is %s"
 msgstr "Il nome file è %s"
 
-#: files.c:447
+#: files.c:451
 msgid "File exists, OVERWRITE ?"
 msgstr "File esistente, SOVRASCRIVERE?"
 
@@ -246,7 +246,7 @@ msgstr "Vai alla linea"
 msgid "Justify"
 msgstr "Giustifica"
 
-#: global.c:169 global.c:240
+#: global.c:169 global.c:240 global.c:270
 msgid "Replace"
 msgstr "Sostituisci"
 
@@ -342,18 +342,12 @@ msgstr "Ultima linea"
 msgid "Case Sens"
 msgstr "Case sens"
 
-#: global.c:270
-#, fuzzy
-msgid "To Replace"
-msgstr "Sostituisci"
-
 #: global.c:276 global.c:295 global.c:305 global.c:321 global.c:325
-#: global.c:331 winio.c:969
+#: global.c:331 winio.c:963
 msgid "Cancel"
 msgstr "Cancella"
 
 #: global.c:289
-#, fuzzy
 msgid "No Replace"
 msgstr ""
 
@@ -567,92 +561,92 @@ msgstr ""
 msgid "Mark UNset"
 msgstr ""
 
-#: nano.c:847
+#: nano.c:857
 #, c-format
 msgid "check_wrap called with inptr->data=\"%s\"\n"
 msgstr "check_wrap chiamata con inptr->data=\"%s\"\n"
 
-#: nano.c:925
+#: nano.c:917
 #, c-format
 msgid "current->data now = \"%s\"\n"
 msgstr "current->data ora = \"%d\"\n"
 
-#: nano.c:969
+#: nano.c:970
 #, c-format
 msgid "After, data = \"%s\"\n"
 msgstr "Dopo, data = \"%s\"\n"
 
-#: nano.c:1032
+#: nano.c:1040
 msgid "Error deleting tempfile, ack!"
 msgstr ""
 
-#: nano.c:1045 nano.c:1095
+#: nano.c:1057
 #, c-format
 msgid "Could not create a temporary filename: %s"
 msgstr "Impossibile creare un nome file temporaneo: %s"
 
-#: nano.c:1067 nano.c:1117
+#: nano.c:1081
 #, c-format
 msgid "Could not invoke spell program \"%s\""
 msgstr "Impossibile invocare correttore ortografico \"%s\""
 
 #. Why 32512? I dont know!
-#: nano.c:1073 nano.c:1123
+#: nano.c:1087
 msgid "Could not invoke \"ispell\""
 msgstr "Impossibile invocare \"ispell\""
 
-#: nano.c:1085 nano.c:1135
+#: nano.c:1099
 msgid "Finished checking spelling"
 msgstr "Controllo ortografico terminato"
 
-#: nano.c:1152
+#: nano.c:1117
 msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? "
 msgstr ""
 "Salva il buffer modificato (RISPONDENDO \"No\" ANNULLERETE I CAMBIAMENTI "
 "AVVENUTI) ?"
 
-#: nano.c:1275
+#: nano.c:1240
 msgid "Cannot resize top win"
 msgstr "Impossibile ridimensionare la finestra superiore"
 
-#: nano.c:1277
+#: nano.c:1242
 msgid "Cannot move top win"
 msgstr "Impossibile spostare la finestra superiore"
 
-#: nano.c:1279
+#: nano.c:1244
 msgid "Cannot resize edit win"
 msgstr "Impossibile ridimensionare la finestra di modifica"
 
-#: nano.c:1281
+#: nano.c:1246
 msgid "Cannot move edit win"
 msgstr "Impossibile spostare finestra di modifica"
 
-#: nano.c:1283
+#: nano.c:1248
 msgid "Cannot resize bottom win"
 msgstr "Impossibile ridimensionare la finestra inferiore"
 
-#: nano.c:1285
+#: nano.c:1250
 msgid "Cannot move bottom win"
 msgstr "Impossibile spostare la finestra inferiore"
 
-#: nano.c:1749
+#: nano.c:1705
 msgid "Main: set up windows\n"
 msgstr "Main: configura finestre\n"
 
-#: nano.c:1771
+#: nano.c:1727
 msgid "Main: bottom win\n"
 msgstr "Main: finestra inferiore\n"
 
-#: nano.c:1777
+#: nano.c:1733
 msgid "Main: open file\n"
 msgstr "Main: apri file\n"
 
-#: nano.c:1850
+#: nano.c:1806
 #, c-format
 msgid "I got Alt-[-%c! (%d)\n"
 msgstr "Premuto Alt-[-%c! (%d)\n"
 
-#: nano.c:1866
+#: nano.c:1822
 #, c-format
 msgid "I got Alt-%c! (%d)\n"
 msgstr "Premuto Alt-%c! (%d)\n"
@@ -742,54 +736,58 @@ msgstr "File: ..."
 msgid "Modified"
 msgstr "Modificato"
 
-#: winio.c:885
+#: winio.c:879
 #, c-format
 msgid "Moved to (%d, %d) in edit buffer\n"
 msgstr "Mosso in (%d, %d) nel buffer di modifica\n"
 
-#: winio.c:896
+#: winio.c:890
 #, c-format
 msgid "current->data = \"%s\"\n"
 msgstr "current->data = \"%s\"\n"
 
-#: winio.c:939
+#: winio.c:933
 #, c-format
 msgid "I got \"%s\"\n"
 msgstr "Premuto \"%s\"\n"
 
-#: winio.c:964
+#: winio.c:958
 msgid "Yes"
 msgstr " Sì"
 
-#: winio.c:966
+#: winio.c:960
 msgid "All"
 msgstr " Tutti"
 
-#: winio.c:968
+#: winio.c:962
 msgid "No"
 msgstr " No"
 
-#: winio.c:1104
+#: winio.c:1098
 #, c-format
 msgid "do_cursorpos: linepct = %f, bytepct = %f\n"
 msgstr "do_cursorpos: linepct = %f, bytepct = %f\n"
 
-#: winio.c:1108
+#: winio.c:1102
 msgid "line %d of %d (%.0f%%), character %d of %d (%.0f%%)"
 msgstr "linea %d di %d (%.0f%%), carattere %d di %d (%.0f%%)"
 
-#: winio.c:1232
+#: winio.c:1226
 msgid "Dumping file buffer to stderr...\n"
 msgstr "Copia file buffer sullo stderr...\n"
 
-#: winio.c:1234
+#: winio.c:1228
 msgid "Dumping cutbuffer to stderr...\n"
 msgstr "Copia cutbuffer sullo stderr...\n"
 
-#: winio.c:1236
+#: winio.c:1230
 msgid "Dumping a buffer to stderr...\n"
 msgstr "Copia un buffer sullo stderr...\n"
 
+#, fuzzy
+#~ msgid "To Replace"
+#~ msgstr "Sostituisci"
+
 #, fuzzy
 #~ msgid "To Search"
 #~ msgstr "Ricerca%s"
diff --git a/po/nano.pot b/po/nano.pot
index 46d38ccf..e1e30f95 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-06 18:42-0400\n"
+"POT-Creation-Date: 2000-07-06 21:41-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"
@@ -32,7 +32,7 @@ msgstr ""
 msgid "Read %d lines"
 msgstr ""
 
-#: files.c:215 search.c:129 search.c:147
+#: files.c:215 search.c:156 search.c:174
 #, c-format
 msgid "\"%s\" not found"
 msgstr ""
@@ -55,7 +55,7 @@ msgstr ""
 msgid "File to insert [from ./] "
 msgstr ""
 
-#: files.c:271 files.c:295 files.c:462 nano.c:1130
+#: files.c:271 files.c:295 files.c:462 nano.c:1133
 msgid "Cancelled"
 msgstr ""
 
@@ -107,248 +107,248 @@ msgstr ""
 msgid "File exists, OVERWRITE ?"
 msgstr ""
 
-#: global.c:110
+#: global.c:116
 msgid "Invoke the help menu"
 msgstr ""
 
-#: global.c:111
+#: global.c:117
 msgid "Write the current file to disk"
 msgstr ""
 
-#: global.c:112
+#: global.c:118
 msgid "Exit from nano"
 msgstr ""
 
-#: global.c:113
+#: global.c:119
 msgid "Goto a specific line number"
 msgstr ""
 
-#: global.c:114
+#: global.c:120
 msgid "Justify the current paragraph"
 msgstr ""
 
-#: global.c:115
+#: global.c:121
 msgid "Replace text within the editor"
 msgstr ""
 
-#: global.c:116
+#: global.c:122
 msgid "Insert another file into the current one"
 msgstr ""
 
-#: global.c:117
+#: global.c:123
 msgid "Search for text within the editor"
 msgstr ""
 
-#: global.c:118
+#: global.c:124
 msgid "Move to the previous screen"
 msgstr ""
 
-#: global.c:119
+#: global.c:125
 msgid "Move to the next screen"
 msgstr ""
 
-#: global.c:120
+#: global.c:126
 msgid "Cut the current line and store it in the cutbuffer"
 msgstr ""
 
-#: global.c:121
+#: global.c:127
 msgid "Uncut from the cutbuffer into the current line"
 msgstr ""
 
-#: global.c:122
+#: global.c:128
 msgid "Show the posititon of the cursor"
 msgstr ""
 
-#: global.c:123
+#: global.c:129
 msgid "Invoke the spell checker (if available)"
 msgstr ""
 
-#: global.c:124
+#: global.c:130
 msgid "Move up one line"
 msgstr ""
 
-#: global.c:125
+#: global.c:131
 msgid "Move down one line"
 msgstr ""
 
-#: global.c:126
+#: global.c:132
 msgid "Move forward one character"
 msgstr ""
 
-#: global.c:127
+#: global.c:133
 msgid "Move back one character"
 msgstr ""
 
-#: global.c:128
+#: global.c:134
 msgid "Move to the beginning of the current line"
 msgstr ""
 
-#: global.c:129
+#: global.c:135
 msgid "Move to the end of the current line"
 msgstr ""
 
-#: global.c:130
+#: global.c:136
 msgid "Go to the first line of the file"
 msgstr ""
 
-#: global.c:131
+#: global.c:137
 msgid "Go to the last line of the file"
 msgstr ""
 
-#: global.c:132
+#: global.c:138
 msgid "Refresh (redraw) the current screen"
 msgstr ""
 
-#: global.c:133
+#: global.c:139
 msgid "Mark text at the current cursor location"
 msgstr ""
 
-#: global.c:134
+#: global.c:140
 msgid "Delete the character under the cursor"
 msgstr ""
 
-#: global.c:136
+#: global.c:142
 msgid "Delete the character to the left of the cursor"
 msgstr ""
 
-#: global.c:137
+#: global.c:143
 msgid "Insert a tab character"
 msgstr ""
 
-#: global.c:138
+#: global.c:144
 msgid "Insert a carriage return at the cursor position"
 msgstr ""
 
-#: global.c:140
+#: global.c:146
 msgid "Make the current search or replace case (in)sensitive"
 msgstr ""
 
-#: global.c:141
+#: global.c:147
 msgid "Cancel the current function"
 msgstr ""
 
-#: global.c:146 global.c:256 global.c:328
+#: global.c:152 global.c:262 global.c:334
 msgid "Get Help"
 msgstr ""
 
-#: global.c:149 global.c:157
+#: global.c:155 global.c:163
 msgid "WriteOut"
 msgstr ""
 
-#: global.c:153 global.c:317
+#: global.c:159 global.c:323
 msgid "Exit"
 msgstr ""
 
-#: global.c:161 global.c:252 global.c:273 global.c:292
+#: global.c:167 global.c:258 global.c:279 global.c:298
 msgid "Goto Line"
 msgstr ""
 
-#: global.c:166 global.c:244
+#: global.c:172 global.c:250
 msgid "Justify"
 msgstr ""
 
-#: global.c:169 global.c:240 global.c:270
+#: global.c:175 global.c:246 global.c:276
 msgid "Replace"
 msgstr ""
 
-#: global.c:173
+#: global.c:179
 msgid "Read File"
 msgstr ""
 
-#: global.c:177
+#: global.c:183
 msgid "Where Is"
 msgstr ""
 
-#: global.c:181 global.c:309
+#: global.c:187 global.c:315
 msgid "Prev Page"
 msgstr ""
 
-#: global.c:185 global.c:313
+#: global.c:191 global.c:319
 msgid "Next Page"
 msgstr ""
 
-#: global.c:189
+#: global.c:195
 msgid "Cut Text"
 msgstr ""
 
-#: global.c:192
+#: global.c:198
 msgid "UnCut Txt"
 msgstr ""
 
-#: global.c:196
+#: global.c:202
 msgid "Cur Pos"
 msgstr ""
 
-#: global.c:200
+#: global.c:206
 msgid "To Spell"
 msgstr ""
 
-#: global.c:204
+#: global.c:210
 msgid "Up"
 msgstr ""
 
-#: global.c:207
+#: global.c:213
 msgid "Down"
 msgstr ""
 
-#: global.c:210
+#: global.c:216
 msgid "Forward"
 msgstr ""
 
-#: global.c:213
+#: global.c:219
 msgid "Back"
 msgstr ""
 
-#: global.c:216
+#: global.c:222
 msgid "Home"
 msgstr ""
 
-#: global.c:219
+#: global.c:225
 msgid "End"
 msgstr ""
 
-#: global.c:222
+#: global.c:228
 msgid "Refresh"
 msgstr ""
 
-#: global.c:225
+#: global.c:231
 msgid "Mark Text"
 msgstr ""
 
-#: global.c:228
+#: global.c:234
 msgid "Delete"
 msgstr ""
 
-#: global.c:232
+#: global.c:238
 msgid "Backspace"
 msgstr ""
 
-#: global.c:236
+#: global.c:242
 msgid "Tab"
 msgstr ""
 
-#: global.c:247
+#: global.c:253
 msgid "Enter"
 msgstr ""
 
-#: global.c:260 global.c:280 global.c:299
+#: global.c:266 global.c:286 global.c:305
 msgid "First Line"
 msgstr ""
 
-#: global.c:263 global.c:283 global.c:302
+#: global.c:269 global.c:289 global.c:308
 msgid "Last Line"
 msgstr ""
 
-#: global.c:266 global.c:286
+#: global.c:272 global.c:292
 msgid "Case Sens"
 msgstr ""
 
-#: global.c:276 global.c:295 global.c:305 global.c:321 global.c:325
-#: global.c:331 winio.c:963
+#: global.c:282 global.c:301 global.c:311 global.c:327 global.c:331
+#: global.c:337 winio.c:963
 msgid "Cancel"
 msgstr ""
 
-#: global.c:289
+#: global.c:295
 msgid "No Replace"
 msgstr ""
 
@@ -403,305 +403,323 @@ msgstr ""
 msgid " -T \t\t--tabsize=[num]\t\tSet width of a tab to num\n"
 msgstr ""
 
-#: nano.c:317
-msgid " -V \t\t--version\t\tPrint version information and exit\n"
+#: nano.c:316
+msgid " -R\t\t--regexp\t\tUse regular expressions for search\n"
 msgstr ""
 
 #: nano.c:319
-msgid " -c \t\t--const\t\t\tConstantly show cursor position\n"
+msgid " -V \t\t--version\t\tPrint version information and exit\n"
 msgstr ""
 
 #: nano.c:321
-msgid " -h \t\t--help\t\t\tShow this message\n"
+msgid " -c \t\t--const\t\t\tConstantly show cursor position\n"
 msgstr ""
 
 #: nano.c:323
-msgid " -i \t\t--autoindent\t\tAutomatically indent new lines\n"
+msgid " -h \t\t--help\t\t\tShow this message\n"
 msgstr ""
 
 #: nano.c:325
+msgid " -i \t\t--autoindent\t\tAutomatically indent new lines\n"
+msgstr ""
+
+#: nano.c:327
 msgid " -l \t\t--nofollow\t\tDon't follow symbolic links, overwrite.\n"
 msgstr ""
 
-#: nano.c:328
+#: nano.c:330
 msgid " -m \t\t--mouse\t\t\tEnable mouse\n"
 msgstr ""
 
-#: nano.c:333
+#: nano.c:335
 msgid ""
 " -r [#cols] \t--fill=[#cols]\t\tSet fill cols to (wrap lines at) #cols\n"
 msgstr ""
 
-#: nano.c:335
+#: nano.c:337
 msgid " -p\t \t--pico\t\t\tMake bottom 2 lines more Pico-like\n"
 msgstr ""
 
-#: nano.c:337
+#: nano.c:339
 msgid " -s [prog] \t--speller=[prog]\tEnable alternate speller\n"
 msgstr ""
 
-#: nano.c:339
+#: nano.c:341
 msgid " -t \t\t--tempfile\t\tAuto save on exit, don't prompt\n"
 msgstr ""
 
-#: nano.c:341
+#: nano.c:343
 msgid " -v \t\t--view\t\t\tView (read only) mode\n"
 msgstr ""
 
-#: nano.c:343
+#: nano.c:345
 msgid " -w \t\t--nowrap\t\tDon't wrap long lines\n"
 msgstr ""
 
-#: nano.c:345
+#: nano.c:347
 msgid " -x \t\t--nohelp\t\tDon't show help window\n"
 msgstr ""
 
-#: nano.c:347
+#: nano.c:349
 msgid " -z \t\t--suspend\t\tEnable suspend\n"
 msgstr ""
 
-#: nano.c:349
+#: nano.c:351
 msgid " +LINE\t\t\t\t\tStart at line number LINE\n"
 msgstr ""
 
-#: nano.c:351
+#: nano.c:353
 msgid ""
 "Usage: nano [option] +LINE <file>\n"
 "\n"
 msgstr ""
 
-#: nano.c:352
+#: nano.c:354
 msgid "Option\t\tMeaning\n"
 msgstr ""
 
-#: nano.c:354
+#: nano.c:356
 msgid " -T [num]\tSet width of a tab to num\n"
 msgstr ""
 
-#: nano.c:356
+#: nano.c:358
+msgid " -R\t\tUse regular expressions for search\n"
+msgstr ""
+
+#: nano.c:359
 msgid " -V \t\tPrint version information and exit\n"
 msgstr ""
 
-#: nano.c:357
+#: nano.c:360
 msgid " -c \t\tConstantly show cursor position\n"
 msgstr ""
 
-#: nano.c:358
+#: nano.c:361
 msgid " -h \t\tShow this message\n"
 msgstr ""
 
-#: nano.c:359
+#: nano.c:362
 msgid " -i \t\tAutomatically indent new lines\n"
 msgstr ""
 
-#: nano.c:361
+#: nano.c:364
 msgid " -l \t\tDon't follow symbolic links, overwrite.\n"
 msgstr ""
 
-#: nano.c:364
+#: nano.c:367
 msgid " -m \t\tEnable mouse\n"
 msgstr ""
 
-#: nano.c:368
+#: nano.c:371
 msgid " -r [#cols] \tSet fill cols to (wrap lines at) #cols\n"
 msgstr ""
 
-#: nano.c:369
+#: nano.c:372
 msgid " -s [prog]  \tEnable alternate speller\n"
 msgstr ""
 
-#: nano.c:370
+#: nano.c:373
 msgid " -p \t\tMake bottom 2 lines more Pico-like\n"
 msgstr ""
 
-#: nano.c:371
+#: nano.c:374
 msgid " -t \t\tAuto save on exit, don't prompt\n"
 msgstr ""
 
-#: nano.c:372
+#: nano.c:375
 msgid " -v \t\tView (read only) mode\n"
 msgstr ""
 
-#: nano.c:373
+#: nano.c:376
 msgid " -w \t\tDon't wrap long lines\n"
 msgstr ""
 
-#: nano.c:374
+#: nano.c:377
 msgid " -x \t\tDon't show help window\n"
 msgstr ""
 
-#: nano.c:375
+#: nano.c:378
 msgid " -z \t\tEnable suspend\n"
 msgstr ""
 
-#: nano.c:376
+#: nano.c:379
 msgid " +LINE\t\tStart at line number LINE\n"
 msgstr ""
 
-#: nano.c:383
+#: nano.c:386
 #, c-format
 msgid " nano version %s by Chris Allegretta (compiled %s, %s)\n"
 msgstr ""
 
-#: nano.c:385
+#: nano.c:388
 msgid " Email: nano@asty.org\tWeb: http://www.asty.org/nano\n"
 msgstr ""
 
-#: nano.c:410
+#: nano.c:413
 msgid "Mark Set"
 msgstr ""
 
-#: nano.c:415
+#: nano.c:418
 msgid "Mark UNset"
 msgstr ""
 
-#: nano.c:857
+#: nano.c:860
 #, c-format
 msgid "check_wrap called with inptr->data=\"%s\"\n"
 msgstr ""
 
-#: nano.c:917
+#: nano.c:920
 #, c-format
 msgid "current->data now = \"%s\"\n"
 msgstr ""
 
-#: nano.c:970
+#: nano.c:973
 #, c-format
 msgid "After, data = \"%s\"\n"
 msgstr ""
 
-#: nano.c:1040
+#: nano.c:1043
 msgid "Error deleting tempfile, ack!"
 msgstr ""
 
-#: nano.c:1057
+#: nano.c:1060
 #, c-format
 msgid "Could not create a temporary filename: %s"
 msgstr ""
 
-#: nano.c:1081
+#: nano.c:1084
 #, c-format
 msgid "Could not invoke spell program \"%s\""
 msgstr ""
 
 #. Why 32512? I dont know!
-#: nano.c:1087
+#: nano.c:1090
 msgid "Could not invoke \"ispell\""
 msgstr ""
 
-#: nano.c:1099
+#: nano.c:1102
 msgid "Finished checking spelling"
 msgstr ""
 
-#: nano.c:1117
+#: nano.c:1120
 msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? "
 msgstr ""
 
-#: nano.c:1240
+#: nano.c:1243
 msgid "Cannot resize top win"
 msgstr ""
 
-#: nano.c:1242
+#: nano.c:1245
 msgid "Cannot move top win"
 msgstr ""
 
-#: nano.c:1244
+#: nano.c:1247
 msgid "Cannot resize edit win"
 msgstr ""
 
-#: nano.c:1246
+#: nano.c:1249
 msgid "Cannot move edit win"
 msgstr ""
 
-#: nano.c:1248
+#: nano.c:1251
 msgid "Cannot resize bottom win"
 msgstr ""
 
-#: nano.c:1250
+#: nano.c:1253
 msgid "Cannot move bottom win"
 msgstr ""
 
-#: nano.c:1705
+#: nano.c:1712
 msgid "Main: set up windows\n"
 msgstr ""
 
-#: nano.c:1727
+#: nano.c:1734
 msgid "Main: bottom win\n"
 msgstr ""
 
-#: nano.c:1733
+#: nano.c:1740
 msgid "Main: open file\n"
 msgstr ""
 
-#: nano.c:1806
+#: nano.c:1813
 #, c-format
 msgid "I got Alt-[-%c! (%d)\n"
 msgstr ""
 
-#: nano.c:1822
+#: nano.c:1829
 #, c-format
 msgid "I got Alt-%c! (%d)\n"
 msgstr ""
 
-#: search.c:54
+#: search.c:68
+#, c-format
+msgid "Case Sensitive Regexp Search%s"
+msgstr ""
+
+#: search.c:70
+#, c-format
+msgid "Regexp Search%s"
+msgstr ""
+
+#: search.c:72
 #, c-format
 msgid "Case Sensitive Search%s"
 msgstr ""
 
-#: search.c:55
+#: search.c:74
 #, c-format
 msgid "Search%s"
 msgstr ""
 
-#: search.c:59
+#: search.c:82
 msgid "Search Cancelled"
 msgstr ""
 
-#: search.c:143
+#: search.c:170
 msgid "Search Wrapped"
 msgstr ""
 
-#: search.c:193
+#: search.c:222
 #, c-format
 msgid "Replaced %d occurences"
 msgstr ""
 
-#: search.c:195
+#: search.c:224
 msgid "Replaced 1 occurence"
 msgstr ""
 
-#: search.c:213 search.c:235 search.c:258
+#: search.c:353 search.c:375 search.c:398
 msgid "Replace Cancelled"
 msgstr ""
 
-#: search.c:231
+#: search.c:371
 #, c-format
 msgid "Replace with [%s]"
 msgstr ""
 
 #. last_search is empty
-#: search.c:256
+#: search.c:396
 msgid "Replace with"
 msgstr ""
 
-#: search.c:297
+#: search.c:437
 msgid "Replace this instance?"
 msgstr ""
 
 #. Ask for it
-#: search.c:362
+#: search.c:487
 msgid "Enter line number"
 msgstr ""
 
-#: search.c:364
+#: search.c:489
 msgid "Aborted"
 msgstr ""
 
-#: search.c:384
+#: search.c:509
 msgid "Come on, be reasonable"
 msgstr ""
 
-#: search.c:389
+#: search.c:514
 #, c-format
 msgid "Only %d lines available, skipping to last line"
 msgstr ""
diff --git a/proto.h b/proto.h
index 54e1b9aa..1e0d9df7 100644
--- a/proto.h
+++ b/proto.h
@@ -21,6 +21,7 @@
 /* Externs */
 
 #include <sys/stat.h>
+#include <regex.h>
 #include "nano.h"
 
 extern int center_x, center_y, editwinrows;
@@ -41,6 +42,9 @@ extern shortcut main_list[MAIN_LIST_LEN], whereis_list[WHEREIS_LIST_LEN];
 extern shortcut replace_list[REPLACE_LIST_LEN], goto_list[GOTO_LIST_LEN];
 extern shortcut writefile_list[WRITEFILE_LIST_LEN], help_list[HELP_LIST_LEN];
 extern shortcut spell_list[SPELL_LIST_LEN];
+extern int use_regexp, regexp_compiled;
+extern regex_t search_regexp;
+extern regmatch_t regmatches[10];  
 
 /* Programs we want available */
 
diff --git a/search.c b/search.c
index 48d21da5..8835d1fa 100644
--- a/search.c
+++ b/search.c
@@ -32,6 +32,20 @@
 #define _(string) (string)
 #endif
 
+/* Regular expression helper functions */
+
+void regexp_init(const char *regexp)
+{
+    regcomp(&search_regexp, regexp, ISSET(CASE_SENSITIVE) ? 0 : REG_ICASE);
+    SET(REGEXP_COMPILED);
+}
+
+void regexp_cleanup()
+{
+    UNSET(REGEXP_COMPILED);
+    regfree(&search_regexp);
+}
+
 /* Set up the system variables for a search or replace.  Returns -1 on
    abort, 0 on success, and 1 on rerun calling program 
    Return -2 to run opposite program (searchg -> replace, replace -> search)
@@ -42,17 +56,26 @@ int search_init(int replacing)
 {
     int i;
     char buf[BUFSIZ];
-
+    char *prompt;
+ 
     if (last_search[0]) {
 	snprintf(buf, BUFSIZ, " [%s]", last_search);
     } else {
 	buf[0] = '\0';
     }
 
+    if (ISSET(USE_REGEXP) && ISSET(CASE_SENSITIVE))
+        prompt = _("Case Sensitive Regexp Search%s");
+    else if (ISSET(USE_REGEXP))
+        prompt = _("Regexp Search%s");
+    else if (ISSET(CASE_SENSITIVE))
+        prompt = _("Case Sensitive Search%s");
+    else
+        prompt = _("Search%s");            
+        
     i = statusq(replacing ? replace_list : whereis_list,
 		replacing ? REPLACE_LIST_LEN : WHEREIS_LIST_LEN, "",
-		ISSET(CASE_SENSITIVE) ? _("Case Sensitive Search%s") :
-		_("Search%s"), buf);
+		prompt, buf);
 
     /* Cancel any search, or just return with no previous search */
     if ((i == -1) || (i < 0 && !last_search[0])) {
@@ -61,8 +84,12 @@ int search_init(int replacing)
 	return -1;
     } else if (i == -2) {	/* Same string */
 	strncpy(answer, last_search, 132);
+        if (ISSET(USE_REGEXP))
+            regexp_init(answer);
     } else if (i == 0) {	/* They entered something new */
 	strncpy(last_search, answer, 132);
+        if (ISSET(USE_REGEXP))
+            regexp_init(answer);
 
 	/* Blow away last_replace because they entered a new search
 	   string....uh, right? =) */
@@ -157,6 +184,8 @@ void search_abort(void)
     UNSET(KEEP_CUTBUFFER);
     display_main_list();
     wrefresh(bottomwin);
+    if (ISSET(REGEXP_COMPILED))
+        regexp_cleanup();
 }
 
 /* Search for a string */
@@ -200,6 +229,117 @@ void replace_abort(void)
     UNSET(KEEP_CUTBUFFER);
     display_main_list();
     reset_cursor();
+    if (ISSET(REGEXP_COMPILED))
+        regexp_cleanup();
+}
+
+int replace_regexp(char *string, int create_flag)
+{
+    /* split personality here - if create_flag is null, just calculate
+     * the size of the replacement line (necessary because of
+     * subexpressions like \1 \2 \3 in the replaced text) */
+
+    char *c;
+    int new_size = strlen(current->data) + 1;
+    int search_match_count = regmatches[0].rm_eo -
+        regmatches[0].rm_so;
+
+    new_size -= search_match_count;
+
+    /* Iterate through the replacement text to handle
+     * subexpression replacement using \1, \2, \3, etc */
+
+    c = last_replace;
+    while (*c) {
+        if (*c != '\\') {
+            if (create_flag)
+                *string++=*c;
+            c++;
+            new_size++;
+        } else {
+            int num = (int)*(c+1) - (int)'0';
+            if (num >= 1 && num <= 9) {
+
+                int i = regmatches[num].rm_so;
+
+                if (num > search_regexp.re_nsub) {
+                    /* Ugh, they specified a subexpression that doesn't
+                       exist.  */
+                    return -1;
+                }
+
+                /* Skip over the replacement expression */
+                c+=2;
+
+                /* But add the length of the subexpression to new_size */
+                new_size += regmatches[num].rm_eo - regmatches[num].rm_so;
+
+                /* And if create_flag is set, append the result of the
+                 * subexpression match to the new line */
+                while (create_flag && i < regmatches[num].rm_eo )
+                    *string++=*(current->data + i++);
+               
+            } else {
+                if (create_flag)
+                    *string++=*c;
+                c++;
+                new_size++;
+            }
+        }
+    }
+
+    if (create_flag)
+        *string = 0;
+
+    return new_size;
+}
+    
+char *replace_line()
+{
+    char *copy, *tmp;
+    int new_line_size;
+    int search_match_count;
+
+    /* Calculate size of new line */
+    if (ISSET(USE_REGEXP)) {
+        search_match_count = regmatches[0].rm_eo -
+            regmatches[0].rm_so;
+        new_line_size = replace_regexp(NULL, 0);
+
+        /* If they specified an invalid subexpression in the replace
+         * text, return NULL indicating an error */
+        if (new_line_size < 0)
+            return NULL;
+    } else {
+        search_match_count = strlen(last_search);
+        new_line_size = strlen(current->data) - strlen(last_search) +
+            strlen(last_replace) + 1;
+    }
+    
+    /* Create buffer */
+    copy = nmalloc(new_line_size);
+
+    /* Head of Original Line */
+    strncpy(copy, current->data, current_x);
+    copy[current_x] = 0;
+
+    /* Replacement Text */
+    if (!ISSET(USE_REGEXP))
+        strcat(copy, last_replace);
+    else
+        (void)replace_regexp(copy + current_x, 1);
+
+    /* The tail of the original line */
+    /* This may expose other bugs, because it no longer
+       goes through each character on the string
+       and tests for string goodness.  But because
+       we can assume the invariant that current->data
+       is less than current_x + strlen(last_search) long,
+       this should be safe.  Or it will expose bugs ;-) */
+    tmp = current->data + current_x + search_match_count;
+    strcat(copy, tmp);
+
+    return copy;
 }
 
 /* Search for a string */
@@ -207,7 +347,7 @@ int do_replace(void)
 {
     int i, replaceall = 0, numreplaced = 0, beginx;
     filestruct *fileptr, *begin;
-    char *tmp, *copy, prevanswer[132] = "";
+    char *copy, prevanswer[132] = "";
 
     if ((i = search_init(1)) == -1) {
 	statusbar(_("Replace Cancelled"));
@@ -300,26 +440,11 @@ int do_replace(void)
 	    if (i == 2)
 		replaceall = 1;
 
-	    /* Create buffer */
-	    copy = nmalloc(strlen(current->data) - strlen(last_search) +
-			   strlen(last_replace) + 1);
-
-	    /* Head of Original Line */
-	    strncpy(copy, current->data, current_x);
-	    copy[current_x] = 0;
-
-	    /* Replacement Text */
-	    strcat(copy, last_replace);
-
-	    /* The tail of the original line */
-	    /*  This may expose other bugs, because it no longer
-	       goes through each character on the string
-	       and tests for string goodness.  But because
-	       we can assume the invariant that current->data
-	       is less than current_x + strlen(last_search) long,   
-	       this should be safe.  Or it will expose bugs ;-) */
-	    tmp = current->data + current_x + strlen(last_search);
-	    strcat(copy, tmp);
+            copy = replace_line();
+            if (!copy) {
+                statusbar("Replace failed: unknown subexpression!");
+                replace_abort();
+            }
 
 	    /* Cleanup */
 	    free(current->data);
diff --git a/utils.c b/utils.c
index c10dda55..a4fa9542 100644
--- a/utils.c
+++ b/utils.c
@@ -80,7 +80,12 @@ char *strcasestr(char *haystack, char *needle)
 
 char *strstrwrapper(char *haystack, char *needle)
 {
-
+    if (ISSET(USE_REGEXP)) {
+      int result=regexec(&search_regexp, haystack, 10, regmatches, 0);
+      if (!result)
+          return haystack+regmatches[0].rm_so;
+      return 0;
+    }  
     if (ISSET(CASE_SENSITIVE))
 	return strstr(haystack, needle);
     else
-- 
GitLab