From 9a50b1bf21cee8ba77306e319d88c4e2eeb024c0 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 27 Jun 2005 22:48:21 +0000 Subject: updated for version 7.0095 --- runtime/doc/spell.txt | 60 +- runtime/doc/todo.txt | 7 +- src/eval.c | 340 +++-- src/ex_cmds.c | 3 + src/hashtable.c | 2 +- src/os_amiga.c | 2 +- src/po/pl.po | 3832 ++++++++++++++++++++++++++++------------------- src/proto/hashtable.pro | 1 + 8 files changed, 2567 insertions(+), 1680 deletions(-) diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt index aaef05f10e..bc0130efa5 100644 --- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -1,4 +1,4 @@ -*spell.txt* For Vim version 7.0aa. Last change: 2005 Jun 25 +*spell.txt* For Vim version 7.0aa. Last change: 2005 Jun 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -266,7 +266,7 @@ find these functions useful: Vim uses a binary file format for spelling. This greatly speeds up loading the word list and keeps it small. - + *.aff* *.dic* *Myspell* You can create a Vim spell file from the .aff and .dic files that Myspell uses. Myspell is used by OpenOffice.org and Mozilla. You should be able to find them here: @@ -321,9 +321,14 @@ then Vim will try to guess. When the spell file was written all currently used spell files will be reloaded. -:mksp[ell] [-ascii] {add-name} - Like ":mkspell" above, using {add-name} as the input - file and producing an output file that has ".spl" +:mksp[ell] [-ascii] {name}.{enc}.add + Like ":mkspell" above, using {name}.{enc}.add as the + input file and producing an output file that has + ".spl" appended. + +:mksp[ell] [-ascii] {name} + Like ":mkspell" above, using {name} as the input file + and producing an output file that has ".{enc}.spl" appended. Since you might want to change a Myspell word list for use with Vim the @@ -557,14 +562,43 @@ contain the table with characters, so that it can be combine with spell files for any encoding. The .add.spl files also do not contain the table. +MID-WORD CHARACTERS + *spell-midword* +Some characters are only to be considered word characters if they are used in +between two ordinary word characters. An example is the single quote: It is +often used to put text in quotes, thus it can't be recognized as a word +character, but when it appears in between word characters it must be part of +the word. This is needed to detect a spelling error such as they'are. That +should be they're, but since "they" and "are" are words themselves that would +go unnoticed. + +These characters are defined with MIDWORD in the .aff file: + + MIDWORD '- ~ + + AFFIXES *spell-affix-PFX* *spell-affix-SFX* The usual PFX (prefix) and SFX (suffix) lines are supported (see the Myspell -documentation). Note that Myspell ignores any extra text after the relevant -info. Vim requires this text to start with a "#" so that mistakes don't go -unnoticed. Example: +documentation or the Aspell manual: +http://aspell.net/man-html/Affix-Compression.html). - SFX F 0 in [^i]n # Spion > Spionin ~ +Note that Myspell ignores any extra text after the relevant info. Vim +requires this text to start with a "#" so that mistakes don't go unnoticed. +Example: + + SFX F 0 in [^i]n # Spion > Spionin ~ + SFX F 0 nen in # Bauerin > Bauerinnen ~ + +An extra item for Vim is the "rare" flag. It must come after the other +fields, before a comment. When used then all words that use the affix will be +marked as rare words. Example: + + PFX F 0 nene . rare ~ + SFX F 0 oin n rare # hardly ever used ~ + +However, if the word also appears as a good word in another way it won't be +marked as rare. *spell-affix-PFXPOSTPONE* When an affix file has very many prefixes that apply to many words it's not @@ -610,8 +644,12 @@ bad words. Example: BAD ! ~ This can be used to exclude words that would otherwise be good. For example -"the the". Once a word has been marked as bad it won't be undone by -encountering the same word as good. +"the the" in the .dic file: + + the the/! ~ + +Once a word has been marked as bad it won't be undone by encountering the same +word as good. REPLACEMENTS *spell-affix-REP* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index b41ba49458..5754b6ee53 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0aa. Last change: 2005 Jun 26 +*todo.txt* For Vim version 7.0aa. Last change: 2005 Jun 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,8 +30,7 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- -Is the fix for memory leaks in unreferencing dict/list correct? Is there a -situation where a reference from outside of the structure is not counted? +send fixes for ccmalloc port to FreeBSD. Add extra list of file locations. Can be used with: :ltag list of matching tags, like :tselect @@ -101,8 +100,6 @@ PLANNED FOR VERSION 7.0: - Add SPELLCHECKER, with support for many languages. - Spell checking code todo's: - - Special handling of ' and -: define in the .aff file. - Aspell does this with "special". - Support user function to make suggestions: :set spellsuggest=MySuggest,fast Also support a list with common mistakes? diff --git a/src/eval.c b/src/eval.c index b56c34163c..0e9a2ba179 100644 --- a/src/eval.c +++ b/src/eval.c @@ -194,10 +194,14 @@ struct ufunc #define DEL_REFCOUNT 999999 /* list/dict is being deleted */ /* - * All user-defined functions are found in this hash table. + * All user-defined functions are found in this hashtable. */ static hashtab_T func_hashtab; +/* list heads for garbage collection */ +static dict_T *first_dict = NULL; /* list of all dicts */ +static list_T *first_list = NULL; /* list of all lists */ + /* From user function to hashitem and back. */ static ufunc_T dumuf; #define UF2HIKEY(fp) ((fp)->uf_name) @@ -212,7 +216,9 @@ static ufunc_T dumuf; #define FIXVAR_CNT 12 /* number of fixed variables */ /* structure to hold info for a function that is currently being executed. */ -typedef struct funccall_S +typedef struct funccall_S funccall_T; + +struct funccall_S { ufunc_T *func; /* function being called */ int linenr; /* next line to be executed */ @@ -235,7 +241,8 @@ typedef struct funccall_S #ifdef FEAT_PROFILE proftime_T prof_child; /* time spent in a child */ #endif -} funccall_T; + funccall_T *caller; /* calling function or NULL */ +}; /* * Info used by a ":for" loop. @@ -382,10 +389,9 @@ static void list_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2)) static char_u *list2string __ARGS((typval_T *tv)); static int list_join __ARGS((garray_T *gap, list_T *l, char_u *sep, int echo)); -static int count_self_ref __ARGS((void *p, int type)); -static int count_ref_in_dict __ARGS((dict_T *d, void *rp, int copyID, garray_T *gap)); -static int count_ref_in_list __ARGS((list_T *l, void *rp, int copyID, garray_T *gap)); -static int count_ref_item __ARGS((typval_T *tv, void *rp, int copyID, garray_T *gap)); +static void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID)); +static void set_ref_in_list __ARGS((list_T *l, int copyID)); +static void set_ref_in_item __ARGS((typval_T *tv, int copyID)); static void dict_unref __ARGS((dict_T *d)); static void dict_free __ARGS((dict_T *d)); @@ -460,6 +466,7 @@ static void f_foldtext __ARGS((typval_T *argvars, typval_T *rettv)); static void f_foldtextresult __ARGS((typval_T *argvars, typval_T *rettv)); static void f_foreground __ARGS((typval_T *argvars, typval_T *rettv)); static void f_function __ARGS((typval_T *argvars, typval_T *rettv)); +static void f_garbagecollect __ARGS((typval_T *argvars, typval_T *rettv)); static void f_get __ARGS((typval_T *argvars, typval_T *rettv)); static void f_getbufvar __ARGS((typval_T *argvars, typval_T *rettv)); static void f_getchar __ARGS((typval_T *argvars, typval_T *rettv)); @@ -749,7 +756,12 @@ eval_clear() /* global variables */ vars_clear(&globvarht); + /* functions */ free_all_functions(); + hash_clear(&func_hashtab); + + /* unreferenced lists and dicts */ + (void)garbage_collect(); } #endif @@ -4945,7 +4957,19 @@ failret: static list_T * list_alloc() { - return (list_T *)alloc_clear(sizeof(list_T)); + list_T *l; + + l = (list_T *)alloc_clear(sizeof(list_T)); + if (l != NULL) + { + /* Prepend the list to the list of lists for garbage collection. */ + if (first_list != NULL) + first_list->lv_used_prev = l; + l->lv_used_prev = NULL; + l->lv_used_next = first_list; + first_list = l; + } + return l; } /* @@ -4956,23 +4980,8 @@ list_alloc() list_unref(l) list_T *l; { - int selfref; - - if (l != NULL && l->lv_refcount != DEL_REFCOUNT) - { - if (--l->lv_refcount > 0) - { - /* Check if the dict contains references to itself. These need to - * be subtracted from the reference count to find out if we can - * delete the dict. */ - selfref = count_self_ref(l, VAR_LIST); - } - else - selfref = 0; - if (l->lv_refcount - selfref == 0) - /* No references to the list now, free it. */ - list_free(l); - } + if (l != NULL && l->lv_refcount != DEL_REFCOUNT && --l->lv_refcount <= 0) + list_free(l); } /* @@ -4988,6 +4997,14 @@ list_free(l) /* Avoid that recursive reference to the list frees us again. */ l->lv_refcount = DEL_REFCOUNT; + /* Remove the list from the list of lists for garbage collection. */ + if (l->lv_used_prev == NULL) + first_list = l->lv_used_next; + else + l->lv_used_prev->lv_used_next = l->lv_used_next; + if (l->lv_used_next != NULL) + l->lv_used_next->lv_used_prev = l->lv_used_prev; + for (item = l->lv_first; item != NULL; item = l->lv_first) { /* Remove the item before deleting it. */ @@ -5568,157 +5585,168 @@ list_join(gap, l, sep, echo) } /* - * Count the number of references for list/dict "p" inside itself. - * This is used to find out if there are no more references elsewhere. - * The tricky bit is that we must not count references in lists/dicts that are - * used elsewhere, but we can only know by counting their references... - * This is a bit slow, but required to avoid leaking memory. + * Garbage collection for lists and dictionaries. + * + * We use reference counts to be able to free most items right away when they + * are no longer used. But for composite items it's possible that it becomes + * unused while the reference count is > 0: When there is a recursive + * reference. Example: + * :let l = [1, 2, 3] + * :let d = {9: l} + * :let l[1] = d + * + * Since this is quite unusual we handle this with garbage collection: every + * once in a while find out which lists and dicts are not referenced from any + * variable. + * + * Here is a good reference text about garbage collection (refers to Python + * but it applies to all reference-counting mechanisms): + * http://python.ca/nas/python/gc/ */ - static int -count_self_ref(p, type) - void *p; - int type; + +/* + * Do garbage collection for lists and dicts. + * Return TRUE if some memory was freed. + */ + int +garbage_collect() { - garray_T ga; - typval_T *tv; - int selfref; + dict_T *dd; + list_T *ll; + int copyID = ++current_copyID; + buf_T *buf; + win_T *wp; int i; - int n; + funccall_T *fc; + int did_free = FALSE; - ga_init2(&ga, sizeof(typval_T *), 10); - if (type == VAR_DICT) - selfref = count_ref_in_dict(p, p, ++current_copyID, &ga); - else - selfref = count_ref_in_list(p, p, ++current_copyID, &ga); - for (i = 0; i < ga.ga_len; ++i) + /* + * 1. Go through all accessible variables and mark all lists and dicts + * with copyID. + */ + /* script-local variables */ + for (i = 1; i <= ga_scripts.ga_len; ++i) + set_ref_in_ht(&SCRIPT_VARS(i), copyID); + + /* buffer-local variables */ + for (buf = firstbuf; buf != NULL; buf = buf->b_next) + set_ref_in_ht(&buf->b_vars.dv_hashtab, copyID); + + /* window-local variables */ + FOR_ALL_WINDOWS(wp) + set_ref_in_ht(&wp->w_vars.dv_hashtab, copyID); + + /* global variables */ + set_ref_in_ht(&globvarht, copyID); + + /* function-local variables */ + for (fc = current_funccal; fc != NULL; fc = fc->caller) { - tv = ((typval_T **)ga.ga_data)[i]; - if (tv->v_type == VAR_DICT) + set_ref_in_ht(&fc->l_vars.dv_hashtab, copyID); + set_ref_in_ht(&fc->l_avars.dv_hashtab, copyID); + } + + /* + * 2. Go through the list of dicts and free items without the copyID. + */ + for (dd = first_dict; dd != NULL; ) + if (dd->dv_copyID != copyID) { - n = count_ref_in_dict(tv->vval.v_dict, tv->vval.v_dict, - ++current_copyID, NULL); - if (n < tv->vval.v_dict->dv_refcount) - { - selfref = 0; - break; - } + dict_free(dd); + did_free = TRUE; + + /* restart, next dict may also have been freed */ + dd = first_dict; } else + dd = dd->dv_used_next; + + /* + * 3. Go through the list of lists and free items without the copyID. + */ + for (ll = first_list; ll != NULL; ) + if (ll->lv_copyID != copyID) { - n = count_ref_in_list(tv->vval.v_list, tv->vval.v_list, - ++current_copyID, NULL); - if (n < tv->vval.v_list->lv_refcount) - { - selfref = 0; - break; - } + list_free(ll); + did_free = TRUE; + + /* restart, next dict may also have been freed */ + ll = first_list; } - } + else + ll = ll->lv_used_next; - ga_clear(&ga); - return selfref; + return did_free; } /* - * Count number of references to "rp" in dictionary "d" and its members. - * We use "copyID" to avoid recursing into the same list/dict twice. + * Mark all lists and dicts referenced through hashtab "ht" with "copyID". */ - static int -count_ref_in_dict(d, rp, copyID, gap) - dict_T *d; - void *rp; + static void +set_ref_in_ht(ht, copyID) + hashtab_T *ht; int copyID; - garray_T *gap; { int todo; hashitem_T *hi; - int n = 0; - todo = d->dv_hashtab.ht_used; - for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi) + todo = ht->ht_used; + for (hi = ht->ht_array; todo > 0; ++hi) if (!HASHITEM_EMPTY(hi)) { --todo; - n += count_ref_item(&HI2DI(hi)->di_tv, rp, copyID, gap); + set_ref_in_item(&HI2DI(hi)->di_tv, copyID); } - return n; } /* - * Count number of references to "rp" in list "l" and its members. - * We use "copyID" to avoid recursing into the same list/dict twice. + * Mark all lists and dicts referenced through list "l" with "copyID". */ - static int -count_ref_in_list(l, rp, copyID, gap) + static void +set_ref_in_list(l, copyID) list_T *l; - void *rp; int copyID; - garray_T *gap; { listitem_T *li; - int n = 0; for (li = l->lv_first; li != NULL; li = li->li_next) - n += count_ref_item(&li->li_tv, rp, copyID, gap); - return n; + set_ref_in_item(&li->li_tv, copyID); } /* - * Count number of references to "rp" in item "tv" and any members. - * We use "copyID" to avoid recursing into the same list/dict twice. - * When "gap" is not NULL store items that require checking for only - * references inside the structure. + * Mark all lists and dicts referenced through typval "tv" with "copyID". */ - static int -count_ref_item(tv, rp, copyID, gap) + static void +set_ref_in_item(tv, copyID) typval_T *tv; - void *rp; int copyID; - garray_T *gap; { dict_T *dd; list_T *ll; - int n; switch (tv->v_type) { case VAR_DICT: dd = tv->vval.v_dict; - if (dd == rp) - return 1; /* match, count it */ - if (dd->dv_copyID == copyID) - return 0; /* already inspected this dict */ - dd->dv_copyID = copyID; - n = count_ref_in_dict(dd, rp, copyID, gap); - if (n > 0 && gap != NULL && dd->dv_refcount > 1) + if (dd->dv_copyID != copyID) { - /* We must later check that the references to this dict are - * all in the structure we are freeing. */ - if (ga_grow(gap, 1) == FAIL) - return 0; - ((typval_T **)gap->ga_data)[gap->ga_len++] = tv; + /* Didn't see this dict yet. */ + dd->dv_copyID = copyID; + set_ref_in_ht(&dd->dv_hashtab, copyID); } - return n; + break; case VAR_LIST: ll = tv->vval.v_list; - if (ll == rp) - return 1; /* match, count it */ - if (ll->lv_copyID == copyID) - return 0; /* already inspected this list */ - ll->lv_copyID = copyID; - n = count_ref_in_list(ll, rp, copyID, gap); - if (n > 0 && gap != NULL && ll->lv_refcount > 1) + if (ll->lv_copyID != copyID) { - /* We must later check that the references to this list are - * all in the structure we are freeing. */ - if (ga_grow(gap, 1) == FAIL) - return 0; - ((typval_T **)gap->ga_data)[gap->ga_len++] = tv; + /* Didn't see this list yet. */ + ll->lv_copyID = copyID; + set_ref_in_list(ll, copyID); } - return n; + break; } - return 0; + return; } /* @@ -5732,6 +5760,12 @@ dict_alloc() d = (dict_T *)alloc(sizeof(dict_T)); if (d != NULL) { + /* Add the list to the hashtable for garbage collection. */ + if (first_dict != NULL) + first_dict->dv_used_prev = d; + d->dv_used_next = first_dict; + d->dv_used_prev = NULL; + hash_init(&d->dv_hashtab); d->dv_lock = 0; d->dv_refcount = 0; @@ -5748,23 +5782,8 @@ dict_alloc() dict_unref(d) dict_T *d; { - int selfref; - - if (d != NULL && d->dv_refcount != DEL_REFCOUNT) - { - if (--d->dv_refcount > 0) - { - /* Check if the dict contains references to itself. These need to - * be subtracted from the reference count to find out if we can - * delete the dict. */ - selfref = count_self_ref(d, VAR_DICT); - } - else - selfref = 0; - if (d->dv_refcount - selfref == 0) - /* No references to the dict now, free it. */ - dict_free(d); - } + if (d != NULL && d->dv_refcount != DEL_REFCOUNT && --d->dv_refcount <= 0) + dict_free(d); } /* @@ -5782,8 +5801,15 @@ dict_free(d) /* Avoid that recursive reference to the dict frees us again. */ d->dv_refcount = DEL_REFCOUNT; - /* Lock the hashtab, we don't want it to resize while looping through it. - * */ + /* Remove the dict from the list of dicts for garbage collection. */ + if (d->dv_used_prev == NULL) + first_dict = d->dv_used_next; + else + d->dv_used_prev->dv_used_next = d->dv_used_next; + if (d->dv_used_next != NULL) + d->dv_used_next->dv_used_prev = d->dv_used_prev; + + /* Lock the hashtab, we don't want it to resize while freeing items. */ hash_lock(&d->dv_hashtab); todo = d->dv_hashtab.ht_used; for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi) @@ -6505,6 +6531,7 @@ static struct fst {"foldtextresult", 1, 1, f_foldtextresult}, {"foreground", 0, 0, f_foreground}, {"function", 1, 1, f_function}, + {"garbagecollect", 0, 0, f_garbagecollect}, {"get", 2, 3, f_get}, {"getbufvar", 2, 2, f_getbufvar}, {"getchar", 0, 1, f_getchar}, @@ -8885,6 +8912,18 @@ f_function(argvars, rettv) } } +/* + * "garbagecollect()" function + */ +/*ARGSUSED*/ + static void +f_garbagecollect(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + garbage_collect(); +} + /* * "get()" function */ @@ -15506,8 +15545,10 @@ find_var_in_ht(ht, varname, writing) case 'v': return &vimvars_var; case 'b': return &curbuf->b_bufvar; case 'w': return &curwin->w_winvar; - case 'l': return ¤t_funccal->l_vars_var; - case 'a': return ¤t_funccal->l_avars_var; + case 'l': return current_funccal == NULL + ? NULL : ¤t_funccal->l_vars_var; + case 'a': return current_funccal == NULL + ? NULL : ¤t_funccal->l_avars_var; } return NULL; } @@ -15689,6 +15730,7 @@ vars_clear_ext(ht, free_val) } } hash_clear(ht); + ht->ht_used = 0; } /* @@ -15789,7 +15831,7 @@ set_var(name, tv, copy) } if (function_exists(name)) { - EMSG2(_("705: Variable name conflicts with existing function: %s"), + EMSG2(_("E705: Variable name conflicts with existing function: %s"), name); return; } @@ -17569,7 +17611,6 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict) linenr_T save_sourcing_lnum; scid_T save_current_SID; funccall_T fc; - funccall_T *save_fcp = current_funccal; int save_did_emsg; static int depth = 0; dictitem_T *v; @@ -17594,6 +17635,7 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict) line_breakcheck(); /* check for CTRL-C hit */ + fc.caller = current_funccal; current_funccal = &fc; fc.func = fp; fc.rettv = rettv; @@ -17752,7 +17794,7 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict) if (!fp->uf_profiling && has_profiling(FALSE, fp->uf_name, NULL)) func_do_profile(fp); if (fp->uf_profiling - || (save_fcp != NULL && &save_fcp->func->uf_profiling)) + || (fc.caller != NULL && &fc.caller->func->uf_profiling)) { ++fp->uf_tm_count; profile_start(&fp->uf_tm_start); @@ -17782,17 +17824,17 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict) } #ifdef FEAT_PROFILE - if (fp->uf_profiling || (save_fcp != NULL && &save_fcp->func->uf_profiling)) + if (fp->uf_profiling || (fc.caller != NULL && &fc.caller->func->uf_profiling)) { profile_end(&fp->uf_tm_start); profile_sub_wait(&wait_start, &fp->uf_tm_start); profile_add(&fp->uf_tm_total, &fp->uf_tm_start); profile_add(&fp->uf_tm_self, &fp->uf_tm_start); profile_sub(&fp->uf_tm_self, &fp->uf_tm_children); - if (save_fcp != NULL && &save_fcp->func->uf_profiling) + if (fc.caller != NULL && &fc.caller->func->uf_profiling) { - profile_add(&save_fcp->func->uf_tm_children, &fp->uf_tm_start); - profile_add(&save_fcp->func->uf_tml_children, &fp->uf_tm_start); + profile_add(&fc.caller->func->uf_tm_children, &fp->uf_tm_start); + profile_add(&fc.caller->func->uf_tml_children, &fp->uf_tm_start); } } #endif @@ -17850,7 +17892,7 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict) } did_emsg |= save_did_emsg; - current_funccal = save_fcp; + current_funccal = fc.caller; /* The a: variables typevals were not alloced, only free the allocated * variables. */ diff --git a/src/ex_cmds.c b/src/ex_cmds.c index 9daa8f671a..1b99caf42b 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -3199,6 +3199,9 @@ do_ecmd(fnum, ffname, sfname, eap, newlnum, flags) #ifdef FEAT_DIFF curwin->w_p_diff = FALSE; /* No 'diff' */ #endif +#ifdef FEAT_SYN_HL + curwin->w_p_spell = FALSE; /* No spell checking */ +#endif #ifdef FEAT_AUTOCMD buf = curbuf; diff --git a/src/hashtable.c b/src/hashtable.c index d4177d3ea6..904be4704c 100644 --- a/src/hashtable.c +++ b/src/hashtable.c @@ -250,7 +250,7 @@ hash_set(hi, key) /* * Remove item "hi" from hashtable "ht". "hi" must have been obtained with - * hash_lookup() and point to an empty item. + * hash_lookup(). * The caller must take care of freeing the item itself. */ void diff --git a/src/os_amiga.c b/src/os_amiga.c index 1c15dc1f9e..8717825f39 100644 --- a/src/os_amiga.c +++ b/src/os_amiga.c @@ -148,7 +148,7 @@ mch_inchar(buf, maxlen, time, tb_change_cnt) return 3; } #endif - updatescript(0); + before_blocking(); } } diff --git a/src/po/pl.po b/src/po/pl.po index 7f4030d942..8a7ac76ae8 100644 --- a/src/po/pl.po +++ b/src/po/pl.po @@ -3,19 +3,20 @@ # # updated 2001 for vim-6.0 # FIRST AUTHOR Marcin Dalecki , 2000. -# Mikolaj Machowski , 2004. +# Mikolaj Machowski , 2004, 2005. # msgid "" msgstr "" "Project-Id-Version: pl\n" -"POT-Creation-Date: 2004-05-23 21:41+0200\n" -"PO-Revision-Date: 2004-05-23 22:00+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-06-27 01:18+0200\n" +"PO-Revision-Date: 2005-06-27 10:45+0200\n" "Last-Translator: Mikolaj Machowski \n" -"Language-Team: Polish \n" +"Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.9\n" +"X-Generator: KBabel 1.11\n" #: buffer.c:102 msgid "E82: Cannot allocate any buffer, exiting..." @@ -25,169 +26,170 @@ msgstr "E82: Nie mog msgid "E83: Cannot allocate buffer, using other one..." msgstr "E83: Nie mogę zarezerwować bufora; używam innego..." -#: buffer.c:805 +#: buffer.c:857 msgid "E515: No buffers were unloaded" msgstr "E515: Nie wyładowano żadnego bufora" -#: buffer.c:807 +#: buffer.c:859 msgid "E516: No buffers were deleted" msgstr "E516: Nie skasowano żadnego bufora" -#: buffer.c:809 +#: buffer.c:861 msgid "E517: No buffers were wiped out" msgstr "E517: Nie wyrzucono żadnego bufora" -#: buffer.c:817 +#: buffer.c:869 msgid "1 buffer unloaded" msgstr "1 bufor wyładowany" -#: buffer.c:819 +#: buffer.c:871 #, c-format msgid "%d buffers unloaded" msgstr "wyładowano %d buforów" -#: buffer.c:824 +#: buffer.c:876 msgid "1 buffer deleted" msgstr "1 bufor skasowany" -#: buffer.c:826 +#: buffer.c:878 #, c-format msgid "%d buffers deleted" msgstr "%d buforów skasowano" -#: buffer.c:831 +#: buffer.c:883 msgid "1 buffer wiped out" msgstr "wyrzucono 1 bufor " -#: buffer.c:833 +#: buffer.c:885 #, c-format msgid "%d buffers wiped out" msgstr "wyrzucono %d buforów" -#: buffer.c:894 +#: buffer.c:946 msgid "E84: No modified buffer found" msgstr "E84: Nie znaleziono zmienionych buforów" #. back where we started, didn't find anything. -#: buffer.c:933 +#: buffer.c:985 msgid "E85: There is no listed buffer" msgstr "E85: Nie ma wylistowanych buforów" -#: buffer.c:945 +#: buffer.c:997 #, c-format msgid "E86: Buffer %ld does not exist" msgstr "E86: Bufor \"%ld\" nie istnieje" -#: buffer.c:948 +#: buffer.c:1000 msgid "E87: Cannot go beyond last buffer" msgstr "E87: Nie mogę przejść poza ostatni bufor" -#: buffer.c:950 +#: buffer.c:1002 msgid "E88: Cannot go before first buffer" msgstr "E88: Nie mogę przejść przed pierwszy bufor" -#: buffer.c:988 +#: buffer.c:1044 #, c-format msgid "E89: No write since last change for buffer %ld (add ! to override)" msgstr "E89 Nie zapisano zmian w buforze %ld (wymuś przez !)" -#: buffer.c:1005 +#: buffer.c:1061 msgid "E90: Cannot unload last buffer" msgstr "E90: Nie mogę wyładować ostatniego bufora" -#: buffer.c:1538 +#: buffer.c:1611 msgid "W14: Warning: List of file names overflow" msgstr "W14: OSTRZEŻENIE: Przepełnienie listy nazw plików" -#: buffer.c:1709 +#: buffer.c:1797 #, c-format msgid "E92: Buffer %ld not found" msgstr "E92: Nie znaleziono bufora %ld" -#: buffer.c:1940 +#: buffer.c:2060 #, c-format msgid "E93: More than one match for %s" msgstr "E93: Wielokrotne dopasowania dla %s" -#: buffer.c:1942 +#: buffer.c:2062 #, c-format msgid "E94: No matching buffer for %s" msgstr "E94: Żaden bufor nie pasuje do %s" -#: buffer.c:2337 +#: buffer.c:2472 #, c-format msgid "line %ld" msgstr "wiersz %ld" -#: buffer.c:2420 +#: buffer.c:2560 msgid "E95: Buffer with this name already exists" msgstr "E95: Bufor o tej nazwie już istnieje" -#: buffer.c:2713 +#: buffer.c:2879 msgid " [Modified]" msgstr " [Zmieniony]" -#: buffer.c:2718 +#: buffer.c:2884 msgid "[Not edited]" msgstr "[Nie edytowany]" -#: buffer.c:2723 +#: buffer.c:2889 msgid "[New file]" msgstr "[Nowy Plik]" -#: buffer.c:2724 +#: buffer.c:2890 msgid "[Read errors]" msgstr "[Błąd odczytu]" -#: buffer.c:2726 fileio.c:2112 +#: buffer.c:2892 fileio.c:2112 netbeans.c:3386 msgid "[readonly]" msgstr "[tylko odczyt]" -#: buffer.c:2747 +#: buffer.c:2915 #, c-format msgid "1 line --%d%%--" msgstr "1 wiersz --%d%%--" -#: buffer.c:2749 +#: buffer.c:2918 #, c-format msgid "%ld lines --%d%%--" msgstr "%ld wiersze --%d%%--" -#: buffer.c:2756 +#: buffer.c:2925 #, c-format msgid "line %ld of %ld --%d%%-- col " msgstr "wiersz %ld z %ld --%d%%-- kol " -#: buffer.c:2864 -msgid "[No file]" -msgstr "[Brak pliku]" +#: buffer.c:3033 buffer.c:4768 memline.c:1657 +msgid "[No Name]" +msgstr "[Bez nazwy]" #. must be a help buffer -#: buffer.c:2904 +#: buffer.c:3072 msgid "help" msgstr "pomoc" -#: buffer.c:3463 screen.c:5075 +#: buffer.c:3633 screen.c:5233 msgid "[help]" msgstr "[pomoc]" -#: buffer.c:3495 screen.c:5081 +#: buffer.c:3667 screen.c:5239 msgid "[Preview]" msgstr "[Podgląd]" -#: buffer.c:3775 +#: buffer.c:3949 msgid "All" msgstr "Wszystko" -#: buffer.c:3775 +#: buffer.c:3949 msgid "Bot" msgstr "Dół" -#: buffer.c:3777 +#: buffer.c:3951 msgid "Top" msgstr "Góra" -#: buffer.c:4523 +#: buffer.c:4720 +#, c-format msgid "" "\n" "# Buffer list:\n" @@ -195,15 +197,11 @@ msgstr "" "\n" "# Lista buforów:\n" -#: buffer.c:4556 +#: buffer.c:4755 msgid "[Error List]" msgstr "[Lista Błędów]" -#: buffer.c:4569 memline.c:1520 -msgid "[No File]" -msgstr "[Brak Pliku]" - -#: buffer.c:4882 +#: buffer.c:5081 msgid "" "\n" "--- Signs ---" @@ -211,149 +209,154 @@ msgstr "" "\n" "--- Znaki ---" -#: buffer.c:4901 +#: buffer.c:5091 #, c-format msgid "Signs for %s:" msgstr "Znaki dla %s:" -#: buffer.c:4907 +#: buffer.c:5097 #, c-format msgid " line=%ld id=%d name=%s" msgstr " wiersz=%ld id=%d nazwa=%s" -#: diff.c:139 +#: diff.c:162 #, c-format msgid "E96: Can not diff more than %ld buffers" msgstr "E96: Nie mogę zróżnicować więcej niż %ld buforów" -#: diff.c:709 +#: diff.c:736 msgid "E97: Cannot create diffs" msgstr "E97: Nie mogę stworzyć różnic" -#: diff.c:814 +#: diff.c:846 msgid "Patch file" msgstr "Plik łata" -#: diff.c:1065 +#: diff.c:1149 msgid "E98: Cannot read diff output" msgstr "E98: Nie mogę wczytać wyjścia różnicy" -#: diff.c:1815 +#: diff.c:1899 msgid "E99: Current buffer is not in diff mode" msgstr "E99: Bieżący bufor nie jest w trybie różnic" -#: diff.c:1827 +#: diff.c:1911 msgid "E100: No other buffer in diff mode" msgstr "E100: Brak innego bufora w trybie różnic" -#: diff.c:1835 +#: diff.c:1919 msgid "E101: More than two buffers in diff mode, don't know which one to use" msgstr "E101: Więcej niż jeden bufor w trybie różnicowania, nie wiem którego użyć" -#: diff.c:1858 +#: diff.c:1942 #, c-format msgid "E102: Can't find buffer \"%s\"" msgstr "E102: Nie mogę znaleźć bufora \"%s\"" -#: diff.c:1864 +#: diff.c:1948 #, c-format msgid "E103: Buffer \"%s\" is not in diff mode" msgstr "E103: Bufor \"%s\" nie jest w trybie różnicowania" -#: digraph.c:2199 +#: digraph.c:2194 msgid "E104: Escape not allowed in digraph" msgstr "E104: Escape jest niedozwolone w dwugrafie" -#: digraph.c:2384 +#: digraph.c:2378 msgid "E544: Keymap file not found" msgstr "E544: Nie znaleziono pliku rozkładu klawiszy" -#: digraph.c:2411 +#: digraph.c:2405 msgid "E105: Using :loadkeymap not in a sourced file" msgstr "E105: Zastosowano :loadkeymap w niewczytanym pliku" -#: edit.c:40 +#: edit.c:41 msgid " Keyword completion (^N^P)" msgstr " Dopełnianie słów kluczowych (^N^P)" #. ctrl_x_mode == 0, ^P/^N compl. -#: edit.c:41 -msgid " ^X mode (^E^Y^L^]^F^I^K^D^V^N^P)" -msgstr " ^X tryb (^E^Y^L^]^F^I^K^D^V^N^P)" +#: edit.c:42 +msgid " ^X mode (^E^Y^L^]^F^I^K^D^U^V^N^P)" +msgstr " ^X tryb (^E^Y^L^]^F^I^K^D^U^V^N^P)" #. Scroll has it's own msgs, in it's place there is the msg for local #. * ctrl_x_mode = 0 (eg continue_status & CONT_LOCAL) -- Acevedo -#: edit.c:44 +#: edit.c:45 msgid " Keyword Local completion (^N^P)" msgstr " Lokalne dopełnianie słów kluczowych (^N^P)" -#: edit.c:45 +#: edit.c:46 msgid " Whole line completion (^L^N^P)" msgstr " Dopełnianie pełnych wierszy (^L^N^P)" -#: edit.c:46 +#: edit.c:47 msgid " File name completion (^F^N^P)" msgstr " Dopełnianie nazw plików (^F^N^P)" -#: edit.c:47 +#: edit.c:48 msgid " Tag completion (^]^N^P)" msgstr " Dopełnianie znaczników (^]^N^P)" -#: edit.c:48 +#: edit.c:49 msgid " Path pattern completion (^N^P)" msgstr " Dopełnianie wzorców tropów (^N^P)" -#: edit.c:49 +#: edit.c:50 msgid " Definition completion (^D^N^P)" msgstr " Dopełnianie definicji (^D^N^P)" -#: edit.c:51 +#: edit.c:52 msgid " Dictionary completion (^K^N^P)" msgstr " Dopełnianie ze słowników (^K^N^P)" -#: edit.c:52 +#: edit.c:53 msgid " Thesaurus completion (^T^N^P)" msgstr " Dopełnianie z tezaurusa (^T^N^P)" -#: edit.c:53 +#: edit.c:54 msgid " Command-line completion (^V^N^P)" msgstr " Dopełnianie wiersza poleceń (^V^N^P)" -#: edit.c:56 +#: edit.c:55 +msgid " User defined completion (^U^N^P)" +msgstr "Dopełnianie zdefiniowane przez użytkownika (^U^N^P)" + +#: edit.c:58 msgid "Hit end of paragraph" msgstr "Dobiłem do końca akapitu" -#: edit.c:962 +#: edit.c:1000 msgid "'thesaurus' option is empty" msgstr "opcja 'thesaurus' jest pusta" -#: edit.c:1166 +#: edit.c:1221 msgid "'dictionary' option is empty" msgstr "opcja 'dictionary' jest pusta" -#: edit.c:2162 +#: edit.c:2222 #, c-format msgid "Scanning dictionary: %s" msgstr "Przeglądam słownik: %s" -#: edit.c:2368 +#: edit.c:2427 msgid " (insert) Scroll (^E/^Y)" msgstr " (wprowadzanie) Przewijanie (^E/^Y)" -#: edit.c:2370 +#: edit.c:2429 msgid " (replace) Scroll (^E/^Y)" msgstr " (zamiana) Przewijanie (^E/^Y)" -#: edit.c:2684 +#: edit.c:2830 #, c-format msgid "Scanning: %s" msgstr "Przeglądam: %s" -#: edit.c:2719 +#: edit.c:2865 +#, c-format msgid "Scanning tags." msgstr "Przeglądam znaczniki." -#: edit.c:3381 +#: edit.c:3566 msgid " Adding" msgstr " Dodaję" @@ -361,121 +364,290 @@ msgstr " Dodaj #. * be called before line = ml_get(), or when this address is no #. * longer needed. -- Acevedo. #. -#: edit.c:3430 +#: edit.c:3615 msgid "-- Searching..." msgstr "-- Szukam..." -#: edit.c:3486 +#: edit.c:3671 msgid "Back at original" msgstr "Z powrotem na pierwotnym" -#: edit.c:3491 +#: edit.c:3676 msgid "Word from other line" msgstr "Wyraz z innego wiersza" -#: edit.c:3496 +#: edit.c:3681 msgid "The only match" msgstr "Jedyne dopasowanie" -#: edit.c:3555 +#: edit.c:3740 #, c-format msgid "match %d of %d" msgstr "pasuje %d z %d" -#: edit.c:3558 +#: edit.c:3743 #, c-format msgid "match %d" msgstr "pasuje %d" -#. Skip further arguments but do continue to -#. * search for a trailing command. -#: eval.c:1024 +#: eval.c:93 +msgid "E18: Unexpected characters in :let" +msgstr "E18: Nieoczekiwane znaki w :let" + +#: eval.c:94 +#, c-format +#, fuzzy +#~ msgid "E684: list index out of range: %ld" +#~ msgstr "E684: : %ld" + +#: eval.c:95 +#, c-format +msgid "E121: Undefined variable: %s" +msgstr "E121: Nieokreślona zmienna: %s" + +#: eval.c:96 +msgid "E111: Missing ']'" +msgstr "E111: Brak ']'" + +#: eval.c:97 +#, c-format +msgid "E686: Argument of %s must be a List" +msgstr "E487: Argument %s musi być Listą" + +#: eval.c:98 #, c-format -msgid "E106: Unknown variable: \"%s\"" -msgstr "E106: Nieznana zmienna: \"%s\"" +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: Argument %s musi być Listą lub Słownikiem" + +#: eval.c:99 +msgid "E713: Cannot use empty key for Dictionary" +msgstr "E713: Nie można użyć pustego klucza dla Słownika" + +#: eval.c:100 +msgid "E714: List required" +msgstr "E714: wymagana Lista" + +#: eval.c:101 +msgid "E715: Dictionary required" +msgstr "E715: wymagany Słownik" + +#: eval.c:102 +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: Zbyt wiele argumentów dla funkcji: %s" + +#: eval.c:103 +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: Klucz nie istnieje w Słowniku: %s" + +#: eval.c:104 +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: Funkcja %s już istnieje; aby ją zamienić użyj !" + +#: eval.c:105 +msgid "E717: Dictionary entry already exists" +msgstr "E717: istnieje już taki element Słownika" + +#: eval.c:106 +msgid "E718: Funcref required" +msgstr "E718: wymagana Funcref" + +#: eval.c:107 +msgid "E719: Cannot use [:] with a Dictionary" +msgstr "E719: Nie można użyć [:] przy Słowniku" + +#: eval.c:108 +#, c-format +msgid "E734: Wrong variable type for %s=" +msgstr "E734: Zły typ zmiennej dla %s=" + +#: eval.c:109 +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: Nieznana funkcja: %s" + +#: eval.c:110 +#, c-format +msgid "E461: Illegal variable name: %s" +msgstr "E418: Niedozwolona nazwa zmiennej: %s" + +#: eval.c:1475 +#~ msgid "E687: Less targets than List items" +#~ msgstr "" + +#: eval.c:1480 +#~ msgid "E688: More targets than List items" +#~ msgstr "" + +#: eval.c:1566 +msgid "Double ; in list of variables" +msgstr "Podwójny ; w liście zmiennych" + +#: eval.c:1734 +#, c-format +msgid "E738: Can't list variables for %s" +msgstr "E738: Nie mogę wypisać zmiennych dla %s" + +#: eval.c:2078 +msgid "E689: Can only index a List or Dictionary" +msgstr "E689: Indeks może istnieć tylko dla Listy lub Słownika" + +#: eval.c:2084 +msgid "E708: [:] must come last" +msgstr "E708: [:] musi być ostatnie" + +#: eval.c:2136 +msgid "E709: [:] requires a List value" +msgstr "E709: [:] wymaga wartości listy" -#: eval.c:1320 +#: eval.c:2380 +#~ msgid "E710: List value has more items than target" +#~ msgstr "" + +#: eval.c:2384 +#~ msgid "E711: List value has not enough items" +#~ msgstr "" + +#: eval.c:2578 +msgid "E690: Missing \"in\" after :for" +msgstr "E690: Brak \"in\" po :for" + +#: eval.c:2804 #, c-format msgid "E107: Missing braces: %s" msgstr "E107: Brak nawiasów: %s" -#: eval.c:1435 eval.c:1449 +#: eval.c:3031 #, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: Nie istnieje zmienna: \"%s\"" -#: eval.c:1705 +#: eval.c:3118 +msgid "E743: variable nested too deep for (un)lock" +msgstr "E743: zmienna zagnieżdżona zbyt głęboko dla (un)lock" + +#: eval.c:3424 msgid "E109: Missing ':' after '?'" msgstr "E109: Brak ':' po '?'" -#: eval.c:2327 +#: eval.c:3726 +msgid "E691: Can only compare List with List" +msgstr "E691: Listę mogę porównać tylko z Listą" + +#: eval.c:3728 +msgid "E692: Invalid operation for Lists" +msgstr "E692: Nieprawidłowa operacja dla Listy" + +#: eval.c:3755 +msgid "E735: Can only compare Dictionary with Dictionary" +msgstr "E735: Słownik mogę porównać tylko ze Słownikiem" + +#: eval.c:3757 +msgid "E736: Invalid operation for Dictionary" +msgstr "E736: Nieprawidłowa operacja dla Słownika" + +#: eval.c:3777 +msgid "E693: Can only compare Funcref with Funcref" +msgstr "E693: Funcref mogę porównać tylko z Funcref" + +#: eval.c:3779 +msgid "E694: Invalid operation for Funcrefs" +msgstr "E694: Nieprawidłowa operacja dla Funcref" + +#: eval.c:4227 msgid "E110: Missing ')'" msgstr "E110: Brak ')'" -#: eval.c:2389 -msgid "E111: Missing ']'" -msgstr "E111: Brak ']'" +#: eval.c:4344 +#, fuzzy +#~ msgid "E695: Cannot index a Funcref" +#~ msgstr "E90: Nie mogę wyładować ostatniego bufora" -#: eval.c:2466 +#: eval.c:4598 #, c-format msgid "E112: Option name missing: %s" msgstr "E112: Brak nazwy opcji: %s" -#: eval.c:2484 +#: eval.c:4616 #, c-format msgid "E113: Unknown option: %s" msgstr "E113: Nieznana opcja: %s" -#: eval.c:2555 +#: eval.c:4682 #, c-format msgid "E114: Missing quote: %s" msgstr "E114: Brak cudzysłowu: %s" -#: eval.c:2698 +#: eval.c:4818 #, c-format msgid "E115: Missing quote: %s" msgstr "E115: Brak cudzysłowu: %s" -#: eval.c:3054 +#: eval.c:4897 #, c-format -msgid "E116: Invalid arguments for function %s" -msgstr "E116: Niewłaściwe argumenty dla funkcji %s" +msgid "E696: Missing comma in List: %s" +msgstr "E696: Brakujący przecinek w Liście: '%s" -#: eval.c:3083 +#: eval.c:4905 #, c-format -msgid "E117: Unknown function: %s" -msgstr "E117: Nieznana funkcja: %s" +msgid "E697: Missing end of List ']': %s" +msgstr "E697: Brak zakończenia Listy ']': %s" -#: eval.c:3084 +#: eval.c:5970 #, c-format -msgid "E118: Too many arguments for function: %s" -msgstr "E118: Zbyt wiele argumentów dla funkcji: %s" +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: Brak dwukropka w Słowniku: %s" + +#: eval.c:5995 +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Podwójny klucz w Słowniku: \"%s\"" -#: eval.c:3085 +#: eval.c:6015 #, c-format -msgid "E119: Not enough arguments for function: %s" -msgstr "E119: Za mało argumentów dla funkcji: %s" +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: Brakujący przecinek w Słowniku: %s" -#: eval.c:3086 +#: eval.c:6023 #, c-format -msgid "E120: Using not in a script context: %s" -msgstr "E120: Zastosowano poza skryptem: %s" +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: Brak końca w Słowniku '}': %s" + +#: eval.c:6059 +msgid "E724: variable nested too deep for displaying" +msgstr "E724: Zmienna zagnieżdżona zbyt głęboko by pokazać" + +#: eval.c:7326 +msgid "E699: Too many arguments" +msgstr "E699: Za dużo argumentów" #. #. * Yes this is ugly, I don't particularly like it either. But doing it #. * this way has the compelling advantage that translations need not to #. * be touched at all. See below what 'ok' and 'ync' are used for. #. -#: eval.c:3687 gui.c:4376 gui_gtk.c:2059 +#: eval.c:7489 gui.c:4431 gui_gtk.c:2176 os_mswin.c:605 msgid "&Ok" msgstr "&Ok" -#: eval.c:4226 +#: eval.c:8098 +#, c-format +msgid "E737: Key already exists: %s" +msgstr "E737: Klucz już istnieje: %s" + +#: eval.c:8576 #, c-format msgid "+-%s%3ld lines: " msgstr "+-%s%3ld wierszy: " -#: eval.c:5477 +#: eval.c:8668 +#, c-format +msgid "E700: Unknown function: %s" +msgstr "E700: Nieznana funkcja: %s" + +#: eval.c:10306 msgid "" "&OK\n" "&Cancel" @@ -483,129 +655,189 @@ msgstr "" "&OK\n" "&Zakończ" -#: eval.c:5517 +#: eval.c:10345 msgid "called inputrestore() more often than inputsave()" msgstr "wywołano inputrestore() więcej razy niż inputsave()" -#: eval.c:5977 -msgid "E655: Too many symbolic links (cycle?)" -msgstr "E655: Za dużo dowiązań symbolicznych (pętla?)" +#: eval.c:10499 +msgid "E745: Range not allowed" +msgstr "E745: Zakres niedozwolony" -#: eval.c:6609 +#: eval.c:10707 +msgid "E701: Invalid type for len()" +msgstr "E701: Nieprawidłowy typ dla len()" + +#: eval.c:11454 +#~ msgid "E726: Stride is zero" +#~ msgstr "" + +#: eval.c:11456 +msgid "E727: Start past end" +msgstr "E727: Początek po końcu" + +#: eval.c:11527 eval.c:14338 +msgid "" +msgstr "" + +#: eval.c:11662 msgid "E240: No connection to Vim server" msgstr "E240: Brak połączenia z serwerem Vim" -#: eval.c:6706 +#: eval.c:11710 +#, c-format +msgid "E241: Unable to send to %s" +msgstr "E241: Nie mogę wysłać do %s" + +#: eval.c:11863 msgid "E277: Unable to read a server reply" msgstr "E277: Nie mogę czytać odpowiedzi serwera" -#: eval.c:6734 +#: eval.c:12125 +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: Za dużo dowiązań symbolicznych (pętla?)" + +#: eval.c:12570 msgid "E258: Unable to send to client" msgstr "E258: Nie mogę wysłać do klienta" -#: eval.c:6782 -#, c-format -msgid "E241: Unable to send to %s" -msgstr "E241: Nie mogę wysłać do %s" +#: eval.c:13089 +#, fuzzy +#~ msgid "E702: Sort compare function failed" +#~ msgstr "E237: Wybór drukarki nie powiódł się" -#: eval.c:6882 +#: eval.c:13310 msgid "(Invalid)" msgstr "(Niewłaściwe)" -#: eval.c:8060 +#: eval.c:13748 +msgid "E677: Error writing temp file" +msgstr "E677: Błąd zapisywania pliku tymczasowego" + +#: eval.c:15131 +msgid "E703: Using a Funcref as a number" +msgstr "E703: Użycie Funcref jako liczby" + +#: eval.c:15139 +msgid "E745: Using a List as a number" +msgstr "E745: Użycie Listy jako liczby" + +#: eval.c:15142 +msgid "E728: Using a Dictionary as a number" +msgstr "E728: Użycie Słownika jako liczby" + +#: eval.c:15226 +msgid "E729: using Funcref as a String" +msgstr "E729: Użycie Funcref jako łańcucha" + +#: eval.c:15229 +msgid "E730: using List as a String" +msgstr "E730: Użycie Listy jako łańcucha" + +#: eval.c:15232 +msgid "E731: using Dictionary as a String" +msgstr "E731: Użycie Słownika jako łańcucha" + +#: eval.c:15568 #, c-format -msgid "E121: Undefined variable: %s" -msgstr "E121: Nieokreślona zmienna: %s" +msgid "E704: Funcref variable name must start with a capital: %s" +msgstr "E704: Nazwa Funcref musi się zaczynać wielką literą: %s" -#: eval.c:8492 +#: eval.c:15573 #, c-format -msgid "E461: Illegal variable name: %s" -msgstr "E418: Niedozwolona nazwa zmiennej: %s" +#~ msgid "705: Variable name conflicts with existing function: %s" +#~ msgstr "" -#: eval.c:8784 +#: eval.c:15599 #, c-format -msgid "E122: Function %s already exists, add ! to replace it" -msgstr "E122: Funkcja %s już istnieje; aby ją zamienić użyj !" +msgid "E706: Variable type mismatch for: %s" +msgstr "E706: Nieprawidłowy typ zmiennej dla: %s" + +#: eval.c:15696 +#, c-format +msgid "E741: Value is locked: %s" +msgstr "E741: Wartość jest zablokowana: %s" + +#: eval.c:15697 eval.c:15703 os_mswin.c:2216 +msgid "Unknown" +msgstr "Nieznane" -#: eval.c:8857 +#: eval.c:15702 #, c-format -msgid "E123: Undefined function: %s" -msgstr "E123: Nieokreślona funkcja: %s" +msgid "E742: Cannot change value of %s" +msgstr "E742: Nie mogę zmienić wartości %s" -#: eval.c:8870 +#: eval.c:15780 +msgid "E698: variable nested too deep for making a copy" +msgstr "E698: Zmienna zagnieżdżona zbyt głęboko by zrobić kopię" + +#: eval.c:16208 #, c-format msgid "E124: Missing '(': %s" msgstr "E124: Brak '(': %s" -#: eval.c:8903 +#: eval.c:16262 #, c-format msgid "E125: Illegal argument: %s" msgstr "E125: Niedozwolony argument: %s" -#: eval.c:8982 +#: eval.c:16353 msgid "E126: Missing :endfunction" msgstr "E126: Brak :endfunction" -#: eval.c:9089 +#: eval.c:16553 #, c-format -msgid "E127: Cannot redefine function %s: It is in use" -msgstr "E127: Nie mogę przedefiniować funkcji %s: jest w użyciu" +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: Nazwa funkcji nie pasuje do nazwy skryptu: %s" -#: eval.c:9159 +#: eval.c:16667 msgid "E129: Function name required" msgstr "E129: Wymagana jest nazwa funkcji" -#: eval.c:9210 -#, c-format -msgid "E128: Function name must start with a capital: %s" -msgstr "E128: Nazwa funkcji musi rozpoczynać się dużą literą: %s" - -#: eval.c:9402 +#: eval.c:16752 #, c-format -msgid "E130: Undefined function: %s" -msgstr "E130: Nieokreślona funkcja: %s" +msgid "E128: Function name must start with a capital or contain a colon: %s" +msgstr "E128: Nazwa funkcji musi rozpoczynać się wielką literą lub zawierać dwukropek: %s" -#: eval.c:9407 +#: eval.c:17249 #, c-format msgid "E131: Cannot delete function %s: It is in use" msgstr "E131: Nie mogę skasować funkcji %s: jest w użyciu" -#: eval.c:9455 +#: eval.c:17369 msgid "E132: Function call depth is higher than 'maxfuncdepth'" msgstr "E132: Zagnieżdżenie wywołań funkcji ponad 'maxfuncdepth'" -#. always scroll up, don't overwrite -#: eval.c:9508 +#: eval.c:17500 #, c-format msgid "calling %s" msgstr "wywołuję %s" -#: eval.c:9570 +#: eval.c:17588 #, c-format msgid "%s aborted" msgstr "porzucono %s" -#: eval.c:9572 +#: eval.c:17590 #, c-format msgid "%s returning #%ld" msgstr "%s zwraca #%ld" -#: eval.c:9579 +#: eval.c:17603 #, c-format -msgid "%s returning \"%s\"" -msgstr "%s zwraca \"%s\"" +msgid "%s returning %s" +msgstr "%s zwraca %s" -#. always scroll up, don't overwrite -#: eval.c:9595 ex_cmds2.c:2365 +#: eval.c:17626 ex_cmds2.c:2992 #, c-format msgid "continuing in %s" msgstr "kontynuacja w %s" -#: eval.c:9621 +#: eval.c:17675 msgid "E133: :return not inside a function" msgstr "E133: :return poza funkcją" -#: eval.c:9952 +#: eval.c:18075 +#, c-format msgid "" "\n" "# global variables:\n" @@ -613,330 +845,351 @@ msgstr "" "\n" "# zmienne globalne:\n" -#: ex_cmds2.c:92 +#: ex_cmds2.c:140 msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "Wchodzę w tryb odpluskwiania. Wprowadź \"cont\" aby kontynuować." -#: ex_cmds2.c:96 ex_docmd.c:966 +#: ex_cmds2.c:144 ex_docmd.c:1063 #, c-format msgid "line %ld: %s" msgstr "wiersz %ld: %s" -#: ex_cmds2.c:98 +#: ex_cmds2.c:146 #, c-format msgid "cmd: %s" msgstr "cmd: %s" -#: ex_cmds2.c:290 +#: ex_cmds2.c:338 #, c-format msgid "Breakpoint in \"%s%s\" line %ld" msgstr "Punkt kontrolny w \"%s%s\" wiersz %ld" -#: ex_cmds2.c:540 +#: ex_cmds2.c:647 #, c-format msgid "E161: Breakpoint not found: %s" msgstr "E161: Nie znaleziono punktu kontrolnego: %s" -#: ex_cmds2.c:566 +#: ex_cmds2.c:675 msgid "No breakpoints defined" msgstr "Nie określono żadnych punktów kontrolnych" -#: ex_cmds2.c:571 +#: ex_cmds2.c:680 #, c-format msgid "%3d %s %s line %ld" msgstr "%3d %s %s wiersz %ld" -#: ex_cmds2.c:763 ex_cmds.c:2097 ex_cmds.c:2362 +#: ex_cmds2.c:1000 +msgid "E750: First use :profile start " +msgstr "E750: Pierwsze użycie :profile start " + +#: ex_cmds2.c:1290 ex_cmds.c:2402 msgid "Save As" msgstr "Zapisz jako" -#: ex_cmds2.c:786 +#: ex_cmds2.c:1315 #, c-format -msgid "Save changes to \"%.*s\"?" -msgstr "Zachowaj zmiany w \"%.*s\"?" +msgid "Save changes to \"%s\"?" +msgstr "Zachować zmiany w \"%s\"?" -#: ex_cmds2.c:788 ex_docmd.c:9380 +#: ex_cmds2.c:1317 ex_docmd.c:9949 msgid "Untitled" msgstr "Bez Tytułu" -#: ex_cmds2.c:915 +#: ex_cmds2.c:1444 #, c-format msgid "E162: No write since last change for buffer \"%s\"" msgstr "E162: Nie zapisano zmian w buforze \"%s\"" -#: ex_cmds2.c:984 +#: ex_cmds2.c:1515 msgid "Warning: Entered other buffer unexpectedly (check autocommands)" msgstr "OSTRZEŻENIE: Nieoczekiwane wejście w inny bufor (sprawdź autokomendy)" -#: ex_cmds2.c:1387 +#: ex_cmds2.c:1960 msgid "E163: There is only one file to edit" msgstr "E163: Tylko jeden plik w edycji" -#: ex_cmds2.c:1389 +#: ex_cmds2.c:1962 msgid "E164: Cannot go before first file" msgstr "E164: Nie można przejść przed pierwszy plik" -#: ex_cmds2.c:1391 +#: ex_cmds2.c:1964 msgid "E165: Cannot go beyond last file" msgstr "E165: Nie można przejść za ostatni plik" -#: ex_cmds2.c:1804 +#: ex_cmds2.c:2379 #, c-format msgid "E666: compiler not supported: %s" msgstr "E666: nie wspierany kompilator: %s" -#: ex_cmds2.c:1897 +#: ex_cmds2.c:2481 #, c-format msgid "Searching for \"%s\" in \"%s\"" msgstr "Szukanie \"%s\" w \"%s\"" -#: ex_cmds2.c:1919 +#: ex_cmds2.c:2508 #, c-format msgid "Searching for \"%s\"" msgstr "Szukanie \"%s\"" -#: ex_cmds2.c:1940 +#: ex_cmds2.c:2534 #, c-format msgid "not found in 'runtimepath': \"%s\"" msgstr "nie znaleziono w 'runtimepath': \"%s\"" -#: ex_cmds2.c:1974 +#: ex_cmds2.c:2570 msgid "Source Vim script" msgstr "Wczytaj skrypt Vima" -#: ex_cmds2.c:2164 +#: ex_cmds2.c:2746 #, c-format msgid "Cannot source a directory: \"%s\"" msgstr "Nie można wczytać katalogu: \"%s\"" -#: ex_cmds2.c:2202 +#: ex_cmds2.c:2785 #, c-format msgid "could not source \"%s\"" msgstr "nie mogłem wczytać \"%s\"" -#: ex_cmds2.c:2204 +#: ex_cmds2.c:2787 #, c-format msgid "line %ld: could not source \"%s\"" msgstr "wiersz: %ld nie mogłem wczytać \"%s\"" -#: ex_cmds2.c:2218 +#: ex_cmds2.c:2803 #, c-format msgid "sourcing \"%s\"" msgstr "wczytywanie \"%s\"" -#: ex_cmds2.c:2220 +#: ex_cmds2.c:2805 #, c-format msgid "line %ld: sourcing \"%s\"" msgstr "wiersz %ld: wczytywanie \"%s\"" -#: ex_cmds2.c:2363 +#: ex_cmds2.c:2990 #, c-format msgid "finished sourcing %s" msgstr "skończono wczytywanie %s" -#: ex_cmds2.c:2707 +#: ex_cmds2.c:3370 msgid "W15: Warning: Wrong line separator, ^M may be missing" msgstr "W15: OSTRZEŻENIE: Niewłaściwy separator wierszy, pewnie brak ^M" -#: ex_cmds2.c:2756 +#: ex_cmds2.c:3504 msgid "E167: :scriptencoding used outside of a sourced file" msgstr "E167: użyto :scriptencoding poza wczytywanym plikiem" -#: ex_cmds2.c:2789 +#: ex_cmds2.c:3537 msgid "E168: :finish used outside of a sourced file" msgstr "E168: użyto :finish poza wczytywanym plikiem" -#: ex_cmds2.c:3238 +#: ex_cmds2.c:3987 #, c-format msgid "Page %d" msgstr "Strona %d" -#: ex_cmds2.c:3394 +#: ex_cmds2.c:4143 msgid "No text to be printed" msgstr "Brak tekstu do drukowania" -#: ex_cmds2.c:3472 +#: ex_cmds2.c:4221 #, c-format msgid "Printing page %d (%d%%)" msgstr "Drukuję stronę %d (%d%%)" -#: ex_cmds2.c:3484 +#: ex_cmds2.c:4233 #, c-format msgid " Copy %d of %d" msgstr " Kopia %d z %d" -#: ex_cmds2.c:3542 +#: ex_cmds2.c:4291 #, c-format msgid "Printed: %s" msgstr "Wydrukowano: %s" -#: ex_cmds2.c:3549 +#: ex_cmds2.c:4299 msgid "Printing aborted" msgstr "Drukowanie odwołane" -#: ex_cmds2.c:3914 +#: ex_cmds2.c:4953 msgid "E455: Error writing to PostScript output file" msgstr "E455: Nie można zapisać do wyjściowego pliku PostScriptu" -#: ex_cmds2.c:4189 +#: ex_cmds2.c:5417 #, c-format msgid "E624: Can't open file \"%s\"" msgstr "E624: Nie mogę otworzyć pliku \"%s\"" -#: ex_cmds2.c:4199 ex_cmds2.c:4824 +#: ex_cmds2.c:5427 ex_cmds2.c:6309 #, c-format msgid "E457: Can't read PostScript resource file \"%s\"" msgstr "E457: Nie można odczytać pliku zasobów PostScriptu \"%s\"" -#: ex_cmds2.c:4207 +#: ex_cmds2.c:5443 #, c-format msgid "E618: file \"%s\" is not a PostScript resource file" msgstr "E618: plik \"%s\" nie jest plikiem zasobów PostScriptu" -#: ex_cmds2.c:4222 ex_cmds2.c:4242 ex_cmds2.c:4257 ex_cmds2.c:4279 +#: ex_cmds2.c:5461 ex_cmds2.c:5480 ex_cmds2.c:5525 #, c-format msgid "E619: file \"%s\" is not a supported PostScript resource file" msgstr "E619: plik \"%s\" nie jest wspieranym plikiem zasobów PostScriptu" -#: ex_cmds2.c:4309 +#: ex_cmds2.c:5544 #, c-format msgid "E621: \"%s\" resource file has wrong version" msgstr "E621: \"%s\" nieprawidłowa wersja pliku zasobów" -#: ex_cmds2.c:4776 +#: ex_cmds2.c:6030 +msgid "E673: Incompatible multi-byte encoding and character set." +msgstr "E673: Niekompatybilne kodowanie wielobajtowe i zestaw znaków." + +#: ex_cmds2.c:6047 +msgid "E674: printmbcharset cannot be empty with multi-byte encoding." +msgstr "E674: printmbcharset nie może być pusty przy kodowaniu wielobajtowym." + +#: ex_cmds2.c:6065 +msgid "E675: No default font specified for multi-byte printing." +msgstr "E675: Nie określono domyślnej czcionki dla drukowania wielobajtowego." + +#: ex_cmds2.c:6258 msgid "E324: Can't open PostScript output file" msgstr "E324: Nie można otworzyć pliku PostScript do wyjścia" -#: ex_cmds2.c:4809 +#: ex_cmds2.c:6295 #, c-format msgid "E456: Can't open file \"%s\"" msgstr "E456: Nie mogę otworzyć pliku \"%s\"" -#: ex_cmds2.c:4928 +#: ex_cmds2.c:6426 msgid "E456: Can't find PostScript resource file \"prolog.ps\"" msgstr "E456: Nie można znaleźć pliku zasobów PostScriptu \"prolog.ps\"" -#: ex_cmds2.c:4959 +#: ex_cmds2.c:6439 +msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" +msgstr "E456: Nie można znaleźć pliku zasobów PostScriptu \"cidfont.ps\"" + +#: ex_cmds2.c:6477 ex_cmds2.c:6499 ex_cmds2.c:6528 #, c-format msgid "E456: Can't find PostScript resource file \"%s.ps\"" msgstr "E456: Nie można znaleźć pliku zasobów PostScriptu \"%s.ps\"" -#: ex_cmds2.c:4977 +#: ex_cmds2.c:6515 #, c-format -msgid "E620: Unable to convert from multi-byte to \"%s\" encoding" -msgstr "E620: Nie można przekonwertować z multi-byte do kodowania \"%s\"" +msgid "E620: Unable to convert to print encoding \"%s\"" +msgstr "E620: Nie można przekonwertować by drukować kodowanie \"%s\"" -#: ex_cmds2.c:5102 +#: ex_cmds2.c:6769 msgid "Sending to printer..." msgstr "Przesyłam do drukarki..." -#: ex_cmds2.c:5106 +#: ex_cmds2.c:6773 msgid "E365: Failed to print PostScript file" msgstr "E365: Drukowanie pliku PostScript nie powiodło się" -#: ex_cmds2.c:5108 +#: ex_cmds2.c:6775 msgid "Print job sent." msgstr "Zadanie drukowanie przesłane." -#: ex_cmds2.c:5618 +#: ex_cmds2.c:7382 #, c-format msgid "Current %slanguage: \"%s\"" msgstr "Bieżący %sjęzyk: \"%s\"" -#: ex_cmds2.c:5629 +#: ex_cmds2.c:7393 #, c-format msgid "E197: Cannot set language to \"%s\"" msgstr "E197: Nie mogę ustawić języka na \"%s\"" -#: ex_cmds.c:92 +#: ex_cmds.c:93 #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" msgstr "<%s>%s%s %d, Hex %02x, Oktal %03o" -#: ex_cmds.c:118 +#: ex_cmds.c:119 #, c-format msgid "> %d, Hex %04x, Octal %o" msgstr "> %d, Hex %04x, Oktal %o" -#: ex_cmds.c:119 +#: ex_cmds.c:120 #, c-format msgid "> %d, Hex %08x, Octal %o" msgstr "> %d, Hex %08x, Oktal %o" -#: ex_cmds.c:430 +#: ex_cmds.c:644 msgid "E134: Move lines into themselves" msgstr "E134: Przeniesienie wierszy na siebie samych" -#: ex_cmds.c:499 +#: ex_cmds.c:713 msgid "1 line moved" msgstr "1 wiersz przeniesiony" -#: ex_cmds.c:501 +#: ex_cmds.c:715 #, c-format msgid "%ld lines moved" msgstr "%ld wiersze przeniesione" -#: ex_cmds.c:924 +#: ex_cmds.c:1201 #, c-format msgid "%ld lines filtered" msgstr "%ld wierszy przefiltrowanych" -#: ex_cmds.c:952 +#: ex_cmds.c:1228 msgid "E135: *Filter* Autocommands must not change current buffer" msgstr "E135: Autokomendy *Filter* nie mogą zmieniać bieżącego bufora" -#: ex_cmds.c:1037 +#: ex_cmds.c:1313 msgid "[No write since last change]\n" msgstr "[Brak zapisu od czasu ostatniej zmiany]\n" -#: ex_cmds.c:1283 +#: ex_cmds.c:1563 #, c-format msgid "%sviminfo: %s in line: " msgstr "%sviminfo: %s w wierszu: " -#: ex_cmds.c:1288 +#: ex_cmds.c:1571 msgid "E136: viminfo: Too many errors, skipping rest of file" msgstr "E136: viminfo: Zbyt wiele błędów; pomijam resztę pliku" -#: ex_cmds.c:1323 +#: ex_cmds.c:1602 #, c-format msgid "Reading viminfo file \"%s\"%s%s%s" msgstr "Wczytuję plik viminfo \"%s\"%s%s%s" -#: ex_cmds.c:1324 +#: ex_cmds.c:1604 msgid " info" msgstr " informacja" -#: ex_cmds.c:1325 +#: ex_cmds.c:1605 msgid " marks" msgstr " zakładki" -#: ex_cmds.c:1326 +#: ex_cmds.c:1606 msgid " FAILED" msgstr " NIE POWIODŁO SIĘ" -#: ex_cmds.c:1418 +#: ex_cmds.c:1699 #, c-format msgid "E137: Viminfo file is not writable: %s" msgstr "E137: Plik viminfo jest niezapisywalny: %s" -#: ex_cmds.c:1543 +#: ex_cmds.c:1824 #, c-format msgid "E138: Can't write viminfo file %s!" msgstr "E138: Nie mogę zapisać pliku viminfo %s!" -#: ex_cmds.c:1551 +#: ex_cmds.c:1834 #, c-format msgid "Writing viminfo file \"%s\"" msgstr "Zapisuję plik viminfo \"%s\"" #. Write the info: -#: ex_cmds.c:1649 +#: ex_cmds.c:1934 #, c-format msgid "# This viminfo file was generated by Vim %s.\n" msgstr "# Ten plik viminfo został wygenerowany przez Vima %s.\n" -#: ex_cmds.c:1651 +#: ex_cmds.c:1936 +#, c-format msgid "" "# You may edit it if you're careful!\n" "\n" @@ -944,114 +1197,119 @@ msgstr "" "# Możesz go ostrożnie edytować!\n" "\n" -#: ex_cmds.c:1653 +#: ex_cmds.c:1938 +#, c-format msgid "# Value of 'encoding' when this file was written\n" msgstr "# Wartość 'encoding' w czasie zapsu tego pliku\n" -#: ex_cmds.c:1752 +#: ex_cmds.c:2037 msgid "Illegal starting char" msgstr "Niedopuszczalny początkowy znak" -#. Overwriting a file that is loaded in another buffer is not a -#. * good idea. -#: ex_cmds.c:2140 -msgid "E139: File is loaded in another buffer" -msgstr "E139: Plik jest załadowany w innym buforze" - -#: ex_cmds.c:2174 +#: ex_cmds.c:2479 msgid "Write partial file?" msgstr "Zapisać częściowo plik?" -#: ex_cmds.c:2181 +#: ex_cmds.c:2486 msgid "E140: Use ! to write partial buffer" msgstr "E140: Stosuj ! do zapisania częściowo bufora" -#: ex_cmds.c:2296 +#: ex_cmds.c:2603 #, c-format -msgid "Overwrite existing file \"%.*s\"?" -msgstr "Nadpisać istniejący plik \"%.*s\"?" +msgid "Overwrite existing file \"%s\"?" +msgstr "Nadpisać istniejący plik \"%s\"?" -#: ex_cmds.c:2367 +#: ex_cmds.c:2674 #, c-format msgid "E141: No file name for buffer %ld" msgstr "E141: Brak nazwy pliku dla bufora %ld" -#: ex_cmds.c:2405 +#: ex_cmds.c:2713 msgid "E142: File not written: Writing is disabled by 'write' option" msgstr "E142: Plik niezapisany: Zapis jest wyłączony opcją 'write'" -#: ex_cmds.c:2425 +#: ex_cmds.c:2733 #, c-format msgid "" -"'readonly' option is set for \"%.*s\".\n" +"'readonly' option is set for \"%s\".\n" "Do you wish to write anyway?" msgstr "" -"opcja 'readonly' nastawiona dla \"%.*s\".\n" +"opcja 'readonly' nastawiona dla \"%s\".\n" "Czy chcesz go pomimo tego zapisać?" -#: ex_cmds.c:2597 +#: ex_cmds.c:2906 msgid "Edit File" msgstr "Edytuj Plik" -#: ex_cmds.c:3205 +#: ex_cmds.c:3519 #, c-format msgid "E143: Autocommands unexpectedly deleted new buffer %s" msgstr "E143: Autokomendy nieoczekiwanie skasowały nowy bufor %s" -#: ex_cmds.c:3339 +#: ex_cmds.c:3730 msgid "E144: non-numeric argument to :z" msgstr "E144: nienumeryczny argument dla :z" -#: ex_cmds.c:3424 +#: ex_cmds.c:3829 msgid "E145: Shell commands not allowed in rvim" msgstr "E145: Komendy powłoki są niedozwolone w rvim" -#: ex_cmds.c:3531 +#: ex_cmds.c:3941 msgid "E146: Regular expressions can't be delimited by letters" msgstr "E146: Wzorce regularne nie mogą być rozgraniczane literami" -#: ex_cmds.c:3877 +#: ex_cmds.c:4364 #, c-format msgid "replace with %s (y/n/a/q/l/^E/^Y)?" msgstr "zamień na %s (y/n/a/q/l/^E/^Y)?" -#: ex_cmds.c:4266 +#: ex_cmds.c:4773 msgid "(Interrupted) " msgstr "(Przerwane) " -#: ex_cmds.c:4270 +#: ex_cmds.c:4778 +msgid "1 match" +msgstr "1 pasuje" + +#: ex_cmds.c:4778 msgid "1 substitution" msgstr "1 podstawienie " -#: ex_cmds.c:4272 +#: ex_cmds.c:4781 +#, c-format +msgid "%ld matches" +msgstr "%ld dopasowań" + +#: ex_cmds.c:4781 #, c-format msgid "%ld substitutions" msgstr "%ld podstawień" -#: ex_cmds.c:4275 +#: ex_cmds.c:4786 msgid " on 1 line" msgstr " w 1 wierszu" -#: ex_cmds.c:4277 +#: ex_cmds.c:4789 #, c-format msgid " on %ld lines" msgstr " w %ld wierszach" -#: ex_cmds.c:4328 +#: ex_cmds.c:4839 msgid "E147: Cannot do :global recursive" msgstr "E147: Nie mogę wykonać :global rekursywnie" -#: ex_cmds.c:4363 +#: ex_cmds.c:4874 msgid "E148: Regular expression missing from global" msgstr "E148: Brak wzorca regularnego w :global" # c-format -#: ex_cmds.c:4412 +#: ex_cmds.c:4922 #, c-format msgid "Pattern found in every line: %s" msgstr "Wzorzec znaleziono w każdym wierszu: %s" -#: ex_cmds.c:4493 +#: ex_cmds.c:5007 +#, c-format msgid "" "\n" "# Last Substitute String:\n" @@ -1061,176 +1319,175 @@ msgstr "" "# Ostatni podstawiany ciąg:\n" "$" -#: ex_cmds.c:4594 ex_docmd.c:2011 +#: ex_cmds.c:5116 msgid "E478: Don't panic!" msgstr "E478: Nie panikuj!" -#: ex_cmds.c:4646 +#: ex_cmds.c:5162 #, c-format msgid "E661: Sorry, no '%s' help for %s" msgstr "E661: Przykro mi, brak '%s' pomocy dla %s" -#: ex_cmds.c:4649 +#: ex_cmds.c:5165 #, c-format msgid "E149: Sorry, no help for %s" msgstr "E149: Przykro mi, ale brak pomocy o %s" -#: ex_cmds.c:4683 +#: ex_cmds.c:5199 #, c-format msgid "Sorry, help file \"%s\" not found" msgstr "Przykro mi, nie ma pliku pomocy \"%s\"" -#: ex_cmds.c:5166 +#: ex_cmds.c:5748 #, c-format msgid "E150: Not a directory: %s" msgstr "E150: Nie jest katalogiem: %s" -#: ex_cmds.c:5305 +#: ex_cmds.c:5888 #, c-format msgid "E152: Cannot open %s for writing" msgstr "E152: Nie mogę otworzyć %s do zapisu" -#: ex_cmds.c:5341 +#: ex_cmds.c:5923 #, c-format msgid "E153: Unable to open %s for reading" msgstr "E153: Nie mogę otworzyć %s do odczytu" -#: ex_cmds.c:5363 +#: ex_cmds.c:5959 #, c-format msgid "E670: Mix of help file encodings within a language: %s" msgstr "E670: Mieszanka kodowań w pliku pomocy w ramach języka: %s" -#: ex_cmds.c:5441 +#: ex_cmds.c:6037 #, c-format -msgid "E154: Duplicate tag \"%s\" in file %s" -msgstr "E154: Dwukrotny znacznik \"%s\" w pliku %s" +msgid "E154: Duplicate tag \"%s\" in file %s/%s" +msgstr "E154: Dwukrotny znacznik \"%s\" w pliku %s/%s" -#: ex_cmds.c:5553 +#: ex_cmds.c:6152 #, c-format msgid "E160: Unknown sign command: %s" msgstr "E160: Nieznana komenda znaku: %s" -#: ex_cmds.c:5573 +#: ex_cmds.c:6172 msgid "E156: Missing sign name" msgstr "E156: Brak nazwy znaku" -#: ex_cmds.c:5619 +#: ex_cmds.c:6218 msgid "E612: Too many signs defined" msgstr "E255: Zbyt wiele nazw znaków" -#: ex_cmds.c:5687 +#: ex_cmds.c:6286 #, c-format msgid "E239: Invalid sign text: %s" msgstr "E239: Niewłaściwy tekst znaku: %s" -#: ex_cmds.c:5718 ex_cmds.c:5909 +#: ex_cmds.c:6317 ex_cmds.c:6508 #, c-format msgid "E155: Unknown sign: %s" msgstr "E155: Nieznany znak: %s" -#: ex_cmds.c:5767 +#: ex_cmds.c:6366 msgid "E159: Missing sign number" msgstr "E159: Brak numeru znaku" -#: ex_cmds.c:5849 +#: ex_cmds.c:6448 #, c-format msgid "E158: Invalid buffer name: %s" msgstr "E158: Niewłaściwa nazwa bufora: %s" -#: ex_cmds.c:5888 +#: ex_cmds.c