From: Chris Allegretta Date: Fri, 7 Jul 2000 01:49:52 +0000 (+0000) Subject: New regexp search feature by Bill Soudan X-Git-Tag: v0.9.12~11 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=9fc8d43a82020b905a515287bc04bfc771d1aed2;p=nano.git New regexp search feature by Bill Soudan git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@78 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- 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 \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 \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 2f4c56f8..2b744132 100644 Binary files a/po/de.gmo and b/po/de.gmo differ 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 \n" "Language-Team: German \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 9d21e2cd..67855974 100644 Binary files a/po/es.gmo and b/po/es.gmo differ 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 \n" "Language-Team: Spanish \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 36cb8b07..1a1c60ee 100644 Binary files a/po/fi.gmo and b/po/fi.gmo differ 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 \n" "Language-Team: Finnish \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 \n" "Language-Team: French \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 10e24c97..c6d2bef4 100644 Binary files a/po/id.gmo and b/po/id.gmo differ 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 \n" "Language-Team: Indonesian \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 8c8451f7..5ecb5208 100644 Binary files a/po/it.gmo and b/po/it.gmo differ 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 \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 \n" "Language-Team: LANGUAGE \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 \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 +#include #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