diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt index f0c56e9405..5cc214caf1 100644 --- a/runtime/doc/channel.txt +++ b/runtime/doc/channel.txt @@ -1,4 +1,4 @@ -*channel.txt* For Vim version 7.4. Last change: 2016 Aug 26 +*channel.txt* For Vim version 7.4. Last change: 2016 Aug 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -395,6 +395,9 @@ This {string} can also be JSON, use |json_encode()| to create it and It is not possible to use |ch_evalexpr()| or |ch_sendexpr()| on a raw channel. +A String in Vim cannot contain NUL bytes. To send or receive NUL bytes read +or write from a buffer. See |in_io-buffer| and |out_io-buffer|. + ============================================================================== 7. More channel functions *channel-more* @@ -480,7 +483,7 @@ For example, to start a job and write its output in buffer "dummy": > Job input from a buffer ~ - + *in_io-buffer* To run a job that reads from a buffer: > let job = job_start({command}, \ {'in_io': 'buffer', 'in_name': 'mybuffer'}) @@ -654,7 +657,7 @@ See |job_setoptions()| and |ch_setoptions()|. Writing to a buffer ~ - + *out_io-buffer* When the out_io or err_io mode is "buffer" and there is a callback, the text is appended to the buffer before invoking the callback. diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt index 7fe2a3442e..95bd3554ad 100644 --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -1,4 +1,4 @@ -*cmdline.txt* For Vim version 7.4. Last change: 2015 Dec 17 +*cmdline.txt* For Vim version 7.4. Last change: 2016 Aug 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -409,19 +409,11 @@ CTRL-D List names that match the pattern in front of the cursor. *c_CTRL-N* CTRL-N After using 'wildchar' which got multiple matches, go to next match. Otherwise recall more recent command-line from history. - */_CTRL-N* - When 'incsearch' is set, entering a search pattern for "/" or - "?" and the current match is displayed then CTRL-N will move - to the next match (does not take |search-offset| into account) *c_CTRL-P* *c_* CTRL-P After using 'wildchar' which got multiple matches, go to previous match. Otherwise recall older command-line from history. only works with the GUI, on the Amiga and with MS-DOS. - */_CTRL-P* - When 'incsearch' is set, entering a search pattern for "/" or - "?" and the current match is displayed then CTRL-P will move - to the previous match (does not take |search-offset| into account). *c_CTRL-A* CTRL-A All names that match the pattern in front of the cursor are inserted. @@ -438,6 +430,19 @@ CTRL-L A match is done on the pattern in front of the cursor. If 'ignorecase' and 'smartcase' are set and the command line has no uppercase characters, the added character is converted to lowercase. + *c_CTRL-G* */_CTRL-G* +CTRL-G When 'incsearch' is set, entering a search pattern for "/" or + "?" and the current match is displayed then CTRL-G will move + to the next match (does not take |search-offset| into account) + Use CTRL-T to move to the previous match. Hint: on a regular + keyboard T is above G. + *c_CTRL-T* */_CTRL-T* +CTRL-T When 'incsearch' is set, entering a search pattern for "/" or + "?" and the current match is displayed then CTRL-T will move + to the previous match (does not take |search-offset| into + account). + Use CTRL-G to move to the next match. Hint: on a regular + keyboard T is above G. The 'wildchar' option defaults to (CTRL-E when in Vi compatible mode; in a previous version was used). In the pattern standard wildcards '*' and diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 9ab1144ede..52c067cb43 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.4. Last change: 2016 Aug 21 +*eval.txt* For Vim version 7.4. Last change: 2016 Aug 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -3272,6 +3272,7 @@ delete({fname} [, {flags}]) *delete()* When {flags} is "rf": Deletes the directory by the name {fname} and everything in it, recursively. BE CAREFUL! + A symbolic link itself is deleted, not what it points to. The result is a Number, which is 0 if the delete operation was @@ -4014,25 +4015,30 @@ getbufinfo([{dict}]) lnum current line number in buffer. loaded TRUE if the buffer is loaded. name full path to the file in the buffer. - options dictionary of buffer local options. signs list of signs placed in the buffer. Each list item is a dictionary with the following fields: id sign identifier lnum line number name sign name - variables dictionary of buffer local variables. - windows list of |window-ID|s with this buffer + variables a reference to the dictionary with + buffer-local variables. + windows list of |window-ID|s that display this + buffer Examples: > for buf in getbufinfo() echo buf.name endfor for buf in getbufinfo({'buflisted':1}) - if buf.options.filetype == 'java' + if buf.changed .... endif endfor +< + To get buffer-local options use: > + getbufvar({bufnr}, '&') + < *getbufline()* getbufline({expr}, {lnum} [, {end}]) @@ -4065,6 +4071,10 @@ getbufvar({expr}, {varname} [, {def}]) *getbufvar()* must be used. When {varname} is empty returns a dictionary with all the buffer-local variables. + When {varname} is equal to "&" returns a dictionary with all + the buffer-local options. + Otherwise, when {varname} starts with "&" returns the value of + a buffer-local option. This also works for a global or buffer-local option, but it doesn't work for a global variable, window-local variable or window-local option. @@ -4532,7 +4542,8 @@ gettabinfo([{arg}]) *gettabinfo()* Each List item is a Dictionary with the following entries: tabnr tab page number. - variables dictionary of tabpage local variables. + variables a reference to the dictionary with + tabpage-local variables windows List of |window-ID|s in the tag page. gettabvar({tabnr}, {varname} [, {def}]) *gettabvar()* @@ -4548,10 +4559,12 @@ gettabvar({tabnr}, {varname} [, {def}]) *gettabvar()* gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()* Get the value of window-local variable {varname} in window {winnr} in tab page {tabnr}. - When {varname} starts with "&" get the value of a window-local - option. When {varname} is empty a dictionary with all window-local variables is returned. + When {varname} is equal to "&" get the values of all + window-local options in a Dictionary. + Otherwise, when {varname} starts with "&" get the value of a + window-local option. Note that {varname} must be the name without "w:". Tabs are numbered starting with one. For the current tabpage use |getwinvar()|. @@ -4591,15 +4604,18 @@ getwininfo([{winid}]) *getwininfo()* height window height loclist 1 if showing a location list {only with the +quickfix feature} - options dictionary of window local options quickfix 1 if quickfix or location list window {only with the +quickfix feature} tabnr tab page number - variables dictionary of window local variables + variables a reference to the dictionary with + window-local variables width window width winid |window-ID| winnr window number + To obtain all window-local variables use: > + gettabwinvar({tabnr}, {winnr}, '&') + getwinvar({winnr}, {varname} [, {def}]) *getwinvar()* Like |gettabwinvar()| for the current tabpage. Examples: > @@ -5987,6 +6003,16 @@ printf({fmt}, {expr1} ...) *printf()* cause truncation of a numeric field; if the result of a conversion is wider than the field width, the field is expanded to contain the conversion result. + The 'h' modifier indicates the argument is 16 bits. + The 'l' modifier indicates the argument is 32 bits. + The 'L' modifier indicates the argument is 64 bits. + Generally, these modifiers are not useful. They are + ignored when type is known from the argument. + + i alias for d + D alias for ld + U alias for lu + O alias for lo *printf-c* c The Number argument is converted to a byte, and the @@ -6006,7 +6032,7 @@ printf({fmt}, {expr1} ...) *printf()* feature works just like 's'. *printf-f* *E807* - f The Float argument is converted into a string of the + f F The Float argument is converted into a string of the form 123.456. The precision specifies the number of digits after the decimal point. When the precision is zero the decimal point is omitted. When the precision diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt index f4772f9cad..7629741a1a 100644 --- a/runtime/doc/index.txt +++ b/runtime/doc/index.txt @@ -1,4 +1,4 @@ -*index.txt* For Vim version 7.4. Last change: 2016 Aug 24 +*index.txt* For Vim version 7.4. Last change: 2016 Aug 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -984,7 +984,7 @@ tag command action in Command-line editing mode ~ |c_CTRL-E| CTRL-E cursor to end of command-line |'cedit'| CTRL-F default value for 'cedit': opens the command-line window; otherwise not used - CTRL-G not used +|c_CTRL-G| CTRL-G next match when 'incsearch' is active |c_| delete the character in front of the cursor |c_digraph| {char1} {char2} enter digraph when 'digraph' is on @@ -1017,7 +1017,7 @@ tag command action in Command-line editing mode ~ insert the contents of a register or object under the cursor literally CTRL-S (used for terminal control flow) - CTRL-T not used +|c_CTRL-T| CTRL-T previous match when 'incsearch' is active |c_CTRL-U| CTRL-U remove all characters |c_CTRL-V| CTRL-V insert next non-digit literally, insert three digit decimal number as a single byte. diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index f33cb5cfab..960cf21314 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -1,4 +1,4 @@ -*map.txt* For Vim version 7.4. Last change: 2016 Jul 30 +*map.txt* For Vim version 7.4. Last change: 2016 Aug 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -431,6 +431,9 @@ with a space. Note: When using mappings for Visual mode, you can use the "'<" mark, which is the start of the last selected Visual area in the current buffer |'<|. +The |:filter| command can be used to select what mappings to list. The +pattern is matched against the {lhs} and {rhs} in the raw form. + *:map-verbose* When 'verbose' is non-zero, listing a key map will also display where it was last defined. Example: > @@ -1177,6 +1180,10 @@ scripts. " Command has the -register attribute b Command is local to current buffer (see below for details on attributes) + The list can be filtered on command name with + |:filter|, e.g., to list all commands with "Pyth" in + the name: > + filter Pyth command :com[mand] {cmd} List the user-defined commands that start with {cmd} diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt index f461d73ce1..52bab313de 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -1,4 +1,4 @@ -*starting.txt* For Vim version 7.4. Last change: 2016 Aug 23 +*starting.txt* For Vim version 7.4. Last change: 2016 Aug 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1633,7 +1633,7 @@ most of the information will be restored). afterwards with `:rviminfo!`. Also see |v:oldfiles|. The number can be used with |c_#<|. The output can be filtered with |:filter|, e.g.: > - filter /\\.vim/ oldfiles + filter /\.vim/ oldfiles < The filtering happens on the file name. {not in Vi, only when compiled with the |+eval| feature} diff --git a/runtime/doc/tags b/runtime/doc/tags index 55d7490d0f..65d690b7ff 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -1616,9 +1616,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* /\{- pattern.txt /*\/\\{-* /\~ pattern.txt /*\/\\~* /^ pattern.txt /*\/^* +/_CTRL-G cmdline.txt /*\/_CTRL-G* /_CTRL-L cmdline.txt /*\/_CTRL-L* -/_CTRL-N cmdline.txt /*\/_CTRL-N* -/_CTRL-P cmdline.txt /*\/_CTRL-P* +/_CTRL-T cmdline.txt /*\/_CTRL-T* /atom pattern.txt /*\/atom* /bar pattern.txt /*\/bar* /branch pattern.txt /*\/branch* @@ -5228,6 +5228,7 @@ c_CTRL-C cmdline.txt /*c_CTRL-C* c_CTRL-D cmdline.txt /*c_CTRL-D* c_CTRL-E cmdline.txt /*c_CTRL-E* c_CTRL-F cmdline.txt /*c_CTRL-F* +c_CTRL-G cmdline.txt /*c_CTRL-G* c_CTRL-H cmdline.txt /*c_CTRL-H* c_CTRL-I cmdline.txt /*c_CTRL-I* c_CTRL-J cmdline.txt /*c_CTRL-J* @@ -5244,6 +5245,7 @@ c_CTRL-R_CTRL-O cmdline.txt /*c_CTRL-R_CTRL-O* c_CTRL-R_CTRL-P cmdline.txt /*c_CTRL-R_CTRL-P* c_CTRL-R_CTRL-R cmdline.txt /*c_CTRL-R_CTRL-R* c_CTRL-R_CTRL-W cmdline.txt /*c_CTRL-R_CTRL-W* +c_CTRL-T cmdline.txt /*c_CTRL-T* c_CTRL-U cmdline.txt /*c_CTRL-U* c_CTRL-V cmdline.txt /*c_CTRL-V* c_CTRL-W cmdline.txt /*c_CTRL-W* @@ -6922,6 +6924,7 @@ improvements-7 version7.txt /*improvements-7* improvements-8 version8.txt /*improvements-8* in_bot channel.txt /*in_bot* in_buf channel.txt /*in_buf* +in_io-buffer channel.txt /*in_io-buffer* in_mode channel.txt /*in_mode* in_name channel.txt /*in_name* in_top channel.txt /*in_top* @@ -7787,6 +7790,7 @@ os_win32.txt os_win32.txt /*os_win32.txt* other-features vi_diff.txt /*other-features* out_buf channel.txt /*out_buf* out_cb channel.txt /*out_cb* +out_io-buffer channel.txt /*out_io-buffer* out_mode channel.txt /*out_mode* out_name channel.txt /*out_name* out_timeout channel.txt /*out_timeout* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index b4e2193cc9..e8f6048e31 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.4. Last change: 2016 Aug 26 +*todo.txt* For Vim version 7.4. Last change: 2016 Aug 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -35,15 +35,9 @@ not be repeated below, unless there is extra information. -------------------- Known bugs and current work ----------------------- Make ":filter" work with more commands. - -C highlighting: modern C allows /* comment */ #ifdef - -Ramel Eshed: system() is much slower than job_start(), why? (Aug 26) - -Error in viminfo. (John Chen, 2016 Aug 26, #1010) +Search for: msg_putchar('\n') +channel: -- Check that raw mode does NL-NUL conversion. - Implement |job-term| ? - Channel test fails with Motif. Sometimes kills the X11 server. - When a message in the queue but there is no callback, drop it after a while? @@ -111,9 +105,6 @@ Regexp problems: - Search for /\%d0\+ causes error E363 in a file with consecutive NUL characters. (Christian Brabandt, 2016 Jun 7) -getbufinfo() may return a lot of data. Select what to return? - remove variables, does that help? - json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23) What if there is an invalid character? @@ -126,10 +117,6 @@ Once .exe with updated installer is available: Add remark to download page about /S and /D options (Ken Takata, 2016 Apr 13) Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases -Problem with completion on "**/" in $path. (issue #932) -Happens in uniquefy_paths() ? More info Jul 22. -Fix for this (Harm te Hennepe, 2016 Jul 21, #939) - Cursor positioned in the wrong place when editing src/testdir/test_viml.vim. Javascript indent wrong after /* in single quoted string: @@ -194,6 +181,8 @@ Patch for restoring wide characters in the console buffer. We can use '. to go to the last change in the current buffer, but how about the last change in any buffer? Can we use ', (, is next to .)? +Ramel Eshed: system() is much slower than job_start(), why? (Aug 26) + Patch for Python: #622. (Roland Puntaier, 2016 Feb 2) What does it change? @@ -405,6 +394,10 @@ inconsistent with the documentation. Can we cache the syntax attributes, so that updates for 'relativenumber' and 'cursorline'/'cursorcolumn' are a lot faster? +C highlighting: modern C allows: /* comment */ #ifdef +and also line continuation after #include. +I can't recommend it though. + Build with Python on Mac does not always use the right library. (Kazunobu Kuriyama, 2015 Mar 28) diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index 65f4aab710..f56455e002 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -1,4 +1,4 @@ -*various.txt* For Vim version 7.4. Last change: 2016 Aug 23 +*various.txt* For Vim version 7.4. Last change: 2016 Aug 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -91,6 +91,8 @@ g8 Print the hex values of the bytes used in the on paper see |:hardcopy|. In the GUI you can use the File.Print menu entry. See |ex-flags| for [flags]. + The |:filter| command can be used to only show lines + matching a pattern. :[range]p[rint] {count} [flags] Print {count} lines, starting with [range] (default @@ -531,7 +533,9 @@ N *+X11* Unix only: can restore window title |X11| :filt[er] {pat} {command} :filt[er] /{pat}/ {command} Restrict the output of {command} to matches with {pat}. - + For example, to list only xml files: > + :filter /\.xml$/ oldfiles +< {pat} is a Vim search pattern. Instead of enclosing it in / any non-ID character (see |'isident'|) can be used, so long as it does not appear in {pat}. Without diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim index 2fe13fbde6..ef90ebea22 100644 --- a/runtime/syntax/sh.vim +++ b/runtime/syntax/sh.vim @@ -2,8 +2,8 @@ " Language: shell (sh) Korn shell (ksh) bash (sh) " Maintainer: Charles E. Campbell " Previous Maintainer: Lennart Schultz -" Last Change: Aug 23, 2016 -" Version: 161 +" Last Change: Aug 26, 2016 +" Version: 162 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH " For options and settings, please use: :help ft-sh-syntax " This file includes many ideas from Eric Brunet (eric.brunet@ens.fr) @@ -500,7 +500,7 @@ syn match shDerefString contained "\\["']" nextgroup=shDerefPattern if exists("b:is_bash") " bash : ${parameter:offset} " bash : ${parameter:offset:length} - syn region shDerefOff contained start=':' end='\ze:' end='\ze}' contains=shDeref,shDerefSimple,shDerefEscape nextgroup=shDerefLen,shDeref,shDerefSimple + syn region shDerefOff contained start=':\ze[^-=?+]' end='\ze:' end='\ze}' contains=shDeref,shDerefSimple,shDerefEscape nextgroup=shDerefLen,shDeref,shDerefSimple syn region shDerefOff contained start=':\s-' end='\ze:' end='\ze}' contains=shDeref,shDerefSimple,shDerefEscape nextgroup=shDerefLen,shDeref,shDerefSimple syn match shDerefLen contained ":[^}]\+" contains=shDeref,shDerefSimple diff --git a/src/diff.c b/src/diff.c index c29e944376..35e29fcdf9 100644 --- a/src/diff.c +++ b/src/diff.c @@ -1236,10 +1236,14 @@ ex_diffoff(exarg_T *eap) : wp->w_p_fen_save; foldUpdateAll(wp); - /* make sure topline is not halfway a fold */ - changed_window_setting_win(wp); #endif } + /* remove filler lines */ + wp->w_topfill = 0; + + /* make sure topline is not halfway a fold and cursor is + * invalidated */ + changed_window_setting_win(wp); /* Note: 'sbo' is not restored, it's a global option. */ diff_buf_adjust(wp); diff --git a/src/eval.c b/src/eval.c index 350173a234..a8835b10be 100644 --- a/src/eval.c +++ b/src/eval.c @@ -8470,9 +8470,23 @@ getwinvar( || switch_win(&oldcurwin, &oldtabpage, win, tp, TRUE) == OK) #endif { - if (*varname == '&') /* window-local-option */ + if (*varname == '&') { - if (get_option_tv(&varname, rettv, 1) == OK) + if (varname[1] == NUL) + { + /* get all window-local options in a dict */ + dict_T *opts = get_winbuf_options(FALSE); + + if (opts != NULL) + { + rettv->v_type = VAR_DICT; + rettv->vval.v_dict = opts; + ++opts->dv_refcount; + done = TRUE; + } + } + else if (get_option_tv(&varname, rettv, 1) == OK) + /* window-local-option */ done = TRUE; } else diff --git a/src/evalfunc.c b/src/evalfunc.c index ecf0f1452c..04f5c79685 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -3921,8 +3921,6 @@ get_buffer_signs(buf_T *buf, list_T *l) get_buffer_info(buf_T *buf) { dict_T *dict; - dict_T *opts; - dict_T *vars; tabpage_T *tp; win_T *wp; list_T *windows; @@ -3943,15 +3941,8 @@ get_buffer_info(buf_T *buf) buf->b_ml.ml_mfp != NULL && buf->b_nwindows == 0, NULL); - /* Copy buffer variables */ - vars = dict_copy(buf->b_vars, TRUE, 0); - if (vars != NULL) - dict_add_dict(dict, "variables", vars); - - /* Copy buffer options */ - opts = get_winbuf_options(TRUE); - if (opts != NULL) - dict_add_dict(dict, "options", opts); + /* Get a reference to buffer variables */ + dict_add_dict(dict, "variables", buf->b_vars); /* List of windows displaying this buffer */ windows = list_alloc(); @@ -4159,9 +4150,23 @@ f_getbufvar(typval_T *argvars, typval_T *rettv) save_curbuf = curbuf; curbuf = buf; - if (*varname == '&') /* buffer-local-option */ + if (*varname == '&') { - if (get_option_tv(&varname, rettv, TRUE) == OK) + if (varname[1] == NUL) + { + /* get all buffer-local options in a dict */ + dict_T *opts = get_winbuf_options(TRUE); + + if (opts != NULL) + { + rettv->v_type = VAR_DICT; + rettv->vval.v_dict = opts; + ++opts->dv_refcount; + done = TRUE; + } + } + else if (get_option_tv(&varname, rettv, TRUE) == OK) + /* buffer-local-option */ done = TRUE; } else if (STRCMP(varname, "changedtick") == 0) @@ -5001,7 +5006,6 @@ get_tabpage_info(tabpage_T *tp, int tp_idx) { win_T *wp; dict_T *dict; - dict_T *vars; list_T *l; dict = dict_alloc(); @@ -5019,10 +5023,8 @@ get_tabpage_info(tabpage_T *tp, int tp_idx) dict_add_list(dict, "windows", l); } - /* Copy tabpage variables */ - vars = dict_copy(tp->tp_vars, TRUE, 0); - if (vars != NULL) - dict_add_dict(dict, "variables", vars); + /* Make a reference to tabpage variables */ + dict_add_dict(dict, "variables", tp->tp_vars); return dict; } @@ -5125,8 +5127,6 @@ f_gettabwinvar(typval_T *argvars, typval_T *rettv) get_win_info(win_T *wp, short tpnr, short winnr) { dict_T *dict; - dict_T *vars; - dict_T *opts; dict = dict_alloc(); if (dict == NULL) @@ -5145,15 +5145,8 @@ get_win_info(win_T *wp, short tpnr, short winnr) (bt_quickfix(wp->w_buffer) && wp->w_llist_ref != NULL), NULL); #endif - /* Copy window variables */ - vars = dict_copy(wp->w_vars, TRUE, 0); - if (vars != NULL) - dict_add_dict(dict, "variables", vars); - - /* Copy window options */ - opts = get_winbuf_options(FALSE); - if (opts != NULL) - dict_add_dict(dict, "options", opts); + /* Add a reference to window variables */ + dict_add_dict(dict, "variables", wp->w_vars); return dict; } diff --git a/src/ex_getln.c b/src/ex_getln.c index 5dff74ae33..9a713c066c 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -1511,82 +1511,14 @@ getcmdline( case Ctrl_N: /* next match */ case Ctrl_P: /* previous match */ -#ifdef FEAT_SEARCH_EXTRA - if (p_is && !cmd_silent && (firstc == '/' || firstc == '?')) - { - pos_T t; - int search_flags = SEARCH_KEEP + SEARCH_NOOF - + SEARCH_PEEK; - - if (char_avail()) - continue; - cursor_off(); - out_flush(); - if (c == Ctrl_N) - { - t = match_end; - search_flags += SEARCH_COL; - } - else - t = match_start; - ++emsg_off; - i = searchit(curwin, curbuf, &t, - c == Ctrl_N ? FORWARD : BACKWARD, - ccline.cmdbuff, count, search_flags, - RE_SEARCH, 0, NULL); - --emsg_off; - if (i) - { - old_cursor = match_start; - match_end = t; - match_start = t; - if (c == Ctrl_P && firstc == '/') - { - /* move just before the current match, so that - * when nv_search finishes the cursor will be - * put back on the match */ - old_cursor = t; - (void)decl(&old_cursor); - } - if (lt(t, old_cursor) && c == Ctrl_N) - { - /* wrap around */ - old_cursor = t; - if (firstc == '?') - (void)incl(&old_cursor); - else - (void)decl(&old_cursor); - } - - set_search_match(&match_end); - curwin->w_cursor = match_start; - changed_cline_bef_curs(); - update_topline(); - validate_cursor(); - highlight_match = TRUE; - old_curswant = curwin->w_curswant; - old_leftcol = curwin->w_leftcol; - old_topline = curwin->w_topline; -# ifdef FEAT_DIFF - old_topfill = curwin->w_topfill; -# endif - old_botline = curwin->w_botline; - update_screen(NOT_VALID); - redrawcmdline(); - } - else - vim_beep(BO_ERROR); - goto cmdline_not_changed; - } - else -#endif if (xpc.xp_numfiles > 0) { if (nextwild(&xpc, (c == Ctrl_P) ? WILD_PREV : WILD_NEXT, 0, firstc != '@') == FAIL) break; - goto cmdline_changed; + goto cmdline_not_changed; } + /* FALLTHROUGH */ #ifdef FEAT_CMDHIST case K_UP: @@ -1730,6 +1662,77 @@ getcmdline( goto cmdline_changed; } beep_flush(); +#endif + goto cmdline_not_changed; + + case Ctrl_G: /* next match */ + case Ctrl_T: /* previous match */ +#ifdef FEAT_SEARCH_EXTRA + if (p_is && !cmd_silent && (firstc == '/' || firstc == '?')) + { + pos_T t; + int search_flags = SEARCH_KEEP + SEARCH_NOOF + + SEARCH_PEEK; + + if (char_avail()) + continue; + cursor_off(); + out_flush(); + if (c == Ctrl_G) + { + t = match_end; + search_flags += SEARCH_COL; + } + else + t = match_start; + ++emsg_off; + i = searchit(curwin, curbuf, &t, + c == Ctrl_G ? FORWARD : BACKWARD, + ccline.cmdbuff, count, search_flags, + RE_SEARCH, 0, NULL); + --emsg_off; + if (i) + { + old_cursor = match_start; + match_end = t; + match_start = t; + if (c == Ctrl_T && firstc == '/') + { + /* move just before the current match, so that + * when nv_search finishes the cursor will be + * put back on the match */ + old_cursor = t; + (void)decl(&old_cursor); + } + if (lt(t, old_cursor) && c == Ctrl_G) + { + /* wrap around */ + old_cursor = t; + if (firstc == '?') + (void)incl(&old_cursor); + else + (void)decl(&old_cursor); + } + + set_search_match(&match_end); + curwin->w_cursor = match_start; + changed_cline_bef_curs(); + update_topline(); + validate_cursor(); + highlight_match = TRUE; + old_curswant = curwin->w_curswant; + old_leftcol = curwin->w_leftcol; + old_topline = curwin->w_topline; +# ifdef FEAT_DIFF + old_topfill = curwin->w_topfill; +# endif + old_botline = curwin->w_botline; + update_screen(NOT_VALID); + redrawcmdline(); + } + else + vim_beep(BO_ERROR); + } goto cmdline_not_changed; #endif diff --git a/src/message.c b/src/message.c index 91b5d6042c..5ed2347d50 100644 --- a/src/message.c +++ b/src/message.c @@ -12,6 +12,7 @@ */ #define MESSAGE_FILE /* don't include prototype for smsg() */ +#define USING_FLOAT_STUFF #include "vim.h" @@ -4705,6 +4706,7 @@ vim_vsnprintf( char format[40]; int l; int remove_trailing_zeroes = FALSE; + char *s; f = # if defined(FEAT_EVAL) @@ -4734,8 +4736,16 @@ vim_vsnprintf( ) { /* Avoid a buffer overflow */ - strcpy(tmp, "inf"); - str_arg_l = 3; + if (f < 0) + { + strcpy(tmp, "-inf"); + str_arg_l = 4; + } + else + { + strcpy(tmp, "inf"); + str_arg_l = 3; + } } else { @@ -4757,6 +4767,22 @@ vim_vsnprintf( format[l + 1] = NUL; str_arg_l = sprintf(tmp, format, f); + /* Be consistent: Change "1.#IND" to "nan" and + * "1.#INF" to "inf". */ + s = *tmp == '-' ? tmp + 1 : tmp; + if (STRNCMP(s, "1.#INF", 6) == 0) + STRCPY(s, "inf"); + else if (STRNCMP(s, "1.#IND", 6) == 0) + STRCPY(s, "nan"); + + /* Remove sign before "nan". */ + if (STRNCMP(tmp, "-nan", 4) == 0) + STRCPY(tmp, "nan"); + + /* Add sign before "inf" if needed. */ + if (isinf(f) == -1 && STRNCMP(tmp, "inf", 3) == 0) + STRCPY(tmp, "-inf"); + if (remove_trailing_zeroes) { int i; diff --git a/src/misc1.c b/src/misc1.c index 383b0cc5f0..df5cd64c96 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -10520,18 +10520,34 @@ uniquefy_paths(garray_T *gap, char_u *pattern) /* Shorten the filename while maintaining its uniqueness */ path_cutoff = get_path_cutoff(path, &path_ga); - /* we start at the end of the path */ - pathsep_p = path + len - 1; + /* Don't assume all files can be reached without path when search + * pattern starts with star star slash, so only remove path_cutoff + * when possible. */ + if (pattern[0] == '*' && pattern[1] == '*' + && vim_ispathsep_nocolon(pattern[2]) + && path_cutoff != NULL + && vim_regexec(®match, path_cutoff, (colnr_T)0) + && is_unique(path_cutoff, gap, i)) + { + sort_again = TRUE; + mch_memmove(path, path_cutoff, STRLEN(path_cutoff) + 1); + } + else + { + /* Here all files can be reached without path, so get shortest + * unique path. We start at the end of the path. */ + pathsep_p = path + len - 1; - while (find_previous_pathsep(path, &pathsep_p)) - if (vim_regexec(®match, pathsep_p + 1, (colnr_T)0) - && is_unique(pathsep_p + 1, gap, i) - && path_cutoff != NULL && pathsep_p + 1 >= path_cutoff) - { - sort_again = TRUE; - mch_memmove(path, pathsep_p + 1, STRLEN(pathsep_p)); - break; - } + while (find_previous_pathsep(path, &pathsep_p)) + if (vim_regexec(®match, pathsep_p + 1, (colnr_T)0) + && is_unique(pathsep_p + 1, gap, i) + && path_cutoff != NULL && pathsep_p + 1 >= path_cutoff) + { + sort_again = TRUE; + mch_memmove(path, pathsep_p + 1, STRLEN(pathsep_p)); + break; + } + } if (mch_isFullName(path)) { diff --git a/src/po/eo.po b/src/po/eo.po index 596088f173..2ec8c2a993 100644 --- a/src/po/eo.po +++ b/src/po/eo.po @@ -23,8 +23,8 @@ msgid "" msgstr "" "Project-Id-Version: Vim(Esperanto)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-07-02 16:21+0200\n" -"PO-Revision-Date: 2016-07-02 17:05+0200\n" +"POT-Creation-Date: 2016-08-26 20:54+0200\n" +"PO-Revision-Date: 2016-08-26 20:30+0200\n" "Last-Translator: Dominique PELLÉ \n" "Language-Team: \n" "Language: eo\n" @@ -63,6 +63,9 @@ msgstr "E82: Ne eblas disponigi iun ajn bufron, nun eliras..." msgid "E83: Cannot allocate buffer, using other one..." msgstr "E83: Ne eblas disponigi bufron, nun uzas alian..." +msgid "E931: Buffer cannot be registered" +msgstr "E931: Bufro ne povas esti registrita" + msgid "E515: No buffers were unloaded" msgstr "E515: Neniu bufro estis malŝargita" @@ -218,6 +221,33 @@ msgstr " linio=%ld id=%d nomo=%s" msgid "E902: Cannot connect to port" msgstr "E902: Ne eblas konekti al pordo" +msgid "E901: gethostbyname() in channel_open()" +msgstr "E901: gethostbyname() en channel_open()" + +msgid "E898: socket() in channel_open()" +msgstr "E898: gethostbyname() en channel_open()" + +msgid "E903: received command with non-string argument" +msgstr "E903: ricevis komandon kun argumento, kiu ne estas ĉeno" + +msgid "E904: last argument for expr/call must be a number" +msgstr "E904: lasta argumento de \"expr/call\" devas esti nombro" + +msgid "E904: third argument for call must be a list" +msgstr "E904: tria argumento de \"call\" devas esti listo" + +#, c-format +msgid "E905: received unknown command: %s" +msgstr "E905: nekonata komando ricevita: %s" + +#, c-format +msgid "E630: %s(): write while not connected" +msgstr "E630: %s(): konservo dum nekonektita" + +#, c-format +msgid "E631: %s(): write failed" +msgstr "E631: %s(): Konservo malsukcesis" + #, c-format msgid "E917: Cannot use a callback with %s()" msgstr "E917: Ne eblas uzi reagfunkcion kun %s()" @@ -257,7 +287,30 @@ msgid "[crypted]" msgstr "[ĉifrita]" #, c-format -msgid "E96: Can not diff more than %ld buffers" +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: Mankas dupunkto en la vortaro: %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Ripetita ŝlosilo en la vortaro: \"%s\"" + +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: Mankas komo en la vortaro: %s" + +#, c-format +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: Mankas fino de vortaro '}': %s" + +msgid "extend() argument" +msgstr "argumento de extend()" + +#, c-format +msgid "E737: Key already exists: %s" +msgstr "E737: Ŝlosilo jam ekzistas: %s" + +#, c-format +msgid "E96: Cannot diff more than %ld buffers" msgstr "E96: Ne eblas dosierdiferenci pli ol %ld bufrojn" msgid "E810: Cannot read or write temp files" @@ -413,13 +466,10 @@ msgstr "kongruo %d de %d" msgid "match %d" msgstr "kongruo %d" +#. maximum nesting of lists and dicts msgid "E18: Unexpected characters in :let" msgstr "E18: Neatenditaj signoj en \":let\"" -#, c-format -msgid "E684: list index out of range: %ld" -msgstr "E684: indekso de listo ekster limoj: %ld" - #, c-format msgid "E121: Undefined variable: %s" msgstr "E121: Nedifinita variablo: %s" @@ -427,41 +477,6 @@ msgstr "E121: Nedifinita variablo: %s" msgid "E111: Missing ']'" msgstr "E111: Mankas ']'" -#, c-format -msgid "E686: Argument of %s must be a List" -msgstr "E686: Argumento de %s devas esti Listo" - -#, c-format -msgid "E712: Argument of %s must be a List or Dictionary" -msgstr "E712: Argumento de %s devas esti Listo aŭ Vortaro" - -msgid "E714: List required" -msgstr "E714: Listo bezonata" - -msgid "E715: Dictionary required" -msgstr "E715: Vortaro bezonata" - -msgid "E928: String required" -msgstr "E928: Ĉeno bezonata" - -#, c-format -msgid "E118: Too many arguments for function: %s" -msgstr "E118: Tro da argumentoj por funkcio: %s" - -#, c-format -msgid "E716: Key not present in Dictionary: %s" -msgstr "E716: Ŝlosilo malekzistas en Vortaro: %s" - -#, c-format -msgid "E122: Function %s already exists, add ! to replace it" -msgstr "E122: La funkcio %s jam ekzistas (aldonu ! por anstataŭigi ĝin)" - -msgid "E717: Dictionary entry already exists" -msgstr "E717: Rikordo de vortaro jam ekzistas" - -msgid "E718: Funcref required" -msgstr "E718: Funcref bezonata" - msgid "E719: Cannot use [:] with a Dictionary" msgstr "E719: Uzo de [:] ne eblas kun Vortaro" @@ -469,10 +484,6 @@ msgstr "E719: Uzo de [:] ne eblas kun Vortaro" msgid "E734: Wrong variable type for %s=" msgstr "E734: Nevalida datumtipo de variablo de %s=" -#, c-format -msgid "E130: Unknown function: %s" -msgstr "E130: Nekonata funkcio: %s" - #, c-format msgid "E461: Illegal variable name: %s" msgstr "E461: Nevalida nomo de variablo: %s" @@ -511,10 +522,6 @@ msgstr "E711: Lista valoro ne havas sufiĉe da eroj" msgid "E690: Missing \"in\" after :for" msgstr "E690: \"in\" mankas post \":for\"" -#, c-format -msgid "E107: Missing parentheses: %s" -msgstr "E107: Mankas krampoj: %s" - #, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: Ne estas tia variablo: \"%s\"" @@ -568,185 +575,12 @@ msgstr "E114: Mankas citilo: %s" msgid "E115: Missing quote: %s" msgstr "E115: Mankas citilo: %s" -#, c-format -msgid "E696: Missing comma in List: %s" -msgstr "E696: Mankas komo en Listo: %s" - -#, c-format -msgid "E697: Missing end of List ']': %s" -msgstr "E697: Mankas fino de Listo ']': %s" - msgid "Not enough memory to set references, garbage collection aborted!" msgstr "Ne sufiĉa memoro por valorigi referencojn, senrubigado ĉesigita!" -#, c-format -msgid "E720: Missing colon in Dictionary: %s" -msgstr "E720: Mankas dupunkto en la vortaro: %s" - -#, c-format -msgid "E721: Duplicate key in Dictionary: \"%s\"" -msgstr "E721: Ripetita ŝlosilo en la vortaro: \"%s\"" - -#, c-format -msgid "E722: Missing comma in Dictionary: %s" -msgstr "E722: Mankas komo en la vortaro: %s" - -#, c-format -msgid "E723: Missing end of Dictionary '}': %s" -msgstr "E723: Mankas fino de vortaro '}': %s" - msgid "E724: variable nested too deep for displaying" msgstr "E724: variablo ingita tro profunde por vidigi" -#, c-format -msgid "E740: Too many arguments for function %s" -msgstr "E740: Tro da argumentoj por funkcio: %s" - -#, c-format -msgid "E116: Invalid arguments for function %s" -msgstr "E116: Nevalidaj argumentoj por funkcio: %s" - -#, c-format -msgid "E117: Unknown function: %s" -msgstr "E117: Nekonata funkcio: %s" - -#, c-format -msgid "E119: Not enough arguments for function: %s" -msgstr "E119: Ne sufiĉe da argumentoj por funkcio: %s" - -#, c-format -msgid "E120: Using not in a script context: %s" -msgstr "E120: estas uzata ekster kunteksto de skripto: %s" - -#, c-format -msgid "E725: Calling dict function without Dictionary: %s" -msgstr "E725: Alvoko de funkcio dict sen Vortaro: %s" - -msgid "E808: Number or Float required" -msgstr "E808: Nombro aŭ Glitpunktnombro bezonata" - -msgid "add() argument" -msgstr "argumento de add()" - -msgid "E699: Too many arguments" -msgstr "E699: Tro da argumentoj" - -msgid "E785: complete() can only be used in Insert mode" -msgstr "E785: complete() uzeblas nur en Enmeta reĝimo" - -#. -#. * 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. -#. -msgid "&Ok" -msgstr "&Bone" - -msgid "extend() argument" -msgstr "argumento de extend()" - -#, c-format -msgid "E737: Key already exists: %s" -msgstr "E737: Ŝlosilo jam ekzistas: %s" - -msgid "map() argument" -msgstr "argumento de map()" - -msgid "filter() argument" -msgstr "argumento de filter()" - -#, c-format -msgid "+-%s%3ld lines: " -msgstr "+-%s%3ld linioj: " - -#, c-format -msgid "E700: Unknown function: %s" -msgstr "E700: Nekonata funkcio: %s" - -msgid "E922: expected a dict" -msgstr "E922: vortaro atendita" - -msgid "E923: Second argument of function() must be a list or a dict" -msgstr "E923: Dua argumento de function() devas esti listo aŭ Vortaro" - -msgid "" -"&OK\n" -"&Cancel" -msgstr "" -"&Bone\n" -"&Rezigni" - -msgid "called inputrestore() more often than inputsave()" -msgstr "alvokis inputrestore() pli ofte ol inputsave()" - -msgid "insert() argument" -msgstr "argumento de insert()" - -msgid "E786: Range not allowed" -msgstr "E786: Amplekso nepermesebla" - -msgid "E916: not a valid job" -msgstr "E916: nevalida tasko" - -msgid "E701: Invalid type for len()" -msgstr "E701: Nevalida datumtipo de len()" - -msgid "E726: Stride is zero" -msgstr "E726: Paŝo estas nul" - -msgid "E727: Start past end" -msgstr "E727: Komenco preter fino" - -msgid "" -msgstr "" - -msgid "E240: No connection to Vim server" -msgstr "E240: Neniu konekto al Vim-servilo" - -#, c-format -msgid "E241: Unable to send to %s" -msgstr "E241: Ne eblas sendi al %s" - -msgid "E277: Unable to read a server reply" -msgstr "E277: Ne eblas legi respondon de servilo" - -msgid "remove() argument" -msgstr "argumento de remove()" - -msgid "E655: Too many symbolic links (cycle?)" -msgstr "E655: Tro da simbolaj ligiloj (ĉu estas ciklo?)" - -msgid "reverse() argument" -msgstr "argumento de reverse()" - -msgid "E258: Unable to send to client" -msgstr "E258: Ne eblas sendi al kliento" - -#, c-format -msgid "E927: Invalid action: '%s'" -msgstr "E927: Nevalida ago: '%s'" - -msgid "sort() argument" -msgstr "argumento de sort()" - -msgid "uniq() argument" -msgstr "argumento de uniq()" - -msgid "E702: Sort compare function failed" -msgstr "E702: Ordiga funkcio malsukcesis" - -msgid "E882: Uniq compare function failed" -msgstr "E882: kompara funkcio de uniq() malsukcesis" - -msgid "(Invalid)" -msgstr "(Nevalida)" - -msgid "E677: Error writing temp file" -msgstr "E677: Eraro dum skribo de provizora dosiero" - -msgid "E921: Invalid callback argument" -msgstr "E921: Nevalida argumento de reagfunctio" - msgid "E805: Using a Float as a Number" msgstr "E805: Uzo de Glitpunktnombro kiel Nombro" @@ -824,81 +658,6 @@ msgstr "E742: Ne eblas ŝanĝi valoron de %s" msgid "E698: variable nested too deep for making a copy" msgstr "E698: variablo ingita tro profunde por fari kopion" -#, c-format -msgid "E123: Undefined function: %s" -msgstr "E123: Nedifinita funkcio: %s" - -#, c-format -msgid "E124: Missing '(': %s" -msgstr "E124: Mankas '(': %s" - -msgid "E862: Cannot use g: here" -msgstr "E862: Ne eblas uzi g: ĉi tie" - -#, c-format -msgid "E125: Illegal argument: %s" -msgstr "E125: Nevalida argumento: %s" - -#, c-format -msgid "E853: Duplicate argument name: %s" -msgstr "E853: Ripetita nomo de argumento: %s" - -msgid "E126: Missing :endfunction" -msgstr "E126: Mankas \":endfunction\"" - -#, c-format -msgid "E707: Function name conflicts with variable: %s" -msgstr "E707: Nomo de funkcio konfliktas kun variablo: %s" - -#, c-format -msgid "E127: Cannot redefine function %s: It is in use" -msgstr "E127: Ne eblas redifini funkcion %s: Estas nuntempe uzata" - -#, c-format -msgid "E746: Function name does not match script file name: %s" -msgstr "E746: Nomo de funkcio ne kongruas kun dosiernomo de skripto: %s" - -msgid "E129: Function name required" -msgstr "E129: Nomo de funkcio bezonata" - -#, c-format -msgid "E128: Function name must start with a capital or \"s:\": %s" -msgstr "E128: Nomo de funkcio devas eki per majusklo aŭ per \"s:\": %s" - -#, c-format -msgid "E884: Function name cannot contain a colon: %s" -msgstr "E884: Nomo de funkcio ne povas enhavi dupunkton: %s" - -#, c-format -msgid "E131: Cannot delete function %s: It is in use" -msgstr "E131: Ne eblas forviŝi funkcion %s: Estas nuntempe uzata" - -msgid "E132: Function call depth is higher than 'maxfuncdepth'" -msgstr "E132: Profundo de funkcia alvoko superas 'maxfuncdepth'" - -#, c-format -msgid "calling %s" -msgstr "alvokas %s" - -#, c-format -msgid "%s aborted" -msgstr "%s ĉesigita" - -#, c-format -msgid "%s returning #%ld" -msgstr "%s liveras #%ld" - -#, c-format -msgid "%s returning %s" -msgstr "%s liveras %s" - -#, c-format -msgid "continuing in %s" -msgstr "daŭrigas en %s" - -msgid "E133: :return not inside a function" -msgstr "E133: \":return\" ekster funkcio" - msgid "" "\n" "# global variables:\n" @@ -913,8 +672,137 @@ msgstr "" "\n" "\tLaste ŝaltita de " -msgid "No old files" -msgstr "Neniu malnova dosiero" +msgid "map() argument" +msgstr "argumento de map()" + +msgid "filter() argument" +msgstr "argumento de filter()" + +#, c-format +msgid "E686: Argument of %s must be a List" +msgstr "E686: Argumento de %s devas esti Listo" + +msgid "E928: String required" +msgstr "E928: Ĉeno bezonata" + +msgid "E808: Number or Float required" +msgstr "E808: Nombro aŭ Glitpunktnombro bezonata" + +msgid "add() argument" +msgstr "argumento de add()" + +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: complete() uzeblas nur en Enmeta reĝimo" + +#. +#. * 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. +#. +msgid "&Ok" +msgstr "&Bone" + +#, c-format +msgid "+-%s%3ld line: " +msgid_plural "+-%s%3ld lines: " +msgstr[0] "+-%s%3ld linio: " +msgstr[1] "+-%s%3ld linioj: " + +#, c-format +msgid "E700: Unknown function: %s" +msgstr "E700: Nekonata funkcio: %s" + +msgid "E922: expected a dict" +msgstr "E922: vortaro atendita" + +msgid "E923: Second argument of function() must be a list or a dict" +msgstr "E923: Dua argumento de function() devas esti listo aŭ Vortaro" + +msgid "" +"&OK\n" +"&Cancel" +msgstr "" +"&Bone\n" +"&Rezigni" + +msgid "called inputrestore() more often than inputsave()" +msgstr "alvokis inputrestore() pli ofte ol inputsave()" + +msgid "insert() argument" +msgstr "argumento de insert()" + +msgid "E786: Range not allowed" +msgstr "E786: Amplekso nepermesebla" + +msgid "E916: not a valid job" +msgstr "E916: nevalida tasko" + +msgid "E701: Invalid type for len()" +msgstr "E701: Nevalida datumtipo de len()" + +#, c-format +msgid "E798: ID is reserved for \":match\": %ld" +msgstr "E798: ID estas rezervita por \":match\": %ld" + +msgid "E726: Stride is zero" +msgstr "E726: Paŝo estas nul" + +msgid "E727: Start past end" +msgstr "E727: Komenco preter fino" + +msgid "" +msgstr "" + +msgid "E240: No connection to Vim server" +msgstr "E240: Neniu konekto al Vim-servilo" + +#, c-format +msgid "E241: Unable to send to %s" +msgstr "E241: Ne eblas sendi al %s" + +msgid "E277: Unable to read a server reply" +msgstr "E277: Ne eblas legi respondon de servilo" + +msgid "remove() argument" +msgstr "argumento de remove()" + +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: Tro da simbolaj ligiloj (ĉu estas ciklo?)" + +msgid "reverse() argument" +msgstr "argumento de reverse()" + +msgid "E258: Unable to send to client" +msgstr "E258: Ne eblas sendi al kliento" + +#, c-format +msgid "E927: Invalid action: '%s'" +msgstr "E927: Nevalida ago: '%s'" + +msgid "sort() argument" +msgstr "argumento de sort()" + +msgid "uniq() argument" +msgstr "argumento de uniq()" + +msgid "E702: Sort compare function failed" +msgstr "E702: Ordiga funkcio malsukcesis" + +msgid "E882: Uniq compare function failed" +msgstr "E882: kompara funkcio de uniq() malsukcesis" + +msgid "(Invalid)" +msgstr "(Nevalida)" + +#, c-format +msgid "E935: invalid submatch number: %d" +msgstr "E935: nevalida indekso de \"submatch\": %d" + +msgid "E677: Error writing temp file" +msgstr "E677: Eraro dum skribo de provizora dosiero" + +msgid "E921: Invalid callback argument" +msgstr "E921: Nevalida argumento de reagfunctio" #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" @@ -1151,6 +1039,10 @@ msgstr "E149: Bedaŭrinde estas neniu helpo por %s" msgid "Sorry, help file \"%s\" not found" msgstr "Bedaŭrinde, la helpdosiero \"%s\" ne troveblas" +#, c-format +msgid "E151: No match: %s" +msgstr "E151: Neniu kongruo: %s" + #, c-format msgid "E152: Cannot open %s for writing" msgstr "E152: Ne eblas malfermi %s en skribreĝimo" @@ -1196,6 +1088,9 @@ msgstr "E159: Mankas numero de simbolo" msgid "E158: Invalid buffer name: %s" msgstr "E158: Nevalida nomo de bufro: %s" +msgid "E934: Cannot jump to a buffer that does not have a name" +msgstr "E934: Ne eblas salti al sennoma bufro" + #, c-format msgid "E157: Invalid sign ID: %ld" msgstr "E157: Nevalida identigilo de simbolo: %ld" @@ -1213,6 +1108,9 @@ msgstr " (nesubtenata)" msgid "[Deleted]" msgstr "[Forviŝita]" +msgid "No old files" +msgstr "Neniu malnova dosiero" + msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "Eniras sencimigan reĝimon. Tajpu \"cont\" por daŭrigi." @@ -1315,6 +1213,10 @@ msgstr "linio %ld: rulas \"%s\"" msgid "finished sourcing %s" msgstr "finis ruli %s" +#, c-format +msgid "continuing in %s" +msgstr "daŭrigas en %s" + msgid "modeline" msgstr "reĝimlinio" @@ -1518,6 +1420,9 @@ msgstr "" msgid "E466: :winpos requires two number arguments" msgstr "E466: \":winpos\" bezonas du numerajn argumentojn" +msgid "E930: Cannot use :redir inside execute()" +msgstr "E930: Ne eblas uzi :redir en execute()" + msgid "Save Redirection" msgstr "Konservi alidirekton" @@ -2058,9 +1963,6 @@ msgstr "E462: Ne eblis prepari por reŝargi \"%s\"" msgid "E321: Could not reload \"%s\"" msgstr "E321: Ne eblis reŝargi \"%s\"" -msgid "--Deleted--" -msgstr "--Forviŝita--" - #, c-format msgid "auto-removing autocommand: %s " msgstr "aŭto-forviŝas aŭtokomandon: %s " @@ -2070,6 +1972,12 @@ msgstr "aŭto-forviŝas aŭtokomandon: %s " msgid "E367: No such group: \"%s\"" msgstr "E367: Ne ekzistas tia grupo: \"%s\"" +msgid "W19: Deleting augroup that is still in use" +msgstr "W19: Forviŝo de augroup kiu estas ankoraŭ uzata" + +msgid "--Deleted--" +msgstr "--Forviŝita--" + #, c-format msgid "E215: Illegal character after *: %s" msgstr "E215: Nevalida signo post *: %s" @@ -2131,8 +2039,10 @@ msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: Ne eblas forviŝi faldon per la aktuala 'foldmethod'" #, c-format -msgid "+--%3ld lines folded " -msgstr "+--%3ld linioj falditaj " +msgid "+--%3ld line folded " +msgid_plural "+--%3ld lines folded " +msgstr[0] "+--%3ld linio faldita " +msgstr[1] "+--%3ld linioj falditaj " msgid "E222: Add to read buffer" msgstr "E222: Aldoni al lega bufro" @@ -2642,6 +2552,7 @@ msgstr "%-5s: %s%*s (Uzo: %s)" msgid "" "\n" +" a: Find assignments to this symbol\n" " c: Find functions calling this function\n" " d: Find functions called by this function\n" " e: Find this egrep pattern\n" @@ -2650,9 +2561,9 @@ msgid "" " i: Find files #including this file\n" " s: Find this C symbol\n" " t: Find this text string\n" -" a: Find assignments to this symbol\n" msgstr "" "\n" +" a: Trovi valirizojn al tiu simbolo\n" " c: Trovi funkciojn, kiuj alvokas tiun funkcion\n" " d: Trovi funkciojn alvokataj de tiu funkcio\n" " e: Trovi tiun egrep-ŝablonon\n" @@ -2661,7 +2572,6 @@ msgstr "" " i: Trovi dosierojn, kiuj inkluzivas (#include) tiun dosieron\n" " s: Trovi tiun C-simbolon\n" " t: Trovi tiun ĉenon\n" -" a: Trovi valirizojn al tiu simbolo\n" #, c-format msgid "E625: cannot open cscope database: %s" @@ -2924,6 +2834,14 @@ msgid "E251: VIM instance registry property is badly formed. Deleted!" msgstr "" "E251: Ecoj de registro de apero de VIM estas nevalide formata. Forviŝita!" +#, c-format +msgid "E696: Missing comma in List: %s" +msgstr "E696: Mankas komo en Listo: %s" + +#, c-format +msgid "E697: Missing end of List ']': %s" +msgstr "E697: Mankas fino de Listo ']': %s" + msgid "Unknown option argument" msgstr "Nekonata argumento de opcio" @@ -2949,12 +2867,12 @@ msgstr "%d redaktendaj dosieroj\n" msgid "netbeans is not supported with this GUI\n" msgstr "netbeans ne estas subtenata kun tiu grafika interfaco\n" -msgid "This Vim was not compiled with the diff feature." -msgstr "Tiu Vim ne estis kompilita kun la kompara eblo." - msgid "'-nb' cannot be used: not enabled at compile time\n" msgstr "'-nb' ne uzeblas: malŝaltita dum kompilado\n" +msgid "This Vim was not compiled with the diff feature." +msgstr "Tiu Vim ne estis kompilita kun la kompara eblo." + msgid "Attempt to open script file again: \"" msgstr "Provas malfermi skriptan dosieron denove: \"" @@ -4284,15 +4202,16 @@ msgstr "%ld Kolumnoj; " #, c-format msgid "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Bytes" -msgstr "Apartigis %s%ld de %ld Linioj; %lld de %lld Vortoj; %lld de %lld Bajtoj" +msgstr "" +"Apartigis %s%ld de %ld Linioj; %lld de %lld Vortoj; %lld de %lld Bajtoj" #, c-format msgid "" "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of " "%lld Bytes" msgstr "" -"Apartigis %s%ld de %ld Linioj; %lld de %lld Vortoj; %lld de %lld Signoj; %lld de " -"%lld Bajtoj" +"Apartigis %s%ld de %ld Linioj; %lld de %lld Vortoj; %lld de %lld Signoj; " +"%lld de %lld Bajtoj" #, c-format msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld" @@ -4303,8 +4222,8 @@ msgid "" "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte " "%lld of %lld" msgstr "" -"Kol %s de %s; Linio %ld de %ld; Vorto %lld de %lld; Signo %lld de %lld; Bajto " -"%lld de %lld" +"Kol %s de %s; Linio %ld de %ld; Vorto %lld de %lld; Signo %lld de %lld; " +"Bajto %lld de %lld" #, c-format msgid "(+%ld for BOM)" @@ -4609,13 +4528,6 @@ msgid "Could not get security context %s for %s. Removing it!" msgstr "" "Ne povis akiri kuntekston de sekureco %s por %s. Gi nun estas forigata!" -msgid "" -"\n" -"Cannot execute shell " -msgstr "" -"\n" -"Ne eblas plenumi ŝelon " - msgid "" "\n" "Cannot execute shell sh\n" @@ -4644,6 +4556,13 @@ msgstr "" "\n" "Ne eblas forki\n" +msgid "" +"\n" +"Cannot execute shell " +msgstr "" +"\n" +"Ne eblas plenumi ŝelon " + msgid "" "\n" "Command terminated\n" @@ -4768,15 +4687,18 @@ msgstr "(%d de %d)%s%s: " msgid " (line deleted)" msgstr " (forviŝita linio)" +#, c-format +msgid "%serror list %d of %d; %d errors " +msgstr "%slisto de eraroj %d de %d; %d eraroj" + msgid "E380: At bottom of quickfix stack" msgstr "E380: Ĉe la subo de stako de rapidriparo" msgid "E381: At top of quickfix stack" msgstr "E381: Ĉe la supro de stako de rapidriparo" -#, c-format -msgid "error list %d of %d; %d errors" -msgstr "listo de eraroj %d de %d; %d eraroj" +msgid "No entries" +msgstr "Neniu ano" msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: Ne eblas skribi, opcio 'buftype' estas ŝaltita" @@ -5005,9 +4927,6 @@ msgstr " hebrea" msgid " Arabic" msgstr " araba" -msgid " (lang)" -msgstr " (lingvo)" - msgid " (paste)" msgstr " (algluo)" @@ -5102,8 +5021,47 @@ msgstr "" "# Lasta serĉa ŝablono %s:\n" "~" -msgid "E759: Format error in spell file" -msgstr "E759: Eraro de formato en literuma dosiero" +msgid "E756: Spell checking is not enabled" +msgstr "E756: Literumilo ne estas ŝaltita" + +#, c-format +msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" +msgstr "Averto: Ne eblas trovi vortliston \"%s_%s.spl\" aŭ \"%s_ascii.spl\"" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "Averto: Ne eblas trovi vortliston \"%s.%s.spl\" aŭ \"%s.ascii.spl\"" + +msgid "E797: SpellFileMissing autocommand deleted buffer" +msgstr "E797: Aŭtokomando SpellFileMissing forviŝis bufron" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "Averto: regiono %s ne subtenata" + +msgid "Sorry, no suggestions" +msgstr "Bedaŭrinde ne estas sugestoj" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "Bedaŭrinde estas nur %ld sugestoj" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "Anstataŭigi \"%.*s\" per:" + +#, c-format +msgid " < \"%.*s\"" +msgstr " < \"%.*s\"" + +msgid "E752: No previous spell replacement" +msgstr "E752: Neniu antaŭa literuma anstataŭigo" + +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: Netrovita: %s" msgid "E758: Truncated spell file" msgstr "E758: Trunkita literuma dosiero" @@ -5125,17 +5083,6 @@ msgstr "E762: Signo en FOL, LOW aŭ UPP estas ekster limoj" msgid "Compressing word tree..." msgstr "Densigas arbon de vortoj..." -msgid "E756: Spell checking is not enabled" -msgstr "E756: Literumilo ne estas ŝaltita" - -#, c-format -msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" -msgstr "Averto: Ne eblas trovi vortliston \"%s_%s.spl\" aŭ \"%s_ascii.spl\"" - -#, c-format -msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" -msgstr "Averto: Ne eblas trovi vortliston \"%s.%s.spl\" aŭ \"%s.ascii.spl\"" - #, c-format msgid "Reading spell file \"%s\"" msgstr "Legado de literuma dosiero \"%s\"" @@ -5153,8 +5100,24 @@ msgid "E770: Unsupported section in spell file" msgstr "E770: Nesubtenata sekcio en literuma dosiero" #, c-format -msgid "Warning: region %s not supported" -msgstr "Averto: regiono %s ne subtenata" +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: Tio ne ŝajnas esti dosiero .sug: %s" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: Malnova dosiero .sug, bezonas ĝisdatigon: %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: Dosiero .sug estas por pli nova versio de Vim: %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: Dosiero .sug ne kongruas kun dosiero .spl: %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: eraro dum legado de dosiero .sug: %s" #, c-format msgid "Reading affix file %s ..." @@ -5424,50 +5387,6 @@ msgstr "Vorto '%.*s' aldonita al %s" msgid "E763: Word characters differ between spell files" msgstr "E763: Signoj de vorto malsamas tra literumaj dosieroj" -msgid "Sorry, no suggestions" -msgstr "Bedaŭrinde ne estas sugestoj" - -#, c-format -msgid "Sorry, only %ld suggestions" -msgstr "Bedaŭrinde estas nur %ld sugestoj" - -#. for when 'cmdheight' > 1 -#. avoid more prompt -#, c-format -msgid "Change \"%.*s\" to:" -msgstr "Anstataŭigi \"%.*s\" per:" - -#, c-format -msgid " < \"%.*s\"" -msgstr " < \"%.*s\"" - -msgid "E752: No previous spell replacement" -msgstr "E752: Neniu antaŭa literuma anstataŭigo" - -#, c-format -msgid "E753: Not found: %s" -msgstr "E753: Netrovita: %s" - -#, c-format -msgid "E778: This does not look like a .sug file: %s" -msgstr "E778: Tio ne ŝajnas esti dosiero .sug: %s" - -#, c-format -msgid "E779: Old .sug file, needs to be updated: %s" -msgstr "E779: Malnova dosiero .sug, bezonas ĝisdatigon: %s" - -#, c-format -msgid "E780: .sug file is for newer version of Vim: %s" -msgstr "E780: Dosiero .sug estas por pli nova versio de Vim: %s" - -#, c-format -msgid "E781: .sug file doesn't match .spl file: %s" -msgstr "E781: Dosiero .sug ne kongruas kun dosiero .spl: %s" - -#, c-format -msgid "E782: error while reading .sug file: %s" -msgstr "E782: eraro dum legado de dosiero .sug: %s" - #. This should have been checked when generating the .spl #. * file. msgid "E783: duplicate char in MAP entry" @@ -5955,6 +5874,130 @@ msgstr "E439: listo de malfaro estas difekta" msgid "E440: undo line missing" msgstr "E440: linio de malfaro mankas" +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: La funkcio %s jam ekzistas (aldonu ! por anstataŭigi ĝin)" + +msgid "E717: Dictionary entry already exists" +msgstr "E717: Rikordo de vortaro jam ekzistas" + +msgid "E718: Funcref required" +msgstr "E718: Funcref bezonata" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: Nekonata funkcio: %s" + +#, c-format +msgid "E125: Illegal argument: %s" +msgstr "E125: Nevalida argumento: %s" + +#, c-format +msgid "E853: Duplicate argument name: %s" +msgstr "E853: Ripetita nomo de argumento: %s" + +#, c-format +msgid "E740: Too many arguments for function %s" +msgstr "E740: Tro da argumentoj por funkcio: %s" + +#, c-format +msgid "E116: Invalid arguments for function %s" +msgstr "E116: Nevalidaj argumentoj por funkcio: %s" + +msgid "E132: Function call depth is higher than 'maxfuncdepth'" +msgstr "E132: Profundo de funkcia alvoko superas 'maxfuncdepth'" + +#, c-format +msgid "calling %s" +msgstr "alvokas %s" + +#, c-format +msgid "%s aborted" +msgstr "%s ĉesigita" + +#, c-format +msgid "%s returning #%ld" +msgstr "%s liveras #%ld" + +#, c-format +msgid "%s returning %s" +msgstr "%s liveras %s" + +msgid "E699: Too many arguments" +msgstr "E699: Tro da argumentoj" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: Nekonata funkcio: %s" + +#, c-format +msgid "E933: Function was deleted: %s" +msgstr "E933: funkcio estis forviŝita: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: Ne sufiĉe da argumentoj por funkcio: %s" + +#, c-format +msgid "E120: Using not in a script context: %s" +msgstr "E120: estas uzata ekster kunteksto de skripto: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: Alvoko de funkcio dict sen Vortaro: %s" + +msgid "E129: Function name required" +msgstr "E129: Nomo de funkcio bezonata" + +#, c-format +msgid "E128: Function name must start with a capital or \"s:\": %s" +msgstr "E128: Nomo de funkcio devas eki per majusklo aŭ per \"s:\": %s" + +#, c-format +msgid "E884: Function name cannot contain a colon: %s" +msgstr "E884: Nomo de funkcio ne povas enhavi dupunkton: %s" + +#, c-format +msgid "E123: Undefined function: %s" +msgstr "E123: Nedifinita funkcio: %s" + +#, c-format +msgid "E124: Missing '(': %s" +msgstr "E124: Mankas '(': %s" + +msgid "E862: Cannot use g: here" +msgstr "E862: Ne eblas uzi g: ĉi tie" + +#, c-format +msgid "E932: Closure function should not be at top level: %s" +msgstr "E932: Fermo-funkcio devus esti je la plej alta nivelo: %s" + +msgid "E126: Missing :endfunction" +msgstr "E126: Mankas \":endfunction\"" + +#, c-format +msgid "E707: Function name conflicts with variable: %s" +msgstr "E707: Nomo de funkcio konfliktas kun variablo: %s" + +#, c-format +msgid "E127: Cannot redefine function %s: It is in use" +msgstr "E127: Ne eblas redifini funkcion %s: Estas nuntempe uzata" + +#, c-format +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: Nomo de funkcio ne kongruas kun dosiernomo de skripto: %s" + +#, c-format +msgid "E131: Cannot delete function %s: It is in use" +msgstr "E131: Ne eblas forviŝi funkcion %s: Estas nuntempe uzata" + +msgid "E133: :return not inside a function" +msgstr "E133: \":return\" ekster funkcio" + +#, c-format +msgid "E107: Missing parentheses: %s" +msgstr "E107: Mankas krampoj: %s" + #. Only MS VC 4.1 and earlier can do Win32s msgid "" "\n" @@ -5977,9 +6020,6 @@ msgstr "" "\n" "Grafika versio MS-Vindozo 32-bitoj" -msgid " in Win32s mode" -msgstr " en reĝimo Win32s" - msgid " with OLE support" msgstr " kun subteno de OLE" @@ -6156,6 +6196,9 @@ msgstr " 2-a dosiero gvimrc de uzanto: \"" msgid "3rd user gvimrc file: \"" msgstr " 3-a dosiero gvimrc de uzanto: \"" +msgid " defaults file: \"" +msgstr " dosiero de defaŭltoj: \"" + msgid " system menu file: \"" msgstr " dosiero de sistema menuo: \"" @@ -6300,9 +6343,25 @@ msgstr "E446: Neniu dosiernomo sub la kursoro" msgid "E447: Can't find file \"%s\" in path" msgstr "E447: Ne eblas trovi dosieron \"%s\" en serĉvojo" +#, c-format +msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E799: Nevalida ID: %ld (devas esti egala aŭ pli granda ol 1)" + +#, c-format +msgid "E801: ID already taken: %ld" +msgstr "E801: ID jam uzata: %ld" + msgid "List or number required" msgstr "Listo aŭ nombro bezonata" +#, c-format +msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E802: Nevalida ID: %ld (devas esti egala aŭ pli granda ol 1)" + +#, c-format +msgid "E803: ID not found: %ld" +msgstr "E803: ID netrovita: %ld" + #, c-format msgid "E370: Could not load library %s" msgstr "E370: Ne eblis ŝargi bibliotekon %s" @@ -6592,6 +6651,28 @@ msgstr "E794: Ne eblas agordi variablon en la sabloludejo: \"%s\"" msgid "E713: Cannot use empty key for Dictionary" msgstr "E713: Ne eblas uzi malplenan ŝlosilon de Vortaro" +msgid "E715: Dictionary required" +msgstr "E715: Vortaro bezonata" + +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: indekso de listo ekster limoj: %ld" + +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: Tro da argumentoj por funkcio: %s" + +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: Ŝlosilo malekzistas en Vortaro: %s" + +msgid "E714: List required" +msgstr "E714: Listo bezonata" + +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: Argumento de %s devas esti Listo aŭ Vortaro" + msgid "E47: Error while reading errorfile" msgstr "E47: Eraro dum legado de erardosiero" diff --git a/src/po/fr.po b/src/po/fr.po index 8bc131ec14..a27f25b9c7 100644 --- a/src/po/fr.po +++ b/src/po/fr.po @@ -15,8 +15,8 @@ msgid "" msgstr "" "Project-Id-Version: Vim(Franais)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-07-02 16:21+0200\n" -"PO-Revision-Date: 2016-07-02 17:06+0200\n" +"POT-Creation-Date: 2016-08-26 20:54+0200\n" +"PO-Revision-Date: 2016-08-26 20:34+0200\n" "Last-Translator: Dominique Pell \n" "Language-Team: \n" "Language: fr\n" @@ -60,6 +60,9 @@ msgid "E83: Cannot allocate buffer, using other one..." msgstr "" "E83: L'allocation du tampon a chou : arrtez Vim, librez de la mmoire" +msgid "E931: Buffer cannot be registered" +msgstr "E931: Le tampon ne peut pas tre enregistr" + msgid "E515: No buffers were unloaded" msgstr "E515: Aucun tampon n'a t dcharg" @@ -232,6 +235,33 @@ msgstr " ligne=%ld id=%d nom=%s" msgid "E902: Cannot connect to port" msgstr "E902: Impossible de se connecter au port" +msgid "E901: gethostbyname() in channel_open()" +msgstr "E901: gethostbyname() dans channel_open()" + +msgid "E898: socket() in channel_open()" +msgstr "E898: socket() dans channel_open()" + +msgid "E903: received command with non-string argument" +msgstr "E903: commande reue avec une argument qui n'est pas une chane" + +msgid "E904: last argument for expr/call must be a number" +msgstr "E904: le dernier argument de expr/call doit tre un nombre" + +msgid "E904: third argument for call must be a list" +msgstr "E904: le troisime argument de \"call\" doit tre une liste" + +#, c-format +msgid "E905: received unknown command: %s" +msgstr "E905: commande inconnue reue : %s" + +#, c-format +msgid "E630: %s(): write while not connected" +msgstr "E630: %s() : criture sans tre connect" + +#, c-format +msgid "E631: %s(): write failed" +msgstr "E631: %s() : erreur d'criture" + #, c-format msgid "E917: Cannot use a callback with %s()" msgstr "E917: Impossible d'utiliser un callback avec %s()" @@ -273,12 +303,31 @@ msgstr "Les cl msgid "[crypted]" msgstr "[chiffr]" -# AB - Je n'ai pas trouv de traduction satisfaisante au verbe "diff". Comme -# Vim fait en pratique appel au programme "diff" pour evaluer les -# diffrences entre fichiers, "to diff" a t traduit par "utiliser diff" -# et d'autres expressions appropries. #, c-format -msgid "E96: Can not diff more than %ld buffers" +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: Il manque ':' dans le Dictionnaire %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Cl duplique dans le Dictionnaire : %s" + +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: Il manque une virgule dans le Dictionnaire : %s" + +#, c-format +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: Il manque '}' la fin du Dictionnaire : %s" + +msgid "extend() argument" +msgstr "argument de extend()" + +#, c-format +msgid "E737: Key already exists: %s" +msgstr "E737: La cl existe dj : %s" + +#, c-format +msgid "E96: Cannot diff more than %ld buffers" msgstr "E96: Impossible d'utiliser diff sur plus de %ld tampons" msgid "E810: Cannot read or write temp files" @@ -469,13 +518,10 @@ msgstr "Correspondance %d sur %d" msgid "match %d" msgstr "Correspondance %d" +#. maximum nesting of lists and dicts msgid "E18: Unexpected characters in :let" msgstr "E18: Caractres inattendus avant '='" -#, c-format -msgid "E684: list index out of range: %ld" -msgstr "E684: index de Liste hors limites : %ld au-del de la fin" - #, c-format msgid "E121: Undefined variable: %s" msgstr "E121: Variable non dfinie : %s" @@ -483,42 +529,6 @@ msgstr "E121: Variable non d msgid "E111: Missing ']'" msgstr "E111: ']' manquant" -#, c-format -msgid "E686: Argument of %s must be a List" -msgstr "E686: L'argument de %s doit tre une Liste" - -#, c-format -msgid "E712: Argument of %s must be a List or Dictionary" -msgstr "E712: L'argument de %s doit tre une Liste ou un Dictionnaire" - -msgid "E714: List required" -msgstr "E714: Liste requise" - -msgid "E715: Dictionary required" -msgstr "E715: Dictionnaire requis" - -msgid "E928: String required" -msgstr "E928: Chaine requis" - -# DB : Suggestion -#, c-format -msgid "E118: Too many arguments for function: %s" -msgstr "E118: La fonction %s a reu trop d'arguments" - -#, c-format -msgid "E716: Key not present in Dictionary: %s" -msgstr "E716: La cl %s n'existe pas dans le Dictionnaire" - -#, c-format -msgid "E122: Function %s already exists, add ! to replace it" -msgstr "E122: La fonction %s existe dj (ajoutez ! pour la remplacer)" - -msgid "E717: Dictionary entry already exists" -msgstr "E717: Une entre du Dictionnaire porte dj ce nom" - -msgid "E718: Funcref required" -msgstr "E718: Rfrence de fonction (Funcref) requise" - msgid "E719: Cannot use [:] with a Dictionary" msgstr "E719: Utilisation de [:] impossible avec un Dictionnaire" @@ -526,10 +536,6 @@ msgstr "E719: Utilisation de [:] impossible avec un Dictionnaire" msgid "E734: Wrong variable type for %s=" msgstr "E734: Type de variable erron avec %s=" -#, c-format -msgid "E130: Unknown function: %s" -msgstr "E130: Fonction inconnue : %s" - #, c-format msgid "E461: Illegal variable name: %s" msgstr "E461: Nom de variable invalide : %s" @@ -570,10 +576,6 @@ msgstr "E711: La Liste n'a pas assez d' msgid "E690: Missing \"in\" after :for" msgstr "E690: \"in\" manquant aprs :for" -#, c-format -msgid "E107: Missing parentheses: %s" -msgstr "E107: Parenthses manquantes : %s" - #, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: Variable inexistante : %s" @@ -634,195 +636,13 @@ msgstr "E114: Il manque \" msgid "E115: Missing quote: %s" msgstr "E115: Il manque ' la fin de %s" -#, c-format -msgid "E696: Missing comma in List: %s" -msgstr "E696: Il manque une virgule dans la Liste %s" - -#, c-format -msgid "E697: Missing end of List ']': %s" -msgstr "E697: Il manque ']' la fin de la Liste %s" - msgid "Not enough memory to set references, garbage collection aborted!" msgstr "" "Pas assez de mmoire pour les rfrences, arrt du ramassage de mites !" -#, c-format -msgid "E720: Missing colon in Dictionary: %s" -msgstr "E720: Il manque ':' dans le Dictionnaire %s" - -#, c-format -msgid "E721: Duplicate key in Dictionary: \"%s\"" -msgstr "E721: Cl \"%s\" duplique dans le Dictionnaire" - -#, c-format -msgid "E722: Missing comma in Dictionary: %s" -msgstr "E722: Il manque une virgule dans le Dictionnaire %s" - -#, c-format -msgid "E723: Missing end of Dictionary '}': %s" -msgstr "E723: Il manque '}' la fin du Dictionnaire %s" - msgid "E724: variable nested too deep for displaying" msgstr "E724: variable trop imbrique pour tre affiche" -#, c-format -msgid "E740: Too many arguments for function %s" -msgstr "E740: Trop d'arguments pour la fonction %s" - -#, c-format -msgid "E116: Invalid arguments for function %s" -msgstr "E116: Arguments invalides pour la fonction %s" - -#, c-format -msgid "E117: Unknown function: %s" -msgstr "E117: Fonction inconnue : %s" - -#, c-format -msgid "E119: Not enough arguments for function: %s" -msgstr "E119: La fonction %s n'a pas reu assez d'arguments" - -#, c-format -msgid "E120: Using not in a script context: %s" -msgstr "E120: utilis en dehors d'un script : %s" - -#, c-format -msgid "E725: Calling dict function without Dictionary: %s" -msgstr "E725: Appel d'une fonction dict sans Dictionnaire : %s" - -msgid "E808: Number or Float required" -msgstr "E808: Nombre ou Flottant requis" - -msgid "add() argument" -msgstr "argument de add()" - -msgid "E699: Too many arguments" -msgstr "E699: Trop d'arguments" - -msgid "E785: complete() can only be used in Insert mode" -msgstr "E785: complete() n'est utilisable que dans le mode Insertion" - -# AB - Texte par dfaut du bouton de la bote de dialogue affiche par la -# fonction confirm(). -#. -#. * 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. -#. -msgid "&Ok" -msgstr "&Ok" - -msgid "extend() argument" -msgstr "argument de extend()" - -#, c-format -msgid "E737: Key already exists: %s" -msgstr "E737: La cl existe dj : %s" - -msgid "map() argument" -msgstr "argument de map()" - -msgid "filter() argument" -msgstr "argument de filter()" - -#, c-format -msgid "+-%s%3ld lines: " -msgstr "+-%s%3ld lignes : " - -#, c-format -msgid "E700: Unknown function: %s" -msgstr "E700: Fonction inconnue : %s" - -msgid "E922: expected a dict" -msgstr "E922: dictionnaire attendu" - -msgid "E923: Second argument of function() must be a list or a dict" -msgstr "" -"E923: Le second argument de function() doit tre une liste ou un dictionnaire" - -# AB - Textes des boutons de la bote de dialogue affiche par inputdialog(). -msgid "" -"&OK\n" -"&Cancel" -msgstr "" -"&Ok\n" -"&Annuler" - -# AB - La version franaise est meilleure que la version anglaise. -msgid "called inputrestore() more often than inputsave()" -msgstr "inputrestore() a t appel plus de fois qu'inputsave()" - -msgid "insert() argument" -msgstr "argument de insert()" - -msgid "E786: Range not allowed" -msgstr "E786: Les plages ne sont pas autorises" - -msgid "E916: not a valid job" -msgstr "E916: tche invalide" - -msgid "E701: Invalid type for len()" -msgstr "E701: Type invalide avec len()" - -msgid "E726: Stride is zero" -msgstr "E726: Le pas est nul" - -msgid "E727: Start past end" -msgstr "E727: Dbut au-del de la fin" - -msgid "" -msgstr "" - -# AB - mon avis, la version anglaise est errone. -# DB : Vrifier -msgid "E240: No connection to Vim server" -msgstr "E240: Pas de connexion au serveur X" - -# AB - La version franaise est meilleure que la version anglaise. -#, c-format -msgid "E241: Unable to send to %s" -msgstr "E241: L'envoi au serveur %s a chou" - -msgid "E277: Unable to read a server reply" -msgstr "E277: Impossible de lire la rponse du serveur" - -msgid "remove() argument" -msgstr "argument de remove()" - -msgid "E655: Too many symbolic links (cycle?)" -msgstr "E655: Trop de liens symboliques (cycle ?)" - -msgid "reverse() argument" -msgstr "argument de reverse()" - -# AB - La version franaise est meilleure que la version anglaise. -msgid "E258: Unable to send to client" -msgstr "E258: La rponse n'a pas pu tre envoye au client" - -#, c-format -msgid "E927: Invalid action: '%s'" -msgstr "E927: Action invalide : %s " - -msgid "sort() argument" -msgstr "argument de sort()" - -msgid "uniq() argument" -msgstr "argument de uniq()" - -msgid "E702: Sort compare function failed" -msgstr "E702: La fonction de comparaison de sort() a chou" - -msgid "E882: Uniq compare function failed" -msgstr "E882: La fonction de comparaison de uniq() a chou" - -msgid "(Invalid)" -msgstr "(Invalide)" - -msgid "E677: Error writing temp file" -msgstr "E677: Erreur lors de l'criture du fichier temporaire" - -msgid "E921: Invalid callback argument" -msgstr "E921: Argument de callback invalide" - msgid "E805: Using a Float as a Number" msgstr "E805: Utilisation d'un Flottant comme un Nombre" @@ -900,100 +720,6 @@ msgstr "E742: Impossible de modifier la valeur de %s" msgid "E698: variable nested too deep for making a copy" msgstr "E698: variable trop imbrique pour en faire une copie" -#, c-format -msgid "E123: Undefined function: %s" -msgstr "E123: Fonction non dfinie : %s" - -# AB - La version franaise est plus consistante que la version anglaise. -# AB - Je suis partag entre la concision d'une traduction assez littrale et -# la lourdeur d'une traduction plus correcte. -#, c-format -msgid "E124: Missing '(': %s" -msgstr "E124: Il manque '(' aprs %s" - -msgid "E862: Cannot use g: here" -msgstr "E862: Impossible d'utiliser g: ici" - -#, c-format -msgid "E125: Illegal argument: %s" -msgstr "E125: Argument invalide : %s" - -#, c-format -msgid "E853: Duplicate argument name: %s" -msgstr "E853: Nom d'argument dupliqu : %s" - -msgid "E126: Missing :endfunction" -msgstr "E126: Il manque :endfunction" - -#, c-format -msgid "E707: Function name conflicts with variable: %s" -msgstr "E707: Le nom de fonction entre en conflit avec la variable : %s" - -#, c-format -msgid "E127: Cannot redefine function %s: It is in use" -msgstr "E127: Impossible de redfinir fonction %s : dj utilise" - -# DB - Le contenu du "c-format" est le nom de la fonction. -#, c-format -msgid "E746: Function name does not match script file name: %s" -msgstr "E746: Le nom de la fonction %s ne correspond pas le nom du script" - -msgid "E129: Function name required" -msgstr "E129: Nom de fonction requis" - -#, c-format -msgid "E128: Function name must start with a capital or \"s:\": %s" -msgstr "" -"E128: Le nom de la fonction doit commencer par une majuscule ou \"s:\": %s" - -#, c-format -msgid "E884: Function name cannot contain a colon: %s" -msgstr "" -"E884: Le nom de la fonction ne peut pas contenir le caractre deux-points : " -"%s" - -# AB - Il est difficile de crer une version franaise qui fasse moins de 80 -# caractres de long, nom de la fonction compris : "It is in use" est une -# expression trs dense. Traductions possibles : "elle est utilise", -# "elle s'excute" ou "elle est occupe". -#, c-format -msgid "E131: Cannot delete function %s: It is in use" -msgstr "E131: Impossible d'effacer %s : cette fonction est utilise" - -# AB - Vrifier dans la littrature technique s'il n'existe pas une meilleure -# traduction pour "function call depth". -msgid "E132: Function call depth is higher than 'maxfuncdepth'" -msgstr "" -"E132: La profondeur d'appel de fonction est suprieure 'maxfuncdepth'" - -# AB - Ce texte fait partie d'un message de dbogage. -#, c-format -msgid "calling %s" -msgstr "appel de %s" - -# AB - Vrifier. -#, c-format -msgid "%s aborted" -msgstr "%s annule" - -# AB - Ce texte fait partie d'un message de dbogage. -#, c-format -msgid "%s returning #%ld" -msgstr "%s a retourn #%ld" - -# AB - Ce texte fait partie d'un message de dbogage. -#, c-format -msgid "%s returning %s" -msgstr "%s a retourn \"%s\"" - -# AB - Ce texte fait partie d'un message de dbogage. -#, c-format -msgid "continuing in %s" -msgstr "de retour dans %s" - -msgid "E133: :return not inside a function" -msgstr "E133: :return en dehors d'une fonction" - # AB - La version franaise est capitalise pour tre en accord avec les autres # commentaires enregistrs dans le fichier viminfo. msgid "" @@ -1011,8 +737,146 @@ msgstr "" "\n" "\tModifi la dernire fois dans " -msgid "No old files" -msgstr "Aucun vieux fichier" +msgid "map() argument" +msgstr "argument de map()" + +msgid "filter() argument" +msgstr "argument de filter()" + +#, c-format +msgid "E686: Argument of %s must be a List" +msgstr "E686: L'argument de %s doit tre une Liste" + +msgid "E928: String required" +msgstr "E928: Chane requis" + +msgid "E808: Number or Float required" +msgstr "E808: Nombre ou Flottant requis" + +msgid "add() argument" +msgstr "argument de add()" + +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: complete() n'est utilisable que dans le mode Insertion" + +# AB - Texte par dfaut du bouton de la bote de dialogue affiche par la +# fonction confirm(). +#. +#. * 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. +#. +msgid "&Ok" +msgstr "&Ok" + +#, c-format +msgid "+-%s%3ld line: " +msgid_plural "+-%s%3ld lines: " +msgstr[0] "+-%s%3ld ligne : " +msgstr[1] "+-%s%3ld lignes : " + +#, c-format +msgid "E700: Unknown function: %s" +msgstr "E700: Fonction inconnue : %s" + +msgid "E922: expected a dict" +msgstr "E922: dictionnaire attendu" + +msgid "E923: Second argument of function() must be a list or a dict" +msgstr "" +"E923: Le second argument de function() doit tre une liste ou un dictionnaire" + +# AB - Textes des boutons de la bote de dialogue affiche par inputdialog(). +msgid "" +"&OK\n" +"&Cancel" +msgstr "" +"&Ok\n" +"&Annuler" + +# AB - La version franaise est meilleure que la version anglaise. +msgid "called inputrestore() more often than inputsave()" +msgstr "inputrestore() a t appel plus de fois qu'inputsave()" + +msgid "insert() argument" +msgstr "argument de insert()" + +msgid "E786: Range not allowed" +msgstr "E786: Les plages ne sont pas autorises" + +msgid "E916: not a valid job" +msgstr "E916: tche invalide" + +msgid "E701: Invalid type for len()" +msgstr "E701: Type invalide avec len()" + +#, c-format +msgid "E798: ID is reserved for \":match\": %ld" +msgstr "E798: ID est rserv pour \":match\": %ld" + +msgid "E726: Stride is zero" +msgstr "E726: Le pas est nul" + +msgid "E727: Start past end" +msgstr "E727: Dbut au-del de la fin" + +msgid "" +msgstr "" + +# AB - mon avis, la version anglaise est errone. +# DB : Vrifier +msgid "E240: No connection to Vim server" +msgstr "E240: Pas de connexion au serveur X" + +# AB - La version franaise est meilleure que la version anglaise. +#, c-format +msgid "E241: Unable to send to %s" +msgstr "E241: L'envoi au serveur %s a chou" + +msgid "E277: Unable to read a server reply" +msgstr "E277: Impossible de lire la rponse du serveur" + +msgid "remove() argument" +msgstr "argument de remove()" + +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: Trop de liens symboliques (cycle ?)" + +msgid "reverse() argument" +msgstr "argument de reverse()" + +# AB - La version franaise est meilleure que la version anglaise. +msgid "E258: Unable to send to client" +msgstr "E258: La rponse n'a pas pu tre envoye au client" + +#, c-format +msgid "E927: Invalid action: '%s'" +msgstr "E927: Action invalide : %s " + +msgid "sort() argument" +msgstr "argument de sort()" + +msgid "uniq() argument" +msgstr "argument de uniq()" + +msgid "E702: Sort compare function failed" +msgstr "E702: La fonction de comparaison de sort() a chou" + +msgid "E882: Uniq compare function failed" +msgstr "E882: La fonction de comparaison de uniq() a chou" + +msgid "(Invalid)" +msgstr "(Invalide)" + +#, c-format +msgid "E935: invalid submatch number: %d" +msgstr "E935: numro de submatch invalide : %d" + +msgid "E677: Error writing temp file" +msgstr "E677: Erreur lors de l'criture du fichier temporaire" + +msgid "E921: Invalid callback argument" +msgstr "E921: Argument de callback invalide" #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" @@ -1318,15 +1182,17 @@ msgstr "E149: D msgid "Sorry, help file \"%s\" not found" msgstr "Dsol, le fichier d'aide \"%s\" est introuvable" -# AB - La version anglaise est plus prcise, mais trop technique. +#, c-format +msgid "E151: No match: %s" +msgstr "E151: Aucune correspondance : %s" + #, c-format msgid "E152: Cannot open %s for writing" -msgstr "E152: Impossible d'crire %s" +msgstr "E152: Impossible d'ouvrir %s en criture" -# AB - La version anglaise est plus prcise, mais trop technique. #, c-format msgid "E153: Unable to open %s for reading" -msgstr "E153: Impossible de lire %s" +msgstr "E153: Impossible d'ouvrir %s en lecture" #, c-format msgid "E670: Mix of help file encodings within a language: %s" @@ -1377,6 +1243,9 @@ msgstr "E159: Il manque l'ID du symbole" msgid "E158: Invalid buffer name: %s" msgstr "E158: Le tampon %s est introuvable" +msgid "E934: Cannot jump to a buffer that does not have a name" +msgstr "E934: Impossible de sauter un tampon sans nom" + # AB - Vu le code source, la version franaise est meilleure que la # version anglaise. #, c-format @@ -1396,6 +1265,9 @@ msgstr " (non support msgid "[Deleted]" msgstr "[Effac]" +msgid "No old files" +msgstr "Aucun vieux fichier" + # AB - La version franaise de la premire phrase ne me satisfait pas. # DB - Suggestion. msgid "Entering Debug mode. Type \"cont\" to continue." @@ -1453,7 +1325,8 @@ msgid "E162: No write since last change for buffer \"%s\"" msgstr "E162: Le tampon %s n'a pas t enregistr" msgid "Warning: Entered other buffer unexpectedly (check autocommands)" -msgstr "Alerte : Entre inattendue dans un autre tampon (vrifier autocommandes)" +msgstr "" +"Alerte : Entre inattendue dans un autre tampon (vrifier autocommandes)" msgid "E163: There is only one file to edit" msgstr "E163: Il n'y a qu'un seul fichier diter" @@ -1507,6 +1380,11 @@ msgstr "ligne %ld : sourcement de \"%s\"" msgid "finished sourcing %s" msgstr "fin du sourcement de %s" +# AB - Ce texte fait partie d'un message de dbogage. +#, c-format +msgid "continuing in %s" +msgstr "de retour dans %s" + msgid "modeline" msgstr "ligne de mode" @@ -1713,6 +1591,9 @@ msgstr "" msgid "E466: :winpos requires two number arguments" msgstr "E466: :winpos ncessite deux arguments numriques" +msgid "E930: Cannot use :redir inside execute()" +msgstr "E930: Impossible d'utiliser :redir dans execute()" + msgid "Save Redirection" msgstr "Enregistrer la redirection" @@ -2269,9 +2150,6 @@ msgstr "E462: Impossible de pr msgid "E321: Could not reload \"%s\"" msgstr "E321: Impossible de recharger \"%s\"" -msgid "--Deleted--" -msgstr "--Effac--" - #, c-format msgid "auto-removing autocommand: %s " msgstr "Autocommandes marques pour auto-suppression : %s " @@ -2281,6 +2159,12 @@ msgstr "Autocommandes marqu msgid "E367: No such group: \"%s\"" msgstr "E367: Aucun groupe \"%s\"" +msgid "W19: Deleting augroup that is still in use" +msgstr "W19: Effacement d'augroup toujours en usage" + +msgid "--Deleted--" +msgstr "--Effac--" + #, c-format msgid "E215: Illegal character after *: %s" msgstr "E215: Caractre non valide aprs * : %s" @@ -2343,8 +2227,10 @@ msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: Impossible de supprimer un repli avec la 'foldmethod'e actuelle" #, c-format -msgid "+--%3ld lines folded " -msgstr "+--%3ld lignes replies " +msgid "+--%3ld line folded " +msgid_plural "+--%3ld lines folded " +msgstr[0] "+--%3ld ligne replie " +msgstr[1] "+--%3ld lignes replies " msgid "E222: Add to read buffer" msgstr "E222: Ajout au tampon de lecture" @@ -2872,6 +2758,7 @@ msgstr "%-5s: %s%*s (Utilisation : %s)" msgid "" "\n" +" a: Find assignments to this symbol\n" " c: Find functions calling this function\n" " d: Find functions called by this function\n" " e: Find this egrep pattern\n" @@ -2880,9 +2767,9 @@ msgid "" " i: Find files #including this file\n" " s: Find this C symbol\n" " t: Find this text string\n" -" a: Find assignments to this symbol\n" msgstr "" "\n" +" a: Trouver les affectations ce symbole\n" " c: Trouver les fonctions appelant cette fonction\n" " d: Trouver les fonctions appeles par cette fonction\n" " e: Trouver ce motif egrep\n" @@ -2891,7 +2778,6 @@ msgstr "" " i: Trouver les fichiers qui #incluent ce fichier\n" " s: Trouver ce symbole C\n" " t: Trouver cette chane\n" -" a: Trouver les assignements ce symbole\n" #, c-format msgid "E625: cannot open cscope database: %s" @@ -3155,6 +3041,14 @@ msgstr "E573: Id utilis msgid "E251: VIM instance registry property is badly formed. Deleted!" msgstr "E251: Entre registre de l'instance de Vim mal formate. Suppression !" +#, c-format +msgid "E696: Missing comma in List: %s" +msgstr "E696: Il manque une virgule dans la Liste %s" + +#, c-format +msgid "E697: Missing end of List ']': %s" +msgstr "E697: Il manque ']' la fin de la Liste %s" + msgid "Unknown option argument" msgstr "Option inconnue" @@ -3180,12 +3074,12 @@ msgstr "%d fichiers msgid "netbeans is not supported with this GUI\n" msgstr "netbeans n'est pas support avec cette interface graphique\n" -msgid "This Vim was not compiled with the diff feature." -msgstr "Ce Vim n'a pas t compil avec la fonctionnalit diff" - msgid "'-nb' cannot be used: not enabled at compile time\n" msgstr "'-nb' ne peut pas tre utilis : dsactiv la compilation\n" +msgid "This Vim was not compiled with the diff feature." +msgstr "Ce Vim n'a pas t compil avec la fonctionnalit diff" + msgid "Attempt to open script file again: \"" msgstr "Nouvelle tentative pour ouvrir le script : \"" @@ -3199,7 +3093,9 @@ msgid "Vim: Error: Failure to start gvim from NetBeans\n" msgstr "Vim : Erreur : Impossible de dmarrer gvim depuis NetBeans\n" msgid "Vim: Error: This version of Vim does not run in a Cygwin terminal\n" -msgstr "Vim : Erreur : Cette version de Vim ne fonctionne pas dans un terminal Cygwin\n" +msgstr "" +"Vim : Erreur : Cette version de Vim ne fonctionne pas dans un terminal " +"Cygwin\n" msgid "Vim: Warning: Output is not to a terminal\n" msgstr "Vim : Alerte : La sortie ne s'effectue pas sur un terminal\n" @@ -4537,21 +4433,22 @@ msgid "" "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of " "%lld Bytes" msgstr "" -"%s%ld sur %ld Lignes ; %lld sur %lld Mots ; %lld sur %lld Caractres ; %lld sur " -"%lld octets slectionns" +"%s%ld sur %ld Lignes ; %lld sur %lld Mots ; %lld sur %lld Caractres ; %lld " +"sur %lld octets slectionns" #, c-format msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld" msgstr "" -"Colonne %s sur %s ; Ligne %ld sur %ld ; Mot %lld sur %lld ; Octet %lld sur %lld" +"Colonne %s sur %s ; Ligne %ld sur %ld ; Mot %lld sur %lld ; Octet %lld sur " +"%lld" #, c-format msgid "" "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte " "%lld of %lld" msgstr "" -"Colonne %s sur %s ; Ligne %ld sur %ld ; Mot %lld sur %lld ; Caractre %lld sur " -"%lld ; Octet %lld sur %lld" +"Colonne %s sur %s ; Ligne %ld sur %ld ; Mot %lld sur %lld ; Caractre %lld " +"sur %lld ; Octet %lld sur %lld" #, c-format msgid "(+%ld for BOM)" @@ -4860,13 +4757,6 @@ msgid "Could not get security context %s for %s. Removing it!" msgstr "" "Impossible d'obtenir le contexte de scurit %s pour %s. Il sera supprim !" -msgid "" -"\n" -"Cannot execute shell " -msgstr "" -"\n" -"Impossible d'excuter le shell " - msgid "" "\n" "Cannot execute shell sh\n" @@ -4895,6 +4785,13 @@ msgstr "" "\n" "Impossible de forker\n" +msgid "" +"\n" +"Cannot execute shell " +msgstr "" +"\n" +"Impossible d'excuter le shell " + msgid "" "\n" "Command terminated\n" @@ -5019,15 +4916,18 @@ msgstr "(%d sur %d)%s%s : " msgid " (line deleted)" msgstr " (ligne efface)" +#, c-format +msgid "%serror list %d of %d; %d errors " +msgstr "%sliste d'erreurs %d sur %d ; %d erreurs" + msgid "E380: At bottom of quickfix stack" msgstr "E380: En bas de la pile quickfix" msgid "E381: At top of quickfix stack" msgstr "E381: Au sommet de la pile quickfix" -#, c-format -msgid "error list %d of %d; %d errors" -msgstr "liste d'erreurs %d sur %d ; %d erreurs" +msgid "No entries" +msgstr "Aucune entre" msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: criture impossible, l'option 'buftype' est active" @@ -5255,9 +5155,6 @@ msgstr " h msgid " Arabic" msgstr " arabe" -msgid " (lang)" -msgstr " (langue)" - msgid " (paste)" msgstr " (collage)" @@ -5352,8 +5249,48 @@ msgstr "" "# Dernier motif de recherche %s :\n" "~" -msgid "E759: Format error in spell file" -msgstr "E759: Erreur de format du fichier orthographique" +msgid "E756: Spell checking is not enabled" +msgstr "E756: La vrification orthographique n'est pas active" + +#, c-format +msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" +msgstr "Alerte : Liste de mots \"%s_%s.spl\" ou \"%s_ascii.spl\" introuvable" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "Alerte : Liste de mots \"%s.%s.spl\" ou \"%s.ascii.spl\" introuvable" + +msgid "E797: SpellFileMissing autocommand deleted buffer" +msgstr "E797: L'autocommande SpellFileMissing a effac le tampon" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "Alerte : rgion %s non supporte" + +msgid "Sorry, no suggestions" +msgstr "Dsol, aucune suggestion" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "Dsol, seulement %ld suggestions" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "Remplacer \"%.*s\" par :" + +# DB - todo : l'intrt de traduire ce message m'chappe. +#, c-format +msgid " < \"%.*s\"" +msgstr " < \"%.*s\"" + +msgid "E752: No previous spell replacement" +msgstr "E752: Pas de suggestion orthographique prcdente" + +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: Introuvable : %s" msgid "E758: Truncated spell file" msgstr "E758: Fichier orthographique tronqu" @@ -5375,17 +5312,6 @@ msgstr "E762: Un caract msgid "Compressing word tree..." msgstr "Compression de l'arbre des mots" -msgid "E756: Spell checking is not enabled" -msgstr "E756: La vrification orthographique n'est pas active" - -#, c-format -msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" -msgstr "Alerte : Liste de mots \"%s_%s.spl\" ou \"%s_ascii.spl\" introuvable" - -#, c-format -msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" -msgstr "Alerte : Liste de mots \"%s.%s.spl\" ou \"%s.ascii.spl\" introuvable" - #, c-format msgid "Reading spell file \"%s\"" msgstr "Lecture du fichier orthographique \"%s\"" @@ -5403,8 +5329,24 @@ msgid "E770: Unsupported section in spell file" msgstr "E770: Section non supporte dans le fichier orthographique" #, c-format -msgid "Warning: region %s not supported" -msgstr "Alerte : rgion %s non supporte" +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: %s ne semble pas tre un fichier .sug" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: Fichier de suggestions obsolte, mise jour ncessaire : %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: Fichier .sug prvu pour une version de Vim plus rcente : %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: Le fichier .sug ne correspond pas au fichier .spl : %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: Erreur lors de la lecture de fichier de suggestions : %s" #, c-format msgid "Reading affix file %s ..." @@ -5680,51 +5622,6 @@ msgid "E763: Word characters differ between spell files" msgstr "" "E763: Les caractres de mots diffrent entre les fichiers orthographiques" -msgid "Sorry, no suggestions" -msgstr "Dsol, aucune suggestion" - -#, c-format -msgid "Sorry, only %ld suggestions" -msgstr "Dsol, seulement %ld suggestions" - -#. for when 'cmdheight' > 1 -#. avoid more prompt -#, c-format -msgid "Change \"%.*s\" to:" -msgstr "Remplacer \"%.*s\" par :" - -# DB - todo : l'intrt de traduire ce message m'chappe. -#, c-format -msgid " < \"%.*s\"" -msgstr " < \"%.*s\"" - -msgid "E752: No previous spell replacement" -msgstr "E752: Pas de suggestion orthographique prcdente" - -#, c-format -msgid "E753: Not found: %s" -msgstr "E753: Introuvable : %s" - -#, c-format -msgid "E778: This does not look like a .sug file: %s" -msgstr "E778: %s ne semble pas tre un fichier .sug" - -#, c-format -msgid "E779: Old .sug file, needs to be updated: %s" -msgstr "E779: Fichier de suggestions obsolte, mise jour ncessaire : %s" - -#, c-format -msgid "E780: .sug file is for newer version of Vim: %s" -msgstr "E780: Fichier .sug prvu pour une version de Vim plus rcente : %s" - -#, c-format -msgid "E781: .sug file doesn't match .spl file: %s" -msgstr "E781: Le fichier .sug ne correspond pas au fichier .spl : %s" - -#, c-format -msgid "E782: error while reading .sug file: %s" -msgstr "E782: Erreur lors de la lecture de fichier de suggestions : %s" - #. This should have been checked when generating the .spl #. * file. msgid "E783: duplicate char in MAP entry" @@ -6224,6 +6121,149 @@ msgstr "E439: la liste d'annulation est corrompue" msgid "E440: undo line missing" msgstr "E440: ligne d'annulation manquante" +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: La fonction %s existe dj (ajoutez ! pour la remplacer)" + +msgid "E717: Dictionary entry already exists" +msgstr "E717: Une entre du Dictionnaire porte dj ce nom" + +msgid "E718: Funcref required" +msgstr "E718: Rfrence de fonction (Funcref) requise" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: Fonction inconnue : %s" + +#, c-format +msgid "E125: Illegal argument: %s" +msgstr "E125: Argument invalide : %s" + +#, c-format +msgid "E853: Duplicate argument name: %s" +msgstr "E853: Nom d'argument dupliqu : %s" + +#, c-format +msgid "E740: Too many arguments for function %s" +msgstr "E740: Trop d'arguments pour la fonction %s" + +#, c-format +msgid "E116: Invalid arguments for function %s" +msgstr "E116: Arguments invalides pour la fonction %s" + +# AB - Vrifier dans la littrature technique s'il n'existe pas une meilleure +# traduction pour "function call depth". +msgid "E132: Function call depth is higher than 'maxfuncdepth'" +msgstr "" +"E132: La profondeur d'appel de fonction est suprieure 'maxfuncdepth'" + +# AB - Ce texte fait partie d'un message de dbogage. +#, c-format +msgid "calling %s" +msgstr "appel de %s" + +# AB - Vrifier. +#, c-format +msgid "%s aborted" +msgstr "%s annule" + +# AB - Ce texte fait partie d'un message de dbogage. +#, c-format +msgid "%s returning #%ld" +msgstr "%s a retourn #%ld" + +# AB - Ce texte fait partie d'un message de dbogage. +#, c-format +msgid "%s returning %s" +msgstr "%s a retourn \"%s\"" + +msgid "E699: Too many arguments" +msgstr "E699: Trop d'arguments" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: Fonction inconnue : %s" + +#, c-format +msgid "E933: Function was deleted: %s" +msgstr "E933: La fonction a t efface: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: La fonction %s n'a pas reu assez d'arguments" + +#, c-format +msgid "E120: Using not in a script context: %s" +msgstr "E120: utilis en dehors d'un script : %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: Appel d'une fonction dict sans Dictionnaire : %s" + +msgid "E129: Function name required" +msgstr "E129: Nom de fonction requis" + +#, c-format +msgid "E128: Function name must start with a capital or \"s:\": %s" +msgstr "" +"E128: Le nom de la fonction doit commencer par une majuscule ou \"s:\": %s" + +#, c-format +msgid "E884: Function name cannot contain a colon: %s" +msgstr "" +"E884: Le nom de la fonction ne peut pas contenir le caractre deux-points : " +"%s" + +#, c-format +msgid "E123: Undefined function: %s" +msgstr "E123: Fonction non dfinie : %s" + +# AB - La version franaise est plus consistante que la version anglaise. +# AB - Je suis partag entre la concision d'une traduction assez littrale et +# la lourdeur d'une traduction plus correcte. +#, c-format +msgid "E124: Missing '(': %s" +msgstr "E124: Il manque '(' aprs %s" + +msgid "E862: Cannot use g: here" +msgstr "E862: Impossible d'utiliser g: ici" + +#, c-format +msgid "E932: Closure function should not be at top level: %s" +msgstr "" +"E932: une fonction fermeture ne devrait pas tre au niveau principal : %s" + +msgid "E126: Missing :endfunction" +msgstr "E126: Il manque :endfunction" + +#, c-format +msgid "E707: Function name conflicts with variable: %s" +msgstr "E707: Le nom de fonction entre en conflit avec la variable : %s" + +#, c-format +msgid "E127: Cannot redefine function %s: It is in use" +msgstr "E127: Impossible de redfinir fonction %s : dj utilise" + +# DB - Le contenu du "c-format" est le nom de la fonction. +#, c-format +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: Le nom de la fonction %s ne correspond pas le nom du script" + +# AB - Il est difficile de crer une version franaise qui fasse moins de 80 +# caractres de long, nom de la fonction compris : "It is in use" est une +# expression trs dense. Traductions possibles : "elle est utilise", +# "elle s'excute" ou "elle est occupe". +#, c-format +msgid "E131: Cannot delete function %s: It is in use" +msgstr "E131: Impossible d'effacer %s : cette fonction est utilise" + +msgid "E133: :return not inside a function" +msgstr "E133: :return en dehors d'une fonction" + +#, c-format +msgid "E107: Missing parentheses: %s" +msgstr "E107: Parenthses manquantes : %s" + #. Only MS VC 4.1 and earlier can do Win32s msgid "" "\n" @@ -6246,9 +6286,6 @@ msgstr "" "\n" "Version graphique MS-Windows 32 bits" -msgid " in Win32s mode" -msgstr " lance en mode Win32s" - msgid " with OLE support" msgstr " supportant l'OLE" @@ -6425,6 +6462,9 @@ msgstr "2me fichier gvimrc utilisateur : \"" msgid "3rd user gvimrc file: \"" msgstr "3me fichier gvimrc utilisateur : \"" +msgid " defaults file: \"" +msgstr " fichier de valeurs par dfaut : \"" + msgid " system menu file: \"" msgstr " fichier menu systme : \"" @@ -6560,9 +6600,25 @@ msgstr "E446: Aucun nom de fichier sous le curseur" msgid "E447: Can't find file \"%s\" in path" msgstr "E447: Le fichier \"%s\" est introuvable dans 'path'" +#, c-format +msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E799: ID invalide : %ld (doit tre plus grand ou gal 1)" + +#, c-format +msgid "E801: ID already taken: %ld" +msgstr "E801: ID dj pris: %ld" + msgid "List or number required" msgstr "Liste ou nombre requis" +#, c-format +msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E802: ID invalide : %ld (doit tre plus grand ou gal 1)" + +#, c-format +msgid "E803: ID not found: %ld" +msgstr "E803: ID introuvable : %ld" + #, c-format msgid "E370: Could not load library %s" msgstr "E370: Impossible de charger la bibliothque %s" @@ -6859,6 +6915,29 @@ msgstr "" msgid "E713: Cannot use empty key for Dictionary" msgstr "E713: Impossible d'utiliser une cl vide dans un Dictionnaire" +msgid "E715: Dictionary required" +msgstr "E715: Dictionnaire requis" + +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: index de Liste hors limites : %ld au-del de la fin" + +# DB : Suggestion +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: La fonction %s a reu trop d'arguments" + +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: La cl %s n'existe pas dans le Dictionnaire" + +msgid "E714: List required" +msgstr "E714: Liste requise" + +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: L'argument de %s doit tre une Liste ou un Dictionnaire" + msgid "E47: Error while reading errorfile" msgstr "E47: Erreur lors de la lecture du fichier d'erreurs" diff --git a/src/quickfix.c b/src/quickfix.c index f808da4995..23cabb2988 100644 --- a/src/quickfix.c +++ b/src/quickfix.c @@ -4753,11 +4753,15 @@ qf_add_entries( } static int -qf_set_properties(qf_info_T *qi, dict_T *what) +qf_set_properties(qf_info_T *qi, dict_T *what, int action) { dictitem_T *di; int retval = FAIL; int qf_idx; + int newlist = FALSE; + + if (action == ' ' || qi->qf_curlist == qi->qf_listcount) + newlist = TRUE; qf_idx = qi->qf_curlist; /* default is the current list */ if ((di = dict_find(what, (char_u *)"nr", -1)) != NULL) @@ -4771,6 +4775,13 @@ qf_set_properties(qf_info_T *qi, dict_T *what) } else return FAIL; + newlist = FALSE; /* use the specified list */ + } + + if (newlist) + { + qf_new_list(qi, NULL); + qf_idx = qi->qf_curlist; } if ((di = dict_find(what, (char_u *)"title", -1)) != NULL) @@ -4813,7 +4824,7 @@ set_errorlist( } if (what != NULL) - retval = qf_set_properties(qi, what); + retval = qf_set_properties(qi, what, action); else retval = qf_add_entries(qi, list, title, action); diff --git a/src/screen.c b/src/screen.c index c0901c063b..cf27b7c5d3 100644 --- a/src/screen.c +++ b/src/screen.c @@ -3546,7 +3546,8 @@ win_line( v = (long)(ptr - line); if (cur != NULL) cur->pos.cur = 0; - next_search_hl(wp, shl, lnum, (colnr_T)v, cur); + next_search_hl(wp, shl, lnum, (colnr_T)v, + shl == &search_hl ? NULL : cur); /* Need to get the line again, a multi-line regexp may have made it * invalid. */ @@ -3980,7 +3981,8 @@ win_line( #ifdef FEAT_CONCEAL prev_syntax_id = 0; #endif - next_search_hl(wp, shl, lnum, (colnr_T)v, cur); + next_search_hl(wp, shl, lnum, (colnr_T)v, + shl == &search_hl ? NULL : cur); pos_inprogress = cur == NULL || cur->pos.cur == 0 ? FALSE : TRUE; @@ -7620,7 +7622,8 @@ prepare_search_hl(win_T *wp, linenr_T lnum) while (shl->first_lnum < lnum && (shl->rm.regprog != NULL || (cur != NULL && pos_inprogress))) { - next_search_hl(wp, shl, shl->first_lnum, (colnr_T)n, cur); + next_search_hl(wp, shl, shl->first_lnum, (colnr_T)n, + shl == &search_hl ? NULL : cur); pos_inprogress = cur == NULL || cur->pos.cur == 0 ? FALSE : TRUE; if (shl->lnum != 0) diff --git a/src/testdir/test_bufwintabinfo.vim b/src/testdir/test_bufwintabinfo.vim index 1c88cf53af..5c916e2dd7 100644 --- a/src/testdir/test_bufwintabinfo.vim +++ b/src/testdir/test_bufwintabinfo.vim @@ -18,7 +18,6 @@ function Test_getbufwintabinfo() let b:editor = 'vim' let l = getbufinfo('%') call assert_equal(bufnr('%'), l[0].bufnr) - call assert_equal(8, l[0].options.tabstop) call assert_equal('vim', l[0].variables.editor) call assert_notequal(-1, index(l[0].windows, bufwinid('%'))) @@ -49,9 +48,6 @@ function Test_getbufwintabinfo() call assert_equal(winbufnr(2), winlist[1].bufnr) call assert_equal(winheight(2), winlist[1].height) call assert_equal(1, winlist[2].winnr) - if has('signs') - call assert_equal('auto', winlist[0].options.signcolumn) - endif call assert_equal(2, winlist[3].tabnr) call assert_equal('green', winlist[2].variables.signal) call assert_equal(winwidth(1), winlist[0].width) @@ -83,3 +79,25 @@ function Test_getbufwintabinfo() call assert_false(winlist[2].loclist) wincmd t | only endfunction + +function Test_get_buf_options() + let opts = getbufvar(bufnr('%'), '&') + call assert_equal(v:t_dict, type(opts)) + call assert_equal(8, opts.tabstop) +endfunc + +function Test_get_win_options() + let opts = getwinvar(1, '&') + call assert_equal(v:t_dict, type(opts)) + call assert_equal(0, opts.linebreak) + if has('signs') + call assert_equal('auto', opts.signcolumn) + endif + + let opts = gettabwinvar(1, 1, '&') + call assert_equal(v:t_dict, type(opts)) + call assert_equal(0, opts.linebreak) + if has('signs') + call assert_equal('auto', opts.signcolumn) + endif +endfunc diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim index ee52eef89d..6ecbc789aa 100644 --- a/src/testdir/test_channel.vim +++ b/src/testdir/test_channel.vim @@ -1321,7 +1321,7 @@ func Test_using_freed_memory() endfunc func Test_collapse_buffers() - if !executable('cat') + if !executable('cat') || !has('job') return endif sp test_channel.vim @@ -1335,6 +1335,42 @@ func Test_collapse_buffers() bwipe! endfunc +func Test_raw_passes_nul() + if !executable('cat') || !has('job') + return + endif + + " Test lines from the job containing NUL are stored correctly in a buffer. + new + call setline(1, ["asdf\nasdf", "xxx\n", "\nyyy"]) + w! Xtestread + bwipe! + split testout + 1,$delete + call job_start('cat Xtestread', {'out_io': 'buffer', 'out_name': 'testout'}) + call WaitFor('line("$") > 2') + call assert_equal("asdf\nasdf", getline(2)) + call assert_equal("xxx\n", getline(3)) + call assert_equal("\nyyy", getline(4)) + + call delete('Xtestread') + bwipe! + + " Test lines from a buffer with NUL bytes are written correctly to the job. + new mybuffer + call setline(1, ["asdf\nasdf", "xxx\n", "\nyyy"]) + let g:Ch_job = job_start('cat', {'in_io': 'buffer', 'in_name': 'mybuffer', 'out_io': 'file', 'out_name': 'Xtestwrite'}) + call WaitFor('"dead" == job_status(g:Ch_job)') + bwipe! + split Xtestwrite + call assert_equal("asdf\nasdf", getline(1)) + call assert_equal("xxx\n", getline(2)) + call assert_equal("\nyyy", getline(3)) + + call delete('Xtestwrite') + bwipe! +endfunc + function Ch_test_close_lambda(port) let handle = ch_open('localhost:' . a:port, s:chopt) if ch_status(handle) == "fail" diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim index 3a35637b7e..f6721d523a 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -180,3 +180,11 @@ func Test_getcompletion() call assert_fails('call getcompletion("", "burp")', 'E475:') endfunc + +func Test_expand_star_star() + call mkdir('a/b', 'p') + call writefile(['asdfasdf'], 'a/b/fileXname') + call feedkeys(":find **/fileXname\\", 'xt') + call assert_equal('find a/b/fileXname', getreg(':')) + call delete('a', 'rf') +endfunc diff --git a/src/testdir/test_diffmode.vim b/src/testdir/test_diffmode.vim index 7666594862..5de394de8e 100644 --- a/src/testdir/test_diffmode.vim +++ b/src/testdir/test_diffmode.vim @@ -202,3 +202,19 @@ func Test_diffget_diffput() bwipe! enew! endfunc + +func Test_diffoff() + enew! + call setline(1, ['Two', 'Three']) + let normattr = screenattr(1, 1) + diffthis + botright vert new + call setline(1, ['One', '', 'Two', 'Three']) + diffthis + redraw + diffoff! + redraw + call assert_equal(normattr, screenattr(1, 1)) + bwipe! + bwipe! +endfunc diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim index b23b4490bb..6f1de59c94 100644 --- a/src/testdir/test_expr.vim +++ b/src/testdir/test_expr.vim @@ -130,6 +130,97 @@ func Test_option_value() set cpo&vim endfunc +function Test_printf_misc() + call assert_equal('123', printf('%d', 123)) + call assert_equal('123', printf('%i', 123)) + call assert_equal('123', printf('%D', 123)) + call assert_equal('123', printf('%U', 123)) + call assert_equal('173', printf('%o', 123)) + call assert_equal('173', printf('%O', 123)) + call assert_equal('7b', printf('%x', 123)) + call assert_equal('7B', printf('%X', 123)) + if has('ebcdic') + call assert_equal('#', printf('%c', 123)) + else + call assert_equal('{', printf('%c', 123)) + endif + call assert_equal('abc', printf('%s', 'abc')) + call assert_equal('abc', printf('%S', 'abc')) + + call assert_equal('+123', printf('%+d', 123)) + call assert_equal('-123', printf('%+d', -123)) + call assert_equal('+123', printf('%+ d', 123)) + call assert_equal(' 123', printf('% d', 123)) + call assert_equal(' 123', printf('% d', 123)) + call assert_equal('-123', printf('% d', -123)) + + call assert_equal('00123', printf('%.*d', 5, 123)) + call assert_equal(' 123', printf('% *d', 5, 123)) + call assert_equal(' +123', printf('%+ *d', 5, 123)) + + call assert_equal('123', printf('%2d', 123)) + call assert_equal(' 123', printf('%5d', 123)) + call assert_equal('00123', printf('%05d', 123)) + call assert_equal('123 ', printf('%-5d', 123)) + call assert_equal('0x7b', printf('%#x', 123)) + call assert_equal('0X7B', printf('%#X', 123)) + call assert_equal('0173', printf('%#o', 123)) + call assert_equal('0173', printf('%#O', 123)) + call assert_equal('abc', printf('%#s', 'abc')) + call assert_equal('abc', printf('%#S', 'abc')) + + call assert_equal(' 00123', printf('%6.5d', 123)) + call assert_equal(' 0007b', printf('%6.5x', 123)) + + call assert_equal('abc', printf('%2s', 'abc')) + call assert_equal('abc', printf('%2S', 'abc')) + call assert_equal('abc', printf('%.4s', 'abc')) + call assert_equal('abc', printf('%.4S', 'abc')) + call assert_equal('ab', printf('%.2s', 'abc')) + call assert_equal('ab', printf('%.2S', 'abc')) + call assert_equal('', printf('%.0s', 'abc')) + call assert_equal('', printf('%.s', 'abc')) + call assert_equal(' abc', printf('%4s', 'abc')) + call assert_equal(' abc', printf('%4S', 'abc')) + call assert_equal('0abc', printf('%04s', 'abc')) + call assert_equal('0abc', printf('%04S', 'abc')) + call assert_equal('abc ', printf('%-4s', 'abc')) + call assert_equal('abc ', printf('%-4S', 'abc')) + + call assert_equal('1%', printf('%d%%', 1)) +endfunc + +function Test_printf_float() + if has('float') + call assert_equal('1.230000', printf('%f', 1.23)) + call assert_equal('1.230000', printf('%F', 1.23)) + call assert_equal('1.23', printf('%g', 1.23)) + call assert_equal('1.23', printf('%G', 1.23)) + call assert_equal('1.230000e+00', printf('%e', 1.23)) + call assert_equal('1.230000E+00', printf('%E', 1.23)) + call assert_equal('1.200000e-02', printf('%e', 0.012)) + call assert_equal('-1.200000e-02', printf('%e', -0.012)) + call assert_equal('1.2', printf('%.1f', 1.23)) + + call assert_equal('inf', printf('%f', 1.0/0.0)) + + call assert_match('^-inf$', printf('%f', -1.0/0.0)) + + call assert_match('^nan$', printf('%f', sqrt(-1.0))) + call assert_match('^nan$', printf('%f', 0.0/0.0)) + + call assert_fails('echo printf("%f", "a")', 'E807:') + endif +endfunc + +function Test_printf_errors() + call assert_fails('echo printf("%d", {})', 'E728:') + call assert_fails('echo printf("%d", [])', 'E745:') + call assert_fails('echo printf("%d", 1, 2)', 'E767:') + call assert_fails('echo printf("%*d", 1)', 'E766:') + call assert_fails('echo printf("%d", 1.2)', 'E805:') +endfunc + function Test_printf_64bit() if has('num64') call assert_equal("123456789012345", printf('%d', 123456789012345)) diff --git a/src/testdir/test_match.vim b/src/testdir/test_match.vim index 000893673b..9ac1db157f 100644 --- a/src/testdir/test_match.vim +++ b/src/testdir/test_match.vim @@ -186,4 +186,31 @@ func Test_matchaddpos() set hlsearch& endfunc +func Test_matchaddpos_using_negative_priority() + set hlsearch + + call clearmatches() + + call setline(1, 'x') + let @/='x' + redraw! + let search_attr = screenattr(1,1) + + let @/='' + call matchaddpos('Error', [1], 10) + redraw! + let error_attr = screenattr(1,1) + + call setline(2, '-1 match priority') + call matchaddpos('Error', [2], -1) + redraw! + let negative_match_priority_attr = screenattr(2,1) + + call assert_notequal(negative_match_priority_attr, search_attr, "Match with negative priority is incorrectly highlighted with Search highlight.") + call assert_equal(negative_match_priority_attr, error_attr) + + nohl + set hlsearch& +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/testdir/test_netbeans.vim b/src/testdir/test_netbeans.vim index 97c3e79426..910516889c 100644 --- a/src/testdir/test_netbeans.vim +++ b/src/testdir/test_netbeans.vim @@ -59,7 +59,7 @@ func Nb_file_auth(port) call assert_fails('nbstart =Xnbauth', 'E668:') endif call setfperm('Xnbauth', "rw-------") - exe 'nbstart :localhost:' . a:port . ':bunny' + exe 'nbstart =Xnbauth' call assert_true(has("netbeans_enabled")) call WaitFor('len(readfile("Xnetbeans")) > 2') diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim index b7d985d0df..5c514776a0 100644 --- a/src/testdir/test_quickfix.vim +++ b/src/testdir/test_quickfix.vim @@ -1527,6 +1527,16 @@ function Xproperty_tests(cchar) call assert_equal('Sample', w:quickfix_title) Xclose + " Tests for action argument + silent! Xolder 999 + let qfnr = g:Xgetlist({'all':1}).nr + call g:Xsetlist([], 'r', {'title' : 'N1'}) + call assert_equal('N1', g:Xgetlist({'all':1}).title) + call g:Xsetlist([], ' ', {'title' : 'N2'}) + call assert_equal(qfnr + 1, g:Xgetlist({'all':1}).nr) + call g:Xsetlist([], ' ', {'title' : 'N3'}) + call assert_equal('N2', g:Xgetlist({'nr':2, 'title':1}).title) + " Invalid arguments call assert_fails('call g:Xgetlist([])', 'E715') call assert_fails('call g:Xsetlist([], "a", [])', 'E715') diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim index 4f1cfcc8e4..6e5146079a 100644 --- a/src/testdir/test_search.vim +++ b/src/testdir/test_search.vim @@ -16,11 +16,11 @@ func Test_search_cmdline() call feedkeys("/foobar\", 'tx') call feedkeys("/the\",'tx') call assert_equal('the', @/) - call feedkeys("/thes\\\",'tx') + call feedkeys("/thes\\\",'tx') call assert_equal('foobar', @/) " Test 2 - " Ctrl-N goes from one match to the next + " Ctrl-G goes from one match to the next " until the end of the buffer set incsearch nowrapscan :1 @@ -29,39 +29,39 @@ func Test_search_cmdline() call assert_equal(' 2 these', getline('.')) :1 " second match - call feedkeys("/the\\", 'tx') + call feedkeys("/the\\", 'tx') call assert_equal(' 3 the', getline('.')) :1 " third match - call feedkeys("/the".repeat("\", 2)."\", 'tx') + call feedkeys("/the".repeat("\", 2)."\", 'tx') call assert_equal(' 4 their', getline('.')) :1 " fourth match - call feedkeys("/the".repeat("\", 3)."\", 'tx') + call feedkeys("/the".repeat("\", 3)."\", 'tx') call assert_equal(' 5 there', getline('.')) :1 " fifth match - call feedkeys("/the".repeat("\", 4)."\", 'tx') + call feedkeys("/the".repeat("\", 4)."\", 'tx') call assert_equal(' 6 their', getline('.')) :1 " sixth match - call feedkeys("/the".repeat("\", 5)."\", 'tx') + call feedkeys("/the".repeat("\", 5)."\", 'tx') call assert_equal(' 7 the', getline('.')) :1 " seventh match - call feedkeys("/the".repeat("\", 6)."\", 'tx') + call feedkeys("/the".repeat("\", 6)."\", 'tx') call assert_equal(' 8 them', getline('.')) :1 " eigth match - call feedkeys("/the".repeat("\", 7)."\", 'tx') + call feedkeys("/the".repeat("\", 7)."\", 'tx') call assert_equal(' 9 these', getline('.')) :1 " no further match - call feedkeys("/the".repeat("\", 8)."\", 'tx') + call feedkeys("/the".repeat("\", 8)."\", 'tx') call assert_equal(' 9 these', getline('.')) " Test 3 - " Ctrl-N goes from one match to the next + " Ctrl-G goes from one match to the next " and continues back at the top set incsearch wrapscan :1 @@ -70,39 +70,39 @@ func Test_search_cmdline() call assert_equal(' 2 these', getline('.')) :1 " second match - call feedkeys("/the\\", 'tx') + call feedkeys("/the\\", 'tx') call assert_equal(' 3 the', getline('.')) :1 " third match - call feedkeys("/the".repeat("\", 2)."\", 'tx') + call feedkeys("/the".repeat("\", 2)."\", 'tx') call assert_equal(' 4 their', getline('.')) :1 " fourth match - call feedkeys("/the".repeat("\", 3)."\", 'tx') + call feedkeys("/the".repeat("\", 3)."\", 'tx') call assert_equal(' 5 there', getline('.')) :1 " fifth match - call feedkeys("/the".repeat("\", 4)."\", 'tx') + call feedkeys("/the".repeat("\", 4)."\", 'tx') call assert_equal(' 6 their', getline('.')) :1 " sixth match - call feedkeys("/the".repeat("\", 5)."\", 'tx') + call feedkeys("/the".repeat("\", 5)."\", 'tx') call assert_equal(' 7 the', getline('.')) :1 " seventh match - call feedkeys("/the".repeat("\", 6)."\", 'tx') + call feedkeys("/the".repeat("\", 6)."\", 'tx') call assert_equal(' 8 them', getline('.')) :1 " eigth match - call feedkeys("/the".repeat("\", 7)."\", 'tx') + call feedkeys("/the".repeat("\", 7)."\", 'tx') call assert_equal(' 9 these', getline('.')) :1 " back at first match - call feedkeys("/the".repeat("\", 8)."\", 'tx') + call feedkeys("/the".repeat("\", 8)."\", 'tx') call assert_equal(' 2 these', getline('.')) " Test 4 - " CTRL-P goes to the previous match + " CTRL-T goes to the previous match set incsearch nowrapscan $ " first match @@ -110,23 +110,23 @@ func Test_search_cmdline() call assert_equal(' 9 these', getline('.')) $ " first match - call feedkeys("?the\\", 'tx') + call feedkeys("?the\\", 'tx') call assert_equal(' 9 these', getline('.')) $ " second match - call feedkeys("?the".repeat("\", 1)."\", 'tx') + call feedkeys("?the".repeat("\", 1)."\", 'tx') call assert_equal(' 8 them', getline('.')) $ " last match - call feedkeys("?the".repeat("\", 7)."\", 'tx') + call feedkeys("?the".repeat("\", 7)."\", 'tx') call assert_equal(' 2 these', getline('.')) $ " last match - call feedkeys("?the".repeat("\", 8)."\", 'tx') + call feedkeys("?the".repeat("\", 8)."\", 'tx') call assert_equal(' 2 these', getline('.')) " Test 5 - " CTRL-P goes to the previous match + " CTRL-T goes to the previous match set incsearch wrapscan $ " first match @@ -134,19 +134,19 @@ func Test_search_cmdline() call assert_equal(' 9 these', getline('.')) $ " first match at the top - call feedkeys("?the\\", 'tx') + call feedkeys("?the\\", 'tx') call assert_equal(' 2 these', getline('.')) $ " second match - call feedkeys("?the".repeat("\", 1)."\", 'tx') + call feedkeys("?the".repeat("\", 1)."\", 'tx') call assert_equal(' 8 them', getline('.')) $ " last match - call feedkeys("?the".repeat("\", 7)."\", 'tx') + call feedkeys("?the".repeat("\", 7)."\", 'tx') call assert_equal(' 2 these', getline('.')) $ " back at the bottom of the buffer - call feedkeys("?the".repeat("\", 8)."\", 'tx') + call feedkeys("?the".repeat("\", 8)."\", 'tx') call assert_equal(' 9 these', getline('.')) " Test 6 @@ -158,16 +158,16 @@ func Test_search_cmdline() call assert_equal(' 2 these', getline('.')) 1 " go to next match of 'thes' - call feedkeys("/the\\\", 'tx') + call feedkeys("/the\\\", 'tx') call assert_equal(' 9 these', getline('.')) 1 " wrap around - call feedkeys("/the\\\\", 'tx') + call feedkeys("/the\\\\", 'tx') call assert_equal(' 2 these', getline('.')) 1 " wrap around set nowrapscan - call feedkeys("/the\\\\", 'tx') + call feedkeys("/the\\\\", 'tx') call assert_equal(' 9 these', getline('.')) " Test 7 @@ -183,7 +183,7 @@ func Test_search_cmdline() call assert_equal(' 9 these', getline('.')) 1 " delete one char, add another, go to previous match, add one char - call feedkeys("/thei\s\\\\", 'tx') + call feedkeys("/thei\s\\\\", 'tx') call assert_equal(' 8 them', getline('.')) 1 " delete all chars, start from the beginning again @@ -205,7 +205,7 @@ func Test_search_cmdline2() new call setline(1, [' 1', ' 2 these', ' 3 the theother']) " Test 1 - " Ctrl-P goes correctly back and forth + " Ctrl-T goes correctly back and forth set incsearch 1 " first match @@ -213,27 +213,27 @@ func Test_search_cmdline2() call assert_equal(' 2 these', getline('.')) 1 " go to next match (on next line) - call feedkeys("/the\\", 'tx') + call feedkeys("/the\\", 'tx') call assert_equal(' 3 the theother', getline('.')) 1 " go to next match (still on line 3) - call feedkeys("/the\\\", 'tx') + call feedkeys("/the\\\", 'tx') call assert_equal(' 3 the theother', getline('.')) 1 " go to next match (still on line 3) - call feedkeys("/the\\\\", 'tx') + call feedkeys("/the\\\\", 'tx') call assert_equal(' 3 the theother', getline('.')) 1 " go to previous match (on line 3) - call feedkeys("/the\\\\\", 'tx') + call feedkeys("/the\\\\\", 'tx') call assert_equal(' 3 the theother', getline('.')) 1 " go to previous match (on line 3) - call feedkeys("/the\\\\\\", 'tx') + call feedkeys("/the\\\\\\", 'tx') call assert_equal(' 3 the theother', getline('.')) 1 " go to previous match (on line 2) - call feedkeys("/the\\\\\\\", 'tx') + call feedkeys("/the\\\\\\\", 'tx') call assert_equal(' 2 these', getline('.')) " clean up diff --git a/src/version.c b/src/version.c index f0c215df23..8a071627ce 100644 --- a/src/version.c +++ b/src/version.c @@ -778,6 +778,30 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2275, +/**/ + 2274, +/**/ + 2273, +/**/ + 2272, +/**/ + 2271, +/**/ + 2270, +/**/ + 2269, +/**/ + 2268, +/**/ + 2267, +/**/ + 2266, +/**/ + 2265, +/**/ + 2264, /**/ 2263, /**/