commit 9fc8d43a82020b905a515287bc04bfc771d1aed2
parent 55373873528c2c661492988ee032ae41adc3d175
Author: Chris Allegretta <chrisa@asty.org>
Date: Fri, 7 Jul 2000 01:49:52 +0000
New regexp search feature by Bill Soudan
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@78 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
M | ChangeLog | | | 6 | +++++- |
M | global.c | | | 6 | ++++++ |
M | nano.1 | | | 4 | ++++ |
M | nano.c | | | 11 | +++++++++-- |
M | nano.h | | | 3 | ++- |
M | po/cat-id-tbl.c | | | 180 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
M | po/de.gmo | | | 0 | |
M | po/de.po | | | 112 | +++++++++++++++++++++++++++++++++++++++---------------------------------------- |
M | po/es.gmo | | | 0 | |
M | po/es.po | | | 110 | +++++++++++++++++++++++++++++++++++++++---------------------------------------- |
M | po/fi.gmo | | | 0 | |
M | po/fi.po | | | 110 | +++++++++++++++++++++++++++++++++++++++---------------------------------------- |
M | po/fr.po | | | 112 | +++++++++++++++++++++++++++++++++++++++---------------------------------------- |
M | po/id.gmo | | | 0 | |
M | po/id.po | | | 110 | +++++++++++++++++++++++++++++++++++++++---------------------------------------- |
M | po/it.gmo | | | 0 | |
M | po/it.po | | | 112 | +++++++++++++++++++++++++++++++++++++++---------------------------------------- |
M | po/nano.pot | | | 290 | ++++++++++++++++++++++++++++++++++++++++++------------------------------------- |
M | proto.h | | | 4 | ++++ |
M | search.c | | | 173 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------- |
M | utils.c | | | 7 | ++++++- |
21 files changed, 758 insertions(+), 592 deletions(-)
diff --git 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
Binary files differ.
diff --git 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,55 +757,59 @@ 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
Binary files differ.
diff --git 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
Binary files differ.
diff --git 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
@@ -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
Binary files differ.
diff --git 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
Binary files differ.
diff --git 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,55 +736,59 @@ 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
@@ -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
@@ -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
@@ -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
@@ -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