summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2004-06-20 12:51:53 +0000
committerBram Moolenaar <Bram@vim.org>2004-06-20 12:51:53 +0000
commit69a7cb473ceae109b61fae9aa04ee0c29afba5d9 (patch)
tree04bd3292cc6c2317842d7a46ae3ab11e9956ed99
parented20346f0b81d1d89c22c9616abe8e47b4c17f08 (diff)
downloadvim-git-69a7cb473ceae109b61fae9aa04ee0c29afba5d9.tar.gz
updated for version 7.0002v7.0002
-rw-r--r--runtime/doc/change.txt11
-rw-r--r--runtime/doc/editing.txt7
-rw-r--r--runtime/doc/eval.txt25
-rw-r--r--runtime/doc/farsi.txt6
-rw-r--r--runtime/doc/index.txt6
-rw-r--r--runtime/doc/insert.txt4
-rw-r--r--runtime/doc/mbyte.txt6
-rw-r--r--runtime/doc/motion.txt35
-rw-r--r--runtime/doc/netbeans.txt6
-rw-r--r--runtime/doc/os_mac.txt17
-rw-r--r--runtime/doc/os_vms.txt4
-rw-r--r--runtime/doc/pi_netrw.txt322
-rw-r--r--runtime/doc/quickfix.txt4
-rw-r--r--runtime/doc/recover.txt4
-rw-r--r--runtime/doc/sponsor.txt9
-rw-r--r--runtime/doc/starting.txt4
-rw-r--r--runtime/doc/syntax.txt6
-rw-r--r--runtime/doc/todo.txt177
-rw-r--r--runtime/doc/usr_21.txt4
-rw-r--r--runtime/doc/usr_22.txt4
-rw-r--r--runtime/doc/various.txt8
-rw-r--r--runtime/doc/version5.txt14
-rw-r--r--runtime/doc/version6.txt26
-rw-r--r--runtime/indent/vb.vim4
-rw-r--r--runtime/plugin/netrw.vim460
-rw-r--r--runtime/syntax/netrwlist.vim29
-rw-r--r--runtime/syntax/po.vim4
-rw-r--r--src/Makefile4
-rw-r--r--src/buffer.c2
-rw-r--r--src/eval.c28
-rw-r--r--src/ex_cmds.c34
-rw-r--r--src/ex_docmd.c27
-rw-r--r--src/fileio.c5
-rw-r--r--src/gui_mac.c907
-rw-r--r--src/gui_w32.c6
-rw-r--r--src/memline.c4
-rw-r--r--src/normal.c35
-rw-r--r--src/os_mac.c2
-rw-r--r--src/os_msdos.c7
-rw-r--r--src/os_win32.c50
-rw-r--r--src/po/Makefile4
-rw-r--r--src/po/ru.cp1251.po1661
-rw-r--r--src/proto/eval.pro1
-rw-r--r--src/proto/ex_cmds.pro1
-rw-r--r--src/quickfix.c81
-rw-r--r--src/search.c7
46 files changed, 2336 insertions, 1736 deletions
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 63461ee1a..93c554f33 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt* For Vim version 7.0aa. Last change: 2004 Jun 15
+*change.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1048,7 +1048,7 @@ operation. When something has been dropped onto Vim, the "~ register is
filled in and the <Drop> pseudo key is sent for notification. You can remap
this key if you want; the default action (for all modes) is to insert the
contents of the "~ register at the cursor position. {not in Vi}
-{only available when compiled with the |+dnd| feature, curently only with the
+{only available when compiled with the |+dnd| feature, currently only with the
GTK GUI}
Note: The "~ register is only used when dropping plain text onto Vim.
@@ -1138,6 +1138,13 @@ gw{motion} Format the lines that {motion} moves over. Similar to
the text. However, 'formatprg' is not used.
{not in Vi}
+gwgw *gwgw* *gww*
+gww Format the current line as with "gw". {not in Vi}
+
+ *v_gw*
+{Visual}gw Format the highlighted text as with "gw". (for
+ {Visual} see |Visual-mode|). {not in Vi}
+
Example: To format the current paragraph use: *gqap* >
gqap
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 827f78031..4feef4148 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt* For Vim version 7.0aa. Last change: 2004 Jun 14
+*editing.txt* For Vim version 7.0aa. Last change: 2004 Jun 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -340,10 +340,11 @@ directly before the first or just after the last backtick.
*`=*
You can have the backticks expanded as a Vim expression, instead of
-an external command, by using the syntax `={expr}` e.g. >
+an external command, by using the syntax `={expr}` e.g.: >
:let foo='bar'
:e `=foo . ".c" `
-edits "bar.c". Note that the expression cannot contain a backtick.
+This will edit "bar.c". The expression can contain just about anything, thus
+this can also be used to avoid the special meaning of '"', '|', '%' and '#'.
*++opt* *[++opt]*
The [++opt] argument can be used to force the value of 'fileformat' or
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 4685ff5e6..462d66bd9 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.0aa. Last change: 2004 May 18
+*eval.txt* For Vim version 7.0aa. Last change: 2004 Jun 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -515,7 +515,7 @@ Another example that does the same: >
command Tick let s:counter = s:counter + 1 | echo s:counter
When calling a function and invoking a user-defined command, the context for
-script varialbes is set to the script where the function or command was
+script variables is set to the script where the function or command was
defined.
The script variables are also available when a function is defined inside a
@@ -972,9 +972,13 @@ browse({save}, {title}, {initdir}, {default})
bufexists({expr}) *bufexists()*
The result is a Number, which is non-zero if a buffer called
{expr} exists.
+ If the {expr} argument is a number, buffer numbers are used.
If the {expr} argument is a string it must match a buffer name
- exactly.
- If the {expr} argument is a number buffer numbers are used.
+ exactly. The name can be:
+ - Relative to the current directory.
+ - A full path.
+ - The name of a buffer with 'filetype' set to "nofile".
+ - A URL name.
Unlisted buffers will be found.
Note that help files are listed by their short name in the
output of |:buffers|, but bufexists() requires using their
@@ -987,12 +991,12 @@ bufexists({expr}) *bufexists()*
buflisted({expr}) *buflisted()*
The result is a Number, which is non-zero if a buffer called
{expr} exists and is listed (has the 'buflisted' option set).
- The {expr} argument is used like with bufexists().
+ The {expr} argument is used like with |bufexists()|.
bufloaded({expr}) *bufloaded()*
The result is a Number, which is non-zero if a buffer called
{expr} exists and is loaded (shown in a window or hidden).
- The {expr} argument is used like with bufexists().
+ The {expr} argument is used like with |bufexists()|.
bufname({expr}) *bufname()*
The result is the name of a buffer, as it is displayed by the
@@ -1233,6 +1237,9 @@ executable({expr}) *executable()*
This function checks if an executable with the name {expr}
exists. {expr} must be the name of the program without any
arguments. executable() uses the normal $PATH.
+ On MS-DOS and MS-Windows the ".exe", ".bat", etc. must be
+ included. It only checks if the file exists and is not a
+ directory, not if it's really executable.
The result is a Number:
1 exists
0 does not exist
@@ -1910,7 +1917,7 @@ line({expr}) The result is a Number, which is the line number of the file
This autocommand jumps to the last known position in a file
just after opening it, if the '" mark is set: >
:au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g'\"" | endif
-<
+
line2byte({lnum}) *line2byte()*
Return the byte count from the start of the buffer for line
{lnum}. This includes the end-of-line character, depending on
@@ -2746,7 +2753,7 @@ fork Compiled to use fork()/exec() instead of system().
gettext Compiled with message translation |multi-lang|
gui Compiled with GUI enabled.
gui_athena Compiled with Athena GUI.
-gui_beos Compiled with BeOs GUI.
+gui_beos Compiled with BeOS GUI.
gui_gtk Compiled with GTK+ GUI (any version).
gui_gtk2 Compiled with GTK+ 2 GUI (gui_gtk is also defined).
gui_mac Compiled with Macintosh GUI.
@@ -2801,7 +2808,7 @@ scrollbind Compiled with 'scrollbind' support.
showcmd Compiled with 'showcmd' support.
signs Compiled with |:sign| support.
smartindent Compiled with 'smartindent' support.
-sniff Compiled with SniFF interface support.
+sniff Compiled with SNiFF interface support.
statusline Compiled with support for 'statusline', 'rulerformat'
and special formats of 'titlestring' and 'iconstring'.
sun_workshop Compiled with support for Sun |workshop|.
diff --git a/runtime/doc/farsi.txt b/runtime/doc/farsi.txt
index 9902709da..6f32f6e83 100644
--- a/runtime/doc/farsi.txt
+++ b/runtime/doc/farsi.txt
@@ -1,4 +1,4 @@
-*farsi.txt* For Vim version 7.0aa. Last change: 2002 Oct 29
+*farsi.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
@@ -66,7 +66,7 @@ If the "extra" archive has been unpacked, the following files are found in the
subdirectories of the '$VIM/farsi' directory:
+ far-a01.pcf X Windows fonts for Unix including Linux systems
- + far-a01.bf X Windows fonts for SunOs
+ + far-a01.bf X Windows fonts for SunOS
+ far-a01.f16 a screen fonts for Unix including Linux systems
+ far-a01.fon a monospaced fonts for Windows NT/95/98
+ far-a01.com a screen fonts for DOS
@@ -92,7 +92,7 @@ o Installation of fonts for X Window systems (Unix/Linux)
> mkfontdir
> xset +fp path_name_of_farsi_fonts_directory
-o Installation of fonts for X Window systems (SunOs)
+o Installation of fonts for X Window systems (SunOS)
Copy far-a01.bf font into a directory of your choice.
Change to the directory containing the far-a01.fb fonts and
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 791e5ba36..77fe085b5 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt* For Vim version 7.0aa. Last change: 2004 May 24
+*index.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -130,8 +130,8 @@ tag char action ~
|i_<C-Home>| <C-Home> cursor to start of file
|i_<End>| <End> cursor past end of line
|i_<C-End>| <C-End> cursor past end of file
-|i_<PageUp>| <PageUp> one screenfull backward
-|i_<PageDown>| <PageDown> one screenfull forward
+|i_<PageUp>| <PageUp> one screenful backward
+|i_<PageDown>| <PageDown> one screenful forward
|i_<F1>| <F1> same as <Help>
|i_<Help>| <Help> stop insert mode and display help window
|i_<Insert>| <Insert> toggle Insert/Replace mode
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 1439dbeaf..8028b661f 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt* For Vim version 7.0aa. Last change: 2004 Apr 09
+*insert.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -908,7 +908,7 @@ gi Insert text in the same position as where Insert mode
The position is corrected for inserted/deleted lines,
but NOT for inserted/deleted characters.
When the |:keepjumps| command modifier is used the |'^|
- mark wont be changed.
+ mark won't be changed.
{not in Vi}
*o*
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index 52c3b2406..9e96c3ea4 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt* For Vim version 7.0aa. Last change: 2004 Jun 07
+*mbyte.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -141,7 +141,7 @@ There are several ways to enter multi-byte characters:
- For all systems keymaps can be used. See |mbyte-keymap|.
The options 'iminsert', 'imsearch' and 'imcmdline' can be used to chose
-the different input medhods or disable them temporarily.
+the different input methods or disable them temporarily.
==============================================================================
2. Locale *mbyte-locale*
@@ -906,7 +906,7 @@ IME status to that memorized automatically.
This works on not only insert-normal mode, but also search-command input and
replace mode.
The options 'iminsert', 'imsearch' and 'imcmdline' can be used to chose
-the different input medhods or disable them temporarily.
+the different input methods or disable them temporarily.
WHAT IS IME
IME is a part of East asian version Windows. That helps you to input
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index b22413a84..b2f6858bb 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt* For Vim version 7.0aa. Last change: 2004 May 13
+*motion.txt* For Vim version 7.0aa. Last change: 2004 Jun 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -672,11 +672,12 @@ m[ or m] Set the |'[| or |']| mark. Useful when an operator is
the cursor, this is not a motion command).
*:ma* *:mark* *E191*
-:[range]ma[rk] {a-zA-Z} Set mark {a-zA-Z} at last line number in [range],
+:[range]ma[rk] {a-zA-Z'}
+ Set mark {a-zA-Z'} at last line number in [range],
column 0. Default is cursor line.
*:k*
-:[range]k{a-zA-Z} Same as :mark, but the space before the mark name can
+:[range]k{a-zA-Z'} Same as :mark, but the space before the mark name can
be omitted.
*'* *'a* *`* *`a*
@@ -692,7 +693,9 @@ g'{mark} g`{mark}
jumping within the current buffer. Example: >
g`"
< jumps to the last known position in a file. See
- $VIMRUNTIME/vimrc_example.vim. {not in Vi}
+ $VIMRUNTIME/vimrc_example.vim.
+ Also see |:keepjumps|.
+ {not in Vi}
*:marks*
:marks List all the current marks (not a motion command).
@@ -868,7 +871,7 @@ These commands are not marks themselves, but jump to a mark:
or larger than before, all marks are kept at the
same line number.
- When the number of lines decreases, the marks in the
- ilnes that disappeared are deleted.
+ lines that disappeared are deleted.
In any case the marks below the filtered text have
their line numbers adjusted, thus stick to the text,
as usual.
@@ -877,12 +880,22 @@ These commands are not marks themselves, but jump to a mark:
*:keepj* *:keepjumps*
:keepj[umps] {command}
- Do not change the |''|, |'.| and |'^| marks, the
- |jumplist| or the |changelist|. Useful when making a
- change or inserting text automatically and the user
- doesn't want to go to this position. E.g., when
- updating a "Last change" timestamp: >
- autocmd BufWritePre,FileWritePre *.abc keepjumps call SetLastChange()
+ Moving around in {command} does not change the |''|,
+ |'.| and |'^| marks, the |jumplist| or the
+ |changelist|.
+ Useful when making a change or inserting text
+ automatically and the user doesn't want to go to this
+ position. E.g., when updating a "Last change"
+ timestamp in the first line: >
+
+ :let lnum = getline(".")
+ :keepjumps normal gg
+ :call SetLastChange()
+ :keepjumps exe "normal " . lnum . "G"
+<
+ Note that ":keepjumps" must be used for every command.
+ When invoking a function the commands in that function
+ can still change the jumplist.
==============================================================================
8. Jumps *jump-motions*
diff --git a/runtime/doc/netbeans.txt b/runtime/doc/netbeans.txt
index 55725e15e..ee6adea44 100644
--- a/runtime/doc/netbeans.txt
+++ b/runtime/doc/netbeans.txt
@@ -1,4 +1,4 @@
-*netbeans.txt* For Vim version 7.0aa. Last change: 2004 May 01
+*netbeans.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM REFERENCE MANUAL by Gordon Prieur
@@ -180,7 +180,7 @@ Region is guarded, cannot modify
change.
*E656*
-NetBeans dissallows writes of unmodified buffers
+NetBeans disallows writes of unmodified buffers
NetBeans does not support writes of unmodified buffers that
were opened from NetBeans.
@@ -245,7 +245,7 @@ could cause confusion. The netbeans_saved() function sent a "save" protocol
command. In protocol version 2.1 and earlier this was incorrectly interpreted
as a notification that a write had taken place. In reality, it told NetBeans
to save the file so multiple writes were being done. This caused various
-problems and has been fixed in 2.2. To decrease the likelyhood of this
+problems and has been fixed in 2.2. To decrease the likelihood of this
confusion happening again, netbeans_saved() has been renamed to
netbeans_save_buffer().
diff --git a/runtime/doc/os_mac.txt b/runtime/doc/os_mac.txt
index c2102bfc0..f24255245 100644
--- a/runtime/doc/os_mac.txt
+++ b/runtime/doc/os_mac.txt
@@ -1,4 +1,4 @@
-*os_mac.txt* For Vim version 7.0aa. Last change: 2004 Apr 27
+*os_mac.txt* For Vim version 7.0aa. Last change: 2004 Jun 19
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -74,11 +74,16 @@ A: Under Window Settings, Emulation, make sure that "Escape non-ASCII
==============================================================================
4. Mac Lack *mac-lack*
--The filenames containing both ":" and "/" are sometimes misinterpreted.
- (just re-execute the command)
--Scrollbar are not scrolling live, and when only the arrow or scroll area,
- a limit of 32 line or page is scrolled.
--Syntax highlighting works on 68k Macs but is _really_ slow.
+The filenames containing both ":" and "/" are sometimes misinterpreted. (just
+re-execute the command)
+
+Scrollbar are not scrolling live, and when only the arrow or scroll area, a
+limit of 32 line or page is scrolled.
+
+Syntax highlighting works on 68k Macs but is _really_ slow.
+
+In a terminal CTRL-^ needs to be entered as Shift-Control-6. CTRL-@ as
+Shift-Control-2.
==============================================================================
5. Mac Bug Report *mac-bug*
diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt
index 834b35b16..aab5a2407 100644
--- a/runtime/doc/os_vms.txt
+++ b/runtime/doc/os_vms.txt
@@ -1,4 +1,4 @@
-*os_vms.txt* For Vim version 7.0aa. Last change: 2004 May 16
+*os_vms.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM REFERENCE MANUAL
@@ -280,7 +280,7 @@ For more information type $help set disp in VMS prompt.
You need to set up one X server and run Vim as in point 2.
For MS Windows there are available free X servers as MIX , Omni X etc.
as well as excellent commercial products as eXcursion or ReflectionX with
- buit in DEC support.
+ built in DEC support.
Please note, that executables without GUI are slightly faster during startup
then with enabled GUI in character mode. Therefore, if you do not use GUI
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index abfa8ce2f..0a13dc251 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,11 +1,11 @@
-*pi_netrw.txt* For Vim version 7.0aa. Last change: Apr 21, 2004
+*pi_netrw.txt* For Vim version 6.2. Last change: Jun 15, 2004
VIM REFERENCE MANUAL by Charles E. Campbell, Jr.
-*dav* *http* *network* *rcp* *scp*
-*fetch* *netrw* *Nread* *rsync* *sftp*
-*ftp* *netrw.vim* *Nwrite* *netrw-file*
+*dav* *http* *network* *rcp* *scp*
+*fetch* *netrw* *Nread* *rsync* *sftp*
+*ftp* *netrw.vim* *Nwrite* *netrw-file*
==============================================================================
0. Contents *netrw-contents*
@@ -16,15 +16,16 @@
4. Transparent File Transfer...........................|netrw-transparent|
5. Ex Commands.........................................|netrw-ex|
6. Variables and Options...............................|netrw-var|
-7. Debugging...........................................|netrw-debug|
-8. New Stuff...........................................|netrw-new|
-9. Credits.............................................|netrw-credits|
+7. Remote Directory Listing............................|netrw-dir|
+8. Debugging...........................................|netrw-debug|
+9. History.............................................|netrw-history|
+10. Credits.............................................|netrw-credits|
The functionality mentioned here is done via using |standard-plugin|
techniques. This plugin is only available if
- set nocp " 'compatible' is not set
- filetype plugin on " plugins are enabled
+ set nocp " 'compatible' is not set
+ filetype plugin on " plugins are enabled
You can avoid loading this plugin by setting the "loaded_netrw" variable
in your <.vimrc> file: >
@@ -49,16 +50,16 @@ in your <.vimrc> file: >
Controlling External Applications
- Protocol Variable Default Value
- -------- ---------------- -------------
- dav: g:netrw_dav_cmd = "cadaver"
- fetch: g:netrw_fetch_cmd = "fetch -o"
- ftp: g:netrw_ftp_cmd = "ftp"
- http: g:netrw_http_cmd = "fetch -o" else if fetch is available
- http: g:netrw_http_cmd = "wget -q -O" If wget is available
- rcp: g:netrw_rcp_cmd = "rcp"
- rsync: g:netrw_rsync_cmd = "rsync -a"
- scp: g:netrw_scp_cmd = "scp -q"
+ Protocol Variable Default Value
+ -------- ---------------- -------------
+ dav: g:netrw_dav_cmd = "cadaver"
+ fetch: g:netrw_fetch_cmd = "fetch -o"
+ ftp: g:netrw_ftp_cmd = "ftp"
+ http: g:netrw_http_cmd = "fetch -o" if fetch is available
+ http: g:netrw_http_cmd = "wget -q -O" If wget is available
+ rcp: g:netrw_rcp_cmd = "rcp"
+ rsync: g:netrw_rsync_cmd = "rsync -a"
+ scp: g:netrw_scp_cmd = "scp -q"
sftp: g:netrw_sftp_cmd = "sftp"
READING
@@ -76,7 +77,7 @@ in your <.vimrc> file: >
:Nread "sftp://[user@]machine/file" uses sftp
WRITING
- :Nwrite ? give help
+ :Nwrite ? give help
:Nwrite "machine:file" uses rcp
:Nwrite "machine file" uses ftp with <.netrc>
:Nwrite "machine id password file" uses ftp
@@ -88,6 +89,9 @@ in your <.vimrc> file: >
:Nwrite "sftp://[user@]machine/file" uses sftp
http: not supported!
+ DIRECTORY LISTING
+ :Nread [protocol]://[user]@hostname/path/
+
USER AND PASSWORD CHANGING
Attempts to use ftp will prompt you for a user-id and a password.
These will be saved in g:netrw_uid and g:netrw_passwd Subsequent uses
@@ -148,7 +152,7 @@ transfer/protocol. Files are read from/written to a temporary file
clean up.
One may modify any protocol's implementing external application
-by setting a variable (ex. scp uses the variable g:netrw_scp_cmd,
+by settinbg a variable (ex. scp uses the variable g:netrw_scp_cmd,
which is defaulted to "scp -q").
Ftp, an old protocol, seems to be blessed by numerous implementations.
@@ -181,57 +185,57 @@ additional prompting.
*netrw-urls*
+=================================+============================+============+
- | Reading | Writing | Uses |
+ | Reading | Writing | Uses |
+=================================+============================+============+
- | DAV: | | |
- | dav://host/path | | cadaver |
- | :Nread dav://host/path | :Nwrite dav://host/path | cadaver |
+ | DAV: | | |
+ | dav://host/path | | cadaver |
+ | :Nread dav://host/path | :Nwrite dav://host/path | cadaver |
+---------------------------------+----------------------------+------------+
- | FETCH: | | |
- | fetch://[user@]host/path | | |
- | fetch://[user@]host:http/path | Not Available | fetch |
- | :Nread fetch://[user@]host/path| | |
+ | FETCH: | | |
+ | fetch://[user@]host/path | | |
+ | fetch://[user@]host:http/path | Not Available | fetch |
+ | :Nread fetch://[user@]host/path| | |
+---------------------------------+----------------------------+------------+
- | FILE: | | |
- | file:///* | file:///* | |
- | file://localhost/* | file://localhost/* | |
+ | FILE: | | |
+ | file:///* | file:///* | |
+ | file://localhost/* | file://localhost/* | |
+---------------------------------+----------------------------+------------+
- | FTP: (*3) | (*3) | |
- | ftp://[user@]host/path | ftp://[user@]host/path | ftp (*2) |
- | :Nread ftp://host/path | :Nwrite ftp://host/path | ftp+.netrc |
- | :Nread host path | :Nwrite host path | ftp+.netrc |
- | :Nread host uid pass path | :Nwrite host uid pass path | ftp |
+ | FTP: (*3) | (*3) | |
+ | ftp://[user@]host/path | ftp://[user@]host/path | ftp (*2) |
+ | :Nread ftp://host/path | :Nwrite ftp://host/path | ftp+.netrc |
+ | :Nread host path | :Nwrite host path | ftp+.netrc |
+ | :Nread host uid pass path | :Nwrite host uid pass path | ftp |
+---------------------------------+----------------------------+------------+
- | HTTP: wget is executable: (*4) | | |
- | http://[user@]host/path | Not Available | wget |
+ | HTTP: wget is executable: (*4) | | |
+ | http://[user@]host/path | Not Available | wget |
+---------------------------------+----------------------------+------------+
- | HTTP: fetch is executable (*4) | | |
- | http://[user@]host/path | Not Available | fetch |
+ | HTTP: fetch is executable (*4) | | |
+ | http://[user@]host/path | Not Available | fetch |
+---------------------------------+----------------------------+------------+
- | RCP: | | |
- | rcp://[user@]host/path | rcp://[user@]host/path | rcp |
+ | RCP: | | |
+ | rcp://[user@]host/path | rcp://[user@]host/path | rcp |
+---------------------------------+----------------------------+------------+
- | RSYNC: | | |
- | rsync://[user@]host/path | rsync://[user@]host/path | rsync |
- | :Nread rsync://host/path | :Nwrite rsync://host/path | rsync |
- | :Nread rcp://host/path | :Nwrite rcp://host/path | rcp |
+ | RSYNC: | | |
+ | rsync://[user@]host/path | rsync://[user@]host/path | rsync |
+ | :Nread rsync://host/path | :Nwrite rsync://host/path | rsync |
+ | :Nread rcp://host/path | :Nwrite rcp://host/path | rcp |
+---------------------------------+----------------------------+------------+
- | SCP: | | |
- | scp://[user@]host/path | scp://[user@]host/path | scp |
- | :Nread scp://host/path | :Nwrite scp://host/path | scp (*1) |
+ | SCP: | | |
+ | scp://[user@]host/path | scp://[user@]host/path | scp |
+ | :Nread scp://host/path | :Nwrite scp://host/path | scp (*1) |
+---------------------------------+----------------------------+------------+
- | SFTP: | | |
- | sftp://[user@]host/path | sftp://[user@]host/path | sftp |
- | :Nread sftp://host/path | :Nwrite sftp://host/path | sftp (*1) |
+ | SFTP: | | |
+ | sftp://[user@]host/path | sftp://[user@]host/path | sftp |
+ | :Nread sftp://host/path | :Nwrite sftp://host/path | sftp (*1) |
+=================================+============================+============+
(*1) For an absolute path use scp://machine//path.
(*2) if <.netrc> is present, it is assumed that it will
work with your ftp client. Otherwise the script will
- prompt for user-id and password.
+ prompt for user-id and pasword.
- (*3) for ftp, "machine" may be machine#port or machine:port
+ (*3) for ftp, "machine" may be machine#port or machine:port
if a different port is needed than the standard ftp port
(*4) for http:..., if wget is available it will be used. Otherwise,
@@ -327,67 +331,88 @@ additional commands available.
==============================================================================
-6. Variables and Options *netrw-options* *netrw-var*
+6. Variables and Options *netrw-options* *netrw-var*
The script <netrw.vim> uses several variables which can affect <netrw.vim>'s
behavior. These variables typically may be set in the user's <.vimrc> file:
-
- g:netrw_uid Holds current user-id for ftp.
- g:netrw_passwd Holds current password for ftp.
- b:netrw_lastfile Holds latest method/machine/path.
- b:netrw_line Holds current line number (during NetWrite)
- b:netrw_col Holds current cursor position (during NetWrite)
- g:netrw_ftp =0 use default ftp (uid password)
- =1 use alternate ftp (user uid password)
- (see |netrw-options|)
- g:netrw_ftpmode ="binary" (default)
- ="ascii" (your choice)
- g:netrw_ignorenetrc =1 (default)
- if you have a <.netrc> file but you don't
+>
+ -------------
+ Netrw Options
+ -------------
+ Option Meaning
+ -------------- -----------------------------------------------
+<
+ b:netrw_col Holds current cursor position (during NetWrite)
+ g:netrw_cygwin =1 assume scp under windows is from cygwin
+ (default/windows)
+ =0 assume scp under windows accepts windows
+ style paths (default/else)
+ g:netrw_ftp =0 use default ftp (uid password)
+ g:netrw_ftpmode ="binary" (default)
+ ="ascii" (your choice)
+ g:netrw_ignorenetrc =1 (default)
+ if you have a <.netrc> file but you don't
want it used, then set this variable. Its
mere existence is enough to cause <.netrc>
to be ignored.
- g:netrw_win95ftp =0 use unix-style ftp even if win95/98/ME/etc
- =1 use default method to do ftp
- g:netrw_cygwin =1 assume scp under windows is from cygwin
- (default/windows)
- =0 assume scp under windows accepts windows
- style paths (default/else)
- g:netrw_use_nt_rcp =0 don't use WinNT/2K/XP's rcp (default)
- =1 use WinNT/2K/XP's rcp, binary mode
-
-
+ b:netrw_lastfile Holds latest method/machine/path.
+ b:netrw_line Holds current line number (during NetWrite)
+ g:netrw_passwd Holds current password for ftp.
+ g:netrw_silent =0 transfers done normally
+ =1 transfers done silently
+ g:netrw_uid Holds current user-id for ftp.
+ =1 use alternate ftp (user uid password)
+ (see |netrw-options|)
+ g:netrw_use_nt_rcp =0 don't use WinNT/2K/XP's rcp (default)
+ =1 use WinNT/2K/XP's rcp, binary mode
+ g:netrw_win95ftp =0 use unix-style ftp even if win95/98/ME/etc
+ =1 use default method to do ftp >
+ -----------------------------------------------------------------------
+<
The script will also make use of the following variables internally, albeit
temporarily.
-
+>
+ -------------------
+ Temporary Variables
+ -------------------
+ Variable Meaning
+ -------- ------------------------------------
+<
g:netrw_method Index indicating rcp/ftp+.netrc/ftp
g:netrw_machine Holds machine name parsed from input
- g:netrw_fname Holds filename being accessed
-
+ g:netrw_fname Holds filename being accessed >
+ ------------------------------------------------------------
+<
*netrw-protocol*
+
+Netrw supports a number of protocols. These protocols are invoked using the
+variables listed below, and may be modified by the user.
>
------------------------
- Protocol Control Options
+ Protocol Control Options
------------------------
- Option Type Setting Meaning ~
- --------- -------- -------------- --------------------------- >
- netrw_ftp variable =doesn't exist userid set by "user userid"
- =0 userid set by "user userid"
- =1 userid set by "userid"
- NetReadFixup function =doesn't exist no change
- =exists Allows user to have files
- read via ftp automatically
- transformed however they wish
- by NetReadFixup()
+ Option Type Setting Meaning
+ --------- -------- -------------- ---------------------------
+<
+ netrw_ftp variable =doesn't exist userid set by "user userid"
+ =0 userid set by "user userid"
+ =1 userid set by "userid"
+ NetReadFixup function =doesn't exist no change
+ =exists Allows user to have files
+ read via ftp automatically
+ transformed however they wish
+ by NetReadFixup()
g:netrw_dav_cmd variable ="cadaver"
g:netrw_fetch_cmd variable ="fetch -o"
g:netrw_ftp_cmd variable ="ftp"
g:netrw_http_cmd variable ="fetch -o" else if fetch is executable
g:netrw_http_cmd variable ="wget -O" if wget is executable
+ g:netrw_list_cmd variable ="ssh HOSTNAME ls -Fa"
g:netrw_rcp_cmd variable ="rcp"
g:netrw_rsync_cmd variable ="rsync -a"
g:netrw_scp_cmd variable ="scp -q"
- g:netrw_sftp_cmd variable ="sftp"
+ g:netrw_sftp_cmd variable ="sftp" >
+ -------------------------------------------------------------------------
<
The first two options both help with certain ftp's that give trouble otherwise.
In order to best understand how to use these options if ftp is giving you
@@ -396,16 +421,21 @@ troubles, a bit of discussion follows on how netrw does ftp reads.
The g:netrw_..._cmd variables specify the external program to use handle
the associated protocol (rcp, ftp, etc), plus any options.
-Netrw typically builds up lines of one of the following formats in a
+The g:netrw_list_cmd's HOSTNAME entry will be changed via substitution with
+whatever the current request is for a hostname.
+
+For ftp, netrw typically builds up lines of one of the following formats in a
temporary file:
>
IF g:netrw_ftp !exists or is not 1 IF g:netrw_ftp exists and is 1
---------------------------------- ------------------------------
- open machine [port] open machine [port]
- user userid password userid password
- [g:netrw_ftpmode] password
- get filename tempfile [g:netrw_ftpmode]
- get filename tempfile
+<
+ open machine [port] open machine [port]
+ user userid password userid password
+ [g:netrw_ftpmode] password
+ get filename tempfile [g:netrw_ftpmode]
+ get filename tempfile >
+ ---------------------------------------------------------------------
<
Netrw then executes the lines above by use of a filter:
>
@@ -418,14 +448,14 @@ where
-n means don't use netrc and is used for Method #3 (ftp w/o <.netrc>)
If <.netrc> exists it will be used to avoid having to query the user for
-userid and password). The transferred file is put into a temporary file.
+userid and password. The transferred file is put into a temporary file.
The temporary file is then read into the main editing session window that
requested it and the temporary file deleted.
If your ftp doesn't accept the "user" command and immediately just demands
a userid, then try putting "let netrw_ftp=1" in your <.vimrc>.
- *netrw-fixup*
+ *netrw-fixup*
If your ftp for whatever reason generates unwanted lines (such as AUTH
messages) you may write a NetReadFixup(tmpfile) function:
>
@@ -441,7 +471,7 @@ messages) you may write a NetReadFixup(tmpfile) function:
elseif a:method == 7 "rsync
elseif a:method == 8 "fetch
elseif a:method == 9 "sftp
- else " complain
+ else " complain
endif
endfunction
>
@@ -453,17 +483,42 @@ and so it is desirable to automate their removal. Here's some code taken
from <netrw.vim> itself:
>
if has("win95") && g:netrw_win95ftp
- fu! NetReadFixup(method, line1, line2)
+ fun! NetReadFixup(method, line1, line2)
if method == 3 " ftp (no <.netrc>)
- let fourblanklines= line2 - 3
- silent fourblanklines.",".line2."g/^\s*/d"
+ let fourblanklines= line2 - 3
+ silent fourblanklines.",".line2."g/^\s*/d"
endif
endfunction
endif
>
==============================================================================
-7. Debugging *netrw-debug*
+7. Remote Directory Listing *netrw-dir* *netrw-list*
+
+Netrw supports listing (browsing) directories on remote hosts; simply attempt
+to read a "file" with a trailing slash and it will be interpreted as a
+request to browse a directory:
+
+ vim [protocol]://[user@]hostname/path/
+
+Netrw will modify the command in g:netrw_list to perform the directory listing
+operation. By default the command is:
+
+ ssh HOSTNAME ls -Fa
+
+where the HOSTNAME becomes the hostname as requested by the attempted
+read. Naturally, the user may override this command with whatever is
+preferred. The NetList function which implements remote directory
+browsing expects that directories will be flagged by a trailing slash.
+
+Browsing is simple: move the cursor onto a file or directory of interest.
+Hitting the <cr> (the return key) will select the file or directory. Directories
+will themselves be listed, and files will be opened using the protocol given
+in the original read request.
+
+
+==============================================================================
+8. Debugging *netrw-debug*
The <netrw.vim> script is typically available as:
@@ -494,31 +549,40 @@ which is loaded automatically at startup (assuming :set nocp).
drchipNOSPAM at campbellfamily.biz - NOSPAM
==============================================================================
-8. New Stuff *netrw-new* *netrw-newstuff*
-
- v43: * moved "Explanation" comments to <pi_netrw.txt> help file
- as "Network Reference" (|netrw-ref|)
- * <netrw.vim> now uses Dfunc() Decho() and Dret() for debugging
- * removed superfluous NetRestorePosn() calls
- v42: * now does BufReadPre and BufReadPost events on file:///*
- and file://localhost/*
- v41: * installed file:///* and file://localhost/* handling
- v40: * prevents redraw when a protocol error occurs so that the
- user may see it
- v39: * sftp support
- v38: * Now uses NetRestorePosn() calls with Nread/Nwrite commands
- * Temporary files now removed via bwipe! instead of bwipe
- (thanks to Dave Roberts)
- v37: * Claar's modifications which test if ftp is successful, otherwise
- give an error message
- * After a read, the alternate file was pointing to the temp file.
- The temp file buffer is now wiped out.
- * removed silent from transfer methods so user can see what's
- happening
+9. History *netrw-history*
+
+ v46: * now handles remote directory browsing
+ * g:netrw_silent (if 1) will cause all transfers to be silent'd
+ v45: * made the [user@]hostname:path form a bit more restrictive
+ to better handle errors in using protocols
+ (e.g. scp:usr@host:file was being recognized as an rcp request)
+ v44: * changed from "rsync -a" to just "rsync"
+ * somehow an editing error messed up the test to recognize
+ use of the fetch method for NetRead.
+ * more debugging statements included
+ v43: * moved "Explanation" comments to <pi_netrw.txt> help file
+ as "Network Reference" (|netrw-ref|)
+ * <netrw.vim> now uses Dfunc() Decho() and Dret() for debugging
+ * removed superfluous NetRestorePosn() calls
+ v42: * now does BufReadPre and BufReadPost events on file:///*
+ and file://localhost/*
+ v41: * installed file:///* and file://localhost/* handling
+ v40: * prevents redraw when a protocol error occurs so that the
+ user may see it
+ v39: * sftp support
+ v38: * Now uses NetRestorePosn() calls with Nread/Nwrite commands
+ * Temporary files now removed via bwipe! instead of bwipe
+ (thanks to Dave Roberts)
+ v37: * Claar's modifications which test if ftp is successful, otherwise
+ give an error message
+ * After a read, the alternate file was pointing to the temp file.
+ The temp file buffer is now wiped out.
+ * removed silent from transfer methods so user can see what's
+ happening
==============================================================================
-9. Credits *netrw-credits*
+10. Credits *netrw-credits*
Vim editor by Bram Moolenaar (Thanks, Bram!)
dav support by C Campbell
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 1c35d685a..4f8174b07 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt* For Vim version 7.0aa. Last change: 2004 May 20
+*quickfix.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -795,7 +795,7 @@ processing.
Maintaining the correct directory is more complicated if you don't use
GNU-make. AIX-make for example doesn't print any information about its working
-directory. Then you need to enhance the makefile. In the makefile of lesstiff
+directory. Then you need to enhance the makefile. In the makefile of LessTif
there is a command which echoes "Making {target} in {dir}". The special
problem here is that it doesn't print informations on leaving the directory
and that it doesn't print the absolute path.
diff --git a/runtime/doc/recover.txt b/runtime/doc/recover.txt
index 19cbe0130..6913be2e8 100644
--- a/runtime/doc/recover.txt
+++ b/runtime/doc/recover.txt
@@ -1,4 +1,4 @@
-*recover.txt* For Vim version 7.0aa. Last change: 2004 Apr 16
+*recover.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -61,7 +61,7 @@ Disadvantages:
directories (although Vim tries to avoid that by comparing the path name).
This will result in bogus ATTENTION warning messages.
- When you use your home directory, and somebody else tries to edit the same
- file, he will not see your swap file and will not get the ATTENTION waring
+ file, he will not see your swap file and will not get the ATTENTION warning
message.
On the Amiga you can also use a recoverable ram disk, but there is no 100%
guarantee that this works. Putting swap files in a normal ram disk (like RAM:
diff --git a/runtime/doc/sponsor.txt b/runtime/doc/sponsor.txt
index 34abc46d4..766c3d8c0 100644
--- a/runtime/doc/sponsor.txt
+++ b/runtime/doc/sponsor.txt
@@ -1,4 +1,4 @@
-*sponsor.txt* For Vim version 7.0aa. Last change: 2004 Apr 23
+*sponsor.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -83,9 +83,10 @@ Bank transfer Transfer to Bram's account at the Postbank: 1644503. For
show others you are a registered Vim user or sponsor.
Cash Small amounts can be send with ordinary mail. Put something
- around the money, so that it's not noticable from the outside.
- Mention your e-mail address if you want to vote for features
- and show others you are a registered Vim user or sponsor.
+ around the money, so that it's not noticeable from the
+ outside. Mention your e-mail address if you want to vote for
+ features and show others you are a registered Vim user or
+ sponsor.
This is Bram's address: Bram Moolenaar
Clematisstraat 30
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index f9e1301ac..c73d17e4b 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt* For Vim version 7.0aa. Last change: 2004 Jun 15
+*starting.txt* For Vim version 7.0aa. Last change: 2004 Jun 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1222,7 +1222,7 @@ Note that Views and Sessions are not perfect:
- They don't restore everything. For example, defined functions, autocommands
and ":syntax on" are not included. Things like register contents and
command line history are in viminfo, not in Sessions or Views.
-- Global option values are only set when the differ from the default value.
+- Global option values are only set when they differ from the default value.
When the current value is not the default value, loading a Session will not
set it back to the default value. Local options will be set back to the
default value though.
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 5bd9723ac..ac4c235d0 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 7.0aa. Last change: 2004 Jun 15
+*syntax.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -739,7 +739,7 @@ variable.
CYNLIB *cynlib.vim* *cynlib-syntax*
Cynlib files are C++ files that use the Cynlib class library to enable
-hardware modeling and simulation using C++. Typically Cynlib files have a .cc
+hardware modelling and simulation using C++. Typically Cynlib files have a .cc
or a .cpp extension, which makes it very difficult to distinguish them from a
normal C++ file. Thus, to enable Cynlib highlighting for .cc files, add this
line to your .vimrc file: >
@@ -1664,7 +1664,7 @@ file: >
let b:preprocs_as_sections = 1
-As well, the syntax file adds an extra paragraph marker for the exdented
+As well, the syntax file adds an extra paragraph marker for the extended
paragraph macro (.XP) in the ms package.
Finally, there is a |groff.vim| syntax file that can be used for enabling
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 00d94c1c0..d5d44dff1 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
+*todo.txt* For Vim version 7.0aa. Last change: 2004 Jun 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,19 +30,10 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
-This example doesn't work:
- :e `=foo . ".c" `
-Inside `` don't use " as the start of a comment.
-Also don't expand % or #.
-
-Corrections for docs from A3. Skip ones already done.
-
-
For version 7.0:
- Include many PATCHES:
- 9 Win32 GuI: The print dialog uses a font which doesn't display multi-byte
- messages. Include patch from Vipin Aravind? Update from Yasuhiro
- Matsumoto.
+ 9 Merge in ideas from tutor.txt (Gabriel Zachmann)
+ New version 2004 June 16.
8 ":winpos" doesn't work. Patch from Vipin Aravind.
8 Add GTK 2.3 file dialog support. Patch by Grahame Bowland, 2004 Mar 15,
but it doesn't use "initdir" or "dflt". (will update patch)
@@ -51,7 +42,7 @@ For version 7.0:
8 Add file locking. Lock a file when starting to edit it with flock() or
fcntl(). This patch has advisory file locking while reading/writing
the file: ~/vim/patches/kahn_file_locking .
- Do we still want this/
+ Do we still want this? Andy doesn't have time to work on it.
8 Add buffer-local autocommands? Reduces overhead for autocommands that
trigger often (inserting a character, switching mode).
:au Event <buffer> do-something
@@ -64,10 +55,79 @@ For version 7.0:
VimResized - When the Vim window has been resized (SIGWINCH)
patch from Yakov Lerner, 2003 July 24.
He'll write documentation and send updated patch.
+ InsmodEnter
+ InsmodLeave Taro Muraoka, 2004 Jun 16
- Include the kvim patch. http://freenux.org/vim/ (Mickael Marchand)
Do not add Qtopia yet, it doesn't work very well.
Mickael will update the patch before 21st.
- --- responses above
+ 8 Unix: When libcall() fails there is no clear error message. Johannes
+ Zellner has a patch for this.
+ updated patch 2004 June 16.
+ 7 Add the MzScheme interface. Patch on http://iamphet.nm.ru/scheme/
+ (Sergey Khorev)
+ Alt URL: http://cyber.miem.edu.ru/~iamphet/scheme/mzvim-0.560.tar.gz
+ 8 Add patch from Muraoka Taro (Mar 16) to support input method on Mac?
+ New patch 2004 Jun 16
+ 8 Add expression-expansion, so that the user can define his own kind of
+ completion. Patch from Taro Muraoka, 2003 Aug 26.
+ New patch 2004 Jun 16
+ 8 Text objects: Add "a'" and 'a"': a single or double quoted string.
+ (Tim Chase) Patch from Taro Muraoka (2003 Dec 16).
+ New patch 2004 Jun 16
+ 7 Add "nbsp" in 'listchars'? Patch from David Blanchet, 2003 Jul 28.
+ again 2004 Jun 16
+ 8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
+ Aric Blumer has a patch for this.
+ He will update the patch for 6.3.
+ 9 Add cursor-column highlighting. Enable it with 'cursorcolumn' option,
+ set highlighting with "CursorColumn" group. Useful for aligning text.
+ Also cursor-row highlighting. Patch from Yasuhiro Matsumoto for
+ underlining the cursor line, 2004 Mar 24. Update 2004 Jun 17
+ Alternatie: when 'number' is set highlight the number of the current
+ line.
+ 7 Completion of network shares, patch by Yasuhiro Matsumoto.
+ Update 2004 Jun 17.
+ 8 Patches from Peter "Rain Dog" Cucka:
+ - guifont selector (2002 Dec 15) will send update
+ 7 Add an option to set the width of the 'number' column. Eight
+ positions is often more than needed. Or adjust the width to the
+ length of the file?
+ Add patch that adds 'numberlen' option. (James Harvey)
+ Other patch with min and max from Emmanuel Renieris (2002 Jul 24)
+ Other patch without an option by Gilles Roy (2002 Jul 25)
+ New patch from Emmanuel Renieris, 2004 Jun 17
+ Needs more work: use one option with one or two numbers
+ 7 Be able to call a function while passing on a variable number of
+ arguments:
+ :function Foo(abc, ...)
+ : call Bar(a:abc, a:*)
+ Charles Campbell has a patch for this
+ He lost the patch himself.
+ 7 Make ":startinsert" command work directly for functions and scripts?
+ Also make it possible to append (it's difficult at end of line).
+ And add ":startreplace" (patch by Charles Campbell, 2004 Jan 9,
+ http://www.erols.com/astronaut/vim/index.html#Patch)
+ Update 2004 June 18
+ 8 Add patch from Charles Campbell to have ":0file!" remove the name of
+ the current buffer. (2003 June 17)
+ Lost the patch himself.
+ 8 Make it possible to delete marks. Charles Campbell has a patch that
+ does this with the markclear() function (2004 Jan 9). And the
+ ":delmark" command (2004 Feb 9)
+ Update 2004 June 18
+ 8 ":hardcopy":
+ - Patch to append CTRL-D to PostScript output (Mike Williams, 2004 Jun
+ 14)
+ - support printing multi-byte characters. Patch from Motonobu
+ Ichimura. New (better) patch from Mike Williams (2004 Jan 20)
+ Updated patch: http://www.eandem.co.uk/mrw/vim/special/index.html
+ 7 Add patch from Wall for this one ( ~/Mail/oldmail/wall/in.00019 ):
+ 'flipcase' variable: upper/lowercase pairs.
+ Insert comma's between pairs and allow a range, make it look like
+ 'isfname'. E.g. ":set flipcase=a-zA-Z,xX,23-33:143-153". The colon to
+ separate the from and to part is optional.
+ Resp: no time now.
+ --- responses above --
7 Make "5dd" on last-but-one-line not delete anything (Vi compatible).
Add flag in 'cpoptions' for this. When not present, "2dd" in the last
line should delete the last line. Patch from greenx 2002 Apr 11.
@@ -77,30 +137,10 @@ For version 7.0:
Martin Dalecki 2002 Jan 11.
8 Add a few more command names to the menus. Patch from Jiri Brezina
(28 feb 2002).
- 8 Patch to add 'transparency' option. Disadvantage: it's slow. (Eckehard
- Berns, 2004 May 9) http://ecki.to/vim-icns/TransBack.diff
- 8 Patches from "Rain Dog" Cucka:
- - guifont selector (2002 Dec 15)
- - scrollbar (2002 Dec 8)
- - Quartz fonts (2002 Dec 8)
7 ATTENTION dialog choices are more logical when "Delete it' appears
before "Quit". Patch by Robert Webb, 2004 May 3.
- 8 Unix: When libcall() fails there is no clear error message. Johannes
- Zellner has a patch for this.
- 8 ":hardcopy":
- - Patch to append CTRL-D to PostScript output (Mike Williams, 2004 Jun
- 14)
- - support printing multi-byte characters. Patch from Motonobu
- Ichimura. New (better) patch from Mike Williams (2004 Jan 20)
- 9 Merge in ideas from ~/vim/patches/tutor.txt (Gabriel Zachmann)
- 8 Add patch from Muraoka Taro (Mar 16) to support input method on Mac?
- Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work
for multi-byte characters.
- 7 Add patch from Wall for this one ( ~/Mail/oldmail/wall/in.00019 ):
- 'flipcase' variable: upper/lowercase pairs.
- Insert comma's between pairs and allow a range, make it look like
- 'isfname'. E.g. ":set flipcase=a-zA-Z,xX,23-33:143-153". The colon to
- separate the from and to part is optional.
- Win32: add options to print dialog. Patch from Vipin Aravind.
- Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5)
use the patch that keeps using HLF_8 if HLF_WS has not
@@ -113,19 +153,6 @@ For version 7.0:
- Add possibility to highlight specific columns (for Fortran). Or put a
line in between columns (e.g. for 'textwidth').
Patch to add 'hlcolumn' from Vit Stradal, 2004 May 20.
- 9 Add cursor-column highlighting. Enable it with 'cursorcolumn' option,
- set highlighting with "CursorColumn" group. Useful for aligning text.
- Also cursor-row highlighting. Patch from Yasuhiro Matsumoto for
- underlining the cursor line, 2004 Mar 24.
- Alternatie: when 'number' is set highlight the number of the current
- line.
- 7 Be able to call a function while passing on a variable number of
- arguments:
- :function Foo(abc, ...)
- : call Bar(a:abc, a:*)
- Charles Campbell has a patch for this
- 8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
- Aric Blumer has a patch for this.
8 Add functions:
tr(expr, from, to) translate chars (Patch from Ron Aaron, Apr 8
2004)
@@ -136,9 +163,9 @@ For version 7.0:
Presser)
He will send a new patch.
Is this really useful?
- ---
multibyteidx(string, idx) Byte index in multi-byte character.
Patch by Ilya Sher, 2004 Feb 25
+ Update June 18 (third one).
menuprop({name}, {idx}, {what})
Get menu property of menu {name} item {idx}.
menuprop("", 1, "name") returns "File".
@@ -148,9 +175,15 @@ For version 7.0:
mapname({idx}, mode) return the name of the idx'th mapping.
Patch by Ilya Sher, 2004 Mar 4.
match({pat}, {string} [,start] [,count]) get index of count'th match
- Patch by Ilya Sher, 2004 Mar 31
+ Patch by Ilya Sher, 2004 Jun 19
find() find file in 'path' (patch from Johannes
Zellner 2001 Dec 20)
+ Update 2004 Jun 16.
+ gettext() Translate a message. (Patch from Yasuhiro
+ Matsumoto) How to get the messages into the
+ .po files?
+ Update 2004 Jun 17
+ ---
realname() Get user name (first, last, full)
user_fullname() patch by Nikolai Weibull, Nov
3 2002)
@@ -175,10 +208,6 @@ For version 7.0:
(Patch from Yegappan Lakshmanan)
raisewin() raise gvim window (see HierAssist patch for
Tcl implementation ~/vim/HierAssist/ )
- gettext() Translate a message. (Patch from Yasuhiro
- Matsumoto) How to get the messages into the
- .po files?
- 7 Add "nbsp" in 'listchars'? Patch from David Blanchet, 2003 Jul 28.
7 Add patch from Benoit Cerrina to integrate Vim and Perl functions
better. Now also works for Ruby (2001 Nov 10)
7 Add 'taglistfiles' option, show file name and type when listing matching
@@ -186,37 +215,20 @@ For version 7.0:
7 Motif: use the menu font consistently. Patch from Martin Dalecki 2002
Jan 11.
- Motif: add 3D shading for the menu entries? Patch from Martin Dalecki.
- 8 Add expression-expansion, so that the user can define his own kind of
- completion. Patch from Taro Muraoka, 2003 Aug 26.
- 7 Completion of network shares, patch by Yasuhiro Matsumoto.
9 When 'autoindent' is set, hitting <CR> twice, while there is text after
the cursor, doesn't delete the autoindent in the resulting blank line.
(Rich Wales) This is Vi compatible, but it looks like a bug. Rich has
a suggestion for a patch to fix this.
e-mail to Rich bounced.
- 7 Make ":startinsert" command work directly for functions and scripts?
- Also make it possible to append (it's difficult at end of line).
- And add ":startreplace" (patch by Charles Campbell, 2004 Jan 9,
- http://www.erols.com/astronaut/vim/index.html#Patch)
- 8 Text objects: Add "a'" and 'a"': a single or double quoted string.
- (Tim Chase) Patch from Taro Muraoka (2003 Dec 16).
7 For Visual mode: Command to do a search for the string in the marked
area. Only when fewer than two lines. Use "g/" and "gb". Patch from
Yegappan Lakshmanan.
7 When 'rightleft' is set, the search pattern should be displayed right
to left as well? See patch of Dec 26. (Nadim Shaikli)
- 8 Add patch from Charles Campbell to have ":0file!" remove the name of
- the current buffer. (2003 June 17)
- 8 Make it possible to delete marks. Charles Campbell has a patch that
- does this with the markclear() function (2004 Jan 9). And the
- ":delmark" command (2004 Feb 9)
- 7 Win32: Add patch for 5-button mouse. (Michael Geddes 2001 Nov 26)
8 Lock all used memory so that it doesn't get swapped to disk (uncrypted).
Patch by Jason Holt, 2003 May 23.
7 Support a stronger encryption. Jason Holt implemented AES (May 6 2003).
7 Add ! register, for shell commands. (patch from Grenie)
- 7 Add the MzScheme interface. Patch on http://iamphet.nm.ru/scheme/
- (Sergey Khorev)
8 Make 'statusline' local, so that each window can have a different
value. But should it also be local to a buffer? (Yegappan Lakshmanan
has a patch, 2002 feb 15)
@@ -233,21 +245,10 @@ For version 7.0:
8 Include a connection to an external program through a pipe? See
patches from Felbinger for a mathematica interface.
Or use emacs server kind of thing?
- 7 Add an option to set the width of the 'number' column. Eight
- positions is often more than needed. Or adjust the width to the
- length of the file?
- Add patch that adds 'numberlen' option. (James Harvey)
- Other patch with min and max from Emmanuel Renieris (2002 Jul 24)
- Other patch without an option by Gilles Roy (2002 Jul 25)
7 Add ":justify" command. Patch from Vit Stradal 2002 Nov 25.
- findmatch() should be adjusted for Lisp. See remark at
get_lisp_indent(). Esp. \( and \) should be skipped. (Dorai Sitaram,
incomplete patch Mar 18)
- 8 Sorting of filenames for completion is wrong on systems that ignore
- case of filenames. Add 'ignorefncase' option. When set, case in
- filenames is ignored for sorting them. Patch by Mike Williams:
- ~/vim/patches/ignorefncase. Also change what matches? Or use another
- option name.
- Change ga_room into ga_maxlen, so that it doesn't need to be
incremented/decremented each time.
- new DATA TYPES: lists, dictionaries and function references.
@@ -716,8 +717,9 @@ Amiga:
Macintosh:
-9 Mac: The motion type is not stored on the clipboard. Using ":set
- clipboard=unnamed" makes "yyp" work characterwise. (Michael DeMoney)
+7 Patch to add 'transparency' option. Disadvantage: it's slow. (Eckehard
+ Berns, 2004 May 9) http://ecki.to/vim/TransBack-2004-05-09.diff
+ Needs more work. Add when someone really wants it.
7 Loading the Perl library only works on OS/X 10.2 or 10.3, never on both.
Load the Perl library dynamically see Python sources file dynload_mac
(Jack)
@@ -1745,7 +1747,7 @@ Scrolling:
bound windows.
- Add 'search' option to 'scrollopt' to allow 'scrollbind' windows to
be bound by regexp searches
-- Add "z>" and "z<": scroll sideways one screenfull. (Campbell)
+- Add "z>" and "z<": scroll sideways one screenful. (Campbell)
- Add option to set the number of lines when not to scroll, instead of the
fixed number used now (for terminals that scroll slow with a large number
of lines but not with a single line).
@@ -2971,7 +2973,7 @@ Registers:
Debug mode:
7 Add something to enable debugging when a remote message is received.
8 Add breakpoints for setting an option
-8 Add breakpoits for assigning to a variable.
+8 Add breakpoints for assigning to a variable.
7 Add a watchpoint in the debug mode: An expression that breaks execution
when evaluating to non-zero.
7 Store the history from debug mode in viminfo.
@@ -3361,6 +3363,11 @@ Various improvements:
- Support mapping for replace mode and "r" command (Vi doesn't do this)?
5 Add 'ignorefilecase' option: Ignore case when expanding file names.
":e ma<Tab>" would also find "Makefile" on Unix.
+8 Sorting of filenames for completion is wrong on systems that ignore
+ case of filenames. Add 'ignorefncase' option. When set, case in
+ filenames is ignored for sorting them. Patch by Mike Williams:
+ ~/vim/patches/ignorefncase. Also change what matches? Or use another
+ option name.
8 Should be able to compile Vim in another directory, with $(srcdir) set to
where the sources are. Add $(srcdir) in the Makefile in a lot of places.
(Netherton)
diff --git a/runtime/doc/usr_21.txt b/runtime/doc/usr_21.txt
index a277b1375..39ee4d25c 100644
--- a/runtime/doc/usr_21.txt
+++ b/runtime/doc/usr_21.txt
@@ -1,4 +1,4 @@
-*usr_21.txt* For Vim version 7.0aa. Last change: 2004 Mar 29
+*usr_21.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM USER MANUAL - by Bram Moolenaar
@@ -65,7 +65,7 @@ a look at an overview:
:w !{program} execute {program} and send text to its input
:[range]!{program} filter text through {program}
-Notice that the precense of a range before "!{program}" makes a big
+Notice that the presense of a range before "!{program}" makes a big
difference. Without it executes the program normally, with the range a number
of text lines is filtered through the program.
diff --git a/runtime/doc/usr_22.txt b/runtime/doc/usr_22.txt
index c355cb31d..b18b085a7 100644
--- a/runtime/doc/usr_22.txt
+++ b/runtime/doc/usr_22.txt
@@ -1,4 +1,4 @@
-*usr_22.txt* For Vim version 7.0aa. Last change: 2003 Mar 17
+*usr_22.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM USER MANUAL - by Bram Moolenaar
@@ -95,7 +95,7 @@ The following commands are used to display other information:
s Use the field the cursor is in to sort on. First
display the size and date with i. Then Move the
cursor to the size of any file and press s. The files
- will now be sorted on size. Press s wile the cursor
+ will now be sorted on size. Press s while the cursor
is on a date and the items will be sorted on date.
r reverse the sorting order (either size or date)
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 8753bfa07..537f15d1c 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 7.0aa. Last change: 2004 Jun 14
+*various.txt* For Vim version 7.0aa. Last change: 2004 Jun 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -571,9 +571,11 @@ g CTRL-A Only when Vim was compiled with MEM_PROFILING defined
current file. See |help-translated|.
*:helpg* *:helpgrep*
-:helpg[rep] {pattern}
+:helpg[rep] {pattern}[@xx]
Search all help text files and make a list of lines
in which {pattern} matches. Jumps to the first match.
+ The optional [@xx] specifies that only matches in the
+ "xx" language are to be found.
You can navigate through the matches with the
|quickfix| commands, e.g., |:cnext| to jump to the
next one. Or use |:cwindow| to get the list of
@@ -584,6 +586,8 @@ g CTRL-A Only when Vim was compiled with MEM_PROFILING defined
:helpgrep Uganda
< Example for case ignoring search: >
:helpgrep uganda\c
+< Example for searching in French help: >
+ :helpgrep backspace@fr
< Cannot be followed by another command, everything is
used as part of the pattern. But you can use
|:execute| when needed.
diff --git a/runtime/doc/version5.txt b/runtime/doc/version5.txt
index 4f53463cb..bc2f45ef5 100644
--- a/runtime/doc/version5.txt
+++ b/runtime/doc/version5.txt
@@ -1,4 +1,4 @@
-*version5.txt* For Vim version 7.0aa. Last change: 2004 Jan 17
+*version5.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1517,7 +1517,7 @@ Menus defined in the .vimrc were removed when GUI started.
Crash when pasting with the mouse in insert mode.
-Crash whith ":unmenu *" in .gvimrc for Athena.
+Crash with ":unmenu *" in .gvimrc for Athena.
"5>>" shifted 5 lines 5 times, instead of 1 time.
@@ -2026,7 +2026,7 @@ $vim/macros". If no initial dir specified for ":browse e", can be compiled to
either begin in the current directory, or that of the current buffer. (Negri
and Kahn)
Added the 'browsedir' option, with value "current", "last" or "buffer". Tells
-wether a browse dialog starts in last used dir, dir of current buffer, or
+whether a browse dialog starts in last used dir, dir of current buffer, or
current dir. ":browse w" is unaffected.
The default menus have been changed to use the ":browse" command.
@@ -3667,8 +3667,8 @@ and starts Vim on it. "make install" now also copies the tutor.
In the output of ":clist" the current entry is highlighted, with the 'i'
highlighting (same as used for 'incsearch').
-For the ":clist" command, you can scroll backwards with "b" (one screenfull),
-"u" (half a screenfull) and "k" (one line).
+For the ":clist" command, you can scroll backwards with "b" (one screenful),
+"u" (half a screenful) and "k" (one line).
Multi-byte support:
- X-input method for multi-byte characters. And various fixes for multi-byte
@@ -4582,7 +4582,7 @@ buffers, only beep and continue with the insert command.
Dos and Win32 console: Setting t_me didn't work to get another color. Made
this works backwards compatible.
-For turkish (LANG = "tr") uppercase 'i' is not an 'I'. Use ASCII uppercase
+For Turkish (LANG = "tr") uppercase 'i' is not an 'I'. Use ASCII uppercase
translation in vim_strup() to avoid language problems. (Komur)
Unix: Use usleep() or nanosleep() for mch_delay() when available. Hopefully
@@ -7578,7 +7578,7 @@ Fixed compiling under NeXT. (Jeroen C.M. Goudswaard)
optwin.vim gave an error when used in Vi compatible mode ('cpo' contains 'C').
-Tcl interpreter: "buffer" command didn't check for precense of an argument.
+Tcl interpreter: "buffer" command didn't check for presense of an argument.
(Dave Bodenstab)
dosinst.c: Added checks for too long file name.
diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt
index d97cf92a8..611a78287 100644
--- a/runtime/doc/version6.txt
+++ b/runtime/doc/version6.txt
@@ -1,4 +1,4 @@
-*version6.txt* For Vim version 7.0aa. Last change: 2004 Jun 07
+*version6.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1764,7 +1764,7 @@ Motif: (Martin Dalecki)
- Use XPM bitmaps for the icon when possible. Use the Solaris XpmP.h include
file when it's available.
- Change the shadow of the toolbar items to get a visual feedback of it being
- pressed on non-LessTiff.
+ pressed on non-LessTif.
- Use gadgets instead of windows for some items for speed.
Command line completion:
@@ -6645,7 +6645,7 @@ Solution: Don't map CTRL-N after CTRL-X CTRL-N. Same for CTRL-P.
Files: src/getchar.c
Patch 6.1.031
-Problem: Cygwin: Xxd could read a file in text mode intead of binary mode.
+Problem: Cygwin: Xxd could read a file in text mode instead of binary mode.
Solution: Use "rb" or "rt" when needed. (Pavol Juhas)
Files: src/xxd/xxd.c
@@ -6947,7 +6947,7 @@ Solution: Fix explorer plugin and key modifiers. (Axel Kielhorn)
Files: src/edit.c, src/feature.h, src/gui_mac.c, src/os_mac.c
Patch 6.1.077
-Problem: On a Debian systEm wht ACL linking fails. (Lubomir Host)
+Problem: On a Debian system with ACL linking fails. (Lubomir Host)
Solution: When the "acl" library is used, check if the "attr" library is
present and use it.
Files: src/auto/configure, src/configure.in, src/link.sh
@@ -7229,7 +7229,7 @@ Files: src/move.c
Patch 6.1.121 (depends on 6.1.098)
Problem: When starting Select mode from Insert mode, then using the Paste
- menu entry, the cursor is left before the laste pasted character.
+ menu entry, the cursor is left before the last pasted character.
(Mario Schweigler)
Solution: Set the cursor for Insert mode one character to the right.
Files: runtime/menu.vim
@@ -7963,7 +7963,7 @@ Patch 6.1.231
Problem: Double clicking with the mouse to select a word does not work for
multi-byte characters.
Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword'
- is used intead of 'isident'. Also fix that mixing ASCII with
+ is used instead of 'isident'. Also fix that mixing ASCII with
multi-byte word characters doesn't work, the mouse class for
punctuation and word characters was mixed up.
Files: src/normal.c
@@ -10262,7 +10262,7 @@ Files: src/ex_cmds.c
Patch 6.2.053
Problem: Prototype for bzero() doesn't match most systems.
-Solution: Use "void *" instead of "char *" and "size_t" intead of "int".
+Solution: Use "void *" instead of "char *" and "size_t" instead of "int".
Files: src/osdef1.h.in
Patch 6.2.054
@@ -10534,7 +10534,7 @@ Files: src/buffer.c
Patch 6.2.096
Problem: Win32: ":let @* = ''" put a newline on the clipboard. (Klaus
Bosau)
-Solution: Put zero bytes on the clibpoard for an empty string.
+Solution: Put zero bytes on the clipboard for an empty string.
Files: src/ops.c
Patch 6.2.097
@@ -11339,7 +11339,7 @@ Files: src/fileio.c, src/netbeans.c, src/proto/netbeans.pro,
runtime/doc/netbeans.txt, runtime/doc/tags
Patch 6.2.216 (after 6.2.206)
-Problem: Multi-byte characters stil cannot be used as hotkeys in a console
+Problem: Multi-byte characters still cannot be used as hotkeys in a console
dialog. (Mattias Erkisson)
Solution: Make get_keystroke() handle multi-byte characters.
Files: src/misc1.c
@@ -11376,7 +11376,7 @@ Files: src/ex_cmds.h
Patch 6.2.222
Problem: Using "--remote" several times on a row only opens some of the
files. (Dany St-Amant)
-Solution: Don't delete all typehead when the server receives a command from
+Solution: Don't delete all typeahead when the server receives a command from
a client, only delete typed characters.
Files: src/main.c
@@ -11874,7 +11874,7 @@ Problem: When in debug mode, receiving a message from a remote client
causes a crash. Evaluating an expression causes Vim to wait for
"cont" to be typed, without a prompt. (Hari Krishna Dara)
Solution: Disable debugging when evaluating an expression for a client.
- (Michael Geddes) Don't try reading into the typehead buffer when
+ (Michael Geddes) Don't try reading into the typeahead buffer when
it may have been filled in another way.
Files: src/ex_getln.c, src/getchar.c, src/if_xcmdsrv.c, src/main.c,
src/misc1.c, src/proto/getchar.pro, src/proto/main.pro,
@@ -12556,7 +12556,7 @@ Patch 6.2.398 (extra)
Problem: Win32 console: no extra key modifiers are supported.
Solution: Encode the modifiers into the input stream. Also fix that special
keys are converted and stop working when 'tenc' is set. Also fix
- that when 'tenc' is intialized the input and output conversion is
+ that when 'tenc' is initialized the input and output conversion is
not setup properly until 'enc' or 'tenc' is set.
Files: src/getchar.c, src/option.c, src/os_win32.c
@@ -13081,7 +13081,7 @@ Patch 6.2.476
Problem: When reloading a hidden buffer changed outside of Vim and the
current buffer is read-only, the reloaded buffer becomes
read-only. (Hari Krishna Dara)
-Solution: Save the 'readonly' flag of the realoaded buffer instead of the
+Solution: Save the 'readonly' flag of the reloaded buffer instead of the
current buffer.
Files: src/fileio.c
diff --git a/runtime/indent/vb.vim b/runtime/indent/vb.vim
index 515e4dc6b..b570b56b8 100644
--- a/runtime/indent/vb.vim
+++ b/runtime/indent/vb.vim
@@ -1,7 +1,7 @@
" Vim indent file
" Language: VisualBasic (ft=vb) / Basic (ft=basic) / SaxBasic (ft=vb)
" Author: Johannes Zellner <johannes@zellner.org>
-" Last Change: Tue, 27 Apr 2004 14:54:59 CEST
+" Last Change: Fri, 18 Jun 2004 07:22:42 CEST
if exists("b:did_indent")
finish
@@ -10,7 +10,7 @@ let b:did_indent = 1
setlocal indentexpr=VbGetIndent(v:lnum)
setlocal indentkeys&
-setlocal indentkeys+==~else,=~elseif,=~end,=~wend,=~case,=~next,=~select,~=loop,<:>
+setlocal indentkeys+==~else,=~elseif,=~end,=~wend,=~case,=~next,=~select,=~loop,<:>
" Only define the function once.
if exists("*VbGetIndent")
diff --git a/runtime/plugin/netrw.vim b/runtime/plugin/netrw.vim
index d3058c55d..fdb6d2793 100644
--- a/runtime/plugin/netrw.vim
+++ b/runtime/plugin/netrw.vim
@@ -1,7 +1,7 @@
" netrw.vim: (global plugin) Handles file transfer across a network
-" Last Change: Jun 04, 2004
+" Last Change: Jun 18, 2004
" Maintainer: Charles E. Campbell, Jr. PhD <drchipNOSPAM at campbellfamily.biz>
-" Version: 44
+" Version: 46
" License: Vim License (see vim's :help license)
"
" But be doers of the word, and not only hearers, deluding your own selves
@@ -12,7 +12,7 @@
if exists("loaded_netrw") || &cp
finish
endif
-let loaded_netrw = "v44"
+let loaded_netrw = "v46"
let s:save_cpo = &cpo
set cpo&vim
@@ -68,6 +68,20 @@ if !exists("g:netrw_fetch_cmd")
let g:netrw_fetch_cmd = ""
endif
endif
+if !exists("g:netrw_list_cmd")
+ if executable("ssh")
+ let g:netrw_list_cmd= "ssh HOSTNAME ls -Fa"
+ else
+" call Decho("ssh is not executable, can't do netlist")
+ let g:netrw_list_cmd= ""
+ endif
+endif
+if exists("g:netrw_silent") && g:netrw_silent != 0
+ let g:netrw_silentxfer= "silent "
+else
+ let g:netrw_silentxfer= ""
+endif
+
if has("win32")
\ && exists("g:netrw_use_nt_rcp")
@@ -97,7 +111,7 @@ if version >= 600
endif
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,rsync://*,sftp://* exe "doau BufReadPre ".expand("<afile>")|exe "Nread 0r ".expand("<afile>")|exe "doau BufReadPost ".expand("<afile>")
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,rsync://*,sftp://* exe "doau BufReadPre ".expand("<afile>")|exe "Nread " .expand("<afile>")|exe "doau BufReadPost ".expand("<afile>")
- au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,rsync://*,sftp://* exe "Nwrite " .expand("<afile>")|call <SID>NetRestorePosn()
+ au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,rsync://*,sftp://* exe "Nwrite " .expand("<afile>")|call <SID>NetRestorePosn()
augroup END
endif
@@ -151,9 +165,6 @@ fun! s:NetRead(...)
" save options
call s:NetOptionSave()
- " get name of a temporary file
- let tmpfile= tempname()
-
" Special Exception: if a file is named "0r", then
" "0r" will be used to read the
" following files instead of "r"
@@ -168,6 +179,10 @@ fun! s:NetRead(...)
let ichoice = 1
endif
+ " get name of a temporary file
+ let tmpfile= tempname()
+
+" call Decho("ichoice=".ichoice." readcmd<".readcmd.">")
while ichoice <= a:0
" attempt to repeat with previous host-file-etc
@@ -178,7 +193,7 @@ fun! s:NetRead(...)
else
exe "let choice= a:" . ichoice
-" call Decho("NetRead1: choice<" . choice . ">")
+" call Decho("no lastfile: choice<" . choice . ">")
" Reconstruct Choice if choice starts with '"'
if match(choice,"?") == 0
@@ -219,13 +234,13 @@ fun! s:NetRead(...)
endif
endif
endif
-" call Decho("NetRead2: choice<" . choice . ">")
+" call Decho("choice<" . choice . ">")
let ichoice= ichoice + 1
" fix up windows urls
if has("win32")
let choice = substitute(choice,'\\','/','ge')
-" call Decho("fixing up windows url to <".choice.">")
+" call Decho("fixing up windows url to <".choice."> tmpfile<".tmpfile)
exe 'lcd ' . fnamemodify(tmpfile,':h')
let tmpfile = fnamemodify(tmpfile,':t')
endif
@@ -233,12 +248,24 @@ fun! s:NetRead(...)
" Determine method of read (ftp, rcp, etc)
call s:NetMethod(choice)
+ " Check if NetList() should be handling this request
+" call Decho("checking if netlist: choice<".choice."> netrw_list_cmd<".g:netrw_list_cmd.">")
+ if choice =~ "^.*/$"
+ if strlen(g:netrw_list_cmd) > 0
+ call s:NetList(choice)
+" call Dret("NetRead")
+ else
+ echoerr "sorry, can't do a remote listing; ssh isn't executable"
+ endif
+ return
+ endif
+
" ============
" Perform Read
" ============
".........................................
- " rcp: Method #1
+ " rcp: NetRead Method #1
if b:netrw_method == 1 " read with rcp
" call Decho("read via rcp (method #1)")
" ER: noting done with g:netrw_uid yet?
@@ -260,12 +287,12 @@ fun! s:NetRead(...)
endif
endif
" call Decho("executing: !".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".uid_machine.":".escape(b:netrw_fname,' ?&')." ".tmpfile)
- exe "!".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".uid_machine.":".escape(b:netrw_fname,' ?&')." ".tmpfile
- let result = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
+ exe g:netrw_silentxfer."!".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".uid_machine.":".escape(b:netrw_fname,' ?&')." ".tmpfile
+ let result = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
let b:netrw_lastfile = choice
".........................................
- " ftp + <.netrc>: Method #2
+ " ftp + <.netrc>: NetRead Method #2
elseif b:netrw_method == 2 " read with ftp + <.netrc>
" call Decho("read via ftp+.netrc (method #2)")
let netrw_fname= b:netrw_fname
@@ -275,10 +302,10 @@ fun! s:NetRead(...)
exe "put ='get ".netrw_fname." ".tmpfile."'"
if exists("g:netrw_port") && g:netrw_port != ""
" call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port)
- exe "%!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
+ exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
else
" call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine)
- exe "%!".g:netrw_ftp_cmd." -i ".g:netrw_machine
+ exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine
endif
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
if getline(1) !~ "^$"
@@ -289,7 +316,7 @@ fun! s:NetRead(...)
let b:netrw_lastfile = choice
".........................................
- " ftp + machine,id,passwd,filename: Method #3
+ " ftp + machine,id,passwd,filename: NetRead Method #3
elseif b:netrw_method == 3 " read with ftp + machine, id, passwd, and fname
" Construct execution string (four lines) which will be passed through filter
" call Decho("read via ftp+mipf (method #3)")
@@ -321,7 +348,7 @@ fun! s:NetRead(...)
" call Decho('performing ftp -i -n')
norm 1Gdd
" call Decho("executing: %!".g:netrw_ftp_cmd." -i -n")
- exe "%!".g:netrw_ftp_cmd." -i -n"
+ exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n"
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
if getline(1) !~ "^$"
echoerr getline(1)
@@ -331,7 +358,7 @@ fun! s:NetRead(...)
let b:netrw_lastfile = choice
".........................................
- " scp: Method #4
+ " scp: NetRead Method #4
elseif b:netrw_method == 4 " read with scp
" call Decho("read via scp (method #4)")
if exists("g:netrw_port") && g:netrw_port != ""
@@ -342,10 +369,10 @@ fun! s:NetRead(...)
if g:netrw_cygwin == 1
let cygtmpfile=substitute(tmpfile,'^\(\a\):','/cygdrive/\1/','e')
" call Decho("executing: !".g:netrw_scp_cmd.useport." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".cygtmpfile)
- exe "!".g:netrw_scp_cmd.useport." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".cygtmpfile
+ exe g:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".cygtmpfile
else
" call Decho("executing: !".g:netrw_scp_cmd.useport." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".tmpfile)
- exe "!".g:netrw_scp_cmd.useport." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".tmpfile
+ exe g:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".tmpfile
endif
let result = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
let b:netrw_lastfile = choice
@@ -361,7 +388,7 @@ fun! s:NetRead(...)
if match(b:netrw_fname,"#") == -1
" simple wget
" call Decho("executing: !".g:netrw_http_cmd." ".tmpfile." http://".g:netrw_machine.escape(b:netrw_fname,' ?&'))
- exe "!".g:netrw_http_cmd." ".tmpfile." http://".g:netrw_machine.escape(b:netrw_fname,' ?&')
+ exe g:netrw_silentxfer."!".g:netrw_http_cmd." ".tmpfile." http://".g:netrw_machine.escape(b:netrw_fname,' ?&')
let result = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
else
@@ -371,7 +398,7 @@ fun! s:NetRead(...)
" call Decho("netrw_html<".netrw_html.">")
" call Decho("netrw_tag <".netrw_tag.">")
" call Decho("executing: !".g:netrw_http_cmd." ".tmpfile." http://".g:netrw_machine.netrw_html)
- exe "!".g:netrw_http_cmd." ".tmpfile." http://".g:netrw_machine.netrw_html
+ exe g:netrw_silentxfer."!".g:netrw_http_cmd." ".tmpfile." http://".g:netrw_machine.netrw_html
let result = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
" call Decho('<\s*a\s*name=\s*"'.netrw_tag.'"/')
exe 'norm! 1G/<\s*a\s*name=\s*"'.netrw_tag.'"/'."\<CR>"
@@ -379,7 +406,7 @@ fun! s:NetRead(...)
let b:netrw_lastfile = choice
".........................................
- " cadaver: Method #6
+ " cadaver: NetRead Method #6
elseif b:netrw_method == 6 " read with cadaver
" call Decho("read via cadaver (method #6)")
@@ -404,28 +431,28 @@ fun! s:NetRead(...)
" perform cadaver operation:
norm 1Gdd
" call Decho("executing: %!".g:netrw_dav_cmd)
- exe "%!".g:netrw_dav_cmd
+ exe g:netrw_silentxfer."%!".g:netrw_dav_cmd
bd!
let result = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
let b:netrw_lastfile = choice
".........................................
- " rsync: Method #7
+ " rsync: NetRead Method #7
elseif b:netrw_method == 7 " read with rsync
" call Decho("read via rsync (method #7)")
if g:netrw_cygwin == 1
let cygtmpfile=substitute(tmpfile,'^\(\a\):','/cygdrive/\1/','e')
" call Decho("executing: !".g:netrw_rsync_cmd." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".cygtmpfile)
- exe "!".g:netrw_rsync_cmd." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".cygtmpfile
+ exe g:netrw_silentxfer."!".g:netrw_rsync_cmd." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".cygtmpfile
else
" call Decho("executing: !".g:netrw_rsync_cmd." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".tmpfile)
- exe "!".g:netrw_rsync_cmd." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".tmpfile
+ exe g:netrw_silentxfer."!".g:netrw_rsync_cmd." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".tmpfile
endif
let result = s:NetGetFile(readcmd,tmpfile, b:netrw_method)
let b:netrw_lastfile = choice
".........................................
- " fetch: Method #8
+ " fetch: NetRead Method #8
" fetch://[user@]host[:http]/path
elseif b:netrw_method == 8 " read with fetch
if g:netrw_fetch_cmd == ""
@@ -441,17 +468,17 @@ fun! s:NetRead(...)
if exists("g:netrw_uid") && g:netrw_uid != "" && exists("g:netrw_passwd") && g:netrw_passwd != ""
" call Decho("executing: !".g:netrw_fetch_cmd." ".tmpfile." ".netrw_option."://".g:netrw_uid.':'.g:netrw_passwd.'@'.g:netrw_machine."/".escape(b:netrw_fname,' ?&'))
- exe "!".g:netrw_fetch_cmd." ".tmpfile." ".netrw_option."://".g:netrw_uid.':'.g:netrw_passwd.'@'.g:netrw_machine."/".escape(b:netrw_fname,' ?&')
+ exe g:netrw_silentxfer."!".g:netrw_fetch_cmd." ".tmpfile." ".netrw_option."://".g:netrw_uid.':'.g:netrw_passwd.'@'.g:netrw_machine."/".escape(b:netrw_fname,' ?&')
else
" call Decho("executing: !".g:netrw_fetch_cmd." ".tmpfile." ".netrw_option."://".g:netrw_machine."/".escape(b:netrw_fname,' ?&'))
- exe "!".g:netrw_fetch_cmd." ".tmpfile." ".netrw_option."://".g:netrw_machine."/".escape(b:netrw_fname,' ?&')
+ exe g:netrw_silentxfer."!".g:netrw_fetch_cmd." ".tmpfile." ".netrw_option."://".g:netrw_machine."/".escape(b:netrw_fname,' ?&')
endif
let result = s:NetGetFile(readcmd,tmpfile, b:netrw_method)
let b:netrw_lastfile = choice
".........................................
- " sftp: Method #9
+ " sftp: NetRead Method #9
elseif b:netrw_method == 9 " read with sftp
" call Decho("read via sftp (method #4)")
if g:netrw_cygwin == 1
@@ -461,7 +488,7 @@ fun! s:NetRead(...)
exe "!".g:netrw_sftp_cmd." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".cygtmpfile
else
" call Decho("executing: !".g:netrw_sftp_cmd." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".tmpfile)
- exe "!".g:netrw_sftp_cmd." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".tmpfile
+ exe g:netrw_silentxfer."!".g:netrw_sftp_cmd." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')." ".tmpfile
endif
let result = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
let b:netrw_lastfile = choice
@@ -488,7 +515,7 @@ endfun
" ------------------------------------------------------------------------
" NetGetFile: Function to read file "fname" with command "readcmd". {{{1
fun! s:NetGetFile(readcmd, fname, method)
-" call Dfunc("NetGetFile(readcmd<".a:readcmd.">,fname<".a:fname."> method<".a:method.">)")
+"" call Dfunc("NetGetFile(readcmd<".a:readcmd.">,fname<".a:fname."> method<".a:method.">)")
if exists("*NetReadFixup")
" for the use of NetReadFixup (not otherwise used internally)
@@ -499,14 +526,14 @@ fun! s:NetGetFile(readcmd, fname, method)
if &term == "win32"
if &shell == "bash"
let fname=a:fname
-" call Decho("(win32 && bash) fname<".fname.">")
+"" call Decho("(win32 && bash) fname<".fname.">")
else
let fname=substitute(a:fname,'/','\\\\','ge')
-" call Decho("(win32 && !bash) fname<".fname.">")
+"" call Decho("(win32 && !bash) fname<".fname.">")
endif
else
let fname= a:fname
-" call Decho("(copied) fname<".fname.">")
+"" call Decho("(copied) fname<".fname.">")
endif
" get the file, but disable undo when reading a new buffer
@@ -576,21 +603,21 @@ fun! s:NetGetFile(readcmd, fname, method)
else
let line2= line("$") - line2
endif
-" call Decho("calling NetReadFixup(method<".a:method."> line1=".line1." line2=".line2.")")
+"" call Decho("calling NetReadFixup(method<".a:method."> line1=".line1." line2=".line2.")")
call NetReadFixup(a:method, line1, line2)
endif
-" call Decho("readcmd<".a:readcmd."> cmdarg<".v:cmdarg."> fname<".a:fname."> readable=".filereadable(a:fname))
+"" call Decho("readcmd<".a:readcmd."> cmdarg<".v:cmdarg."> fname<".a:fname."> readable=".filereadable(a:fname))
" insure that we have the right filetype and that its being displayed
filetype detect
redraw!
-" call Dret("NetGetFile")
+"" call Dret("NetGetFile")
endfun
" ------------------------------------------------------------------------
" NetWrite: responsible for writing a file over the net {{{1
fun! s:NetWrite(...) range
-" call Dfunc("NetWrite(a:0=".a:0.")")
+"" call Dfunc("NetWrite(a:0=".a:0.")")
" option handling
let mod= 0
@@ -612,7 +639,7 @@ fun! s:NetWrite(...) range
" attempt to repeat with previous host-file-etc
if exists("b:netrw_lastfile") && a:0 == 0
-" call Decho("using b:netrw_lastfile<" . b:netrw_lastfile . ">")
+"" call Decho("using b:netrw_lastfile<" . b:netrw_lastfile . ">")
let choice = b:netrw_lastfile
let ichoice= ichoice + 1
else
@@ -647,7 +674,7 @@ fun! s:NetWrite(...) range
let ichoice = ichoice + 1
if choice > a:0
echoerr "Unbalanced string in filename '". wholechoice ."'"
-" call Dret("NetWrite")
+"" call Dret("NetWrite")
return
endif
let choice= a:{ichoice}
@@ -656,7 +683,7 @@ fun! s:NetWrite(...) range
endif
endif
endif
-" call Decho("choice<" . choice . ">")
+"" call Decho("choice<" . choice . ">")
let ichoice= ichoice + 1
" fix up windows urls
@@ -675,9 +702,9 @@ fun! s:NetWrite(...) range
" =============
".........................................
- " rcp: Method #1
+ " rcp: NetWrite Method #1
if b:netrw_method == 1 " write with rcp
-" Decho "write via rcp (method #1)"
+"" Decho "write via rcp (method #1)"
if s:netrw_has_nt_rcp == 1
if exists("g:netrw_uid") && ( g:netrw_uid != "" )
let uid_machine = g:netrw_machine .'.'. g:netrw_uid
@@ -691,26 +718,26 @@ fun! s:NetWrite(...) range
let uid_machine = g:netrw_machine
endif
endif
-" call Decho("executing: !".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".tmpfile." ".uid_machine.":".escape(b:netrw_fname,' ?&'))
- exe "!".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".tmpfile." ".uid_machine.":".escape(b:netrw_fname,' ?&')
+"" call Decho("executing: !".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".tmpfile." ".uid_machine.":".escape(b:netrw_fname,' ?&'))
+ exe g:netrw_silentxfer."!".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".tmpfile." ".uid_machine.":".escape(b:netrw_fname,' ?&')
let b:netrw_lastfile = choice
".........................................
- " ftp + <.netrc>: Method #2
+ " ftp + <.netrc>: NetWrite Method #2
elseif b:netrw_method == 2 " write with ftp + <.netrc>
let netrw_fname = b:netrw_fname
new
set ff=unix
exe "put ='".g:netrw_ftpmode."'"
-" call Decho(" NetWrite: put ='".g:netrw_ftpmode."'")
+"" call Decho(" NetWrite: put ='".g:netrw_ftpmode."'")
exe "put ='put ".tmpfile." ".netrw_fname."'"
-" call Decho("put ='put ".tmpfile." ".netrw_fname."'")
+"" call Decho("put ='put ".tmpfile." ".netrw_fname."'")
if exists("g:netrw_port") && g:netrw_port != ""
-" call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port)
- exe "%!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
+"" call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port)
+ exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
else
-" call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine)
- exe "%!".g:netrw_ftp_cmd." -i ".g:netrw_machine
+"" call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine)
+ exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine
endif
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
if getline(1) !~ "^$"
@@ -721,7 +748,7 @@ fun! s:NetWrite(...) range
let b:netrw_lastfile = choice
".........................................
- " ftp + machine, id, passwd, filename: Method #3
+ " ftp + machine, id, passwd, filename: NetWrite Method #3
elseif b:netrw_method == 3 " write with ftp + machine, id, passwd, and fname
let netrw_fname= b:netrw_fname
new
@@ -745,10 +772,10 @@ fun! s:NetWrite(...) range
" -i : turns off interactive prompting from ftp
" -n unix : DON'T use <.netrc>, even though it exists
" -n win32: quit being obnoxious about password
-" call Decho('performing ftp -i -n')
+"" call Decho('performing ftp -i -n')
norm 1Gdd
-" call Decho("executing: %!".g:netrw_ftp_cmd." -i -n")
- exe "%!".g:netrw_ftp_cmd." -i -n"
+"" call Decho("executing: %!".g:netrw_ftp_cmd." -i -n")
+ exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n"
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
if getline(1) !~ "^$"
echoerr getline(1)
@@ -757,7 +784,7 @@ fun! s:NetWrite(...) range
bd!
".........................................
- " scp: Method #4
+ " scp: NetWrite Method #4
elseif b:netrw_method == 4 " write with scp
if exists("g:netrw_port") && g:netrw_port != ""
let useport= " -P ".g:netrw_port
@@ -766,23 +793,23 @@ fun! s:NetWrite(...) range
endif
if g:netrw_cygwin == 1
let cygtmpfile=substitute(tmpfile,'^\(\a\):','/cygdrive/\1/','e')
-" call Decho("executing: !".g:netrw_scp_cmd.useport." ".cygtmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&'))
- exe "!".g:netrw_scp_cmd.useport." ".cygtmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')
+"" call Decho("executing: !".g:netrw_scp_cmd.useport." ".cygtmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&'))
+ exe g:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".cygtmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')
else
-" call Decho("executing: !".g:netrw_scp_cmd.useport." ".tmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&'))
- exe "!".g:netrw_scp_cmd.useport." ".tmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')
+"" call Decho("executing: !".g:netrw_scp_cmd.useport." ".tmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&'))
+ exe g:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".tmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')
endif
let b:netrw_lastfile = choice
".........................................
- " http: Method #5
+ " http: NetWrite Method #5
elseif b:netrw_method == 5
echoerr "***warning*** currently <netrw.vim> does not support writing using http:"
".........................................
- " dav: Method #6
+ " dav: NetWrite Method #6
elseif b:netrw_method == 6 " write with cadaver
-" call Decho("write via cadaver (method #6)")
+"" call Decho("write via cadaver (method #6)")
" Construct execution string (four lines) which will be passed through filter
let netrw_fname= b:netrw_fname
@@ -804,26 +831,26 @@ fun! s:NetWrite(...) range
" perform cadaver operation:
norm 1Gdd
-" call Decho("executing: %!".g:netrw_dav_cmd)
- exe "%!".g:netrw_dav_cmd
+"" call Decho("executing: %!".g:netrw_dav_cmd)
+ exe g:netrw_silentxfer."%!".g:netrw_dav_cmd
bd!
let b:netrw_lastfile = choice
".........................................
- " rsync: Method #7
+ " rsync: NetWrite Method #7
elseif b:netrw_method == 7 " write with rsync
if g:netrw_cygwin == 1
let cygtmpfile=substitute(tmpfile,'^\(\a\):','/cygdrive/\1/','e')
-" call Decho("executing: !".g:netrw_rsync_cmd." ".cygtmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&'))
- exe "!".g:netrw_rsync_cmd." ".cygtmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')
+"" call Decho("executing: !".g:netrw_rsync_cmd." ".cygtmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&'))
+ exe g:netrw_silentxfer."!".g:netrw_rsync_cmd." ".cygtmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')
else
-" call Decho("executing: !".g:netrw_rsync_cmd." ".tmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&'))
- exe "!".g:netrw_rsync_cmd." ".tmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')
+"" call Decho("executing: !".g:netrw_rsync_cmd." ".tmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&'))
+ exe g:netrw_silentxfer."!".g:netrw_rsync_cmd." ".tmpfile." ".g:netrw_machine.":".escape(b:netrw_fname,' ?&')
endif
let b:netrw_lastfile = choice
".........................................
- " scp: Method #9
+ " scp: NetWrite Method #9
elseif b:netrw_method == 9 " write with sftp
let netrw_fname= b:netrw_fname
if exists("g:netrw_uid") && ( g:netrw_uid != "" )
@@ -835,8 +862,8 @@ fun! s:NetWrite(...) range
set ff=unix
put ='put '.tmpfile.' '.netrw_fname
norm 1Gdd
-" call Decho("executing: %!".g:netrw_sftp_cmd.' '.uid_machine)
- exe "%!".g:netrw_sftp_cmd.' '.uid_machine
+"" call Decho("executing: %!".g:netrw_sftp_cmd.' '.uid_machine)
+ exe g:netrw_silentxfer."%!".g:netrw_sftp_cmd.' '.uid_machine
bd!
let b:netrw_lastfile= choice
@@ -847,7 +874,7 @@ fun! s:NetWrite(...) range
endwhile
" cleanup
-" call Decho("cleanup")
+"" call Decho("cleanup")
let result=delete(tmpfile)
call s:NetOptionRestore()
@@ -855,11 +882,146 @@ fun! s:NetWrite(...) range
let &mod= mod " usually equivalent to set nomod
endif
-" call Dret("NetWrite")
+"" call Dret("NetWrite")
endfun
" end of NetWrite
" ------------------------------------------------------------------------
+" NetList: This function uses the command in g:netrw_list_cmd to get a list {{{1
+" of the contents of a remote directory. It is assumed that the
+" g:netrw_list_cmd has a string, HOSTNAME, that needs to be substituted
+" with the requested remote hostname first.
+fun! <SID>NetList(dirname)
+"" call Dfunc("NetList(dirname<".a:dirname.">)")
+
+ " sanity maintenance
+ let dirname= a:dirname
+ if dirname !~ '/$' && (!exists("g:netrw_machine") || !exists("b:netlist_method") || !exists("b:netlist_path"))
+ let dirname= dirname."/"
+ endif
+ set ma
+
+ if dirname !~ '/$' && dirname !~ '^"'
+ " looks like a regular file, attempt transfer
+"" call Decho("attempt transfer with regular file<".dirname.">")
+"" call Decho("netlist method<".b:netlist_method."> cmd<".b:netlist_cmd."> path<".b:netlist_path.">")
+ %d
+
+ " remove any filetype indicator from end of dirname, except for the
+ " "this is a directory" indicator (/)
+ let dirname= substitute(dirname,"[*=@|]$","","e")
+"" call Decho("modified dirname<".dirname.">")
+
+ " remote-read the requested file into current buffer
+ let machine= g:netrw_machine
+ let method = b:netlist_method
+ let path = b:netlist_path
+ enew!
+ exe "file ".method."://".machine."/".path.dirname
+ exe "doau BufReadPre ".dirname
+ silent call s:NetRead(method."://".machine."/".path.dirname)
+ exe "doau BufReadPost ".dirname
+ 1d
+ set nomod noma
+
+ silent! unlet b:netlist_method
+ silent! unlet b:netlist_cmd
+ silent! unlet b:netlist_path
+"" call Dret("NetList")
+ return
+
+ elseif dirname == './'
+ " refresh the directory list
+"" call Decho("refresh directory listing")
+"" call Decho("netlist method<".b:netlist_method."> cmd<".b:netlist_cmd."> path<".b:netlist_path.">")
+ %d
+
+ elseif dirname == '../'
+ " go up one directory
+
+ if b:netlist_path !~ '/' && strlen(b:netlist_path) > 0
+ " go to top (rltv) directory
+"" call Decho("go up one directory : 1 path<".b:netlist_path.">")
+ let b:netlist_path= ""
+
+ elseif b:netlist_path !~ '^[./]\+$' && strlen(b:netlist_path) > 0
+ " remove a directory from the netlist_path
+"" call Decho("go up one directory : 2 path<".b:netlist_path.">")
+ if b:netlist_path =~ '^[^/]*/$'
+ let b:netlist_path= ""
+ else
+ let b:netlist_path= substitute(b:netlist_path,'^\(.*/\)[^/]*/$','\1','')
+ endif
+
+ else
+ " append ../
+"" call Decho("go up one directory : 3 path<".b:netlist_path.">")
+ let b:netlist_path= b:netlist_path.'../'
+ endif
+"" call Decho("netlist method<".b:netlist_method."> cmd<".b:netlist_cmd."> path<".b:netlist_path.">")
+ %d
+
+ elseif dirname !~ '^\w\+:' && dirname =~ '/$'
+ " go down one directory
+"" call Decho("go down one directory<".dirname.">")
+ let b:netlist_path=b:netlist_path.dirname
+"" call Decho("netlist method<".b:netlist_method."> cmd<".b:netlist_cmd."> path<".b:netlist_path.">")
+ %d
+
+ else
+ " normal initial directory listing
+"" call Decho("normal initial directory listing")
+
+ let listcmd = substitute(g:netrw_list_cmd,'\<HOSTNAME\>',g:netrw_machine,'')
+ let method = substitute(dirname,'^\(\w\+\):.*$','\1','')
+ let fname = b:netrw_fname
+"" call Decho("set up listcmd<".listcmd.">")
+"" call Decho("set up method <".method.">")
+"" call Decho("set up fname <".fname.">")
+
+ " set up window
+ if &mod == 1
+ wincmd s
+ endif
+ enew!
+ if v:version >= 602
+ setlocal bh=wipe
+ endif
+
+ " set up buffer-local variables
+ let b:netlist_method = method
+ let b:netlist_cmd = listcmd
+ let b:netlist_path = fname
+
+ " set up buffer-local map
+ nnoremap <buffer> <cr> :call <SID>NetList(expand("<cWORD>"))<cr>
+
+"" call Decho("netlist method<".b:netlist_method."> cmd<".b:netlist_cmd."> path<".b:netlist_path.">")
+ endif
+
+"" call Decho("executing: r! ".b:netlist_cmd." '".b:netlist_path."'")
+ put ='\" =============================='
+ put ='\" Netrw Remote Directory Listing'
+ put ='\" '.g:netrw_machine.':'.b:netlist_path
+ put ='\" =============================='
+ exe "silent r! ".b:netlist_cmd." '".b:netlist_path."'"
+ 1d
+ set ft=netrwlist
+ silent 5,$s/^\(.*\)\/$/ \1/e
+ silent 5,$call s:NetSort()
+ silent 5,$s/^ \(.*\)$/\1\//e
+ 5
+ exe 'file ['.g:netrw_machine.':'.b:netlist_path.']'
+ if v:version >= 602
+ setlocal nomod bh=wipe bt=nofile nobl noma
+ else
+ setlocal nomod
+ endif
+
+"" call Dret("NetList")
+endfun
+
+" ------------------------------------------------------------------------
" NetMethod: determine method of transfer {{{1
" method == 1: rcp
" 2: ftp + <.netrc>
@@ -871,7 +1033,7 @@ endfun
" 8: fetch
" 9: sftp
fun! s:NetMethod(choice) " globals: method machine id passwd fname
-" call Dfunc("NetMethod(a:choice<".a:choice.">)")
+"" call Dfunc("NetMethod(a:choice<".a:choice.">)")
" initialization
let b:netrw_method = 0
@@ -891,23 +1053,23 @@ fun! s:NetMethod(choice) " globals: method machine id passwd fname
" rsyncurm : rsync://host[:port]/path Use rsync
" fetchurm : fetch://[user@]host[:http]/filename Use fetch (defaults to ftp, override for http)
" sftpurm : sftp://[user@]host/filename Use scp
- let mipf = '\(\S\+\)\s\+\(\S\+\)\s\+\(\S\+\)\s\+\(\S\+\)'
- let mf = '\(\S\+\)\s\+\(\S\+\)'
- let ftpurm = 'ftp://\(\([^/@]\{-}\)@\)\=\([^/#:]\{-}\)\([#:]\d\+\)\=/\(.*\)$'
- let rcpurm = 'rcp://\(\([^/@]\{-}\)@\)\=\([^/]\{-}\)/\(.*\)$'
- let rcphf = '\(\([^@]\{-}\)@\)\=\(\I\i*\):\(\S\+\)'
- let scpurm = 'scp://\([^/]\{-}\)\([#:]\d\+\)\=/\(.*\)$'
- let httpurm = 'http://\([^/]\{-}\)\(/.*\)\=$'
- let davurm = 'dav://\([^/]\{-}\)/\(.*\)\=$'
- let rsyncurm = 'rsync://\([^/]\{-}\)/\(.*\)\=$'
- let fetchurm = 'fetch://\(\([^/@]\{-}\)@\)\=\([^/#:]\{-}\)\(:http\)\=/\(.*\)$'
- let sftpurm = 'sftp://\([^/]\{-}\)/\(.*\)\=$'
-
-" call Decho("determine method:")
+ let mipf = '^\(\S\+\)\s\+\(\S\+\)\s\+\(\S\+\)\s\+\(\S\+\)$'
+ let mf = '^\(\S\+\)\s\+\(\S\+\)$'
+ let ftpurm = '^ftp://\(\([^/@]\{-}\)@\)\=\([^/#:]\{-}\)\([#:]\d\+\)\=/\(.*\)$'
+ let rcpurm = '^rcp://\(\([^/@]\{-}\)@\)\=\([^/]\{-}\)/\(.*\)$'
+ let rcphf = '^\(\(\h\w*\)@\)\=\(\h\w*\):\([^@]\+\)$'
+ let scpurm = '^scp://\([^/]\{-}\)\([#:]\d\+\)\=/\(.*\)$'
+ let httpurm = '^http://\([^/]\{-}\)\(/.*\)\=$'
+ let davurm = '^dav://\([^/]\{-}\)/\(.*\)\=$'
+ let rsyncurm = '^rsync://\([^/]\{-}\)/\(.*\)\=$'
+ let fetchurm = '^fetch://\(\([^/@]\{-}\)@\)\=\([^/#:]\{-}\)\(:http\)\=/\(.*\)$'
+ let sftpurm = '^sftp://\([^/]\{-}\)/\(.*\)\=$'
+
+"" call Decho("determine method:")
" Determine Method
" rcp://user@hostname/...path-to-file
if match(a:choice,rcpurm) == 0
-" call Decho("rcp://...")
+"" call Decho("rcp://...")
let b:netrw_method = 1
let userid = substitute(a:choice,rcpurm,'\2',"")
let g:netrw_machine= substitute(a:choice,rcpurm,'\3',"")
@@ -918,7 +1080,7 @@ fun! s:NetMethod(choice) " globals: method machine id passwd fname
" scp://user@hostname/...path-to-file
elseif match(a:choice,scpurm) == 0
-" call Decho("scp://...")
+"" call Decho("scp://...")
let b:netrw_method = 4
let g:netrw_machine= substitute(a:choice,scpurm,'\1',"")
let b:netrw_port = substitute(a:choice,scpurm,'\2',"")
@@ -926,28 +1088,28 @@ fun! s:NetMethod(choice) " globals: method machine id passwd fname
" http://user@hostname/...path-to-file
elseif match(a:choice,httpurm) == 0
-" call Decho("http://...")
+"" call Decho("http://...")
let b:netrw_method = 5
let g:netrw_machine= substitute(a:choice,httpurm,'\1',"")
let b:netrw_fname = substitute(a:choice,httpurm,'\2',"")
" dav://hostname[:port]/..path-to-file..
elseif match(a:choice,davurm) == 0
-" call Decho("dav://...")
+"" call Decho("dav://...")
let b:netrw_method= 6
let g:netrw_machine= substitute(a:choice,davurm,'\1',"")
let b:netrw_fname = substitute(a:choice,davurm,'\2',"")
" rsync://user@hostname/...path-to-file
elseif match(a:choice,rsyncurm) == 0
-" call Decho("rsync://...")
+"" call Decho("rsync://...")
let b:netrw_method = 7
let g:netrw_machine= substitute(a:choice,rsyncurm,'\1',"")
let b:netrw_fname = substitute(a:choice,rsyncurm,'\2',"")
" ftp://[user@]hostname[[:#]port]/...path-to-file
elseif match(a:choice,ftpurm) == 0
-" call Decho("ftp://...")
+"" call Decho("ftp://...")
let userid = substitute(a:choice,ftpurm,'\2',"")
let g:netrw_machine= substitute(a:choice,ftpurm,'\3',"")
let g:netrw_port = substitute(a:choice,ftpurm,'\4',"")
@@ -975,7 +1137,7 @@ fun! s:NetMethod(choice) " globals: method machine id passwd fname
endif
elseif match(a:choice,fetchurm) == 0
-" call Decho("fetch://...")
+"" call Decho("fetch://...")
let b:netrw_method = 8
let g:netrw_userid = substitute(a:choice,fetchurm,'\2',"")
let g:netrw_machine= substitute(a:choice,fetchurm,'\3',"")
@@ -984,7 +1146,7 @@ fun! s:NetMethod(choice) " globals: method machine id passwd fname
" Issue an ftp : "machine id password [path/]filename"
elseif match(a:choice,mipf) == 0
-" call Decho("(ftp) host id pass file")
+"" call Decho("(ftp) host id pass file")
let b:netrw_method = 3
let g:netrw_machine = substitute(a:choice,mipf,'\1',"")
let g:netrw_uid = substitute(a:choice,mipf,'\2',"")
@@ -993,7 +1155,7 @@ fun! s:NetMethod(choice) " globals: method machine id passwd fname
" Issue an ftp: "hostname [path/]filename"
elseif match(a:choice,mf) == 0
-" call Decho("(ftp) host file")
+"" call Decho("(ftp) host file")
if exists("g:netrw_uid") && exists("g:netrw_passwd")
let b:netrw_method = 3
let g:netrw_machine = substitute(a:choice,mf,'\1',"")
@@ -1007,18 +1169,22 @@ fun! s:NetMethod(choice) " globals: method machine id passwd fname
" sftp://user@hostname/...path-to-file
elseif match(a:choice,sftpurm) == 0
-" call Decho("sftp://...")
+"" call Decho("sftp://...")
let b:netrw_method = 9
let g:netrw_machine= substitute(a:choice,sftpurm,'\1',"")
let b:netrw_fname = substitute(a:choice,sftpurm,'\2',"")
" Issue an rcp: hostname:filename" (this one should be last)
elseif match(a:choice,rcphf) == 0
-" call Decho("(rcp) host:file)")
+"" call Decho("(rcp) [user@]host:file) rcphf<".rcphf.">")
let b:netrw_method = 1
let userid = substitute(a:choice,rcphf,'\2',"")
let g:netrw_machine= substitute(a:choice,rcphf,'\3',"")
let b:netrw_fname = substitute(a:choice,rcphf,'\4',"")
+"" call Decho('\1<'.substitute(a:choice,rcphf,'\1',"").">")
+"" call Decho('\2<'.substitute(a:choice,rcphf,'\2',"").">")
+"" call Decho('\3<'.substitute(a:choice,rcphf,'\3',"").">")
+"" call Decho('\4<'.substitute(a:choice,rcphf,'\4',"").">")
if userid != ""
let g:netrw_uid= userid
endif
@@ -1032,18 +1198,18 @@ fun! s:NetMethod(choice) " globals: method machine id passwd fname
let b:netrw_method = -1
endif
-" call Decho("a:choice <".a:choice.">")
-" call Decho("b:netrw_method <".b:netrw_method.">")
-" call Decho("g:netrw_machine<".g:netrw_machine.">")
-" call Decho("g:netrw_port <".g:netrw_port.">")
-" if exists("g:netrw_uid") "Decho
-" call Decho("g:netrw_uid <".g:netrw_uid.">")
-" endif "Decho
-" if exists("g:netrw_passwd") "Decho
-" call Decho("g:netrw_passwd <".g:netrw_passwd.">")
-" endif "Decho
-" call Decho("b:netrw_fname <".b:netrw_fname.">")
-" call Dret("NetMethod")
+"" call Decho("a:choice <".a:choice.">")
+"" call Decho("b:netrw_method <".b:netrw_method.">")
+"" call Decho("g:netrw_machine<".g:netrw_machine.">")
+"" call Decho("g:netrw_port <".g:netrw_port.">")
+"" if exists("g:netrw_uid") "Decho
+"" call Decho("g:netrw_uid <".g:netrw_uid.">")
+"" endif "Decho
+"" if exists("g:netrw_passwd") "Decho
+"" call Decho("g:netrw_passwd <".g:netrw_passwd.">")
+"" endif "Decho
+"" call Decho("b:netrw_fname <".b:netrw_fname.">")
+"" call Dret("NetMethod")
endfun
" end of NetMethod
@@ -1056,32 +1222,32 @@ fun! NetUserPass(...)
" get/set userid
if a:0 == 0
-" call Dfunc("NetUserPass(a:0<".a:0.">)")
+"" call Dfunc("NetUserPass(a:0<".a:0.">)")
if !exists("g:netrw_uid") || g:netrw_uid == ""
" via prompt
let g:netrw_uid= input('Enter username: ')
endif
else " from command line
-" call Dfunc("NetUserPass(a:1<".a:1.">) {")
+"" call Dfunc("NetUserPass(a:1<".a:1.">) {")
let g:netrw_uid= a:1
endif
" get password
if a:0 <= 1 " via prompt
-" call Decho("a:0=".a:0." case <=1:")
+"" call Decho("a:0=".a:0." case <=1:")
let g:netrw_passwd= inputsecret("Enter Password: ")
else " from command line
-" call Decho("a:0=".a:0." case >1: a:2<".a:2.">")
+"" call Decho("a:0=".a:0." case >1: a:2<".a:2.">")
let g:netrw_passwd=a:2
endif
-" call Dret("NetUserPass")
+"" call Dret("NetUserPass")
endfun
" end NetUserPass
" ------------------------------------------------------------------------
" NetOptionSave: save options and set to "standard" form {{{1
fun!s:NetOptionSave()
-" call Dfunc("NetOptionSave()")
+"" call Dfunc("NetOptionSave()")
" Get Temporary Filename
let s:aikeep = &ai
@@ -1100,16 +1266,16 @@ fun!s:NetOptionSave()
if has("win32") && !has("win95")
let s:swfkeep= &swf
set noswf
-" call Decho("setting s:swfkeep to <".&swf.">")
+"" call Decho("setting s:swfkeep to <".&swf.">")
endif
-" call Dret("NetOptionSave")
+"" call Dret("NetOptionSave")
endfun
" ------------------------------------------------------------------------
" NetOptionRestore: restore options {{{1
fun! s:NetOptionRestore()
-" call Dfunc("NetOptionRestore()")
+"" call Dfunc("NetOptionRestore()")
let &ai = s:aikeep
let &cin = s:cinkeep
@@ -1132,27 +1298,55 @@ fun! s:NetOptionRestore()
unlet s:twkeep
unlet s:dirkeep
-" call Dret("NetOptionRestore")
+"" call Dret("NetOptionRestore")
endfun
" ------------------------------------------------------------------------
" NetReadFixup: this sort of function is typically written by the user {{{1
-" to handle extra junk that their system's ftp dumps
-" into the transfer. This function is provided as an
-" example and as a fix for a Windows 95 problem: in my
-" experience, win95's ftp always dumped four blank lines
-" at the end of the transfer.
+" to handle extra junk that their system's ftp dumps
+" into the transfer. This function is provided as an
+" example and as a fix for a Windows 95 problem: in my
+" experience, win95's ftp always dumped four blank lines
+" at the end of the transfer.
if has("win95") && g:netrw_win95ftp
fun! NetReadFixup(method, line1, line2)
-" call Dfunc("NetReadFixup(method<".a:method."> line1=".a:line1." line2=".a:line2.")")
+"" call Dfunc("NetReadFixup(method<".a:method."> line1=".a:line1." line2=".a:line2.")")
if method == 3 " ftp (no <.netrc>)
let fourblanklines= line2 - 3
silent fourblanklines.",".line2."g/^\s*/d"
endif
-" call Dret("NetReadFixup")
+"" call Dret("NetReadFixup")
endfun
endif
+" ---------------------------------------------------------------------
+" NetSort: Piet Delport's BISort2() function, modified to take a range
+fun! <SID>NetSort() range
+ let i = a:firstline + 1
+ while i <= a:lastline
+ " find insertion point via binary search
+ let i_val = getline(i)
+ let lo = a:firstline
+ let hi = i
+ while lo < hi
+ let mid = (lo + hi) / 2
+ let mid_val = getline(mid)
+ if i_val < mid_val
+ let hi = mid
+ else
+ let lo = mid + 1
+ if i_val == mid_val | break | endif
+ endif
+ endwhile
+ " do insert
+ if lo < i
+ exec i.'d_'
+ call append(lo - 1, i_val)
+ endif
+ let i = i + 1
+ endwhile
+endfun
+
" ------------------------------------------------------------------------
" Restore {{{1
let &cpo= s:save_cpo
diff --git a/runtime/syntax/netrwlist.vim b/runtime/syntax/netrwlist.vim
new file mode 100644
index 000000000..09967f514
--- /dev/null
+++ b/runtime/syntax/netrwlist.vim
@@ -0,0 +1,29 @@
+" Language : Netrw Remote-Directory Listing Syntax
+" Maintainer : Charles E. Campbell, Jr.
+" Last change: Jun 10, 2004
+" Version : 1
+
+" Syntax Clearing: {{{1
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+" Directory List Syntax Highlighting: {{{1
+syn match netrwDir "^.*/$" contains=netrwSpecial
+syn match netrwSpecial "[*=@|/]$"
+syn match netrwSlash contained "/"
+syn match netrwComment '".*$'
+
+" Highlighting Links: {{{1
+if !exists("did_drchip_dbg_syntax")
+ let did_drchip_netrwlist_syntax= 1
+ hi link netrwComment Comment
+ hi link netrwDir Directory
+ hi link netrwSpecial Function
+endif
+
+" Current Syntax: {{{1
+let b:current_syntax = "netrwlist"
+" vim: ts=8 fdm=marker
diff --git a/runtime/syntax/po.vim b/runtime/syntax/po.vim
index 6da75d630..4c1aac12e 100644
--- a/runtime/syntax/po.vim
+++ b/runtime/syntax/po.vim
@@ -19,6 +19,8 @@ syn match poFormat "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|
syn match poFormat "%%" contained
syn region poString start=+"+ skip=+\\\\\|\\"+ end=+"+
\ contains=poSpecial,poFormat
+syn region poFuzzy start=+^#,\sfuzzy+ end=+^$+
+syn match poUntranslated +^msgstr\s""\n\n+
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
@@ -37,6 +39,8 @@ if version >= 508 || !exists("did_po_syn_inits")
HiLink poSpecial Special
HiLink poFormat poSpecial
HiLink poString String
+ HiLink poFuzzy Todo
+ HiLink poUntranslated Todo
delcommand HiLink
endif
diff --git a/src/Makefile b/src/Makefile
index 46a40ad29..d59f32abe 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -432,7 +432,7 @@ CClink = $(CC)
#CONF_OPT_FEAT = --with-features=small
#CONF_OPT_FEAT = --with-features=normal
#CONF_OPT_FEAT = --with-features=big
-CONF_OPT_FEAT = --with-features=huge
+#CONF_OPT_FEAT = --with-features=huge
# COMPILED BY - For including a specific e-mail address for ":version".
#CONF_OPT_COMPBY = "--with-compiledby=John Doe <JohnDoe@yahoo.com>"
@@ -493,7 +493,7 @@ CONF_OPT_FEAT = --with-features=huge
# Often used for GCC: mixed optimizing, lot of optimizing, debugging
#CFLAGS = -g -O2 -fno-strength-reduce -Wall -Wshadow -Wmissing-prototypes
-CFLAGS = -g -O2 -fno-strength-reduce -Wall -Wmissing-prototypes
+#CFLAGS = -g -O2 -fno-strength-reduce -Wall -Wmissing-prototypes
#CFLAGS = -O6 -fno-strength-reduce -Wall -Wshadow -Wmissing-prototypes
#CFLAGS = -g -DDEBUG -Wall -Wshadow -Wmissing-prototypes
#CFLAGS = -g -O2 -DSTARTUPTIME=\"vimstartup\" -fno-strength-reduce -Wall -Wmissing-prototypes
diff --git a/src/buffer.c b/src/buffer.c
index 83b570f61..27f64bd5f 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -4579,7 +4579,7 @@ buf_spname(buf)
}
#endif
if (buf->b_fname == NULL)
- return _("[No File]");
+ return _("[No Name]");
return NULL;
}
diff --git a/src/eval.c b/src/eval.c
index 2e339e6d0..561857a37 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -599,6 +599,20 @@ eval_to_string_skip(arg, nextcmd, skip)
}
/*
+ * Skip over an expression at "*pp".
+ * Return FAIL for an error, OK otherwise.
+ */
+ int
+skip_expr(pp)
+ char_u **pp;
+{
+ var retvar;
+
+ *pp = skipwhite(*pp);
+ return eval1(pp, &retvar, FALSE);
+}
+
+/*
* Top level evaluation function, returning a string.
* Return pointer to allocated memory, or NULL for failure.
*/
@@ -3375,6 +3389,20 @@ find_buffer(avar)
buf = buflist_findname(name);
vim_free(name);
}
+ if (buf == NULL)
+ {
+ /* No full path name match, try a match with a URL or a "nofile"
+ * buffer, these don't use the full path. */
+ for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+ if (buf->b_fname != NULL
+ && (path_with_url(buf->b_fname)
+#ifdef FEAT_QUICKFIX
+ || bt_nofile(buf)
+#endif
+ )
+ && STRCMP(buf->b_fname, avar->var_val.var_string) == 0)
+ break;
+ }
}
return buf;
}
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index e6036ca34..ad612cd70 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -4573,7 +4573,7 @@ ex_help(eap)
buf_T *buf;
#ifdef FEAT_MULTI_LANG
int len;
- char_u *lang = NULL;
+ char_u *lang;
#endif
if (eap != NULL)
@@ -4613,13 +4613,7 @@ ex_help(eap)
#ifdef FEAT_MULTI_LANG
/* Check for a specified language */
- len = STRLEN(arg);
- if (len >= 3 && arg[len - 3] == '@' && ASCII_ISALPHA(arg[len - 2])
- && ASCII_ISALPHA(arg[len - 1]))
- {
- lang = arg + len - 2;
- lang[-1] = NUL; /* remove the '@' */
- }
+ lang = check_help_lang(arg);
#endif
/* When no argument given go to the index. */
@@ -4748,6 +4742,28 @@ erret:
}
+#if defined(FEAT_MULTI_LANG) || defined(PROTO)
+/*
+ * In an argument search for a language specifiers in the form "@xx".
+ * Changes the "@" to NUL if found, and returns a pointer to "xx".
+ * Returns NULL if not found.
+ */
+ char_u *
+check_help_lang(arg)
+ char_u *arg;
+{
+ int len = STRLEN(arg);
+
+ if (len >= 3 && arg[len - 3] == '@' && ASCII_ISALPHA(arg[len - 2])
+ && ASCII_ISALPHA(arg[len - 1]))
+ {
+ arg[len - 3] = NUL; /* remove the '@' */
+ return arg + len - 2;
+ }
+ return NULL;
+}
+#endif
+
/*
* Return a heuristic indicating how well the given string matches. The
* smaller the number, the better the match. This is the order of priorities,
@@ -5180,7 +5196,9 @@ ex_helptags(eap)
garray_T ga;
int i, j;
int len;
+#ifdef FEAT_MULTI_LANG
char_u lang[2];
+#endif
char_u ext[5];
char_u fname[8];
int filecount;
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index c4b9012ca..af8d3fc7c 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2319,8 +2319,8 @@ do_one_cmd(cmdlinep, sourcing,
}
}
/* no arguments allowed */
- if (!ni && !(ea.argt & EXTRA) && *ea.arg != NUL &&
- vim_strchr((char_u *)"|\"", *ea.arg) == NULL)
+ if (!ni && !(ea.argt & EXTRA) && *ea.arg != NUL
+ && vim_strchr((char_u *)"|\"", *ea.arg) == NULL)
{
errormsg = (char_u *)_(e_trailing);
goto doend;
@@ -3885,6 +3885,17 @@ expand_filename(eap, cmdlinep, errormsgp)
has_wildcards = mch_has_wildcard(eap->arg);
for (p = eap->arg; *p; )
{
+#ifdef FEAT_EVAL
+ /* Skip over `=expr`, wildcards in it are not expanded. */
+ if (p[0] == '`' && p[1] == '=')
+ {
+ p += 2;
+ (void)skip_expr(&p);
+ if (*p == '`')
+ ++p;
+ continue;
+ }
+#endif
/*
* Quick check if this cannot be the start of a special string.
* Also removes backslash before '%', '#' and '<'.
@@ -4157,6 +4168,18 @@ separate_nextcmd(eap)
if (*p == NUL) /* stop at NUL after CTRL-V */
break;
}
+
+#ifdef FEAT_EVAL
+ /* Skip over `=expr` when wildcards are expanded. */
+ else if (p[0] == '`' && p[1] == '=')
+ {
+ p += 2;
+ (void)skip_expr(&p);
+ if (*p == '`')
+ ++p;
+ }
+#endif
+
/* Check for '"': start of comment or '|': next command */
/* :@" and :*" do not start a comment!
* :redir @" doesn't either. */
diff --git a/src/fileio.c b/src/fileio.c
index e8d4e27bb..a0947aa6d 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -5290,8 +5290,11 @@ shorten_fnames(force)
}
if (p == NULL || buf->b_fname == NULL)
buf->b_fname = buf->b_ffname;
- mf_fullname(buf->b_ml.ml_mfp);
}
+
+ /* Always make the swap file name a full path, a "nofile" buffer may
+ * also have a swap file. */
+ mf_fullname(buf->b_ml.ml_mfp);
}
#ifdef FEAT_WINDOWS
status_redraw_all();
diff --git a/src/gui_mac.c b/src/gui_mac.c
index 2b74c6328..e6a843349 100644
--- a/src/gui_mac.c
+++ b/src/gui_mac.c
@@ -74,6 +74,9 @@ static OSType _ftype = 'TEXT';
# endif
#endif
+/* Vim's Scrap flavor. */
+#define VIMSCRAPFLAVOR 'VIM!'
+
/* CARBON version only tested with Project Builder under MacOS X */
#undef USE_CARBONIZED
#if (defined(__APPLE_CC__) || defined(__MRC__)) && defined(TARGET_API_MAC_CARBON)
@@ -326,7 +329,7 @@ static struct
*/
#ifdef USE_AEVENT
-OSErr HandleUnusedParms (const AppleEvent *theAEvent);
+OSErr HandleUnusedParms(const AppleEvent *theAEvent);
#endif
/*
@@ -511,7 +514,7 @@ char_u **new_fnames_from_AEDesc(AEDesc *theList, long *numFiles, OSErr *error)
if (*error)
{
#ifdef USE_SIOUX
- printf ("fname_from_AEDesc: AECountItems error: %d\n", error);
+ printf("fname_from_AEDesc: AECountItems error: %d\n", error);
#endif
return(fnames);
}
@@ -535,13 +538,13 @@ char_u **new_fnames_from_AEDesc(AEDesc *theList, long *numFiles, OSErr *error)
/* Caller is able to clean up */
/* TODO: Should be clean up or not? For safety. */
#ifdef USE_SIOUX
- printf ("aevt_odoc: AEGetNthPtr error: %d\n", newError);
+ printf("aevt_odoc: AEGetNthPtr error: %d\n", newError);
#endif
return(fnames);
}
/* Convert the FSSpec to a pathname */
- fnames[fileCount - 1] = FullPathFromFSSpec_save (fileToOpen);
+ fnames[fileCount - 1] = FullPathFromFSSpec_save(fileToOpen);
}
return (fnames);
@@ -574,7 +577,7 @@ char_u **new_fnames_from_AEDesc(AEDesc *theList, long *numFiles, OSErr *error)
* When the editor receives this event, determine whether the specified
* file is open. If it is, return the modification date/time for that file
* in the appropriate location specified in the structure. If the file is
- * not opened, put the value fnfErr (file not found) in that location.
+ * not opened, put the value fnfErr(file not found) in that location.
*
*/
@@ -591,7 +594,8 @@ struct WindowSearch /* for handling class 'KAHL', event 'SRCH', keyDirectObject
# pragma options align=reset
#endif
-pascal OSErr Handle_KAHL_SRCH_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+ pascal OSErr
+Handle_KAHL_SRCH_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
{
OSErr error = noErr;
buf_T *buf;
@@ -604,16 +608,16 @@ pascal OSErr Handle_KAHL_SRCH_AE (const AppleEvent *theAEvent, AppleEvent *theRe
if (error)
{
#ifdef USE_SIOUX
- printf ("KAHL_SRCH: AEGetParamPtr error: %d\n", error);
+ printf("KAHL_SRCH: AEGetParamPtr error: %d\n", error);
#endif
return(error);
}
- error = HandleUnusedParms (theAEvent);
+ error = HandleUnusedParms(theAEvent);
if (error)
{
#ifdef USE_SIOUX
- printf ("KAHL_SRCH: HandleUnusedParms error: %d\n", error);
+ printf("KAHL_SRCH: HandleUnusedParms error: %d\n", error);
#endif
return(error);
}
@@ -634,10 +638,10 @@ pascal OSErr Handle_KAHL_SRCH_AE (const AppleEvent *theAEvent, AppleEvent *theRe
*SearchData.theDate = buf->b_mtime;
#ifdef USE_SIOUX
- printf ("KAHL_SRCH: file \"%#s\" {%d}", SearchData.theFile.name,SearchData.theFile.parID);
+ printf("KAHL_SRCH: file \"%#s\" {%d}", SearchData.theFile.name,SearchData.theFile.parID);
if (foundFile == false)
- printf (" NOT");
- printf (" found. [date %lx, %lx]\n", *SearchData.theDate, buf->b_mtime_read);
+ printf(" NOT");
+ printf(" found. [date %lx, %lx]\n", *SearchData.theDate, buf->b_mtime_read);
#endif
return error;
@@ -684,7 +688,8 @@ struct ModificationInfo /* for replying to class 'KAHL', event 'MOD ', keyDirect
# pragma options align=reset
#endif
-pascal OSErr Handle_KAHL_MOD_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+ pascal OSErr
+Handle_KAHL_MOD_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
{
OSErr error = noErr;
AEDescList replyList;
@@ -694,11 +699,11 @@ pascal OSErr Handle_KAHL_MOD_AE (const AppleEvent *theAEvent, AppleEvent *theRep
theFile.saved = 0;
- error = HandleUnusedParms (theAEvent);
+ error = HandleUnusedParms(theAEvent);
if (error)
{
#ifdef USE_SIOUX
- printf ("KAHL_MOD: HandleUnusedParms error: %d\n", error);
+ printf("KAHL_MOD: HandleUnusedParms error: %d\n", error);
#endif
return(error);
}
@@ -712,7 +717,7 @@ pascal OSErr Handle_KAHL_MOD_AE (const AppleEvent *theAEvent, AppleEvent *theRep
if (error)
{
#ifdef USE_SIOUX
- printf ("KAHL_MOD: AECreateList error: %d\n", error);
+ printf("KAHL_MOD: AECreateList error: %d\n", error);
#endif
return(error);
}
@@ -720,12 +725,12 @@ pascal OSErr Handle_KAHL_MOD_AE (const AppleEvent *theAEvent, AppleEvent *theRep
#if 0
error = AECountItems(&replyList, &numFiles);
#ifdef USE_SIOUX
- printf ("KAHL_MOD ReplyList: %x %x\n", replyList.descriptorType, replyList.dataHandle);
- printf ("KAHL_MOD ItemInList: %d\n", numFiles);
+ printf("KAHL_MOD ReplyList: %x %x\n", replyList.descriptorType, replyList.dataHandle);
+ printf("KAHL_MOD ItemInList: %d\n", numFiles);
#endif
- /* AEPutKeyDesc (&replyList, keyAEPnject, &aDesc)
- * AEPutKeyPtr (&replyList, keyAEPosition, typeChar, (Ptr)&theType,
+ /* AEPutKeyDesc(&replyList, keyAEPnject, &aDesc)
+ * AEPutKeyPtr(&replyList, keyAEPosition, typeChar, (Ptr)&theType,
* sizeof(DescType))
*/
@@ -739,37 +744,37 @@ pascal OSErr Handle_KAHL_MOD_AE (const AppleEvent *theAEvent, AppleEvent *theRep
/* Add this file to the list */
theFile.theFile = buf->b_FSSpec;
theFile.theDate = buf->b_mtime;
-/* theFile.theDate = time (NULL) & (time_t) 0xFFFFFFF0; */
- error = AEPutPtr (&replyList, numFiles, typeChar, (Ptr) &theFile, sizeof(theFile));
+/* theFile.theDate = time(NULL) & (time_t) 0xFFFFFFF0; */
+ error = AEPutPtr(&replyList, numFiles, typeChar, (Ptr) &theFile, sizeof(theFile));
#ifdef USE_SIOUX
if (numFiles == 0)
- printf ("KAHL_MOD: ");
+ printf("KAHL_MOD: ");
else
- printf (", ");
- printf ("\"%#s\" {%d} [date %lx, %lx]", theFile.theFile.name, theFile.theFile.parID, theFile.theDate, buf->b_mtime_read);
+ printf(", ");
+ printf("\"%#s\" {%d} [date %lx, %lx]", theFile.theFile.name, theFile.theFile.parID, theFile.theDate, buf->b_mtime_read);
if (error)
- printf (" (%d)", error);
+ printf(" (%d)", error);
numFiles++;
#endif
};
#ifdef USE_SIOUX
- printf ("\n");
+ printf("\n");
#endif
#if 0
error = AECountItems(&replyList, &numFiles);
#ifdef USE_SIOUX
- printf ("KAHL_MOD ItemInList: %d\n", numFiles);
+ printf("KAHL_MOD ItemInList: %d\n", numFiles);
#endif
#endif
/* We can add data only if something to reply */
- error = AEPutParamDesc (theReply, keyDirectObject, &replyList);
+ error = AEPutParamDesc(theReply, keyDirectObject, &replyList);
#ifdef USE_SIOUX
if (error)
- printf ("KAHL_MOD: AEPutParamDesc error: %d\n", error);
+ printf("KAHL_MOD: AEPutParamDesc error: %d\n", error);
#endif
if (replyList.dataHandle)
@@ -819,7 +824,8 @@ struct CW_GetText /* for handling class 'KAHL', event 'GTTX', keyDirectObject ty
# pragma options align=reset
#endif
-pascal OSErr Handle_KAHL_GTTX_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+ pascal OSErr
+Handle_KAHL_GTTX_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
{
OSErr error = noErr;
buf_T *buf;
@@ -839,7 +845,7 @@ pascal OSErr Handle_KAHL_GTTX_AE (const AppleEvent *theAEvent, AppleEvent *theRe
if (error)
{
#ifdef USE_SIOUX
- printf ("KAHL_GTTX: AEGetParamPtr error: %d\n", error);
+ printf("KAHL_GTTX: AEGetParamPtr error: %d\n", error);
#endif
return(error);
}
@@ -854,7 +860,7 @@ pascal OSErr Handle_KAHL_GTTX_AE (const AppleEvent *theAEvent, AppleEvent *theRe
if (foundFile)
{
- BufferSize = 0; /* GetHandleSize (GetTextData.theText); */
+ BufferSize = 0; /* GetHandleSize(GetTextData.theText); */
for (lineno = 0; lineno <= buf->b_ml.ml_line_count; lineno++)
{
/* Must use the right buffer */
@@ -863,48 +869,48 @@ pascal OSErr Handle_KAHL_GTTX_AE (const AppleEvent *theAEvent, AppleEvent *theRe
lineStart = BufferSize;
BufferSize += linesize;
/* Resize handle to linesize+1 to include the linefeed */
- SetHandleSize (GetTextData.theText, BufferSize);
- if (GetHandleSize (GetTextData.theText) != BufferSize)
+ SetHandleSize(GetTextData.theText, BufferSize);
+ if (GetHandleSize(GetTextData.theText) != BufferSize)
{
#ifdef USE_SIOUX
- printf ("KAHL_GTTX: SetHandleSize increase: %d, size %d\n",
+ printf("KAHL_GTTX: SetHandleSize increase: %d, size %d\n",
linesize, BufferSize);
#endif
break; /* Simple handling for now */
}
else
{
- HLock (GetTextData.theText);
+ HLock(GetTextData.theText);
fullbuffer = (char_u *) *GetTextData.theText;
- STRCPY ((char_u *) (fullbuffer + lineStart), line);
+ STRCPY((char_u *)(fullbuffer + lineStart), line);
fullbuffer[BufferSize-1] = '\r';
- HUnlock (GetTextData.theText);
+ HUnlock(GetTextData.theText);
}
}
if (fullbuffer != NULL)
{
- HLock (GetTextData.theText);
+ HLock(GetTextData.theText);
fullbuffer[BufferSize-1] = 0;
- HUnlock (GetTextData.theText);
+ HUnlock(GetTextData.theText);
}
if (foundFile == false)
*GetTextData.theDate = fnfErr;
else
-/* *GetTextData.theDate = time (NULL) & (time_t) 0xFFFFFFF0;*/
+/* *GetTextData.theDate = time(NULL) & (time_t) 0xFFFFFFF0;*/
*GetTextData.theDate = buf->b_mtime;
}
#ifdef USE_SIOUX
- printf ("KAHL_GTTX: file \"%#s\" {%d} [date %lx, %lx]", GetTextData.theFile.name, GetTextData.theFile.parID, *GetTextData.theDate, buf->b_mtime_read);
+ printf("KAHL_GTTX: file \"%#s\" {%d} [date %lx, %lx]", GetTextData.theFile.name, GetTextData.theFile.parID, *GetTextData.theDate, buf->b_mtime_read);
if (foundFile == false)
- printf (" NOT");
- printf (" found. (BufferSize = %d)\n", BufferSize);
+ printf(" NOT");
+ printf(" found. (BufferSize = %d)\n", BufferSize);
#endif
- error = HandleUnusedParms (theAEvent);
+ error = HandleUnusedParms(theAEvent);
if (error)
{
#ifdef USE_SIOUX
- printf ("KAHL_GTTX: HandleUnusedParms error: %d\n", error);
+ printf("KAHL_GTTX: HandleUnusedParms error: %d\n", error);
#endif
return(error);
}
@@ -917,48 +923,45 @@ pascal OSErr Handle_KAHL_GTTX_AE (const AppleEvent *theAEvent, AppleEvent *theRe
*/
/* Taken from MoreAppleEvents:ProcessHelpers*/
-pascal OSErr FindProcessBySignature( const OSType targetType,
+pascal OSErr FindProcessBySignature(const OSType targetType,
const OSType targetCreator,
- ProcessSerialNumberPtr psnPtr )
+ ProcessSerialNumberPtr psnPtr)
{
OSErr anErr = noErr;
Boolean lookingForProcess = true;
ProcessInfoRec infoRec;
- infoRec.processInfoLength = sizeof( ProcessInfoRec );
+ infoRec.processInfoLength = sizeof(ProcessInfoRec);
infoRec.processName = nil;
infoRec.processAppSpec = nil;
psnPtr->lowLongOfPSN = kNoProcess;
psnPtr->highLongOfPSN = kNoProcess;
- while ( lookingForProcess )
+ while (lookingForProcess)
{
- anErr = GetNextProcess( psnPtr );
- if ( anErr != noErr )
- {
+ anErr = GetNextProcess(psnPtr);
+ if (anErr != noErr)
lookingForProcess = false;
- }
else
{
- anErr = GetProcessInformation( psnPtr, &infoRec );
- if ( ( anErr == noErr )
- && ( infoRec.processType == targetType )
- && ( infoRec.processSignature == targetCreator ) )
- {
+ anErr = GetProcessInformation(psnPtr, &infoRec);
+ if ((anErr == noErr)
+ && (infoRec.processType == targetType)
+ && (infoRec.processSignature == targetCreator))
lookingForProcess = false;
- }
}
}
return anErr;
}//end FindProcessBySignature
-void Send_KAHL_MOD_AE (buf_T *buf)
+ void
+Send_KAHL_MOD_AE(buf_T *buf)
{
- OSErr anErr = noErr;
- AEDesc targetAppDesc = { typeNull, nil };
+ OSErr anErr = noErr;
+ AEDesc targetAppDesc = { typeNull, nil };
ProcessSerialNumber psn = { kNoProcess, kNoProcess };
AppleEvent theReply = { typeNull, nil };
AESendMode sendMode;
@@ -967,48 +970,48 @@ void Send_KAHL_MOD_AE (buf_T *buf)
ModificationInfo ModData;
- anErr = FindProcessBySignature( 'APPL', 'CWIE', &psn );
+ anErr = FindProcessBySignature('APPL', 'CWIE', &psn);
#ifdef USE_SIOUX
- printf ("CodeWarrior is");
+ printf("CodeWarrior is");
if (anErr != noErr)
- printf (" NOT");
- printf (" running\n");
+ printf(" NOT");
+ printf(" running\n");
#endif
- if ( anErr == noErr )
+ if (anErr == noErr)
{
- anErr = AECreateDesc (typeProcessSerialNumber, &psn,
- sizeof( ProcessSerialNumber ), &targetAppDesc);
+ anErr = AECreateDesc(typeProcessSerialNumber, &psn,
+ sizeof(ProcessSerialNumber), &targetAppDesc);
- if ( anErr == noErr )
+ if (anErr == noErr)
{
anErr = AECreateAppleEvent( 'KAHL', 'MOD ', &targetAppDesc,
kAutoGenerateReturnID, kAnyTransactionID, &theEvent);
}
- AEDisposeDesc( &targetAppDesc );
+ AEDisposeDesc(&targetAppDesc);
/* Add the parms */
ModData.theFile = buf->b_FSSpec;
ModData.theDate = buf->b_mtime;
if (anErr == noErr)
- anErr =AEPutParamPtr (&theEvent, keyDirectObject, typeChar, &ModData, sizeof(ModData));
+ anErr = AEPutParamPtr(&theEvent, keyDirectObject, typeChar, &ModData, sizeof(ModData));
- if ( idleProcUPP == nil )
+ if (idleProcUPP == nil)
sendMode = kAENoReply;
else
sendMode = kAEWaitReply;
- if ( anErr == noErr )
- anErr = AESend( &theEvent, &theReply, sendMode, kAENormalPriority, kNoTimeOut, idleProcUPP, nil );
- if ( anErr == noErr && sendMode == kAEWaitReply )
+ if (anErr == noErr)
+ anErr = AESend(&theEvent, &theReply, sendMode, kAENormalPriority, kNoTimeOut, idleProcUPP, nil);
+ if (anErr == noErr && sendMode == kAEWaitReply)
{
#ifdef USE_SIOUX
- printf ("KAHL_MOD: Send error: %d\n", anErr);
+ printf("KAHL_MOD: Send error: %d\n", anErr);
#endif
-/* anErr = AEHGetHandlerError( &theReply );*/
+/* anErr = AEHGetHandlerError(&theReply);*/
}
- (void) AEDisposeDesc( &theReply );
+ (void) AEDisposeDesc(&theReply);
}
}
#endif /* FEAT_CW_EDITOR */
@@ -1024,7 +1027,8 @@ void Send_KAHL_MOD_AE (buf_T *buf)
* Handle the Unused parms of an AppleEvent
*/
-OSErr HandleUnusedParms (const AppleEvent *theAEvent)
+ OSErr
+HandleUnusedParms(const AppleEvent *theAEvent)
{
OSErr error;
long actualSize;
@@ -1086,7 +1090,8 @@ struct SelectionRange /* for handling kCoreClassEvent:kOpenDocuments:keyAEPositi
endRange are all negative, there is no selection range specified.
*/
-pascal OSErr HandleODocAE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+ pascal OSErr
+HandleODocAE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
{
/*
* TODO: Clean up the code with convert the AppleEvent into
@@ -1107,7 +1112,7 @@ pascal OSErr HandleODocAE (const AppleEvent *theAEvent, AppleEvent *theReply, lo
long lnum;
#ifdef USE_SIOUX
- printf ("aevt_odoc:\n");
+ printf("aevt_odoc:\n");
#endif
/* the direct object parameter is the list of aliases to files (one or more) */
@@ -1115,7 +1120,7 @@ pascal OSErr HandleODocAE (const AppleEvent *theAEvent, AppleEvent *theReply, lo
if (error)
{
#ifdef USE_SIOUX
- printf ("aevt_odoc: AEGetParamDesc error: %d\n", error);
+ printf("aevt_odoc: AEGetParamDesc error: %d\n", error);
#endif
return(error);
}
@@ -1129,13 +1134,13 @@ pascal OSErr HandleODocAE (const AppleEvent *theAEvent, AppleEvent *theReply, lo
if (error)
{
#ifdef USE_SIOUX
- printf ("aevt_odoc: AEGetParamPtr error: %d\n", error);
+ printf("aevt_odoc: AEGetParamPtr error: %d\n", error);
#endif
return(error);
}
#ifdef USE_SIOUX
- printf ("aevt_odoc: lineNum: %d, startRange %d, endRange %d, [date %lx]\n",
+ printf("aevt_odoc: lineNum: %d, startRange %d, endRange %d, [date %lx]\n",
thePosition.lineNum, thePosition.startRange, thePosition.endRange,
thePosition.theDate);
#endif
@@ -1216,11 +1221,11 @@ pascal OSErr HandleODocAE (const AppleEvent *theAEvent, AppleEvent *theReply, lo
finished:
AEDisposeDesc(&theList); /* dispose what we allocated */
- error = HandleUnusedParms (theAEvent);
+ error = HandleUnusedParms(theAEvent);
if (error)
{
#ifdef USE_SIOUX
- printf ("aevt_odoc: HandleUnusedParms error: %d\n", error);
+ printf("aevt_odoc: HandleUnusedParms error: %d\n", error);
#endif
return(error);
}
@@ -1231,15 +1236,16 @@ pascal OSErr HandleODocAE (const AppleEvent *theAEvent, AppleEvent *theReply, lo
*
*/
-pascal OSErr Handle_aevt_oapp_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+ pascal OSErr
+Handle_aevt_oapp_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
{
OSErr error = noErr;
#ifdef USE_SIOUX
- printf ("aevt_oapp:\n");
+ printf("aevt_oapp:\n");
#endif
- error = HandleUnusedParms (theAEvent);
+ error = HandleUnusedParms(theAEvent);
if (error)
{
return(error);
@@ -1252,15 +1258,16 @@ pascal OSErr Handle_aevt_oapp_AE (const AppleEvent *theAEvent, AppleEvent *theRe
*
*/
-pascal OSErr Handle_aevt_quit_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+ pascal OSErr
+Handle_aevt_quit_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
{
OSErr error = noErr;
#ifdef USE_SIOUX
- printf ("aevt_quit\n");
+ printf("aevt_quit\n");
#endif
- error = HandleUnusedParms (theAEvent);
+ error = HandleUnusedParms(theAEvent);
if (error)
{
return(error);
@@ -1276,15 +1283,16 @@ pascal OSErr Handle_aevt_quit_AE (const AppleEvent *theAEvent, AppleEvent *theRe
*
*/
-pascal OSErr Handle_aevt_pdoc_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+ pascal OSErr
+Handle_aevt_pdoc_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
{
OSErr error = noErr;
#ifdef USE_SIOUX
- printf ("aevt_pdoc:\n");
+ printf("aevt_pdoc:\n");
#endif
- error = HandleUnusedParms (theAEvent);
+ error = HandleUnusedParms(theAEvent);
if (error)
{
return(error);
@@ -1298,15 +1306,16 @@ pascal OSErr Handle_aevt_pdoc_AE (const AppleEvent *theAEvent, AppleEvent *theRe
*
* (Just get rid of all the parms)
*/
-pascal OSErr Handle_unknown_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+ pascal OSErr
+Handle_unknown_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
{
OSErr error = noErr;
#ifdef USE_SIOUX
- printf ("Unknown Event: %x\n", theAEvent->descriptorType);
+ printf("Unknown Event: %x\n", theAEvent->descriptorType);
#endif
- error = HandleUnusedParms (theAEvent);
+ error = HandleUnusedParms(theAEvent);
if (error)
{
return(error);
@@ -1324,7 +1333,8 @@ pascal OSErr Handle_unknown_AE (const AppleEvent *theAEvent, AppleEvent *theRepl
/*
* Install the various AppleEvent Handlers
*/
-OSErr InstallAEHandlers (void)
+ OSErr
+InstallAEHandlers(void)
{
OSErr error;
@@ -1438,7 +1448,7 @@ OSErr InstallAEHandlers (void)
* Returns the index inside the menu wher
*/
short /* Shoulde we return MenuItemIndex? */
-gui_mac_get_menu_item_index (pMenu)
+gui_mac_get_menu_item_index(pMenu)
vimmenu_T *pMenu;
{
short index;
@@ -1475,7 +1485,7 @@ gui_mac_get_menu_item_index (pMenu)
}
static vimmenu_T *
-gui_mac_get_vim_menu (menuID, itemIndex, pMenu)
+gui_mac_get_vim_menu(menuID, itemIndex, pMenu)
short menuID;
short itemIndex;
vimmenu_T *pMenu;
@@ -1529,7 +1539,7 @@ gui_mac_get_vim_menu (menuID, itemIndex, pMenu)
*/
pascal
void
-gui_mac_drag_thumb (ControlHandle theControl, short partCode)
+gui_mac_drag_thumb(ControlHandle theControl, short partCode)
{
scrollbar_T *sb;
int value, dragging;
@@ -1538,13 +1548,13 @@ gui_mac_drag_thumb (ControlHandle theControl, short partCode)
theControlToUse = dragged_sb;
- sb = gui_find_scrollbar((long) GetControlReference (theControlToUse));
+ sb = gui_find_scrollbar((long) GetControlReference(theControlToUse));
if (sb == NULL)
return;
/* Need to find value by diff between Old Poss New Pos */
- value = GetControl32BitValue (theControlToUse);
+ value = GetControl32BitValue(theControlToUse);
dragging = (partCode != 0);
/* When "allow_scrollbar" is FALSE still need to remember the new
@@ -1556,7 +1566,7 @@ gui_mac_drag_thumb (ControlHandle theControl, short partCode)
pascal
void
-gui_mac_scroll_action (ControlHandle theControl, short partCode)
+gui_mac_scroll_action(ControlHandle theControl, short partCode)
{
/* TODO: have live support */
scrollbar_T *sb, *sb_info;
@@ -1566,7 +1576,7 @@ gui_mac_scroll_action (ControlHandle theControl, short partCode)
int dragging = FALSE;
int dont_scroll_save = dont_scroll;
- sb = gui_find_scrollbar((long) GetControlReference (theControl));
+ sb = gui_find_scrollbar((long)GetControlReference(theControl));
if (sb == NULL)
return;
@@ -1648,7 +1658,7 @@ gui_mac_scroll_action (ControlHandle theControl, short partCode)
* TODO: Add support for potential TOOLBAR
*/
void
-gui_mac_doInContentClick (theEvent, whichWindow)
+gui_mac_doInContentClick(theEvent, whichWindow)
EventRecord *theEvent;
WindowPtr whichWindow;
{
@@ -1660,10 +1670,10 @@ gui_mac_doInContentClick (theEvent, whichWindow)
short dblClick;
thePoint = theEvent->where;
- GlobalToLocal (&thePoint);
- SelectWindow (whichWindow);
+ GlobalToLocal(&thePoint);
+ SelectWindow(whichWindow);
- thePortion = FindControl (thePoint, whichWindow, &theControl);
+ thePortion = FindControl(thePoint, whichWindow, &theControl);
if (theControl != NUL)
{
@@ -1685,7 +1695,7 @@ gui_mac_doInContentClick (theEvent, whichWindow)
#endif
/* pass 0 as the part to tell gui_mac_drag_thumb, that the mouse
* button has been released */
- gui_mac_drag_thumb (theControl, 0); /* Should it be thePortion ? (Dany) */
+ gui_mac_drag_thumb(theControl, 0); /* Should it be thePortion ? (Dany) */
dragged_sb = NULL;
}
}
@@ -1731,7 +1741,7 @@ gui_mac_doInContentClick (theEvent, whichWindow)
#endif
#endif
{
- SetRect (&dragRect, FILL_X(X_2_COL(thePoint.h)),
+ SetRect(&dragRect, FILL_X(X_2_COL(thePoint.h)),
FILL_Y(Y_2_ROW(thePoint.v)),
FILL_X(X_2_COL(thePoint.h)+1),
FILL_Y(Y_2_ROW(thePoint.v)+1));
@@ -1746,7 +1756,7 @@ gui_mac_doInContentClick (theEvent, whichWindow)
* Handle the click in the titlebar (to move the window)
*/
void
-gui_mac_doInDragClick (where, whichWindow)
+gui_mac_doInDragClick(where, whichWindow)
Point where;
WindowPtr whichWindow;
{
@@ -1755,11 +1765,11 @@ gui_mac_doInDragClick (where, whichWindow)
/* TODO: may try to prevent move outside screen? */
#ifdef USE_CARBONIZED
- movingLimitsPtr = GetRegionBounds ( GetGrayRgn(), &movingLimits );
+ movingLimitsPtr = GetRegionBounds(GetGrayRgn(), &movingLimits);
#else
movingLimitsPtr = &(*GetGrayRgn())->rgnBBox;
#endif
- DragWindow (whichWindow, where, movingLimitsPtr);
+ DragWindow(whichWindow, where, movingLimitsPtr);
}
/*
@@ -1779,7 +1789,7 @@ gui_mac_doInGrowClick(where, whichWindow)
#ifdef USE_CARBONIZED
Rect NewContentRect;
- resizeLimitsPtr = GetRegionBounds ( GetGrayRgn(), &resizeLimits );
+ resizeLimitsPtr = GetRegionBounds(GetGrayRgn(), &resizeLimits);
#else
resizeLimits = qd.screenBits.bounds;
#endif
@@ -1919,17 +1929,17 @@ gui_mac_doUpdateEvent(event)
whichWindow = (WindowPtr) event->message;
/* Save Current Port */
- GetPort (&savePort);
+ GetPort(&savePort);
/* Select the Window's Port */
#ifdef USE_CARBONIZED
- SetPortWindowPort (whichWindow);
+ SetPortWindowPort(whichWindow);
#else
- SetPort (whichWindow);
+ SetPort(whichWindow);
#endif
/* Let's update the window */
- BeginUpdate (whichWindow);
+ BeginUpdate(whichWindow);
/* Redraw the biggest rectangle covering the area
* to be updated.
*/
@@ -1945,9 +1955,9 @@ gui_mac_doUpdateEvent(event)
updateRgn = whichWindow->visRgn;
#endif
/* Use the HLock useless in Carbon? Is it harmful?*/
- HLock ((Handle) updateRgn);
+ HLock((Handle) updateRgn);
#ifdef USE_CARBONIZED
- updateRectPtr = GetRegionBounds ( updateRgn, &updateRect );
+ updateRectPtr = GetRegionBounds(updateRgn, &updateRect);
# if 0
/* Code from original Carbon Port (using GetWindowRegion.
* I believe the UpdateRgn is already in local (Dany)
@@ -1966,33 +1976,33 @@ gui_mac_doUpdateEvent(event)
gui_mch_set_bg_color(gui.back_pixel);
if (updateRectPtr->left < FILL_X(0))
{
- SetRect (&rc, 0, 0, FILL_X(0), FILL_Y(Rows));
- EraseRect (&rc);
+ SetRect(&rc, 0, 0, FILL_X(0), FILL_Y(Rows));
+ EraseRect(&rc);
}
if (updateRectPtr->top < FILL_Y(0))
{
- SetRect (&rc, 0, 0, FILL_X(Columns), FILL_Y(0));
- EraseRect (&rc);
+ SetRect(&rc, 0, 0, FILL_X(Columns), FILL_Y(0));
+ EraseRect(&rc);
}
if (updateRectPtr->right > FILL_X(Columns))
{
- SetRect (&rc, FILL_X(Columns), 0,
+ SetRect(&rc, FILL_X(Columns), 0,
FILL_X(Columns) + gui.border_offset, FILL_Y(Rows));
- EraseRect (&rc);
+ EraseRect(&rc);
}
if (updateRectPtr->bottom > FILL_Y(Rows))
{
- SetRect (&rc, 0, FILL_Y(Rows), FILL_X(Columns) + gui.border_offset,
+ SetRect(&rc, 0, FILL_Y(Rows), FILL_X(Columns) + gui.border_offset,
FILL_Y(Rows) + gui.border_offset);
- EraseRect (&rc);
+ EraseRect(&rc);
}
- HUnlock ((Handle) updateRgn);
+ HUnlock((Handle) updateRgn);
#ifdef USE_CARBONIZED
- DisposeRgn (updateRgn);
+ DisposeRgn(updateRgn);
#endif
/* Update scrollbars */
- DrawControls (whichWindow);
+ DrawControls(whichWindow);
/* Update the GrowBox */
/* Taken from FAQ 33-27 */
@@ -2004,15 +2014,15 @@ gui_mac_doUpdateEvent(event)
growRect.top = growRect.bottom - 15;
growRect.left = growRect.right - 15;
#endif
- GetClip (saveRgn);
- ClipRect (&growRect);
- DrawGrowIcon (whichWindow);
- SetClip (saveRgn);
- DisposeRgn (saveRgn);
- EndUpdate (whichWindow);
+ GetClip(saveRgn);
+ ClipRect(&growRect);
+ DrawGrowIcon(whichWindow);
+ SetClip(saveRgn);
+ DisposeRgn(saveRgn);
+ EndUpdate(whichWindow);
/* Restore original Port */
- SetPort (savePort);
+ SetPort(savePort);
}
/*
@@ -2040,8 +2050,8 @@ gui_mac_doActivateEvent(event)
#if 0 /* Removed by Dany as per above June 2001 */
a_bool = false;
- SetPreserveGlyph (a_bool);
- SetOutlinePreferred (a_bool);
+ SetPreserveGlyph(a_bool);
+ SetOutlinePreferred(a_bool);
#endif
}
}
@@ -2099,8 +2109,20 @@ gui_mac_doKeyEvent(EventRecord *theEvent)
/* Intercept CTRL-C */
if (theEvent->modifiers & controlKey)
+ {
if (key_char == Ctrl_C && ctrl_c_interrupts)
got_int = TRUE;
+ else if ((theEvent->modifiers & ~(controlKey|shiftKey)) == 0
+ && (key_char == '2' || key_char == '6'))
+ {
+ /* CTRL-^ and CTRL-@ don't work in the normal way. */
+ if (key_char == '2')
+ key_char = Ctrl_AT;
+ else
+ key_char = Ctrl_HAT;
+ theEvent->modifiers = 0;
+ }
+ }
/* Intercept CMD-. */
if (theEvent->modifiers & cmdKey)
@@ -2143,8 +2165,8 @@ gui_mac_doKeyEvent(EventRecord *theEvent)
key_char = special_keys[i].vim_code0;
else
# endif
- key_char = TO_SPECIAL( special_keys[i].vim_code0,
- special_keys[i].vim_code1 );
+ key_char = TO_SPECIAL(special_keys[i].vim_code0,
+ special_keys[i].vim_code1);
key_char = simplify_key(key_char,&modifiers);
break;
}
@@ -2162,36 +2184,38 @@ gui_mac_doKeyEvent(EventRecord *theEvent)
{
#if 1
/* Clear modifiers when only one modifier is set */
- if( (modifiers == MOD_MASK_SHIFT) ||
- (modifiers == MOD_MASK_CTRL) ||
- (modifiers == MOD_MASK_ALT))
+ if ((modifiers == MOD_MASK_SHIFT)
+ || (modifiers == MOD_MASK_CTRL)
+ || (modifiers == MOD_MASK_ALT))
modifiers = 0;
#else
- if( modifiers & MOD_MASK_CTRL)
+ if (modifiers & MOD_MASK_CTRL)
modifiers = modifiers & ~MOD_MASK_CTRL;
- if( modifiers & MOD_MASK_ALT)
+ if (modifiers & MOD_MASK_ALT)
modifiers = modifiers & ~MOD_MASK_ALT;
- if( modifiers & MOD_MASK_SHIFT)
+ if (modifiers & MOD_MASK_SHIFT)
modifiers = modifiers & ~MOD_MASK_SHIFT;
#endif
}
- if( modifiers )
+ if (modifiers)
{
- string[ len++ ] = CSI;
- string[ len++ ] = KS_MODIFIER;
- string[ len++ ] = modifiers;
+ string[len++] = CSI;
+ string[len++] = KS_MODIFIER;
+ string[len++] = modifiers;
}
- if( IS_SPECIAL( key_char ) )
+ if (IS_SPECIAL(key_char))
{
- string[ len++ ] = CSI;
- string[ len++ ] = K_SECOND( key_char );
- string[ len++ ] = K_THIRD( key_char );
+ string[len++] = CSI;
+ string[len++] = K_SECOND(key_char);
+ string[len++] = K_THIRD(key_char);
}
else
{
#ifdef FEAT_MBYTE
- if (input_conv.vc_type != CONV_NONE)
+ /* Convert characters when needed (e.g., from MacRoman to latin1).
+ * This doesn't work for the NUL byte. */
+ if (input_conv.vc_type != CONV_NONE && key_char > 0)
{
char_u from[2], *to;
int l;
@@ -2236,13 +2260,13 @@ gui_mac_doKeyEvent(EventRecord *theEvent)
* Handle MouseClick
*/
void
-gui_mac_doMouseDownEvent (theEvent)
+gui_mac_doMouseDownEvent(theEvent)
EventRecord *theEvent;
{
short thePart;
WindowPtr whichWindow;
- thePart = FindWindow (theEvent->where, &whichWindow);
+ thePart = FindWindow(theEvent->where, &whichWindow);
switch (thePart)
{
@@ -2251,19 +2275,19 @@ gui_mac_doMouseDownEvent (theEvent)
break;
case (inMenuBar):
- gui_mac_handle_menu(MenuSelect (theEvent->where));
+ gui_mac_handle_menu(MenuSelect(theEvent->where));
break;
case (inContent):
- gui_mac_doInContentClick (theEvent, whichWindow);
+ gui_mac_doInContentClick(theEvent, whichWindow);
break;
case (inDrag):
- gui_mac_doInDragClick (theEvent->where, whichWindow);
+ gui_mac_doInDragClick(theEvent->where, whichWindow);
break;
case (inGrow):
- gui_mac_doInGrowClick (theEvent->where, whichWindow);
+ gui_mac_doInGrowClick(theEvent->where, whichWindow);
break;
case (inGoAway):
@@ -2285,18 +2309,18 @@ gui_mac_doMouseDownEvent (theEvent)
* [this event is a moving in and out of a region]
*/
void
-gui_mac_doMouseMovedEvent (event)
+gui_mac_doMouseMovedEvent(event)
EventRecord *event;
{
Point thePoint;
int_u vimModifiers;
thePoint = event->where;
- GlobalToLocal (&thePoint);
+ GlobalToLocal(&thePoint);
vimModifiers = EventModifiers2VimMouseModifiers(event->modifiers);
if (!Button())
- gui_mouse_moved (thePoint.h, thePoint.v);
+ gui_mouse_moved(thePoint.h, thePoint.v);
else
#ifdef USE_CTRLCLICKMENU
if (!clickIsPopup)
@@ -2305,7 +2329,7 @@ gui_mac_doMouseMovedEvent (event)
thePoint.v, FALSE, vimModifiers);
/* Reset the region from which we move in and out */
- SetRect (&dragRect, FILL_X(X_2_COL(thePoint.h)),
+ SetRect(&dragRect, FILL_X(X_2_COL(thePoint.h)),
FILL_Y(Y_2_ROW(thePoint.v)),
FILL_X(X_2_COL(thePoint.h)+1),
FILL_Y(Y_2_ROW(thePoint.v)+1));
@@ -2319,7 +2343,7 @@ gui_mac_doMouseMovedEvent (event)
* Handle the mouse release
*/
void
-gui_mac_doMouseUpEvent (theEvent)
+gui_mac_doMouseUpEvent(theEvent)
EventRecord *theEvent;
{
Point thePoint;
@@ -2331,7 +2355,7 @@ gui_mac_doMouseUpEvent (theEvent)
dragRectEnbl = FALSE;
dragRectControl = kCreateEmpty;
thePoint = theEvent->where;
- GlobalToLocal (&thePoint);
+ GlobalToLocal(&thePoint);
vimModifiers = EventModifiers2VimMouseModifiers(theEvent->modifiers);
#ifdef USE_CTRLCLICKMENU
@@ -2341,8 +2365,7 @@ gui_mac_doMouseUpEvent (theEvent)
clickIsPopup = FALSE;
}
#endif
- gui_send_mouse_event
- (MOUSE_RELEASE, thePoint.h, thePoint.v, FALSE, vimModifiers);
+ gui_send_mouse_event(MOUSE_RELEASE, thePoint.h, thePoint.v, FALSE, vimModifiers);
}
#ifdef USE_MOUSEWHEEL
@@ -2431,7 +2454,7 @@ gui_mac_handle_contextual_menu(event)
/* Handle the menu CntxMenuID, CntxMenuItem */
/* The submenu can be handle directly by gui_mac_handle_menu */
/* But what about the current menu, is the meny changed by ContextualMenuSelect */
- gui_mac_handle_menu ((CntxMenuID << 16) + CntxMenuItem);
+ gui_mac_handle_menu((CntxMenuID << 16) + CntxMenuItem);
}
else if (CntxMenuID == kCMShowHelpSelected)
{
@@ -2464,9 +2487,9 @@ gui_mac_handle_menu(menuChoice)
{
#ifndef USE_CARBONIZED
/* Desk Accessory doesn't exist in Carbon */
- appleMenu = GetMenuHandle (menu);
- GetMenuItemText (appleMenu, item, itemName);
- (void) OpenDeskAcc (itemName);
+ appleMenu = GetMenuHandle(menu);
+ GetMenuItemText(appleMenu, item, itemName);
+ (void) OpenDeskAcc(itemName);
#endif
}
}
@@ -2477,7 +2500,7 @@ gui_mac_handle_menu(menuChoice)
if (theVimMenu)
gui_menu_cb(theVimMenu);
}
- HiliteMenu (0);
+ HiliteMenu(0);
}
/*
@@ -2485,7 +2508,7 @@ gui_mac_handle_menu(menuChoice)
*/
void
-gui_mac_handle_event (event)
+gui_mac_handle_event(event)
EventRecord *event;
{
OSErr error;
@@ -2509,7 +2532,7 @@ gui_mac_handle_event (event)
{
case (keyDown):
case (autoKey):
- gui_mac_doKeyEvent (event);
+ gui_mac_doKeyEvent(event);
break;
case (keyUp):
@@ -2525,7 +2548,7 @@ gui_mac_handle_event (event)
break;
case (updateEvt):
- gui_mac_doUpdateEvent (event);
+ gui_mac_doUpdateEvent(event);
break;
case (diskEvt):
@@ -2533,17 +2556,17 @@ gui_mac_handle_event (event)
break;
case (activateEvt):
- gui_mac_doActivateEvent (event);
+ gui_mac_doActivateEvent(event);
break;
case (osEvt):
switch ((event->message >> 24) & 0xFF)
{
case (0xFA): /* mouseMovedMessage */
- gui_mac_doMouseMovedEvent (event);
+ gui_mac_doMouseMovedEvent(event);
break;
case (0x01): /* suspendResumeMessage */
- gui_mac_doSuspendEvent (event);
+ gui_mac_doSuspendEvent(event);
break;
}
break;
@@ -2565,7 +2588,7 @@ gui_mac_handle_event (event)
GuiFont
-gui_mac_find_font (font_name)
+gui_mac_find_font(font_name)
char_u *font_name;
{
char_u c;
@@ -2590,12 +2613,12 @@ gui_mac_find_font (font_name)
pFontName[0] = STRLEN(font_name);
*p = c;
- GetFNum (pFontName, &font_id);
+ GetFNum(pFontName, &font_id);
#else
/* name = C2Pascal_save(menu->dname); */
fontNamePtr = C2Pascal_save_and_remove_backslash(font_name);
- GetFNum (fontNamePtr, &font_id);
+ GetFNum(fontNamePtr, &font_id);
#endif
@@ -2603,7 +2626,7 @@ gui_mac_find_font (font_name)
{
/* Oups, the system font was it the one the user want */
- GetFontName (0, systemFontname);
+ GetFontName(0, systemFontname);
if (!EqualString(pFontName, systemFontname, false, false))
return NOFONT;
}
@@ -2709,36 +2732,36 @@ gui_mch_prepare(argc, argv)
SIOUXSettings.showstatusline = true;
SIOUXSettings.toppixel = 300;
SIOUXSettings.leftpixel = 10;
- InstallConsole (1); /* fileno(stdout) = 1, on page 430 of MSL C */
- printf ("Debugging console enabled\n");
- /* SIOUXSetTitle ((char_u *) "Vim Stdout"); */
+ InstallConsole(1); /* fileno(stdout) = 1, on page 430 of MSL C */
+ printf("Debugging console enabled\n");
+ /* SIOUXSetTitle((char_u *) "Vim Stdout"); */
#endif
- pomme = NewMenu (256, "\p\024"); /* 0x14= = Apple Menu */
+ pomme = NewMenu(256, "\p\024"); /* 0x14= = Apple Menu */
- AppendMenu (pomme, "\pAbout VIM");
+ AppendMenu(pomme, "\pAbout VIM");
#ifndef USE_CARBONIZED
- AppendMenu (pomme, "\p-");
- AppendResMenu (pomme, 'DRVR');
+ AppendMenu(pomme, "\p-");
+ AppendResMenu(pomme, 'DRVR');
#endif
- InsertMenu (pomme, 0);
+ InsertMenu(pomme, 0);
DrawMenuBar();
#ifndef USE_OFFSETED_WINDOW
- SetRect (&windRect, 10, 48, 10+80*7 + 16, 48+24*11);
+ SetRect(&windRect, 10, 48, 10+80*7 + 16, 48+24*11);
#else
- SetRect (&windRect, 300, 40, 300+80*7 + 16, 40+24*11);
+ SetRect(&windRect, 300, 40, 300+80*7 + 16, 40+24*11);
#endif
#ifdef USE_CARBONIZED
CreateNewWindow(kDocumentWindowClass,
kWindowResizableAttribute | kWindowCollapseBoxAttribute,
- &windRect, &gui.VimWindow );
- SetPortWindowPort ( gui.VimWindow );
+ &windRect, &gui.VimWindow);
+ SetPortWindowPort(gui.VimWindow);
#else
gui.VimWindow = NewCWindow(nil, &windRect, "\pgVim on Macintosh", true, documentProc,
(WindowPtr) -1L, false, 0);
@@ -2753,11 +2776,11 @@ gui_mch_prepare(argc, argv)
gui.in_focus = TRUE; /* For the moment -> syn. of front application */
#if TARGET_API_MAC_CARBON
- gScrollAction = NewControlActionUPP (gui_mac_scroll_action);
- gScrollDrag = NewControlActionUPP (gui_mac_drag_thumb);
+ gScrollAction = NewControlActionUPP(gui_mac_scroll_action);
+ gScrollDrag = NewControlActionUPP(gui_mac_drag_thumb);
#else
- gScrollAction = NewControlActionProc (gui_mac_scroll_action);
- gScrollDrag = NewControlActionProc (gui_mac_drag_thumb);
+ gScrollAction = NewControlActionProc(gui_mac_scroll_action);
+ gScrollDrag = NewControlActionProc(gui_mac_drag_thumb);
#endif
/* Getting a handle to the Help menu */
@@ -2769,7 +2792,7 @@ gui_mch_prepare(argc, argv)
# endif
if (gui.MacOSHelpMenu != nil)
- gui.MacOSHelpItems = CountMenuItems (gui.MacOSHelpMenu);
+ gui.MacOSHelpItems = CountMenuItems(gui.MacOSHelpMenu);
else
gui.MacOSHelpItems = 0;
#endif
@@ -2781,25 +2804,25 @@ gui_mch_prepare(argc, argv)
#endif
#ifdef USE_EXE_NAME
# ifndef USE_FIND_BUNDLE_PATH
- HGetVol (volName, &applVRefNum, &applDirID);
+ HGetVol(volName, &applVRefNum, &applDirID);
/* TN2015: mention a possible bad VRefNum */
- FSMakeFSSpec (applVRefNum, applDirID, "\p", &applDir);
+ FSMakeFSSpec(applVRefNum, applDirID, "\p", &applDir);
# else
/* OSErr GetApplicationBundleFSSpec(FSSpecPtr theFSSpecPtr)
* of TN2015
* This technic remove the ../Contents/MacOS/etc part
*/
- (void) GetCurrentProcess(&psn);
+ (void)GetCurrentProcess(&psn);
/* if (err != noErr) return err; */
- (void) GetProcessBundleLocation(&psn, &applFSRef);
+ (void)GetProcessBundleLocation(&psn, &applFSRef);
/* if (err != noErr) return err; */
- (void) FSGetCatalogInfo(&applFSRef, kFSCatInfoNone, NULL, NULL, &applDir, NULL);
+ (void)FSGetCatalogInfo(&applFSRef, kFSCatInfoNone, NULL, NULL, &applDir, NULL);
/* This technic return NIL when we disallow_gui */
# endif
- exe_name = FullPathFromFSSpec_save (applDir);
+ exe_name = FullPathFromFSSpec_save(applDir);
#endif
#ifdef USE_VIM_CREATOR_ID
@@ -2925,28 +2948,28 @@ gui_mch_init()
SIOUXSettings.showstatusline = true;
SIOUXSettings.toppixel = 300;
SIOUXSettings.leftpixel = 10;
- InstallConsole (1); /* fileno(stdout) = 1, on page 430 of MSL C */
- printf ("Debugging console enabled\n");
- /* SIOUXSetTitle ((char_u *) "Vim Stdout"); */
+ InstallConsole(1); /* fileno(stdout) = 1, on page 430 of MSL C */
+ printf("Debugging console enabled\n");
+ /* SIOUXSetTitle((char_u *) "Vim Stdout"); */
#endif
- pomme = NewMenu (256, "\p\024"); /* 0x14= = Apple Menu */
+ pomme = NewMenu(256, "\p\024"); /* 0x14= = Apple Menu */
- AppendMenu (pomme, "\pAbout VIM");
+ AppendMenu(pomme, "\pAbout VIM");
#ifndef USE_CARBONIZED
- AppendMenu (pomme, "\p-");
- AppendResMenu (pomme, 'DRVR');
+ AppendMenu(pomme, "\p-");
+ AppendResMenu(pomme, 'DRVR');
#endif
- InsertMenu (pomme, 0);
+ InsertMenu(pomme, 0);
DrawMenuBar();
#ifndef USE_OFFSETED_WINDOW
- SetRect (&windRect, 10, 48, 10+80*7 + 16, 48+24*11);
+ SetRect(&windRect, 10, 48, 10+80*7 + 16, 48+24*11);
#else
- SetRect (&windRect, 300, 40, 300+80*7 + 16, 40+24*11);
+ SetRect(&windRect, 300, 40, 300+80*7 + 16, 40+24*11);
#endif
gui.VimWindow = NewCWindow(nil, &windRect, "\pgVim on Macintosh", true,
@@ -2959,7 +2982,7 @@ gui_mch_init()
InstallReceiveHandler((DragReceiveHandlerUPP)receiveHandler,
gui.VimWindow, NULL);
#ifdef USE_CARBONIZED
- SetPortWindowPort ( gui.VimWindow );
+ SetPortWindowPort(gui.VimWindow);
#else
SetPort(gui.VimWindow);
#endif
@@ -2972,11 +2995,11 @@ gui_mch_init()
gui.in_focus = TRUE; /* For the moment -> syn. of front application */
#if TARGET_API_MAC_CARBON
- gScrollAction = NewControlActionUPP (gui_mac_scroll_action);
- gScrollDrag = NewControlActionUPP (gui_mac_drag_thumb);
+ gScrollAction = NewControlActionUPP(gui_mac_scroll_action);
+ gScrollDrag = NewControlActionUPP(gui_mac_drag_thumb);
#else
- gScrollAction = NewControlActionProc (gui_mac_scroll_action);
- gScrollDrag = NewControlActionProc (gui_mac_drag_thumb);
+ gScrollAction = NewControlActionProc(gui_mac_scroll_action);
+ gScrollDrag = NewControlActionProc(gui_mac_drag_thumb);
#endif
/* Getting a handle to the Help menu */
@@ -2988,7 +3011,7 @@ gui_mch_init()
# endif
if (gui.MacOSHelpMenu != nil)
- gui.MacOSHelpItems = CountMenuItems (gui.MacOSHelpMenu);
+ gui.MacOSHelpItems = CountMenuItems(gui.MacOSHelpMenu);
else
gui.MacOSHelpItems = 0;
#endif
@@ -3123,7 +3146,7 @@ gui_mch_get_winpos(int *x, int *y)
OSStatus status;
/* Carbon >= 1.0.2, MacOS >= 8.5 */
- status = GetWindowBounds (gui.VimWindow, kWindowStructureRgn, &bounds);
+ status = GetWindowBounds(gui.VimWindow, kWindowStructureRgn, &bounds);
if (status != noErr)
return FAIL;
@@ -3164,10 +3187,10 @@ gui_mch_set_shellsize(
if (gui.which_scrollbars[SBAR_LEFT])
{
#ifdef USE_CARBONIZED
- VimPort = GetWindowPort ( gui.VimWindow );
- GetPortBounds (VimPort, &VimBound);
+ VimPort = GetWindowPort(gui.VimWindow);
+ GetPortBounds(VimPort, &VimBound);
VimBound.left = -gui.scrollbar_width; /* + 1;*/
- SetPortBounds (VimPort, &VimBound);
+ SetPortBounds(VimPort, &VimBound);
/* GetWindowBounds(gui.VimWindow, kWindowGlobalPortRgn, &winPortRect); ??*/
#else
gui.VimWindow->portRect.left = -gui.scrollbar_width; /* + 1;*/
@@ -3177,10 +3200,10 @@ gui_mch_set_shellsize(
else
{
#ifdef USE_CARBONIZED
- VimPort = GetWindowPort ( gui.VimWindow );
- GetPortBounds (VimPort, &VimBound);
+ VimPort = GetWindowPort(gui.VimWindow);
+ GetPortBounds(VimPort, &VimBound);
VimBound.left = 0;
- SetPortBounds (VimPort, &VimBound);
+ SetPortBounds(VimPort, &VimBound);
#else
gui.VimWindow->portRect.left = 0;
#endif;
@@ -3241,20 +3264,20 @@ gui_mch_init_font(font_name, fontset)
}
else
{
- font = gui_mac_find_font (font_name);
+ font = gui_mac_find_font(font_name);
if (font == NOFONT)
return FAIL;
}
gui.norm_font = font;
- TextSize (font >> 16);
- TextFont (font & 0xFFFF);
+ TextSize(font >> 16);
+ TextFont(font & 0xFFFF);
- GetFontInfo (&font_info);
+ GetFontInfo(&font_info);
gui.char_ascent = font_info.ascent;
- gui.char_width = CharWidth ('_');
+ gui.char_width = CharWidth('_');
gui.char_height = font_info.ascent + font_info.descent + p_linespace;
return OK;
@@ -3266,7 +3289,7 @@ gui_mch_adjust_charsize()
{
FontInfo font_info;
- GetFontInfo (&font_info);
+ GetFontInfo(&font_info);
gui.char_height = font_info.ascent + font_info.descent + p_linespace;
gui.char_ascent = font_info.ascent + p_linespace / 2;
return OK;
@@ -3425,10 +3448,10 @@ gui_mch_get_color(name)
}
else
{
- if (STRICMP (name, "hilite") == 0)
+ if (STRICMP(name, "hilite") == 0)
{
- LMGetHiliteRGB (&MacColor);
- return (RGB (MacColor.red >> 8, MacColor.green >> 8, MacColor.blue >> 8));
+ LMGetHiliteRGB(&MacColor);
+ return (RGB(MacColor.red >> 8, MacColor.green >> 8, MacColor.blue >> 8));
}
/* Check if the name is one of the colors we know */
for (i = 0; i < sizeof(table) / sizeof(table[0]); i++)
@@ -3504,7 +3527,7 @@ gui_mch_set_fg_color(color)
TheColor.green = Green(color) * 0x0101;
TheColor.blue = Blue(color) * 0x0101;
- RGBForeColor (&TheColor);
+ RGBForeColor(&TheColor);
}
/*
@@ -3520,7 +3543,7 @@ gui_mch_set_bg_color(color)
TheColor.green = Green(color) * 0x0101;
TheColor.blue = Blue(color) * 0x0101;
- RGBBackColor (&TheColor);
+ RGBBackColor(&TheColor);
}
void
@@ -3597,31 +3620,31 @@ gui_mch_draw_string(row, col, s, len, flags)
#endif
{
/* Use old-style, non-antialiased QuickDraw text rendering. */
- TextMode (srcCopy);
- TextFace (normal);
+ TextMode(srcCopy);
+ TextFace(normal);
/* SelectFont(hdc, gui.currFont); */
if (flags & DRAW_TRANSP)
{
- TextMode (srcOr);
+ TextMode(srcOr);
}
- MoveTo (TEXT_X(col), TEXT_Y(row));
- DrawText ((char *)s, 0, len);
+ MoveTo(TEXT_X(col), TEXT_Y(row));
+ DrawText((char *)s, 0, len);
if (flags & DRAW_BOLD)
{
- TextMode (srcOr);
- MoveTo (TEXT_X(col) + 1, TEXT_Y(row));
- DrawText ((char *)s, 0, len);
+ TextMode(srcOr);
+ MoveTo(TEXT_X(col) + 1, TEXT_Y(row));
+ DrawText((char *)s, 0, len);
}
if (flags & DRAW_UNDERL)
{
- MoveTo (FILL_X(col), FILL_Y(row + 1) - 1);
- LineTo (FILL_X(col + len) - 1, FILL_Y(row + 1) - 1);
+ MoveTo(FILL_X(col), FILL_Y(row + 1) - 1);
+ LineTo(FILL_X(col + len) - 1, FILL_Y(row + 1) - 1);
}
}
@@ -3649,7 +3672,7 @@ gui_mch_haskey(name)
void
gui_mch_beep()
{
- SysBeep (1); /* Should this be 0? (????) */
+ SysBeep(1); /* Should this be 0? (????) */
}
void
@@ -3740,7 +3763,7 @@ gui_mch_draw_hollow_cursor(color)
gui_mch_set_fg_color(color);
- FrameRect (&rc);
+ FrameRect(&rc);
}
/*
@@ -3767,7 +3790,7 @@ gui_mch_draw_part_cursor(w, h, color)
gui_mch_set_fg_color(color);
- PaintRect (&rc);
+ PaintRect(&rc);
}
@@ -3791,7 +3814,7 @@ gui_mch_update()
*/
EventRecord theEvent;
- if (EventAvail (everyEvent, &theEvent))
+ if (EventAvail(everyEvent, &theEvent))
if (theEvent.what != nullEvent)
gui_mch_wait_for_chars(0);
}
@@ -3806,7 +3829,7 @@ gui_mch_update()
#endif
pascal
Boolean
-WaitNextEventWrp (EventMask eventMask, EventRecord *theEvent, UInt32 sleep, RgnHandle mouseRgn)
+WaitNextEventWrp(EventMask eventMask, EventRecord *theEvent, UInt32 sleep, RgnHandle mouseRgn)
{
if (((long) sleep) < -1)
sleep = 32767;
@@ -3857,7 +3880,7 @@ gui_mch_wait_for_chars(wtime)
else*/ if (dragRectControl == kCreateRect)
{
dragRgn = cursorRgn;
- RectRgn (dragRgn, &dragRect);
+ RectRgn(dragRgn, &dragRect);
dragRectControl = kNothing;
}
/*
@@ -3871,12 +3894,12 @@ gui_mch_wait_for_chars(wtime)
sleeppyTick = 60*wtime/1000;
else
sleeppyTick = 32767;
- if (WaitNextEventWrp (mask, &event, sleeppyTick, dragRgn))
+ if (WaitNextEventWrp(mask, &event, sleeppyTick, dragRgn))
{
#ifdef USE_SIOUX
if (!SIOUXHandleOneEvent(&event))
#endif
- gui_mac_handle_event (&event);
+ gui_mac_handle_event(&event);
if (input_available())
{
allow_scrollbar = FALSE;
@@ -3929,7 +3952,7 @@ gui_mch_clear_block(row1, col1, row2, col2)
rc.bottom = FILL_Y(row2 + 1);
gui_mch_set_bg_color(gui.back_pixel);
- EraseRect (&rc);
+ EraseRect(&rc);
}
/*
@@ -3970,7 +3993,7 @@ gui_mch_delete_lines(row, num_lines)
rc.bottom = FILL_Y(gui.scroll_region_bot + 1);
gui_mch_set_bg_color(gui.back_pixel);
- ScrollRect (&rc, 0, -num_lines * gui.char_height, (RgnHandle) nil);
+ ScrollRect(&rc, 0, -num_lines * gui.char_height, (RgnHandle) nil);
gui_clear_block(gui.scroll_region_bot - num_lines + 1,
gui.scroll_region_left,
@@ -3995,7 +4018,7 @@ gui_mch_insert_lines(row, num_lines)
gui_mch_set_bg_color(gui.back_pixel);
- ScrollRect (&rc, 0, gui.char_height * num_lines, (RgnHandle) nil);
+ ScrollRect(&rc, 0, gui.char_height * num_lines, (RgnHandle) nil);
/* Update gui.cursor_row if the cursor scrolled or copied over */
if (gui.cursor_row >= gui.row
@@ -4028,6 +4051,7 @@ clip_mch_request_selection(cbd)
ScrapFlavorFlags scrapFlags;
ScrapRef scrap = nil;
OSStatus error;
+ int flavor;
#else
long scrapOffset;
long scrapSize;
@@ -4038,19 +4062,31 @@ clip_mch_request_selection(cbd)
#ifdef USE_CARBONIZED
- error = GetCurrentScrap (&scrap);
+ error = GetCurrentScrap(&scrap);
if (error != noErr)
return;
- error = GetScrapFlavorFlags(scrap, kScrapFlavorTypeText, &scrapFlags);
- if (error != noErr)
- return;
+ flavor = 0;
+ error = GetScrapFlavorFlags(scrap, VIMSCRAPFLAVOR, &scrapFlags);
+ if (error == noErr)
+ {
+ error = GetScrapFlavorSize(scrap, VIMSCRAPFLAVOR, &scrapSize);
+ if (error == noErr && scrapSize > 1)
+ flavor = 1;
+ }
- error = GetScrapFlavorSize (scrap, kScrapFlavorTypeText, &scrapSize);
- if (error != noErr)
- return;
+ if (flavor == 0)
+ {
+ error = GetScrapFlavorFlags(scrap, kScrapFlavorTypeText, &scrapFlags);
+ if (error != noErr)
+ return;
+
+ error = GetScrapFlavorSize(scrap, kScrapFlavorTypeText, &scrapSize);
+ if (error != noErr)
+ return;
+ }
- ReserveMem (scrapSize);
+ ReserveMem(scrapSize);
#else
/* Call to LoadScrap seem to avoid problem with crash on first paste */
scrapSize = LoadScrap();
@@ -4061,23 +4097,28 @@ clip_mch_request_selection(cbd)
{
#ifdef USE_CARBONIZED
/* In CARBON we don't need a Handle, a pointer is good */
- textOfClip = NewHandle (scrapSize);
+ textOfClip = NewHandle(scrapSize);
/* tempclip = lalloc(scrapSize+1, TRUE); */
#else
textOfClip = NewHandle(0);
#endif
- HLock (textOfClip);
+ HLock(textOfClip);
#ifdef USE_CARBONIZED
- error = GetScrapFlavorData (scrap, kScrapFlavorTypeText, &scrapSize, *textOfClip);
+ error = GetScrapFlavorData(scrap,
+ flavor ? VIMSCRAPFLAVOR : kScrapFlavorTypeText,
+ &scrapSize, *textOfClip);
#else
scrapSize = GetScrap(textOfClip, 'TEXT', &scrapOffset);
#endif
- type = (strchr(*textOfClip, '\r') != NULL) ? MLINE : MCHAR;
+ if (flavor)
+ type = **textOfClip;
+ else
+ type = (strchr(*textOfClip, '\r') != NULL) ? MLINE : MCHAR;
tempclip = lalloc(scrapSize+1, TRUE);
- STRNCPY(tempclip, *textOfClip, scrapSize);
- tempclip[scrapSize] = 0;
+ STRNCPY(tempclip, *textOfClip + flavor, scrapSize - flavor);
+ tempclip[scrapSize - flavor] = 0;
searchCR = (char *)tempclip;
while (searchCR != NULL)
@@ -4184,15 +4225,23 @@ clip_mch_set_selection(cbd)
ZeroScrap();
#endif
+#ifdef USE_CARBONIZED
+ textOfClip = NewHandle(scrapSize + 1);
+#else
textOfClip = NewHandle(scrapSize);
+#endif
HLock(textOfClip);
- STRNCPY(*textOfClip, str, scrapSize);
#ifdef USE_CARBONIZED
- GetCurrentScrap (&scrap);
+ **textOfClip = type;
+ STRNCPY(*textOfClip + 1, str, scrapSize);
+ GetCurrentScrap(&scrap);
PutScrapFlavor(scrap, kScrapFlavorTypeText, kScrapFlavorMaskNone,
- scrapSize, *textOfClip);
+ scrapSize, *textOfClip + 1);
+ PutScrapFlavor(scrap, VIMSCRAPFLAVOR, kScrapFlavorMaskNone,
+ scrapSize + 1, *textOfClip);
#else
+ STRNCPY(*textOfClip, str, scrapSize);
PutScrap(scrapSize, 'TEXT', *textOfClip);
#endif
HUnlock(textOfClip);
@@ -4211,7 +4260,7 @@ gui_mch_set_text_area_pos(x, y, w, h)
{
Rect VimBound;
-/* HideWindow (gui.VimWindow); */
+/* HideWindow(gui.VimWindow); */
#ifdef USE_CARBONIZED
GetWindowBounds(gui.VimWindow, kWindowGlobalPortRgn, &VimBound);
#else
@@ -4231,7 +4280,7 @@ gui_mch_set_text_area_pos(x, y, w, h)
SetWindowBounds(gui.VimWindow, kWindowGlobalPortRgn, &VimBound);
#endif
- ShowWindow (gui.VimWindow);
+ ShowWindow(gui.VimWindow);
}
/*
@@ -4321,11 +4370,11 @@ gui_mch_add_menu(menu, idx)
#endif
{
/* Carbon suggest use of
- * OSStatus CreateNewMenu ( MenuID, MenuAttributes, MenuRef *);
- * OSStatus SetMenuTitle ( MenuRef, ConstStr255Param title );
+ * OSStatus CreateNewMenu(MenuID, MenuAttributes, MenuRef *);
+ * OSStatus SetMenuTitle(MenuRef, ConstStr255Param title);
*/
menu->submenu_id = next_avail_id;
- menu->submenu_handle = NewMenu (menu->submenu_id, name);
+ menu->submenu_handle = NewMenu(menu->submenu_id, name);
next_avail_id++;
}
@@ -4341,7 +4390,7 @@ gui_mch_add_menu(menu, idx)
#ifdef USE_HELPMENU
if (menu->submenu_id != kHMHelpMenuID)
#endif
- InsertMenu (menu->submenu_handle, menu_after_me); /* insert before */
+ InsertMenu(menu->submenu_handle, menu_after_me); /* insert before */
#if 1
/* Vim should normally update it. TODO: verify */
DrawMenuBar();
@@ -4351,7 +4400,7 @@ gui_mch_add_menu(menu, idx)
{
/* Adding as a submenu */
- index = gui_mac_get_menu_item_index (menu);
+ index = gui_mac_get_menu_item_index(menu);
/* Call InsertMenuItem followed by SetMenuItemText
* to avoid special character recognition by InsertMenuItem
@@ -4363,7 +4412,7 @@ gui_mch_add_menu(menu, idx)
InsertMenu(menu->submenu_handle, hierMenu);
}
- vim_free (name);
+ vim_free(name);
#if 0
/* Done by Vim later on */
@@ -4502,7 +4551,7 @@ gui_mch_toggle_tearoffs(enable)
gui_mch_destroy_menu(menu)
vimmenu_T *menu;
{
- short index = gui_mac_get_menu_item_index (menu);
+ short index = gui_mac_get_menu_item_index(menu);
if (index > 0)
{
@@ -4513,20 +4562,20 @@ gui_mch_destroy_menu(menu)
#endif
{
/* For now just don't delete help menu items. (Huh? Dany) */
- DeleteMenuItem (menu->parent->submenu_handle, index);
+ DeleteMenuItem(menu->parent->submenu_handle, index);
/* Delete the Menu if it was a hierarchical Menu */
if (menu->submenu_id != 0)
{
- DeleteMenu (menu->submenu_id);
- DisposeMenu (menu->submenu_handle);
+ DeleteMenu(menu->submenu_id);
+ DisposeMenu(menu->submenu_handle);
}
}
#ifdef USE_HELPMENU
# ifdef DEBUG_MAC_MENU
else
{
- printf ("gmdm 1\n");
+ printf("gmdm 1\n");
}
# endif
#endif
@@ -4534,7 +4583,7 @@ gui_mch_destroy_menu(menu)
#ifdef DEBUG_MAC_MENU
else
{
- printf ("gmdm 2\n");
+ printf("gmdm 2\n");
}
#endif
}
@@ -4545,8 +4594,8 @@ gui_mch_destroy_menu(menu)
if (menu->submenu_id != kHMHelpMenuID)
#endif
{
- DeleteMenu (menu->submenu_id);
- DisposeMenu (menu->submenu_handle);
+ DeleteMenu(menu->submenu_id);
+ DisposeMenu(menu->submenu_handle);
}
}
/* Shouldn't this be already done by Vim. TODO: Check */
@@ -4562,7 +4611,7 @@ gui_mch_menu_grey(menu, grey)
int grey;
{
/* TODO: Check if menu really exists */
- short index = gui_mac_get_menu_item_index (menu);
+ short index = gui_mac_get_menu_item_index(menu);
/*
index = menu->index;
*/
@@ -4593,7 +4642,7 @@ gui_mch_menu_hidden(menu, hidden)
int hidden;
{
/* There's no hidden mode on MacOS */
- gui_mch_menu_grey (menu, hidden);
+ gui_mch_menu_grey(menu, hidden);
}
@@ -4622,7 +4671,7 @@ gui_mch_enable_scrollbar(sb, flag)
HideControl(sb->id);
#ifdef DEBUG_MAC_SB
- printf ("enb_sb (%x) %x\n",sb->id, flag);
+ printf("enb_sb (%x) %x\n",sb->id, flag);
#endif
}
@@ -4637,7 +4686,7 @@ gui_mch_set_scrollbar_thumb(sb, val, size, max)
SetControl32BitMinimum (sb->id, 0);
SetControl32BitValue (sb->id, val);
#ifdef DEBUG_MAC_SB
- printf ("thumb_sb (%x) %x, %x,%x\n",sb->id, val, size, max);
+ printf("thumb_sb (%x) %x, %x,%x\n",sb->id, val, size, max);
#endif
}
@@ -4652,13 +4701,13 @@ gui_mch_set_scrollbar_pos(sb, x, y, w, h)
gui_mch_set_bg_color(gui.back_pixel);
/* if (gui.which_scrollbars[SBAR_LEFT])
{
- MoveControl (sb->id, x-16, y);
- SizeControl (sb->id, w + 1, h);
+ MoveControl(sb->id, x-16, y);
+ SizeControl(sb->id, w + 1, h);
}
else
{
- MoveControl (sb->id, x, y);
- SizeControl (sb->id, w + 1, h);
+ MoveControl(sb->id, x, y);
+ SizeControl(sb->id, w + 1, h);
}*/
if (sb == &gui.bottom_sbar)
h += 1;
@@ -4668,10 +4717,10 @@ gui_mch_set_scrollbar_pos(sb, x, y, w, h)
if (gui.which_scrollbars[SBAR_LEFT])
x -= 15;
- MoveControl (sb->id, x, y);
- SizeControl (sb->id, w, h);
+ MoveControl(sb->id, x, y);
+ SizeControl(sb->id, w, h);
#ifdef DEBUG_MAC_SB
- printf ("size_sb (%x) %x, %x, %x, %x\n",sb->id, x, y, w, h);
+ printf("size_sb (%x) %x, %x, %x, %x\n",sb->id, x, y, w, h);
#endif
}
@@ -4687,7 +4736,7 @@ gui_mch_create_scrollbar(sb, orient)
bounds.right = -10;
bounds.left = -16;
- sb->id = NewControl (gui.VimWindow,
+ sb->id = NewControl(gui.VimWindow,
&bounds,
"\pScrollBar",
TRUE,
@@ -4701,7 +4750,7 @@ gui_mch_create_scrollbar(sb, orient)
#endif
(long) sb->ident);
#ifdef DEBUG_MAC_SB
- printf ("create_sb (%x) %x\n",sb->id, orient);
+ printf("create_sb (%x) %x\n",sb->id, orient);
#endif
}
@@ -4710,9 +4759,9 @@ gui_mch_destroy_scrollbar(sb)
scrollbar_T *sb;
{
gui_mch_set_bg_color(gui.back_pixel);
- DisposeControl (sb->id);
+ DisposeControl(sb->id);
#ifdef DEBUG_MAC_SB
- printf ("dest_sb (%x) \n",sb->id);
+ printf("dest_sb (%x) \n",sb->id);
#endif
}
@@ -4818,7 +4867,7 @@ gui_mch_browse(
OSErr error;
/* Get Navigation Service Defaults value */
- NavGetDefaultDialogOptions (&navOptions);
+ NavGetDefaultDialogOptions(&navOptions);
/* TODO: If we get a :browse args, set the Multiple bit. */
@@ -4828,8 +4877,8 @@ gui_mch_browse(
/* | kNavAllowMultipleFiles */
| kNavAllowStationery;
- (void) C2PascalString (title, &navOptions.message);
- (void) C2PascalString (dflt, &navOptions.savedFileName);
+ (void) C2PascalString(title, &navOptions.message);
+ (void) C2PascalString(dflt, &navOptions.savedFileName);
/* Could set clientName?
* windowTitle? (there's no title bar?)
*/
@@ -4837,7 +4886,7 @@ gui_mch_browse(
if (saving)
{
/* Change first parm AEDesc (typeFSS) *defaultLocation to match dflt */
- NavPutFile (NULL, &reply, &navOptions, NULL, 'TEXT', 'VIM!', NULL);
+ NavPutFile(NULL, &reply, &navOptions, NULL, 'TEXT', 'VIM!', NULL);
if (!reply.validRecord)
return NULL;
}
@@ -4851,7 +4900,7 @@ gui_mch_browse(
fnames = new_fnames_from_AEDesc(&reply.selection, &numFiles, &error);
- NavDisposeReply (&reply);
+ NavDisposeReply(&reply);
if (fnames)
{
@@ -4870,26 +4919,26 @@ gui_mch_browse(
/* TODO: split dflt in path and filename */
- (void) C2PascalString (title, &Prompt);
- (void) C2PascalString (dflt, &DefaultName);
- (void) C2PascalString (initdir, &Directory);
+ (void) C2PascalString(title, &Prompt);
+ (void) C2PascalString(dflt, &DefaultName);
+ (void) C2PascalString(initdir, &Directory);
if (saving)
{
/* Use a custon filter instead of nil FAQ 9-4 */
- StandardPutFile (Prompt, DefaultName, &reply);
+ StandardPutFile(Prompt, DefaultName, &reply);
if (!reply.sfGood)
return NULL;
}
else
{
- StandardGetFile (nil, -1, fileTypes, &reply);
+ StandardGetFile(nil, -1, fileTypes, &reply);
if (!reply.sfGood)
return NULL;
}
/* Work fine but append a : for new file */
- return (FullPathFromFSSpec_save (reply.sfFile));
+ return (FullPathFromFSSpec_save(reply.sfFile));
/* Shorten the file name if possible */
/* mch_dirname(IObuff, IOSIZE);
@@ -4943,9 +4992,9 @@ macMoveDialogItem(
{
#if 0 /* USE_CARBONIZED */
/* Untested */
- MoveDialogItem (theDialog, itemNumber, X, Y);
+ MoveDialogItem(theDialog, itemNumber, X, Y);
if (inBox != nil)
- GetDialogItem (theDialog, itemNumber, &itemType, &itemHandle, inBox);
+ GetDialogItem(theDialog, itemNumber, &itemType, &itemHandle, inBox);
#else
short itemType;
Handle itemHandle;
@@ -4955,14 +5004,14 @@ macMoveDialogItem(
if (inBox != nil)
itemBox = inBox;
- GetDialogItem (theDialog, itemNumber, &itemType, &itemHandle, itemBox);
- OffsetRect (itemBox, -itemBox->left, -itemBox->top);
- OffsetRect (itemBox, X, Y);
+ GetDialogItem(theDialog, itemNumber, &itemType, &itemHandle, itemBox);
+ OffsetRect(itemBox, -itemBox->left, -itemBox->top);
+ OffsetRect(itemBox, X, Y);
/* To move a control (like a button) we need to call both
* MoveControl and SetDialogItem. FAQ 6-18 */
if (1) /*(itemType & kControlDialogItem) */
- MoveControl ((ControlRef) itemHandle, X, Y);
- SetDialogItem (theDialog, itemNumber, itemType, itemHandle, itemBox);
+ MoveControl((ControlRef) itemHandle, X, Y);
+ SetDialogItem(theDialog, itemNumber, itemType, itemHandle, itemBox);
#endif
}
@@ -4977,7 +5026,7 @@ macSizeDialogItem(
Handle itemHandle;
Rect itemBox;
- GetDialogItem (theDialog, itemNumber, &itemType, &itemHandle, &itemBox);
+ GetDialogItem(theDialog, itemNumber, &itemType, &itemHandle, &itemBox);
/* When width or height is zero do not change it */
if (width == 0)
@@ -4986,7 +5035,7 @@ macSizeDialogItem(
height = itemBox.bottom - itemBox.top;
#if 0 /* USE_CARBONIZED */
- SizeDialogItem (theDialog, itemNumber, width, height); /* Untested */
+ SizeDialogItem(theDialog, itemNumber, width, height); /* Untested */
#else
/* Resize the bounding box */
itemBox.right = itemBox.left + width;
@@ -4995,10 +5044,10 @@ macSizeDialogItem(
/* To resize a control (like a button) we need to call both
* SizeControl and SetDialogItem. (deducted from FAQ 6-18) */
if (itemType & kControlDialogItem)
- SizeControl ((ControlRef) itemHandle, width, height);
+ SizeControl((ControlRef) itemHandle, width, height);
/* Configure back the item */
- SetDialogItem (theDialog, itemNumber, itemType, itemHandle, &itemBox);
+ SetDialogItem(theDialog, itemNumber, itemType, itemHandle, &itemBox);
#endif
}
@@ -5012,12 +5061,12 @@ macSetDialogItemText(
Handle itemHandle;
Rect itemBox;
- GetDialogItem (theDialog, itemNumber, &itemType, &itemHandle, &itemBox);
+ GetDialogItem(theDialog, itemNumber, &itemType, &itemHandle, &itemBox);
if (itemType & kControlDialogItem)
- SetControlTitle ((ControlRef) itemHandle, itemName);
+ SetControlTitle((ControlRef) itemHandle, itemName);
else
- SetDialogItemText (itemHandle, itemName);
+ SetDialogItemText(itemHandle, itemName);
}
int
@@ -5072,7 +5121,7 @@ gui_mch_dialog(
vertical = (vim_strchr(p_go, GO_VERTICAL) != NULL);
/* Create a new Dialog Box from template. */
- theDialog = GetNewDialog (129, nil, (WindowRef) -1);
+ theDialog = GetNewDialog(129, nil, (WindowRef) -1);
/* Get the WindowRef */
theWindow = GetDialogWindow(theDialog);
@@ -5083,15 +5132,15 @@ gui_mch_dialog(
* within a visible window. (non-Carbon MacOS 9)
* Could be avoided by changing the resource.
*/
- HideWindow (theWindow);
+ HideWindow(theWindow);
/* Change the graphical port to the dialog,
* so we can measure the text with the proper font */
- GetPort (&oldPort);
+ GetPort(&oldPort);
#ifdef USE_CARBONIZED
- SetPortDialogPort (theDialog);
+ SetPortDialogPort(theDialog);
#else
- SetPort (theDialog);
+ SetPort(theDialog);
#endif
/* Get the info about the default text,
@@ -5102,12 +5151,12 @@ gui_mch_dialog(
/* Set the dialog title */
if (title != NULL)
{
- (void) C2PascalString (title, &PascalTitle);
- SetWTitle (theWindow, PascalTitle);
+ (void) C2PascalString(title, &PascalTitle);
+ SetWTitle(theWindow, PascalTitle);
}
/* Creates the buttons and add them to the Dialog Box. */
- buttonDITL = GetResource ('DITL', 130);
+ buttonDITL = GetResource('DITL', 130);
buttonChar = buttons;
button = 0;
@@ -5126,30 +5175,30 @@ gui_mch_dialog(
name[0] = len;
/* Add the button */
- AppendDITL (theDialog, buttonDITL, overlayDITL); /* appendDITLRight); */
+ AppendDITL(theDialog, buttonDITL, overlayDITL); /* appendDITLRight); */
/* Change the button's name */
- macSetDialogItemText (theDialog, button, name);
+ macSetDialogItemText(theDialog, button, name);
/* Resize the button to fit its name */
- width = StringWidth (name) + 2 * dfltButtonEdge;
+ width = StringWidth(name) + 2 * dfltButtonEdge;
/* Limite the size of any button to an acceptable value. */
/* TODO: Should be based on the message width */
if (width > maxButtonWidth)
width = maxButtonWidth;
- macSizeDialogItem (theDialog, button, width, 0);
+ macSizeDialogItem(theDialog, button, width, 0);
totalButtonWidth += width;
if (width > widestButton)
widestButton = width;
}
- ReleaseResource (buttonDITL);
+ ReleaseResource(buttonDITL);
lastButton = button;
/* Add the icon to the Dialog Box. */
iconItm.idx = lastButton + 1;
- iconDITL = GetResource ('DITL', 131);
+ iconDITL = GetResource('DITL', 131);
switch (type)
{
case VIM_GENERIC: useIcon = kNoteIcon;
@@ -5159,41 +5208,41 @@ gui_mch_dialog(
case VIM_QUESTION: useIcon = kNoteIcon;
default: useIcon = kStopIcon;
};
- AppendDITL (theDialog, iconDITL, overlayDITL);
- ReleaseResource (iconDITL);
- GetDialogItem (theDialog, iconItm.idx, &itemType, &itemHandle, &box);
+ AppendDITL(theDialog, iconDITL, overlayDITL);
+ ReleaseResource(iconDITL);
+ GetDialogItem(theDialog, iconItm.idx, &itemType, &itemHandle, &box);
/* TODO: Should the item be freed? */
- iconHandle = GetIcon (useIcon);
- SetDialogItem (theDialog, iconItm.idx, itemType, iconHandle, &box);
+ iconHandle = GetIcon(useIcon);
+ SetDialogItem(theDialog, iconItm.idx, itemType, iconHandle, &box);
/* Add the message to the Dialog box. */
messageItm.idx = lastButton + 2;
- messageDITL = GetResource ('DITL', 132);
- AppendDITL (theDialog, messageDITL, overlayDITL);
- ReleaseResource (messageDITL);
- GetDialogItem (theDialog, messageItm.idx, &itemType, &itemHandle, &box);
- (void) C2PascalString (message, &name);
- SetDialogItemText (itemHandle, name);
- messageItm.width = StringWidth (name);
+ messageDITL = GetResource('DITL', 132);
+ AppendDITL(theDialog, messageDITL, overlayDITL);
+ ReleaseResource(messageDITL);
+ GetDialogItem(theDialog, messageItm.idx, &itemType, &itemHandle, &box);
+ (void) C2PascalString(message, &name);
+ SetDialogItemText(itemHandle, name);
+ messageItm.width = StringWidth(name);
/* Add the input box if needed */
if (textfield != NULL)
{
/* Cheat for now reuse the message and convet to text edit */
inputItm.idx = lastButton + 3;
- inputDITL = GetResource ('DITL', 132);
- AppendDITL (theDialog, inputDITL, overlayDITL);
- ReleaseResource (inputDITL);
- GetDialogItem (theDialog, inputItm.idx, &itemType, &itemHandle, &box);
-/* SetDialogItem (theDialog, inputItm.idx, kEditTextDialogItem, itemHandle, &box);*/
- (void) C2PascalString (textfield, &name);
- SetDialogItemText (itemHandle, name);
- inputItm.width = StringWidth (name);
+ inputDITL = GetResource('DITL', 132);
+ AppendDITL(theDialog, inputDITL, overlayDITL);
+ ReleaseResource(inputDITL);
+ GetDialogItem(theDialog, inputItm.idx, &itemType, &itemHandle, &box);
+/* SetDialogItem(theDialog, inputItm.idx, kEditTextDialogItem, itemHandle, &box);*/
+ (void) C2PascalString(textfield, &name);
+ SetDialogItemText(itemHandle, name);
+ inputItm.width = StringWidth(name);
}
/* Set the <ENTER> and <ESC> button. */
- SetDialogDefaultItem (theDialog, dfltbutton);
- SetDialogCancelItem (theDialog, 0);
+ SetDialogDefaultItem(theDialog, dfltbutton);
+ SetDialogCancelItem(theDialog, 0);
/* Reposition element */
@@ -5202,26 +5251,26 @@ gui_mch_dialog(
vertical = TRUE;
/* Place icon */
- macMoveDialogItem (theDialog, iconItm.idx, dfltIconSideSpace, dfltElementSpacing, &box);
+ macMoveDialogItem(theDialog, iconItm.idx, dfltIconSideSpace, dfltElementSpacing, &box);
iconItm.box.right = box.right;
iconItm.box.bottom = box.bottom;
/* Place Message */
messageItm.box.left = iconItm.box.right + dfltIconSideSpace;
- macSizeDialogItem (theDialog, messageItm.idx, 0, messageLines * (textFontInfo.ascent + textFontInfo.descent));
- macMoveDialogItem (theDialog, messageItm.idx, messageItm.box.left, dfltElementSpacing, &messageItm.box);
+ macSizeDialogItem(theDialog, messageItm.idx, 0, messageLines * (textFontInfo.ascent + textFontInfo.descent));
+ macMoveDialogItem(theDialog, messageItm.idx, messageItm.box.left, dfltElementSpacing, &messageItm.box);
/* Place Input */
if (textfield != NULL)
{
inputItm.box.left = messageItm.box.left;
inputItm.box.top = messageItm.box.bottom + dfltElementSpacing;
- macSizeDialogItem (theDialog, inputItm.idx, 0, textFontInfo.ascent + textFontInfo.descent);
- macMoveDialogItem (theDialog, inputItm.idx, inputItm.box.left, inputItm.box.top, &inputItm.box);
+ macSizeDialogItem(theDialog, inputItm.idx, 0, textFontInfo.ascent + textFontInfo.descent);
+ macMoveDialogItem(theDialog, inputItm.idx, inputItm.box.left, inputItm.box.top, &inputItm.box);
/* Convert the static text into a text edit.
* For some reason this change need to be done last (Dany) */
- GetDialogItem (theDialog, inputItm.idx, &itemType, &itemHandle, &inputItm.box);
- SetDialogItem (theDialog, inputItm.idx, kEditTextDialogItem, itemHandle, &inputItm.box);
+ GetDialogItem(theDialog, inputItm.idx, &itemType, &itemHandle, &inputItm.box);
+ SetDialogItem(theDialog, inputItm.idx, kEditTextDialogItem, itemHandle, &inputItm.box);
SelectDialogItemText(theDialog, inputItm.idx, 0, 32767);
}
@@ -5240,12 +5289,12 @@ gui_mch_dialog(
for (button=1; button <= lastButton; button++)
{
- macMoveDialogItem (theDialog, button, buttonItm.box.left, buttonItm.box.top, &box);
+ macMoveDialogItem(theDialog, button, buttonItm.box.left, buttonItm.box.top, &box);
/* With vertical, it's better to have all button the same lenght */
if (vertical)
{
- macSizeDialogItem (theDialog, button, widestButton, 0);
- GetDialogItem (theDialog, button, &itemType, &itemHandle, &box);
+ macSizeDialogItem(theDialog, button, widestButton, 0);
+ GetDialogItem(theDialog, button, &itemType, &itemHandle, &box);
}
/* Calculate position of next button */
if (vertical)
@@ -5260,7 +5309,7 @@ gui_mch_dialog(
#ifdef USE_CARBONIZED
/* Magic resize */
- AutoSizeDialog (theDialog);
+ AutoSizeDialog(theDialog);
/* Need a horizontal resize anyway so not that useful */
#endif
@@ -5269,27 +5318,27 @@ gui_mch_dialog(
/* BringToFront(theWindow); */
SelectWindow(theWindow);
-/* DrawDialog (theDialog); */
+/* DrawDialog(theDialog); */
#if 0
- GetPort (&oldPort);
+ GetPort(&oldPort);
#ifdef USE_CARBONIZED
- SetPortDialogPort (theDialog);
+ SetPortDialogPort(theDialog);
#else
- SetPort (theDialog);
+ SetPort(theDialog);
#endif
#endif
/* Hang until one of the button is hit */
do
{
- ModalDialog (nil, &itemHit);
+ ModalDialog(nil, &itemHit);
} while ((itemHit < 1) || (itemHit > lastButton));
/* Copy back the text entered by the user into the param */
if (textfield != NULL)
{
- GetDialogItem (theDialog, inputItm.idx, &itemType, &itemHandle, &box);
- GetDialogItemText (itemHandle, (char_u *) &name);
+ GetDialogItem(theDialog, inputItm.idx, &itemType, &itemHandle, &box);
+ GetDialogItemText(itemHandle, (char_u *) &name);
#if IOSIZE < 256
/* Truncate the name to IOSIZE if needed */
if (name[0] > IOSIZE)
@@ -5300,10 +5349,10 @@ gui_mch_dialog(
}
/* Restore the original graphical port */
- SetPort (oldPort);
+ SetPort(oldPort);
/* Get ride of th edialog (free memory) */
- DisposeDialog (theDialog);
+ DisposeDialog(theDialog);
return itemHit;
/*
@@ -5339,8 +5388,8 @@ display_errors()
pError[0] = STRLEN(p);
STRNCPY(&pError[1], p, pError[0]);
- ParamText (pError, nil, nil, nil);
- Alert (128, nil);
+ ParamText(pError, nil, nil, nil);
+ Alert(128, nil);
break;
/* TODO: handled message longer than 256 chars
* use auto-sizeable alert
@@ -5388,8 +5437,8 @@ gui_mch_setmouse(x, y)
CursorDevicePtr myMouse;
Point where;
- if ( NGetTrapAddress (_CursorDeviceDispatch, ToolTrap)
- != NGetTrapAddress (_Unimplemented, ToolTrap) )
+ if ( NGetTrapAddress(_CursorDeviceDispatch, ToolTrap)
+ != NGetTrapAddress(_Unimplemented, ToolTrap))
{
/* New way */
@@ -5407,9 +5456,9 @@ gui_mch_setmouse(x, y)
/* Get the next cursor device */
CursorDeviceNextDevice(&myMouse);
}
- while ( (myMouse != nil) && (myMouse->cntButtons != 1) );
+ while ((myMouse != nil) && (myMouse->cntButtons != 1));
- CursorDeviceMoveTo (myMouse, x, y);
+ CursorDeviceMoveTo(myMouse, x, y);
}
else
{
@@ -5445,10 +5494,10 @@ gui_mch_show_popupmenu(menu)
GrafPtr savePort;
/* Save Current Port: On MacOS X we seem to lose the port */
- GetPort (&savePort); /*OSX*/
+ GetPort(&savePort); /*OSX*/
- GetMouse (&where);
- LocalToGlobal (&where); /*OSX*/
+ GetMouse(&where);
+ LocalToGlobal(&where); /*OSX*/
CntxMenu = menu->submenu_handle;
/* TODO: Get the text selection from Vim */
@@ -5463,7 +5512,7 @@ gui_mch_show_popupmenu(menu)
/* Handle the menu CntxMenuID, CntxMenuItem */
/* The submenu can be handle directly by gui_mac_handle_menu */
/* But what about the current menu, is the menu changed by ContextualMenuSelect */
- gui_mac_handle_menu ((CntxMenuID << 16) + CntxMenuItem);
+ gui_mac_handle_menu((CntxMenuID << 16) + CntxMenuItem);
}
else if (CntxMenuID == kCMShowHelpSelected)
{
@@ -5472,7 +5521,7 @@ gui_mch_show_popupmenu(menu)
}
/* Restore original Port */
- SetPort (savePort); /*OSX*/
+ SetPort(savePort); /*OSX*/
#endif
}
@@ -5482,10 +5531,10 @@ gui_mch_show_popupmenu(menu)
mch_post_buffer_write(buf_T *buf)
{
# ifdef USE_SIOUX
- printf ("Writing Buf...\n");
+ printf("Writing Buf...\n");
# endif
- GetFSSpecFromPath (buf->b_ffname, &buf->b_FSSpec);
- Send_KAHL_MOD_AE (buf);
+ GetFSSpecFromPath(buf->b_ffname, &buf->b_FSSpec);
+ Send_KAHL_MOD_AE(buf);
}
#endif
@@ -5521,7 +5570,7 @@ gui_mch_settitle(title, icon)
*/
int
-C2PascalString (CString, PascalString)
+C2PascalString(CString, PascalString)
char_u *CString;
Str255 *PascalString;
{
@@ -5546,7 +5595,7 @@ C2PascalString (CString, PascalString)
}
int
-GetFSSpecFromPath (file, fileFSSpec)
+GetFSSpecFromPath(file, fileFSSpec)
char_u *file;
FSSpec *fileFSSpec;
{
@@ -5555,17 +5604,17 @@ GetFSSpecFromPath (file, fileFSSpec)
CInfoPBRec myCPB;
OSErr err;
- (void) C2PascalString (file, &filePascal);
+ (void) C2PascalString(file, &filePascal);
myCPB.dirInfo.ioNamePtr = filePascal;
myCPB.dirInfo.ioVRefNum = 0;
myCPB.dirInfo.ioFDirIndex = 0;
myCPB.dirInfo.ioDrDirID = 0;
- err= PBGetCatInfo (&myCPB, false);
+ err= PBGetCatInfo(&myCPB, false);
/* vRefNum, dirID, name */
- FSMakeFSSpec (0, 0, filePascal, fileFSSpec);
+ FSMakeFSSpec(0, 0, filePascal, fileFSSpec);
/* TODO: Use an error code mechanism */
return 0;
@@ -5575,7 +5624,7 @@ GetFSSpecFromPath (file, fileFSSpec)
* Convert a FSSpec to a fuill path
*/
-char_u *FullPathFromFSSpec_save (FSSpec file)
+char_u *FullPathFromFSSpec_save(FSSpec file)
{
/*
* TODO: Add protection for 256 char max.
@@ -5603,7 +5652,7 @@ char_u *FullPathFromFSSpec_save (FSSpec file)
#ifdef USE_UNIXFILENAME
/* Get the default volume */
/* TODO: Remove as this only work if Vim is on the Boot Volume*/
- error=HGetVol ( NULL, &dfltVol_vRefNum, &dfltVol_dirID );
+ error=HGetVol(NULL, &dfltVol_vRefNum, &dfltVol_dirID);
if (error)
return NULL;
@@ -5622,7 +5671,7 @@ char_u *FullPathFromFSSpec_save (FSSpec file)
/* As ioFDirIndex = 0, get the info of ioNamePtr,
which is relative to ioVrefNum, ioDirID */
- error = PBGetCatInfo (&theCPB, false);
+ error = PBGetCatInfo(&theCPB, false);
/* If we are called for a new file we expect fnfErr */
if ((error) && (error != fnfErr))
@@ -5671,20 +5720,20 @@ char_u *FullPathFromFSSpec_save (FSSpec file)
{
/* If the file to be saved already exists, we can get its full path
by converting its FSSpec into an FSRef. */
- error=FSpMakeFSRef (&file, &refFile);
+ error=FSpMakeFSRef(&file, &refFile);
if (error)
return NULL;
- status=FSRefMakePath (&refFile, (UInt8 *) path, pathSize);
+ status=FSRefMakePath(&refFile, (UInt8 *) path, pathSize);
if (status)
return NULL;
}
/* Add a slash at the end if needed */
if (folder)
- STRCAT (path, "/");
+ STRCAT(path, "/");
- return (vim_strsave (path));
+ return (vim_strsave(path));
#else
/* TODO: Get rid of all USE_UNIXFILENAME below */
/* Set ioNamePtr, it's the same area which is always reused. */
@@ -5695,7 +5744,7 @@ char_u *FullPathFromFSSpec_save (FSSpec file)
theCPB.dirInfo.ioDrParID = file.parID;
theCPB.dirInfo.ioDrDirID = file.parID;
- if ((TRUE) && (file.parID != fsRtDirID /*fsRtParID*/ ))
+ if ((TRUE) && (file.parID != fsRtDirID /*fsRtParID*/))
do
{
theCPB.dirInfo.ioFDirIndex = -1;
@@ -5706,7 +5755,7 @@ char_u *FullPathFromFSSpec_save (FSSpec file)
/* As ioFDirIndex = -1, get the info of ioDrDirID, */
/* *ioNamePtr[0 TO 31] will be updated */
- error = PBGetCatInfo (&theCPB,false);
+ error = PBGetCatInfo(&theCPB,false);
if (error)
return NULL;
@@ -5734,7 +5783,7 @@ char_u *FullPathFromFSSpec_save (FSSpec file)
/* As ioFDirIndex = -1, get the info of ioDrDirID, */
/* *ioNamePtr[0 TO 31] will be updated */
- error = PBGetCatInfo (&theCPB,false);
+ error = PBGetCatInfo(&theCPB,false);
if (error)
return NULL;
@@ -5763,7 +5812,7 @@ char_u *FullPathFromFSSpec_save (FSSpec file)
/* Append final path separator if it's a folder */
if (folder)
- STRCAT (fname, ":");
+ STRCAT(fname, ":");
/* As we use Unix File Name for MacOS X convert it */
#ifdef USE_UNIXFILENAME
@@ -5780,7 +5829,7 @@ char_u *FullPathFromFSSpec_save (FSSpec file)
}
#endif
- return (vim_strsave (fname));
+ return (vim_strsave(fname));
#endif
}
diff --git a/src/gui_w32.c b/src/gui_w32.c
index df079538a..a3a7ffa24 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -818,9 +818,11 @@ FindWindowTitle(HWND hwnd, LPARAM lParam)
{
if (strstr(buf, title) != NULL)
{
- /* Found it. Store the window ref. and quit searching. */
+ /* Found it. Store the window ref. and quit searching if MDI
+ * works. */
vim_parent_hwnd = FindWindowEx(hwnd, NULL, "MDIClient", NULL);
- return FALSE;
+ if (vim_parent_hwnd != NULL)
+ return FALSE;
}
}
return TRUE; /* continue searching */
diff --git a/src/memline.c b/src/memline.c
index 7c1866329..7a0210f1a 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -1518,7 +1518,7 @@ swapfile_info(fname)
{
MSG_PUTS(_(" file name: "));
if (b0.b0_fname[0] == NUL)
- MSG_PUTS(_("[No File]"));
+ MSG_PUTS(_("[No Name]"));
else
msg_outtrans(b0.b0_fname);
@@ -3781,7 +3781,7 @@ findswapname(buf, dirp, old_fname)
* Change the ".swp" extension to find another file that can be used.
* First decrement the last char: ".swo", ".swn", etc.
* If that still isn't enough decrement the last but one char: ".svz"
- * Can happen when editing many "No File" buffers.
+ * Can happen when editing many "No Name" buffers.
*/
if (fname[n - 1] == 'a') /* ".s?a" */
{
diff --git a/src/normal.c b/src/normal.c
index 89196da0f..222e47589 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -5186,7 +5186,23 @@ nv_scroll(cap)
if (cap->count1 - 1 >= curwin->w_cursor.lnum)
curwin->w_cursor.lnum = 1;
else
- curwin->w_cursor.lnum -= cap->count1 - 1;
+ {
+#ifdef FEAT_FOLDING
+ if (hasAnyFolding(curwin))
+ {
+ /* Count a fold for one screen line. */
+ for (n = cap->count1 - 1; n > 0
+ && curwin->w_cursor.lnum > curwin->w_topline; --n)
+ {
+ (void)hasFolding(curwin->w_cursor.lnum,
+ &curwin->w_cursor.lnum, NULL);
+ --curwin->w_cursor.lnum;
+ }
+ }
+ else
+#endif
+ curwin->w_cursor.lnum -= cap->count1 - 1;
+ }
}
else
{
@@ -5222,8 +5238,23 @@ nv_scroll(cap)
if (n > 0 && used > curwin->w_height)
--n;
}
- else
+ else /* (cap->cmdchar == 'H') */
+ {
n = cap->count1 - 1;
+#ifdef FEAT_FOLDING
+ if (hasAnyFolding(curwin))
+ {
+ /* Count a fold for one screen line. */
+ lnum = curwin->w_topline;
+ while (n-- > 0 && lnum < curwin->w_botline - 1)
+ {
+ hasFolding(lnum, NULL, &lnum);
+ ++lnum;
+ }
+ n = lnum - curwin->w_topline;
+ }
+#endif
+ }
curwin->w_cursor.lnum = curwin->w_topline + n;
if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count)
curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count;
diff --git a/src/os_mac.c b/src/os_mac.c
index 0f6a76ceb..d38f12a61 100644
--- a/src/os_mac.c
+++ b/src/os_mac.c
@@ -527,7 +527,7 @@ mch_breakcheck()
*/
EventRecord theEvent;
- if (EventAvail (keyDownMask, &theEvent))
+ if (EventAvail(keyDownMask, &theEvent))
if ((theEvent.message & charCodeMask) == Ctrl_C && ctrl_c_interrupts)
got_int = TRUE;
#if 0
diff --git a/src/os_msdos.c b/src/os_msdos.c
index 2d8b127e6..92b14ea30 100644
--- a/src/os_msdos.c
+++ b/src/os_msdos.c
@@ -2987,7 +2987,12 @@ mch_isdir(char_u *name)
mch_can_exe(name)
char_u *name;
{
- return (searchpath(name) != NULL);
+ char *p;
+
+ p = searchpath(name);
+ if (p == NULL || mch_isdir(p))
+ return FALSE;
+ return TRUE;
}
#endif
diff --git a/src/os_win32.c b/src/os_win32.c
index 74b896032..434362b11 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -1519,29 +1519,45 @@ theend:
# include <shellapi.h> /* required for FindExecutable() */
#endif
+/*
+ * Return TRUE if "name" is in $PATH.
+ * TODO: Should also check if it's really executable.
+ */
static int
executable_exists(char *name)
{
- char location[2 * _MAX_PATH + 2];
- char widename[2 * _MAX_PATH];
+ char *dum;
+ char fname[_MAX_PATH];
- /* There appears to be a bug in FindExecutableA() on Windows NT.
- * Use FindExecutableW() instead... */
- if (g_PlatformId == VER_PLATFORM_WIN32_NT)
- {
- MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)name, -1,
- (LPWSTR)widename, _MAX_PATH);
- if (FindExecutableW((LPCWSTR)widename, (LPCWSTR)"",
- (LPWSTR)location) > (HINSTANCE)32)
- return TRUE;
- }
- else
+#ifdef FEAT_MBYTE
+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
- if (FindExecutableA((LPCTSTR)name, (LPCTSTR)"",
- (LPTSTR)location) > (HINSTANCE)32)
- return TRUE;
+ WCHAR *p = enc_to_ucs2(name, NULL);
+ WCHAR fnamew[_MAX_PATH];
+ WCHAR *dumw;
+ long n;
+
+ if (p != NULL)
+ {
+ n = (long)SearchPathW(NULL, p, NULL, _MAX_PATH, fnamew, &dumw);
+ vim_free(p);
+ if (n > 0 || GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
+ {
+ if (n == 0)
+ return FALSE;
+ if (GetFileAttributesW(fnamew) & FILE_ATTRIBUTE_DIRECTORY)
+ return FALSE;
+ return TRUE;
+ }
+ /* Retry with non-wide function (for Windows 98). */
+ }
}
- return FALSE;
+#endif
+ if (SearchPath(NULL, name, NULL, _MAX_PATH, fname, &dum) == 0)
+ return FALSE;
+ if (mch_isdir(fname))
+ return FALSE;
+ return TRUE;
}
#ifdef FEAT_GUI_W32
diff --git a/src/po/Makefile b/src/po/Makefile
index d54913062..364210c6e 100644
--- a/src/po/Makefile
+++ b/src/po/Makefile
@@ -97,8 +97,8 @@ zh_CN.cp936.po: zh_CN.po
# Convert ru.po to create ru.cp1251.po.
ru.cp1251.po: ru.po
rm -f ru.cp1251.po
- iconv -f koi8-r -t cp1251 ru.po | \
- sed -e 's/charset=koi8-r/charset=cp1251/' -e 's/# Original translations/# Generated from ru.po, DO NOT EDIT/' > ru.cp1251.po
+ iconv -f utf-8 -t cp1251 ru.po | \
+ sed -e 's/charset=utf-8/charset=cp1251/' -e 's/# Original translations/# Generated from ru.po, DO NOT EDIT/' > ru.cp1251.po
check:
@if test "x" = "x$(prefix)"; then \
diff --git a/src/po/ru.cp1251.po b/src/po/ru.cp1251.po
index f0b0ac2a4..85b1d6835 100644
--- a/src/po/ru.cp1251.po
+++ b/src/po/ru.cp1251.po
@@ -9,10 +9,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Vim 6.3a\n"
+"Project-Id-Version: Vim 6.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-05-10 21:37+0400\n"
-"PO-Revision-Date: 2004-05-10 21:37+0400\n"
+"POT-Creation-Date: 2004-06-15 09:39+0400\n"
+"PO-Revision-Date: 2004-05-19 00:23+0400\n"
"Last-Translator: vassily ragosin <vrr@users.sourceforge.net>\n"
"Language-Team: vassily ragosin <vrr@users.sourceforge.net>\n"
"MIME-Version: 1.0\n"
@@ -27,172 +27,172 @@ msgstr "E82: Невозможно выделить память даже для одного буфера, выход..."
msgid "E83: Cannot allocate buffer, using other one..."
msgstr "E83: Невозможно выделить память для буфера, используем другой буфер..."
-#: buffer.c:805
+#: buffer.c:808
#, c-format
msgid "E515: No buffers were unloaded"
msgstr "E515: Ни один буфер не был выгружен из памяти"
-#: buffer.c:807
+#: buffer.c:810
#, c-format
msgid "E516: No buffers were deleted"
msgstr "E516: Ни один буфер не был удалён"
-#: buffer.c:809
+#: buffer.c:812
#, c-format
msgid "E517: No buffers were wiped out"
msgstr "E517: Ни один буфер не был очищен"
-#: buffer.c:817
+#: buffer.c:820
msgid "1 buffer unloaded"
msgstr "Один буфер выгружен из памяти"
-#: buffer.c:819
+#: buffer.c:822
#, c-format
msgid "%d buffers unloaded"
msgstr "Всего выгружено буферов из памяти: %d"
-#: buffer.c:824
+#: buffer.c:827
msgid "1 buffer deleted"
msgstr "Один буфер удалён"
-#: buffer.c:826
+#: buffer.c:829
#, c-format
msgid "%d buffers deleted"
msgstr "Всего удалено буферов: %d"
-#: buffer.c:831
+#: buffer.c:834
msgid "1 buffer wiped out"
msgstr "Один буфер очищен"
-#: buffer.c:833
+#: buffer.c:836
#, c-format
msgid "%d buffers wiped out"
msgstr "Всего очищено буферов: %d"
-#: buffer.c:894
+#: buffer.c:897
msgid "E84: No modified buffer found"
msgstr "E84: Изменённых буферов не обнаружено"
#. back where we started, didn't find anything.
-#: buffer.c:933
+#: buffer.c:936
msgid "E85: There is no listed buffer"
msgstr "E85: Буферы в списке отсутствуют"
-#: buffer.c:945
+#: buffer.c:948
#, c-format
msgid "E86: Buffer %ld does not exist"
msgstr "E86: Буфер %ld не существует"
-#: buffer.c:948
+#: buffer.c:951
msgid "E87: Cannot go beyond last buffer"
msgstr "E87: Это последний буфер"
-#: buffer.c:950
+#: buffer.c:953
msgid "E88: Cannot go before first buffer"
msgstr "E88: Это первый буфер"
-#: buffer.c:988
+#: buffer.c:991
#, c-format
msgid "E89: No write since last change for buffer %ld (add ! to override)"
msgstr "E89: Изменения в буфере %ld не сохранены (!, чтобы обойти проверку)"
-#: buffer.c:1005
+#: buffer.c:1008
msgid "E90: Cannot unload last buffer"
msgstr "E90: Невозможно выгрузить из памяти последний буфер"
-#: buffer.c:1538
+#: buffer.c:1544
msgid "W14: Warning: List of file names overflow"
msgstr "W14: Предупреждение: переполнение списка имён файлов"
-#: buffer.c:1709
+#: buffer.c:1716
#, c-format
msgid "E92: Buffer %ld not found"
msgstr "E92: Буфер %ld не найден"
-#: buffer.c:1940
+#: buffer.c:1947
#, c-format
msgid "E93: More than one match for %s"
msgstr "E93: Несколько соответствий для %s"
-#: buffer.c:1942
+#: buffer.c:1949
#, c-format
msgid "E94: No matching buffer for %s"
msgstr "E94: Нет соответствующего %s буфера"
-#: buffer.c:2337
+#: buffer.c:2344
#, c-format
msgid "line %ld"
msgstr "строка %ld"
-#: buffer.c:2420
+#: buffer.c:2429
msgid "E95: Buffer with this name already exists"
msgstr "E95: Буфер с таким именем уже существует"
-#: buffer.c:2713
+#: buffer.c:2724
msgid " [Modified]"
msgstr " [Изменён]"
-#: buffer.c:2718
+#: buffer.c:2729
msgid "[Not edited]"
msgstr "[Не редактировался]"
-#: buffer.c:2723
+#: buffer.c:2734
msgid "[New file]"
msgstr "[Новый файл]"
-#: buffer.c:2724
+#: buffer.c:2735
msgid "[Read errors]"
msgstr "[Ошибки чтения]"
-#: buffer.c:2726 fileio.c:2112
+#: buffer.c:2737 fileio.c:2124
msgid "[readonly]"
msgstr "[только для чтения]"
-#: buffer.c:2747
+#: buffer.c:2758
#, c-format
msgid "1 line --%d%%--"
msgstr "Одна строка --%d%%--"
-#: buffer.c:2749
+#: buffer.c:2760
#, c-format
msgid "%ld lines --%d%%--"
msgstr "%ld стр. --%d%%--"
-#: buffer.c:2756
+#: buffer.c:2767
#, c-format
msgid "line %ld of %ld --%d%%-- col "
msgstr "стр. %ld из %ld --%d%%-- кол. "
-#: buffer.c:2864
+#: buffer.c:2875
msgid "[No file]"
msgstr "[Нет файла]"
#. must be a help buffer
-#: buffer.c:2904
+#: buffer.c:2915
msgid "help"
msgstr "справка"
-#: buffer.c:3463 screen.c:5075
+#: buffer.c:3474 screen.c:5079
msgid "[help]"
msgstr "[справка]"
-#: buffer.c:3495 screen.c:5081
+#: buffer.c:3506 screen.c:5085
msgid "[Preview]"
msgstr "[Предпросмотр]"
-#: buffer.c:3775
+#: buffer.c:3786
msgid "All"
msgstr "Весь"
-#: buffer.c:3775
+#: buffer.c:3786
msgid "Bot"
msgstr "Внизу"
-#: buffer.c:3777
+#: buffer.c:3788
msgid "Top"
msgstr "Наверху"
-#: buffer.c:4523
+#: buffer.c:4536
#, c-format
msgid ""
"\n"
@@ -201,15 +201,15 @@ msgstr ""
"\n"
"# Список буферов:\n"
-#: buffer.c:4556
+#: buffer.c:4569
msgid "[Error List]"
msgstr "[Список ошибок]"
-#: buffer.c:4569 memline.c:1520
+#: buffer.c:4582 memline.c:1521
msgid "[No File]"
msgstr "[Нет файла]"
-#: buffer.c:4882
+#: buffer.c:4895
msgid ""
"\n"
"--- Signs ---"
@@ -217,12 +217,12 @@ msgstr ""
"\n"
"--- Значки ---"
-#: buffer.c:4901
+#: buffer.c:4914
#, c-format
msgid "Signs for %s:"
msgstr "Значки для %s:"
-#: buffer.c:4907
+#: buffer.c:4920
#, c-format
msgid " line=%ld id=%d name=%s"
msgstr " строка=%ld id=%d имя=%s"
@@ -473,7 +473,7 @@ msgstr "E120: <SID> используется вне сценария: %s"
#. * this way has the compelling advantage that translations need not to
#. * be touched at all. See below what 'ok' and 'ync' are used for.
#.
-#: eval.c:3687 gui.c:4382 gui_gtk.c:2059
+#: eval.c:3687 gui.c:4385 gui_gtk.c:2059
msgid "&Ok"
msgstr "&Ok"
@@ -498,121 +498,121 @@ msgstr "Функция inputrestore() вызывается чаще, чем функция inputsave()"
msgid "E655: Too many symbolic links (cycle?)"
msgstr "E656: Слишком много символических ссылок (цикл?)"
-#: eval.c:6609
+#: eval.c:6626
msgid "E240: No connection to Vim server"
msgstr "E240: Нет связи с сервером Vim"
-#: eval.c:6706
+#: eval.c:6724
msgid "E277: Unable to read a server reply"
msgstr "E227: Сервер не отвечает"
-#: eval.c:6734
+#: eval.c:6752
msgid "E258: Unable to send to client"
msgstr "E258: Не могу ответить клиенту"
-#: eval.c:6782
+#: eval.c:6800
#, c-format
msgid "E241: Unable to send to %s"
msgstr "E241: Не могу отправить сообщение для %s"
-#: eval.c:6882
+#: eval.c:6900
msgid "(Invalid)"
msgstr "(Неправильно)"
-#: eval.c:8060
+#: eval.c:8078
#, c-format
msgid "E121: Undefined variable: %s"
msgstr "E121: Неопределенная переменная: %s"
-#: eval.c:8492
+#: eval.c:8510
#, c-format
msgid "E461: Illegal variable name: %s"
msgstr "E461: Недопустимое имя переменной: %s"
-#: eval.c:8784
+#: eval.c:8802
#, c-format
msgid "E122: Function %s already exists, add ! to replace it"
msgstr "E122: Функция %s уже существует. Добавьте !, чтобы заменить её."
-#: eval.c:8857
+#: eval.c:8875
#, c-format
msgid "E123: Undefined function: %s"
msgstr "E123: Неопределенная функция: %s"
-#: eval.c:8870
+#: eval.c:8888
#, c-format
msgid "E124: Missing '(': %s"
msgstr "E124: Пропущена '(': %s"
-#: eval.c:8903
+#: eval.c:8921
#, c-format
msgid "E125: Illegal argument: %s"
msgstr "E125: Недопустимый параметр: %s"
-#: eval.c:8982
+#: eval.c:9000
msgid "E126: Missing :endfunction"
msgstr "E126: Пропущена команда :endfunction"
-#: eval.c:9089
+#: eval.c:9107
#, c-format
msgid "E127: Cannot redefine function %s: It is in use"
msgstr "E127: Невозможно переопределить функцию %s, она используется"
-#: eval.c:9159
+#: eval.c:9177
msgid "E129: Function name required"
msgstr "E129: Требуется имя функции"
-#: eval.c:9210
+#: eval.c:9228
#, c-format
msgid "E128: Function name must start with a capital: %s"
msgstr "E128: Имя функции должно начинаться с прописной буквы: %s"
-#: eval.c:9402
+#: eval.c:9420
#, c-format
msgid "E130: Undefined function: %s"
msgstr "E130: Функция %s не определена"
-#: eval.c:9407
+#: eval.c:9425
#, c-format
msgid "E131: Cannot delete function %s: It is in use"
msgstr "E131: Невозможно удалить функцию %s, она используется"
-#: eval.c:9455
+#: eval.c:9473
msgid "E132: Function call depth is higher than 'maxfuncdepth'"
msgstr "E132: Глубина вызова функции больше, чем значение 'maxfuncdepth'"
#. always scroll up, don't overwrite
-#: eval.c:9508
+#: eval.c:9526
#, c-format
msgid "calling %s"
msgstr "вызов %s"
-#: eval.c:9570
+#: eval.c:9588
#, c-format
msgid "%s aborted"
msgstr "%s прервана"
-#: eval.c:9572
+#: eval.c:9590
#, c-format
msgid "%s returning #%ld"
msgstr "%s возвращает #%ld"
-#: eval.c:9579
+#: eval.c:9597
#, c-format
msgid "%s returning \"%s\""
msgstr "%s возвращает \"%s\""
#. always scroll up, don't overwrite
-#: eval.c:9595 ex_cmds2.c:2365
+#: eval.c:9613 ex_cmds2.c:2370
#, c-format
msgid "continuing in %s"
msgstr "продолжение в %s"
-#: eval.c:9621
+#: eval.c:9639
msgid "E133: :return not inside a function"
msgstr "E133: команда :return вне функции"
-#: eval.c:9952
+#: eval.c:9970
#, c-format
msgid ""
"\n"
@@ -728,7 +728,7 @@ msgstr "# Значение опции 'encoding' в момент записи файла\n"
msgid "Illegal starting char"
msgstr "Недопустимый начальный символ"
-#: ex_cmds.c:2097 ex_cmds.c:2362 ex_cmds2.c:763
+#: ex_cmds.c:2097 ex_cmds2.c:761
msgid "Save As"
msgstr "Сохранить как"
@@ -756,11 +756,11 @@ msgstr "Переписать существующий файл \"%.*s\"?"
msgid "E141: No file name for buffer %ld"
msgstr "E141: Буфер %ld не связан с именем файла"
-#: ex_cmds.c:2405
+#: ex_cmds.c:2406
msgid "E142: File not written: Writing is disabled by 'write' option"
msgstr "E142: Файл не сохранён: запись отключена опцией 'write'"
-#: ex_cmds.c:2425
+#: ex_cmds.c:2426
#, c-format
msgid ""
"'readonly' option is set for \"%.*s\".\n"
@@ -769,68 +769,68 @@ msgstr ""
"Для \"%.*s\" включена опция 'readonly'.\n"
"Записать?"
-#: ex_cmds.c:2597
+#: ex_cmds.c:2599
msgid "Edit File"
msgstr "Редактирование файла"
-#: ex_cmds.c:3205
+#: ex_cmds.c:3206
#, c-format
msgid "E143: Autocommands unexpectedly deleted new buffer %s"
msgstr "E143: Автокоманды неожиданно убили новый буфер %s"
-#: ex_cmds.c:3339
+#: ex_cmds.c:3340
msgid "E144: non-numeric argument to :z"
msgstr "E144: Параметр команды :z должен быть числом"
-#: ex_cmds.c:3424
+#: ex_cmds.c:3425
msgid "E145: Shell commands not allowed in rvim"
msgstr "E145: Использование команд оболочки не допускается в rvim."
-#: ex_cmds.c:3531
+#: ex_cmds.c:3532
msgid "E146: Regular expressions can't be delimited by letters"
msgstr "E146: Регулярные выражения не могут разделяться буквами"
-#: ex_cmds.c:3877
+#: ex_cmds.c:3878
#, c-format
msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
msgstr "заменить на %s? (y/n/a/q/l/^E/^Y)"
-#: ex_cmds.c:4270
+#: ex_cmds.c:4271
msgid "(Interrupted) "
msgstr "(Прервано)"
-#: ex_cmds.c:4274
+#: ex_cmds.c:4275
msgid "1 substitution"
msgstr "Одна замена"
-#: ex_cmds.c:4276
+#: ex_cmds.c:4277
#, c-format
msgid "%ld substitutions"
msgstr "%ld замен"
-#: ex_cmds.c:4279
+#: ex_cmds.c:4280
msgid " on 1 line"
msgstr " в одной строке"
-#: ex_cmds.c:4281
+#: ex_cmds.c:4282
#, c-format
msgid " on %ld lines"
msgstr " в %ld стр."
-#: ex_cmds.c:4332
+#: ex_cmds.c:4333
msgid "E147: Cannot do :global recursive"
msgstr "E147: Команда :global не может быть рекурсивной"
-#: ex_cmds.c:4367
+#: ex_cmds.c:4368
msgid "E148: Regular expression missing from global"
msgstr "E148: В команде :global пропущено регулярное выражение"
-#: ex_cmds.c:4416
+#: ex_cmds.c:4417
#, c-format
msgid "Pattern found in every line: %s"
msgstr "Соответствие шаблону найдено на каждой строке: %s"
-#: ex_cmds.c:4497
+#: ex_cmds.c:4498
#, c-format
msgid ""
"\n"
@@ -841,96 +841,96 @@ msgstr ""
"# Последняя строка для замены:\n"
"$"
-#: ex_cmds.c:4598
+#: ex_cmds.c:4599
msgid "E478: Don't panic!"
msgstr "E478: Спокойствие, только спокойствие!"
-#: ex_cmds.c:4650
+#: ex_cmds.c:4651
#, c-format
msgid "E661: Sorry, no '%s' help for %s"
msgstr "E661: к сожалению, справка '%s' для %s отсутствует"
-#: ex_cmds.c:4653
+#: ex_cmds.c:4654
#, c-format
msgid "E149: Sorry, no help for %s"
msgstr "E149: К сожалению справка для %s отсутствует"
-#: ex_cmds.c:4687
+#: ex_cmds.c:4688
#, c-format
msgid "Sorry, help file \"%s\" not found"
msgstr "Извините, файл справки \"%s\" не найден"
-#: ex_cmds.c:5170
+#: ex_cmds.c:5191
#, c-format
msgid "E150: Not a directory: %s"
msgstr "E150: %s не является каталогом"
-#: ex_cmds.c:5309
+#: ex_cmds.c:5330
#, c-format
msgid "E152: Cannot open %s for writing"
msgstr "E152: Невозможно открыть %s для записи"
-#: ex_cmds.c:5345
+#: ex_cmds.c:5366
#, c-format
msgid "E153: Unable to open %s for reading"
msgstr "E153: Невозможно открыть %s для чтения"
-#: ex_cmds.c:5367
+#: ex_cmds.c:5388
#, c-format
msgid "E670: Mix of help file encodings within a language: %s"
msgstr "E670: Файлы справки используют разные кодировки для одного языка: %s"
-#: ex_cmds.c:5445
+#: ex_cmds.c:5466
#, c-format
msgid "E154: Duplicate tag \"%s\" in file %s"
msgstr "E154: Повторяющаяся метка \"%s\" в файле %s"
-#: ex_cmds.c:5557
+#: ex_cmds.c:5578
#, c-format
msgid "E160: Unknown sign command: %s"
msgstr "E160: Неизвестная команда значка %s"
-#: ex_cmds.c:5577
+#: ex_cmds.c:5598
msgid "E156: Missing sign name"
msgstr "E156: Пропущено имя значка"
-#: ex_cmds.c:5623
+#: ex_cmds.c:5644
msgid "E612: Too many signs defined"
msgstr "E612: Определено слишком много значков"
-#: ex_cmds.c:5691
+#: ex_cmds.c:5712
#, c-format
msgid "E239: Invalid sign text: %s"
msgstr "E239: Неправильный текст значка: %s"
-#: ex_cmds.c:5722 ex_cmds.c:5913
+#: ex_cmds.c:5743 ex_cmds.c:5934
#, c-format
msgid "E155: Unknown sign: %s"
msgstr "E155: Неизвестный значок: %s"
-#: ex_cmds.c:5771
+#: ex_cmds.c:5792
msgid "E159: Missing sign number"
msgstr "E159: Пропущен номер значка"
-#: ex_cmds.c:5853
+#: ex_cmds.c:5874
#, c-format
msgid "E158: Invalid buffer name: %s"
msgstr "E158: Неправильное имя буфера: %s"
-#: ex_cmds.c:5892
+#: ex_cmds.c:5913
#, c-format
msgid "E157: Invalid sign ID: %ld"
msgstr "E157: Неправильный ID значка: %ld"
-#: ex_cmds.c:5962
+#: ex_cmds.c:5983
msgid " (NOT FOUND)"
msgstr " (НЕ НАЙДЕНО)"
-#: ex_cmds.c:5964
+#: ex_cmds.c:5985
msgid " (not supported)"
msgstr " (не поддерживается)"
-#: ex_cmds.c:6063
+#: ex_cmds.c:6084
msgid "[Deleted]"
msgstr "[Удалено]"
@@ -938,7 +938,7 @@ msgstr "[Удалено]"
msgid "Entering Debug mode. Type \"cont\" to continue."
msgstr "Включён режим отладки. Для продолжения наберите \"cont\""
-#: ex_cmds2.c:96 ex_docmd.c:966
+#: ex_cmds2.c:96 ex_docmd.c:968
#, c-format
msgid "line %ld: %s"
msgstr "строка %ld: %s"
@@ -972,7 +972,7 @@ msgstr "%3d %s %s стр. %ld"
msgid "Save changes to \"%.*s\"?"
msgstr "Сохранить изменения в \"%.*s\"?"
-#: ex_cmds2.c:788 ex_docmd.c:9378
+#: ex_cmds2.c:788 ex_docmd.c:9398
msgid "Untitled"
msgstr "Без имени"
@@ -1003,168 +1003,168 @@ msgstr "E165: Это последний файл"
msgid "E666: compiler not supported: %s"
msgstr "E666: компилятор не поддерживается: %s"
-#: ex_cmds2.c:1897
+#: ex_cmds2.c:1901
#, c-format
msgid "Searching for \"%s\" in \"%s\""
msgstr "Поиск \"%s\" в \"%s\""
-#: ex_cmds2.c:1919
+#: ex_cmds2.c:1923
#, c-format
msgid "Searching for \"%s\""
msgstr "Поиск \"%s\""
-#: ex_cmds2.c:1940
+#: ex_cmds2.c:1945
#, c-format
msgid "not found in 'runtimepath': \"%s\""
msgstr "не найдено в 'runtimepath': \"%s\""
-#: ex_cmds2.c:1974
+#: ex_cmds2.c:1979
msgid "Source Vim script"
msgstr "Выполнить сценарий Vim"
-#: ex_cmds2.c:2164
+#: ex_cmds2.c:2169
#, c-format
msgid "Cannot source a directory: \"%s\""
msgstr "Нельзя считать каталог: \"%s\""
-#: ex_cmds2.c:2202
+#: ex_cmds2.c:2207
#, c-format
msgid "could not source \"%s\""
msgstr "невозможно считать \"%s\""
-#: ex_cmds2.c:2204
+#: ex_cmds2.c:2209
#, c-format
msgid "line %ld: could not source \"%s\""
msgstr "строка %ld: невозможно считать \"%s\""
-#: ex_cmds2.c:2218
+#: ex_cmds2.c:2223
#, c-format
msgid "sourcing \"%s\""
msgstr "считывание сценария \"%s\""
-#: ex_cmds2.c:2220
+#: ex_cmds2.c:2225
#, c-format
msgid "line %ld: sourcing \"%s\""
msgstr "строка %ld: считывание \"%s\""
-#: ex_cmds2.c:2363
+#: ex_cmds2.c:2368
#, c-format
msgid "finished sourcing %s"
msgstr "считывание сценария %s завершено"
-#: ex_cmds2.c:2707
+#: ex_cmds2.c:2712
msgid "W15: Warning: Wrong line separator, ^M may be missing"
msgstr ""
"W15: Предупреждение: неправильный разделитель строки. Возможно пропущено ^M"
-#: ex_cmds2.c:2756
+#: ex_cmds2.c:2761
msgid "E167: :scriptencoding used outside of a sourced file"
msgstr "E167: Команда :scriptencoding используется вне файла сценария"
-#: ex_cmds2.c:2789
+#: ex_cmds2.c:2794
msgid "E168: :finish used outside of a sourced file"
msgstr "E168: Команда :finish используется вне файла сценария"
-#: ex_cmds2.c:3238
+#: ex_cmds2.c:3243
#, c-format
msgid "Page %d"
msgstr "Страница %d"
-#: ex_cmds2.c:3394
+#: ex_cmds2.c:3399
msgid "No text to be printed"
msgstr "Печатать нечего"
-#: ex_cmds2.c:3472
+#: ex_cmds2.c:3477
#, c-format
msgid "Printing page %d (%d%%)"
msgstr "Печать стр. %d (%d%%)"
-#: ex_cmds2.c:3484
+#: ex_cmds2.c:3489
#, c-format
msgid " Copy %d of %d"
msgstr " Копия %d из %d"
-#: ex_cmds2.c:3542
+#: ex_cmds2.c:3547
#, c-format
msgid "Printed: %s"
msgstr "Напечатано: %s"
-#: ex_cmds2.c:3549
+#: ex_cmds2.c:3554
#, c-format
msgid "Printing aborted"
msgstr "Печать прекращена"
-#: ex_cmds2.c:3914
+#: ex_cmds2.c:3919
msgid "E455: Error writing to PostScript output file"
msgstr "E455: Ошибка записи в файл PostScript"
-#: ex_cmds2.c:4189
+#: ex_cmds2.c:4194
#, c-format
msgid "E624: Can't open file \"%s\""
msgstr "E624: Невозможно открыть файл \"%s\""
-#: ex_cmds2.c:4199 ex_cmds2.c:4824
+#: ex_cmds2.c:4204 ex_cmds2.c:4829
#, c-format
msgid "E457: Can't read PostScript resource file \"%s\""
msgstr "E457: Невозможно прочитать файл ресурсов PostScript \"%s\""
-#: ex_cmds2.c:4207
+#: ex_cmds2.c:4212
#, c-format
msgid "E618: file \"%s\" is not a PostScript resource file"
msgstr "E618: файл \"%s\" не является файлом ресурсов PostScript"
-#: ex_cmds2.c:4222 ex_cmds2.c:4242 ex_cmds2.c:4257 ex_cmds2.c:4279
+#: ex_cmds2.c:4227 ex_cmds2.c:4247 ex_cmds2.c:4262 ex_cmds2.c:4284
#, c-format
msgid "E619: file \"%s\" is not a supported PostScript resource file"
msgstr "E619: файл \"%s\" не является допустимым файлом ресурсов PostScript"
-#: ex_cmds2.c:4309
+#: ex_cmds2.c:4314
#, c-format
msgid "E621: \"%s\" resource file has wrong version"
msgstr "E621: файл ресурсов \"%s\" неизвестной версии"
-#: ex_cmds2.c:4776
+#: ex_cmds2.c:4781
msgid "E324: Can't open PostScript output file"
msgstr "E324: Невозможно открыть файл PostScript"
-#: ex_cmds2.c:4809
+#: ex_cmds2.c:4814
#, c-format
msgid "E456: Can't open file \"%s\""
msgstr "E456: Невозможно открыть файл \"%s\""
-#: ex_cmds2.c:4928
+#: ex_cmds2.c:4933
msgid "E456: Can't find PostScript resource file \"prolog.ps\""
msgstr "E456: Файл ресурсов PostScript \"prolog.ps\" не найден"
-#: ex_cmds2.c:4959
+#: ex_cmds2.c:4964
#, c-format
msgid "E456: Can't find PostScript resource file \"%s.ps\""
msgstr "E456: Файл ресурсов PostScript \"%s.ps\" не найден"
-#: ex_cmds2.c:4977
+#: ex_cmds2.c:4982
#, c-format
msgid "E620: Unable to convert from multi-byte to \"%s\" encoding"
msgstr ""
"E620: Преобразование из мультибайтных символов в кодировку \"%s\" невозможно"
-#: ex_cmds2.c:5102
+#: ex_cmds2.c:5107
msgid "Sending to printer..."
msgstr "Отправка на печать..."
-#: ex_cmds2.c:5106
+#: ex_cmds2.c:5111
msgid "E365: Failed to print PostScript file"
msgstr "E365: Не удалось выполнить печать файла PostScript"
-#: ex_cmds2.c:5108
+#: ex_cmds2.c:5113
msgid "Print job sent."
msgstr "Задание на печать отправлено."
-#: ex_cmds2.c:5618
+#: ex_cmds2.c:5623
#, c-format
msgid "Current %slanguage: \"%s\""
msgstr "Активный %sязык: \"%s\""
-#: ex_cmds2.c:5629
+#: ex_cmds2.c:5634
#, c-format
msgid "E197: Cannot set language to \"%s\""
msgstr "E197: Невозможно сменить язык на \"%s\""
@@ -1178,74 +1178,74 @@ msgstr "Переход в режим Ex. Для перехода в Обычный режим наберите \"visual\""
msgid "E501: At end-of-file"
msgstr "E501: В конце файла"
-#: ex_docmd.c:669
+#: ex_docmd.c:670
msgid "E169: Command too recursive"
msgstr "E169: Cлишком рекурсивная команда"
-#: ex_docmd.c:1229
+#: ex_docmd.c:1232
#, c-format
msgid "E605: Exception not caught: %s"
msgstr "E605: Исключительная ситуация не обработана: %s"
-#: ex_docmd.c:1317
+#: ex_docmd.c:1320
msgid "End of sourced file"
msgstr "Конец считанного файла"
-#: ex_docmd.c:1318
+#: ex_docmd.c:1321
msgid "End of function"
msgstr "Конец функции"
-#: ex_docmd.c:1907
+#: ex_docmd.c:1910
msgid "E464: Ambiguous use of user-defined command"
msgstr "E464: Неоднозначное использование команды пользователя"
-#: ex_docmd.c:1921
+#: ex_docmd.c:1924
msgid "E492: Not an editor command"
msgstr "E492: Это не команда редактора"
-#: ex_docmd.c:2028
+#: ex_docmd.c:2031
msgid "E493: Backwards range given"
msgstr "E493: Задан обратный диапазон"
-#: ex_docmd.c:2037
+#: ex_docmd.c:2040
msgid "Backwards range given, OK to swap"
msgstr "Задан обратный диапазон, меняем границы местами"
-#: ex_docmd.c:2160
+#: ex_docmd.c:2163
msgid "E494: Use w or w>>"
msgstr "E494: Используйте w или w>>"
-#: ex_docmd.c:3786
+#: ex_docmd.c:3789
msgid "E319: Sorry, the command is not available in this version"
msgstr "E319: Извините, эта команда недоступна в данной версии"
-#: ex_docmd.c:3989
+#: ex_docmd.c:3992
msgid "E172: Only one file name allowed"
msgstr "E172: Разрешено использовать только одно имя файла"
-#: ex_docmd.c:4569
+#: ex_docmd.c:4572
msgid "1 more file to edit. Quit anyway?"
msgstr "1 файл ожидает редактирования. Выйти?"
-#: ex_docmd.c:4572
+#: ex_docmd.c:4575
#, c-format
msgid "%d more files to edit. Quit anyway?"
msgstr "Есть неотредактированные файлы (%d). Выйти?"
-#: ex_docmd.c:4579
+#: ex_docmd.c:4582
msgid "E173: 1 more file to edit"
msgstr "E173: 1 файл ожидает редактирования."
-#: ex_docmd.c:4581
+#: ex_docmd.c:4584
#, c-format
msgid "E173: %ld more files to edit"
msgstr "E173: Есть неотредактированные файлы (%d)."
-#: ex_docmd.c:4676
+#: ex_docmd.c:4679
msgid "E174: Command already exists: add ! to replace it"
msgstr "E174: Команда уже существует. Добавьте ! для замены."
-#: ex_docmd.c:4787
+#: ex_docmd.c:4790
msgid ""
"\n"
" Name Args Range Complete Definition"
@@ -1253,177 +1253,177 @@ msgstr ""
"\n"
" Имя Парам. Диап. Дополн. Определение"
-#: ex_docmd.c:4876
+#: ex_docmd.c:4879
msgid "No user-defined commands found"
msgstr "Команды, определённые пользователем, не обнаружены."
-#: ex_docmd.c:4908
+#: ex_docmd.c:4911
msgid "E175: No attribute specified"
msgstr "E175: параметр не задан"
-#: ex_docmd.c:4960
+#: ex_docmd.c:4963
msgid "E176: Invalid number of arguments"
msgstr "E176: Неправильное количество параметров"
-#: ex_docmd.c:4975
+#: ex_docmd.c:4978
msgid "E177: Count cannot be specified twice"
msgstr "E177: Число-приставку нельзя указывать дважды"
-#: ex_docmd.c:4985
+#: ex_docmd.c:4988
msgid "E178: Invalid default value for count"
msgstr "E178: Неправильное значение числа-приставки по умолчанию"
-#: ex_docmd.c:5016
+#: ex_docmd.c:5019
msgid "E179: argument required for complete"
msgstr "E179: для завершения требуется указать параметр"
-#: ex_docmd.c:5048
+#: ex_docmd.c:5051
#, c-format
msgid "E180: Invalid complete value: %s"
msgstr "E180: Неправильное значение дополнения: %s"
-#: ex_docmd.c:5057
+#: ex_docmd.c:5060
msgid "E468: Completion argument only allowed for custom completion"
msgstr ""
"E468: Параметр автодополнения можно использовать только с особым дополнением"
-#: ex_docmd.c:5063
+#: ex_docmd.c:5066
msgid "E467: Custom completion requires a function argument"
msgstr "E467: Особое дополнение требует указания параметра функции"
-#: ex_docmd.c:5074
+#: ex_docmd.c:5077
#, c-format
msgid "E181: Invalid attribute: %s"
msgstr "E181: Неправильный атрибут: %s"
-#: ex_docmd.c:5117
+#: ex_docmd.c:5120
msgid "E182: Invalid command name"
msgstr "E182: Неправильное имя команды"
-#: ex_docmd.c:5132
+#: ex_docmd.c:5135
msgid "E183: User defined commands must start with an uppercase letter"
msgstr "E183: Команда пользователя должна начинаться с заглавной буквы"
-#: ex_docmd.c:5203
+#: ex_docmd.c:5206
#, c-format
msgid "E184: No such user-defined command: %s"
msgstr "E184: Нет такой команды пользователя: %s"
-#: ex_docmd.c:5664
+#: ex_docmd.c:5667
#, c-format
msgid "E185: Cannot find color scheme %s"
msgstr "E185: Цветовая схема %s не найдена"
-#: ex_docmd.c:5672
+#: ex_docmd.c:5675
msgid "Greetings, Vim user!"
msgstr "Привет, пользователь Vim!"
-#: ex_docmd.c:6389
+#: ex_docmd.c:6393
msgid "Edit File in new window"
msgstr "Редактировать файл в новом окне"
-#: ex_docmd.c:6684
+#: ex_docmd.c:6688
msgid "No swap file"
msgstr "Без своп-файла"
-#: ex_docmd.c:6788
+#: ex_docmd.c:6792
msgid "Append File"
msgstr "Добавить файл"
-#: ex_docmd.c:6852
+#: ex_docmd.c:6856
msgid "E186: No previous directory"
msgstr "E186: Нет предыдущего каталога"
-#: ex_docmd.c:6934
+#: ex_docmd.c:6938
msgid "E187: Unknown"
msgstr "E187: Неизвестно"
-#: ex_docmd.c:7019
+#: ex_docmd.c:7023
msgid "E465: :winsize requires two number arguments"
msgstr "E465: команда :winsize требует указания двух числовых параметров"
-#: ex_docmd.c:7075
+#: ex_docmd.c:7079
#, c-format
msgid "Window position: X %d, Y %d"
msgstr "Положение окна: X %d, Y %d"
-#: ex_docmd.c:7080
+#: ex_docmd.c:7084
msgid "E188: Obtaining window position not implemented for this platform"
msgstr "E188: В данной системе определение положения окна не работает"
-#: ex_docmd.c:7090
+#: ex_docmd.c:7094
msgid "E466: :winpos requires two number arguments"
msgstr "E466: команда :winpos требует указания двух числовых параметров"
-#: ex_docmd.c:7368
+#: ex_docmd.c:7372
msgid "Save Redirection"
msgstr "Перенаправление записи"
-#: ex_docmd.c:7558
+#: ex_docmd.c:7562
msgid "Save View"
msgstr "Сохранение вида"
-#: ex_docmd.c:7559
+#: ex_docmd.c:7563
msgid "Save Session"
msgstr "Сохранение сеанса"
-#: ex_docmd.c:7561
+#: ex_docmd.c:7565
msgid "Save Setup"
msgstr "Сохранение настроек"
-#: ex_docmd.c:7713
+#: ex_docmd.c:7717
#, c-format
msgid "E189: \"%s\" exists (add ! to override)"
msgstr "E189: \"%s\" существует (!, чтобы обойти проверку)"
-#: ex_docmd.c:7718
+#: ex_docmd.c:7722
#, c-format
msgid "E190: Cannot open \"%s\" for writing"
msgstr "E190: Невозможно открыть для записи \"%s\""
#. set mark
-#: ex_docmd.c:7742
+#: ex_docmd.c:7746
msgid "E191: Argument must be a letter or forward/backward quote"
msgstr "E191: Параметр должен быть прямой/обратной кавычкой или буквой"
-#: ex_docmd.c:7784
+#: ex_docmd.c:7788
msgid "E192: Recursive use of :normal too deep"
msgstr "E192: Слишком глубокая рекурсия при использовании команды :normal"
-#: ex_docmd.c:8302
+#: ex_docmd.c:8306
msgid "E194: No alternate file name to substitute for '#'"
msgstr "E194: Нет соседнего имени файла для замены '#'"
-#: ex_docmd.c:8333
+#: ex_docmd.c:8337
msgid "E495: no autocommand file name to substitute for \"<afile>\""
msgstr "E495: Нет автокомандного имени файла для замены \"<afile>\""
-#: ex_docmd.c:8341
+#: ex_docmd.c:8345
msgid "E496: no autocommand buffer number to substitute for \"<abuf>\""
msgstr "E496: Нет автокомандного номера буфера для замены \"<abuf>\""
-#: ex_docmd.c:8352
+#: ex_docmd.c:8356
msgid "E497: no autocommand match name to substitute for \"<amatch>\""
msgstr "E497: Нет автокомандного имени соответствия для замены \"<amatch>\""
-#: ex_docmd.c:8362
+#: ex_docmd.c:8366
msgid "E498: no :source file name to substitute for \"<sfile>\""
msgstr "E498: нет имени файла :source для замены \"<sfile>\""
-#: ex_docmd.c:8403
+#: ex_docmd.c:8407
#, no-c-format
msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
msgstr "E499: Пустое имя файла для '%' или '#', возможно только c \":p:h\""
-#: ex_docmd.c:8405
+#: ex_docmd.c:8409
msgid "E500: Evaluates to an empty string"
msgstr "E500: Результатом выражения является пустая строка"
-#: ex_docmd.c:9360
+#: ex_docmd.c:9380
msgid "E195: Cannot open viminfo file for reading"
msgstr "E195: Невозможно открыть файл viminfo для чтения"
-#: ex_docmd.c:9533
+#: ex_docmd.c:9553
msgid "E196: No digraphs in this version"
msgstr "E196: В этой версии диграфы не работают"
@@ -1482,7 +1482,7 @@ msgstr "Исключительная ситуация"
msgid "Error and interrupt"
msgstr "Ошибка и прерывание"
-#: ex_eval.c:754 gui.c:4381
+#: ex_eval.c:754 gui.c:4384
msgid "Error"
msgstr "Ошибка"
@@ -1558,19 +1558,19 @@ msgstr "E602: :endtry без :try"
msgid "E193: :endfunction not inside a function"
msgstr "E193: команда :endfunction может использоваться только внутри функции"
-#: ex_getln.c:3296
+#: ex_getln.c:3299
msgid "tagname"
msgstr "имя метки"
-#: ex_getln.c:3299
+#: ex_getln.c:3302
msgid " kind file\n"
msgstr " тип файла\n"
-#: ex_getln.c:4752
+#: ex_getln.c:4768
msgid "'history' option is zero"
msgstr "значение опции 'history' равно нулю"
-#: ex_getln.c:5023
+#: ex_getln.c:5039
#, c-format
msgid ""
"\n"
@@ -1579,259 +1579,259 @@ msgstr ""
"\n"
"# %s, история (начиная от свежего к старому):\n"
-#: ex_getln.c:5024
+#: ex_getln.c:5040
msgid "Command Line"
msgstr "Командная строка"
-#: ex_getln.c:5025
+#: ex_getln.c:5041
msgid "Search String"
msgstr "Строка поиска"
-#: ex_getln.c:5026
+#: ex_getln.c:5042
msgid "Expression"
msgstr "Выражение"
-#: ex_getln.c:5027
+#: ex_getln.c:5043
msgid "Input Line"
msgstr "Строка ввода"
-#: ex_getln.c:5065
+#: ex_getln.c:5081
msgid "E198: cmd_pchar beyond the command length"
msgstr "E198: cmd_pchar больше длины команды"
-#: ex_getln.c:5242
+#: ex_getln.c:5258
msgid "E199: Active window or buffer deleted"
msgstr "E199: Удалено активное окно или буфер"
-#: fileio.c:377
+#: fileio.c:378
msgid "Illegal file name"
msgstr "Недопустимое имя файла"
-#: fileio.c:401 fileio.c:535 fileio.c:2913 fileio.c:2954
+#: fileio.c:402 fileio.c:540 fileio.c:2925 fileio.c:2966
msgid "is a directory"
msgstr "является каталогом"
-#: fileio.c:403
+#: fileio.c:404
msgid "is not a file"
msgstr "не является файлом"
-#: fileio.c:557 fileio.c:4131
+#: fileio.c:562 fileio.c:4143
msgid "[New File]"
msgstr "[Новый файл]"
-#: fileio.c:590
+#: fileio.c:595
msgid "[Permission Denied]"
msgstr "[Доступ запрещён]"
-#: fileio.c:694
+#: fileio.c:706
msgid "E200: *ReadPre autocommands made the file unreadable"
msgstr "E200: В результате выполнения автокоманд *ReadPre файл стал нечитаемым"
-#: fileio.c:696
+#: fileio.c:708
msgid "E201: *ReadPre autocommands must not change current buffer"
msgstr "E201: автокоманды *ReadPre не должны изменять активный буфер"
-#: fileio.c:717
+#: fileio.c:729
msgid "Vim: Reading from stdin...\n"
msgstr "Vim: выполняется чтение из стандартного потока ввода stdin...\n"
-#: fileio.c:723
+#: fileio.c:735
msgid "Reading from stdin..."
msgstr "Выполняется чтение из стандартного потока ввода stdin..."
#. Re-opening the original file failed!
-#: fileio.c:1000
+#: fileio.c:1012
msgid "E202: Conversion made file unreadable!"
msgstr "E202: В результате преобразования файл стал нечитаемым!"
-#: fileio.c:2090
+#: fileio.c:2102
msgid "[fifo/socket]"
msgstr "[fifo/гнездо]"
-#: fileio.c:2097
+#: fileio.c:2109
msgid "[fifo]"
msgstr "[fifo]"
-#: fileio.c:2104
+#: fileio.c:2116
msgid "[socket]"
msgstr "[гнездо]"
-#: fileio.c:2112
+#: fileio.c:2124
msgid "[RO]"
msgstr "[RO]"
-#: fileio.c:2122
+#: fileio.c:2134
msgid "[CR missing]"
msgstr "[пропущены символы CR]"
-#: fileio.c:2127
+#: fileio.c:2139
msgid "[NL found]"
msgstr "[Обнаружены символы NL]"
-#: fileio.c:2132
+#: fileio.c:2144
msgid "[long lines split]"
msgstr "[длинные строки разбиты]"
-#: fileio.c:2138 fileio.c:4115
+#: fileio.c:2150 fileio.c:4127
msgid "[NOT converted]"
msgstr "[БЕЗ преобразований]"
-#: fileio.c:2143 fileio.c:4120
+#: fileio.c:2155 fileio.c:4132
msgid "[converted]"
msgstr "[перекодировано]"
-#: fileio.c:2150 fileio.c:4145
+#: fileio.c:2162 fileio.c:4157
msgid "[crypted]"
msgstr "[зашифровано]"
-#: fileio.c:2157
+#: fileio.c:2169
msgid "[CONVERSION ERROR]"
msgstr "[ОШИБКА ПРЕОБРАЗОВАНИЯ]"
-#: fileio.c:2163
+#: fileio.c:2175
#, c-format
msgid "[ILLEGAL BYTE in line %ld]"
msgstr "[НЕДОПУСТИМЫЙ БАЙТ в строке %ld]"
-#: fileio.c:2170
+#: fileio.c:2182
msgid "[READ ERRORS]"
msgstr "[ОШИБКИ ЧТЕНИЯ]"
-#: fileio.c:2386
+#: fileio.c:2398
msgid "Can't find temp file for conversion"
msgstr "Временный файл для перекодирования не найден"
-#: fileio.c:2393
+#: fileio.c:2405
msgid "Conversion with 'charconvert' failed"
msgstr "Преобразование с помощью 'charconvert' не выполнено"
-#: fileio.c:2396
+#: fileio.c:2408
msgid "can't read output of 'charconvert'"
msgstr "невозможно прочитать вывод 'charconvert'"
-#: fileio.c:2796
+#: fileio.c:2808
msgid "E203: Autocommands deleted or unloaded buffer to be written"
msgstr ""
"E203: Буфер, который требовалось записать, удалён или выгружен автокомандой"
-#: fileio.c:2819
+#: fileio.c:2831
msgid "E204: Autocommand changed number of lines in unexpected way"
msgstr "E204: Количество строк изменено автокомандой неожиданным образом"
-#: fileio.c:2857
+#: fileio.c:2869
msgid "NetBeans dissallows writes of unmodified buffers"
msgstr "NetBeans не позволяет выполнять запись неизменённых буферов"
-#: fileio.c:2865
+#: fileio.c:2877
msgid "Partial writes disallowed for NetBeans buffers"
msgstr "Частичная запись буферов NetBeans не допускается"
-#: fileio.c:2919 fileio.c:2937
+#: fileio.c:2931 fileio.c:2949
msgid "is not a file or writable device"
msgstr "не является файлом или устройством, доступным для записи"
-#: fileio.c:2989
+#: fileio.c:3001
msgid "is read-only (add ! to override)"
msgstr "открыт только для чтения (!, чтобы обойти проверку)"
-#: fileio.c:3335
+#: fileio.c:3347
msgid "E506: Can't write to backup file (add ! to override)"
msgstr "E506: Запись в резервный файл невозможна (!, чтобы обойти проверку)"
-#: fileio.c:3347
+#: fileio.c:3359
msgid "E507: Close error for backup file (add ! to override)"
msgstr "E507: Ошибка закрытия резервного файла (!, чтобы обойти проверку)"
-#: fileio.c:3349
+#: fileio.c:3361
msgid "E508: Can't read file for backup (add ! to override)"
msgstr "E508: Невозможно прочитать резервный файл (!, чтобы обойти проверку)"
-#: fileio.c:3365
+#: fileio.c:3377
msgid "E509: Cannot create backup file (add ! to override)"
msgstr "E509: Невозможно создать резервный файл (!, чтобы обойти проверку)"
-#: fileio.c:3468
+#: fileio.c:3480
msgid "E510: Can't make backup file (add ! to override)"
msgstr "E510: Невозможно создать резервный файл (!, чтобы обойти проверку)"
-#: fileio.c:3530
+#: fileio.c:3542
msgid "E460: The resource fork would be lost (add ! to override)"
msgstr "E460: Вилка ресурса будет потеряна (!, чтобы обойти проверку)"
-#: fileio.c:3640
+#: fileio.c:3652
msgid "E214: Can't find temp file for writing"
msgstr "E214: Временный файл для записи не найден"
-#: fileio.c:3658
+#: fileio.c:3670
msgid "E213: Cannot convert (add ! to write without conversion)"
msgstr "E213: Перекодировка невозможна (! для записи без перекодировки)"
-#: fileio.c:3693
+#: fileio.c:3705
msgid "E166: Can't open linked file for writing"
msgstr "E166: Невозможно открыть связанный файл для записи"
-#: fileio.c:3697
+#: fileio.c:3709
msgid "E212: Can't open file for writing"
msgstr "E212: Невозможно открыть файл для записи"
-#: fileio.c:3959
+#: fileio.c:3971
msgid "E667: Fsync failed"
msgstr "E667: Не удалось выполнить функцию fsync()"
-#: fileio.c:3966
+#: fileio.c:3978
msgid "E512: Close failed"
msgstr "E512: Операция закрытия не удалась"
-#: fileio.c:4037
+#: fileio.c:4049
msgid "E513: write error, conversion failed"
msgstr "E513: Ошибка записи, преобразование не удалось"
-#: fileio.c:4043
+#: fileio.c:4055
msgid "E514: write error (file system full?)"
msgstr "E514: ошибка записи (нет свободного места?)"
-#: fileio.c:4110
+#: fileio.c:4122
msgid " CONVERSION ERROR"
msgstr " ОШИБКА ПРЕОБРАЗОВАНИЯ"
-#: fileio.c:4126
+#: fileio.c:4138
msgid "[Device]"
msgstr "[Устройство]"
-#: fileio.c:4131
+#: fileio.c:4143
msgid "[New]"
msgstr "[Новый]"
-#: fileio.c:4153
+#: fileio.c:4165
msgid " [a]"
msgstr " [a]"
-#: fileio.c:4153
+#: fileio.c:4165
msgid " appended"
msgstr " добавлено"
-#: fileio.c:4155
+#: fileio.c:4167
msgid " [w]"
msgstr " [w]"
-#: fileio.c:4155
+#: fileio.c:4167
msgid " written"
msgstr " записано"
-#: fileio.c:4205
+#: fileio.c:4217
msgid "E205: Patchmode: can't save original file"
msgstr "E205: Режим заплатки: невозможно сохранение исходного файла"
-#: fileio.c:4227
+#: fileio.c:4239
msgid "E206: patchmode: can't touch empty original file"
msgstr ""
"E206: Режим заплатки: невозможно сменить параметры пустого исходного файла"
-#: fileio.c:4242
+#: fileio.c:4254
msgid "E207: Can't delete backup file"
msgstr "E207: Невозможно удалить резервный файл"
-#: fileio.c:4306
+#: fileio.c:4318
msgid ""
"\n"
"WARNING: Original file may be lost or damaged\n"
@@ -1839,96 +1839,96 @@ msgstr ""
"\n"
"ПРЕДУПРЕЖДЕНИЕ: Исходный файл может быть утрачен или повреждён\n"
-#: fileio.c:4308
+#: fileio.c:4320
msgid "don't quit the editor until the file is successfully written!"
msgstr "не выходите из редактора, пока файл не будет успешно записан!"
-#: fileio.c:4397
+#: fileio.c:4409
msgid "[dos]"
msgstr "[dos]"
-#: fileio.c:4397
+#: fileio.c:4409
msgid "[dos format]"
msgstr "[формат dos]"
-#: fileio.c:4404
+#: fileio.c:4416
msgid "[mac]"
msgstr "[mac]"
-#: fileio.c:4404
+#: fileio.c:4416
msgid "[mac format]"
msgstr "[формат mac]"
-#: fileio.c:4411
+#: fileio.c:4423
msgid "[unix]"
msgstr "[unix]"
-#: fileio.c:4411
+#: fileio.c:4423
msgid "[unix format]"
msgstr "[формат unix]"
-#: fileio.c:4438
+#: fileio.c:4450
msgid "1 line, "
msgstr "1 строка, "
-#: fileio.c:4440
+#: fileio.c:4452
#, c-format
msgid "%ld lines, "
msgstr "строк: %ld, "
-#: fileio.c:4443
+#: fileio.c:4455
msgid "1 character"
msgstr "1 символ"
-#: fileio.c:4445
+#: fileio.c:4457
#, c-format
msgid "%ld characters"
msgstr "символов: %ld"
-#: fileio.c:4455
+#: fileio.c:4467
msgid "[noeol]"
msgstr "[noeol]"
-#: fileio.c:4455
+#: fileio.c:4467
msgid "[Incomplete last line]"
msgstr "[Незавершённая последняя строка]"
#. don't overwrite messages here
#. must give this prompt
#. don't use emsg() here, don't want to flush the buffers
-#: fileio.c:4474
+#: fileio.c:4486
msgid "WARNING: The file has been changed since reading it!!!"
msgstr "ПРЕДУПРЕЖДЕНИЕ: Файл изменён с момента чтения!!!"
-#: fileio.c:4476
+#: fileio.c:4488
msgid "Do you really want to write to it"
msgstr "Серьёзно хотите записать в этот файл"
-#: fileio.c:5726
+#: fileio.c:5738
#, c-format
msgid "E208: Error writing to \"%s\""
msgstr "E208: Ошибка записи в \"%s\""
-#: fileio.c:5733
+#: fileio.c:5745
#, c-format
msgid "E209: Error closing \"%s\""
msgstr "E209: Ошибка закрытия \"%s\""
-#: fileio.c:5736
+#: fileio.c:5748
#, c-format
msgid "E210: Error reading \"%s\""
msgstr "E210: Ошибка чтения \"%s\""
-#: fileio.c:5970
+#: fileio.c:5982
msgid "E246: FileChangedShell autocommand deleted buffer"
msgstr "E246: Буфер удалён при выполнении автокоманды FileChangedShell"
-#: fileio.c:5977
+#: fileio.c:5989
#, c-format
msgid "E211: Warning: File \"%s\" no longer available"
msgstr "E211: Предупреждение: файл \"%s\" больше не доступен"
-#: fileio.c:5991
+#: fileio.c:6003
#, c-format
msgid ""
"W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as "
@@ -1937,34 +1937,34 @@ msgstr ""
"W12: Предупреждение: файл \"%s\" и буфер Vim были изменены независимо друг "
"от друга"
-#: fileio.c:5994
+#: fileio.c:6006
#, c-format
msgid "W11: Warning: File \"%s\" has changed since editing started"
msgstr ""
"W11: Предупреждение: файл \"%s\" был изменён после начала редактирования"
-#: fileio.c:5996
+#: fileio.c:6008
#, c-format
msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
msgstr ""
"W16: Предупреждение: режим доступа к файлу \"%s\" был изменён после начала "
"редактирования"
-#: fileio.c:6006
+#: fileio.c:6018
#, c-format
msgid "W13: Warning: File \"%s\" has been created after editing started"
msgstr ""
"W13: Предупреждение: файл \"%s\" был создан после начала редактирования"
-#: fileio.c:6019
+#: fileio.c:6031
msgid "See \":help W11\" for more info."
msgstr "См. дополнительную информацию в \":help W11\"."
-#: fileio.c:6033
+#: fileio.c:6045
msgid "Warning"
msgstr "Предупреждение"
-#: fileio.c:6034
+#: fileio.c:6046
msgid ""
"&OK\n"
"&Load File"
@@ -1972,43 +1972,43 @@ msgstr ""
"&OK\n"
"&Загрузить файл"
-#: fileio.c:6140
+#: fileio.c:6152
#, c-format
msgid "E462: Could not prepare for reloading \"%s\""
msgstr "E462: Невозможно подготовиться к перезагрузке \"%s\""
-#: fileio.c:6159
+#: fileio.c:6171
#, c-format
msgid "E321: Could not reload \"%s\""
msgstr "E321: Невозможно выполнить перезагрузку \"%s\""
-#: fileio.c:6740
+#: fileio.c:6752
msgid "--Deleted--"
msgstr "--Удалено--"
#. the group doesn't exist
-#: fileio.c:6900
+#: fileio.c:6912
#, c-format
msgid "E367: No such group: \"%s\""
msgstr "E367: Группа \"%s\" не существует"
-#: fileio.c:7026
+#: fileio.c:7038
#, c-format
msgid "E215: Illegal character after *: %s"
msgstr "E215: Недопустимые символы после *: %s"
-#: fileio.c:7038
+#: fileio.c:7050
#, c-format
msgid "E216: No such event: %s"
msgstr "E216: Несуществующее событие: %s"
-#: fileio.c:7040
+#: fileio.c:7052
#, c-format
msgid "E216: No such group or event: %s"
msgstr "E216: Несуществующая группа или событие: %s"
#. Highlight title
-#: fileio.c:7198
+#: fileio.c:7210
msgid ""
"\n"
"--- Auto-Commands ---"
@@ -2016,39 +2016,39 @@ msgstr ""
"\n"
"--- Автокоманды ---"
-#: fileio.c:7469
+#: fileio.c:7481
msgid "E217: Can't execute autocommands for ALL events"
msgstr "E217: Невозможно выполнить автокоманды для ВСЕХ событий"
-#: fileio.c:7492
+#: fileio.c:7504
msgid "No matching autocommands"
msgstr "Нет подходящих автокоманд"
-#: fileio.c:7813
+#: fileio.c:7825
msgid "E218: autocommand nesting too deep"
msgstr "E218: слишком глубоко вложенные автокоманды"
-#: fileio.c:8088
+#: fileio.c:8100
#, c-format
msgid "%s Auto commands for \"%s\""
msgstr "%s Автокоманды для \"%s\""
-#: fileio.c:8096
+#: fileio.c:8108
#, c-format
msgid "Executing %s"
msgstr "Выполнение %s"
#. always scroll up, don't overwrite
-#: fileio.c:8164
+#: fileio.c:8176
#, c-format
msgid "autocommand %s"
msgstr "автокоманда %s"
-#: fileio.c:8731
+#: fileio.c:8743
msgid "E219: Missing {."
msgstr "E219: Пропущена {."
-#: fileio.c:8733
+#: fileio.c:8745
msgid "E220: Missing }."
msgstr "E220: Пропущена }."
@@ -2070,39 +2070,39 @@ msgstr ""
msgid "E222: Add to read buffer"
msgstr "E222: Добавление в буфер чтения"
-#: getchar.c:2198
+#: getchar.c:2208
msgid "E223: recursive mapping"
msgstr "E223: рекурсивная привязка"
-#: getchar.c:3077
+#: getchar.c:3087
#, c-format
msgid "E224: global abbreviation already exists for %s"
msgstr "E224: уже есть глобальное сокращение для %s"
-#: getchar.c:3080
+#: getchar.c:3090
#, c-format
msgid "E225: global mapping already exists for %s"
msgstr "E225: уже есть глобальная привязка для %s"
-#: getchar.c:3212
+#: getchar.c:3222
#, c-format
msgid "E226: abbreviation already exists for %s"
msgstr "E226: уже есть сокращение для %s"
-#: getchar.c:3215
+#: getchar.c:3225
#, c-format
msgid "E227: mapping already exists for %s"
msgstr "E227: уже есть привязка для %s"
-#: getchar.c:3279
+#: getchar.c:3289
msgid "No abbreviation found"
msgstr "Сокращения не найдены"
-#: getchar.c:3281
+#: getchar.c:3291
msgid "No mapping found"
msgstr "Привязки не найдены"
-#: getchar.c:4173
+#: getchar.c:4183
msgid "E228: makemap: Illegal mode"
msgstr "E228: makemap: недопустимый режим"
@@ -2128,7 +2128,7 @@ msgstr "E231: неправильное значение опции 'guifontwide'"
msgid "E599: Value of 'imactivatekey' is invalid"
msgstr "E599: неправильное значение опции 'imactivatekey'"
-#: gui.c:4061
+#: gui.c:4064
#, c-format
msgid "E254: Cannot allocate color %s"
msgstr "E254: Невозможно назначить цвет %s"
@@ -2170,7 +2170,7 @@ msgstr "Полоса прокрутки: не могу определить геометрию ползунка"
msgid "Vim dialog"
msgstr "Диалоговое окно Vim"
-#: gui_beval.c:101 gui_w32.c:3829
+#: gui_beval.c:101 gui_w32.c:3978
msgid "E232: Cannot create BalloonEval with both message and callback"
msgstr ""
"E232: \"Пузырь\" для вычислений, включающий и сообщение, и обратный вызов, "
@@ -2180,7 +2180,7 @@ msgstr ""
msgid "Vim dialog..."
msgstr "Диалоговое окно Vim..."
-#: gui_gtk.c:2060 message.c:2993
+#: gui_gtk.c:2060 message.c:2999
msgid ""
"&Yes\n"
"&No\n"
@@ -2303,16 +2303,24 @@ msgstr ""
"\n"
"Отправка сообщения для уничтожения процесса-потомка.\n"
-#: gui_w32.c:829
+#: gui_w32.c:839
+msgid "E671: Cannot find window title \"%s\""
+msgstr "E671: Окно с заголовком \"%s\" не обнаружено"
+
+#: gui_w32.c:847
#, c-format
msgid "E243: Argument not supported: \"-%s\"; Use the OLE version."
msgstr "E243: Параметр не поддерживается: \"-%s\"; используйте версию OLE."
-#: gui_w48.c:2090
+#: gui_w32.c:1100
+msgid "E672: Unable to open window inside MDI application"
+msgstr "E672: Невозможно открыть окно внутри приложения MDI"
+
+#: gui_w48.c:2163
msgid "Find string (use '\\\\' to find a '\\')"
msgstr "Поиск строки (используйте '\\\\' для поиска '\\')"
-#: gui_w48.c:2115
+#: gui_w48.c:2188
msgid "Find & Replace (use '\\\\' to find a '\\')"
msgstr "Поиск и замена (используйте '\\\\' для поиска '\\')"
@@ -2353,6 +2361,7 @@ msgid "Font1: %s\n"
msgstr "Font1: %s\n"
#: gui_x11.c:2184
+#, c-format
msgid "Font%ld width is not twice that of font0\n"
msgstr "Ширина шрифта font%ld должна быть вдвое больше ширины шрифта font0\n"
@@ -2933,47 +2942,47 @@ msgstr ""
msgid "Invalid argument for"
msgstr "Недопустимые аргументы для"
-#: main.c:466
+#: main.c:469
msgid "This Vim was not compiled with the diff feature."
msgstr ""
"Данный Vim был скомпилирован с выключенной особенностью просмотра отличий"
-#: main.c:932
+#: main.c:935
msgid "Attempt to open script file again: \""
msgstr "Попытка повторного открытия файла сценария: \""
-#: main.c:941
+#: main.c:944
msgid "Cannot open for reading: \""
msgstr "Невозможно открыть для чтения: \""
-#: main.c:985
+#: main.c:988
msgid "Cannot open for script output: \""
msgstr "Невозможно открыть для вывода сценария: \""
-#: main.c:1132
+#: main.c:1135
#, c-format
msgid "%d files to edit\n"
msgstr "Файлов для редактирования: %d\n"
-#: main.c:1233
+#: main.c:1236
msgid "Vim: Warning: Output is not to a terminal\n"
msgstr "Vim: Предупреждение: Вывод осуществляется не на терминал\n"
-#: main.c:1235
+#: main.c:1238
msgid "Vim: Warning: Input is not from a terminal\n"
msgstr "Vim: Предупреждение: Ввод происходит не с терминала\n"
#. just in case..
-#: main.c:1297
+#: main.c:1306
msgid "pre-vimrc command line"
msgstr "командная строка перед выполнением vimrc"
-#: main.c:1338
+#: main.c:1347
#, c-format
msgid "E282: Cannot read from \"%s\""
msgstr "E282: Невозможно выполнить чтение из \"%s\""
-#: main.c:2411
+#: main.c:2420
msgid ""
"\n"
"More info with: \"vim -h\"\n"
@@ -2981,23 +2990,23 @@ msgstr ""
"\n"
"Дополнительная информация: \"vim -h\"\n"
-#: main.c:2444
+#: main.c:2453
msgid "[file ..] edit specified file(s)"
msgstr "[файл ..] редактирование указанных файлов"
-#: main.c:2445
+#: main.c:2454
msgid "- read text from stdin"
msgstr "- чтение текста из потока ввода stdin"
-#: main.c:2446
+#: main.c:2455
msgid "-t tag edit file where tag is defined"
msgstr "-t метка редактирование файла с указанной меткой"
-#: main.c:2448
+#: main.c:2457
msgid "-q [errorfile] edit file with first error"
msgstr "-q [файл ошибок] редактирование файла с первой ошибкой"
-#: main.c:2457
+#: main.c:2466
msgid ""
"\n"
"\n"
@@ -3007,11 +3016,11 @@ msgstr ""
"\n"
"Использование:"
-#: main.c:2460
+#: main.c:2469
msgid " vim [arguments] "
msgstr " vim [аргументы] "
-#: main.c:2464
+#: main.c:2473
msgid ""
"\n"
" or:"
@@ -3019,7 +3028,7 @@ msgstr ""
"\n"
" или:"
-#: main.c:2467
+#: main.c:2476
msgid ""
"\n"
"\n"
@@ -3029,244 +3038,244 @@ msgstr ""
"\n"
"Аргументы:\n"
-#: main.c:2468
+#: main.c:2477
msgid "--\t\t\tOnly file names after this"
msgstr "--\t\t\tДалее указываются только имена файлов"
-#: main.c:2470
+#: main.c:2479
msgid "--literal\t\tDon't expand wildcards"
msgstr "--literal\t\tНе выполнять подстановку по маске"
-#: main.c:2473
+#: main.c:2482
msgid "-register\t\tRegister this gvim for OLE"
msgstr "-register\t\tЗарегистрировать этот gvim для OLE"
-#: main.c:2474
+#: main.c:2483
msgid "-unregister\t\tUnregister gvim for OLE"
msgstr "-unregister\t\tОтключить регистрацию данного gvim для OLE"
-#: main.c:2477
+#: main.c:2486
msgid "-g\t\t\tRun using GUI (like \"gvim\")"
msgstr "-g\t\t\tЗапустить с графическим интерфейсом (как \"gvim\")"
-#: main.c:2478
+#: main.c:2487
msgid "-f or --nofork\tForeground: Don't fork when starting GUI"
msgstr "-f или --nofork\tВ активной задаче: Не выполнять fork при запуске GUI"
-#: main.c:2480
+#: main.c:2489
msgid "-v\t\t\tVi mode (like \"vi\")"
msgstr "-v\t\t\tРежим Vi (как \"vi\")"
-#: main.c:2481
+#: main.c:2490
msgid "-e\t\t\tEx mode (like \"ex\")"
msgstr "-e\t\t\tРежим Ex (как \"ex\")"
-#: main.c:2482
+#: main.c:2491
msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")"
msgstr "-s\t\t\tТихий (пакетный) режим (только для \"ex\")"
-#: main.c:2484
+#: main.c:2493
msgid "-d\t\t\tDiff mode (like \"vimdiff\")"
msgstr "-d\t\t\tРежим отличий (как \"vimdiff\")"
-#: main.c:2486
+#: main.c:2495
msgid "-y\t\t\tEasy mode (like \"evim\", modeless)"
msgstr "-y\t\t\tПростой режим (как \"evim\", безрежимный)"
-#: main.c:2487
+#: main.c:2496
msgid "-R\t\t\tReadonly mode (like \"view\")"
msgstr "-R\t\t\tТолько для чтения (как \"view\")"
-#: main.c:2488
+#: main.c:2497
msgid "-Z\t\t\tRestricted mode (like \"rvim\")"
msgstr "-Z\t\t\tОграниченный режим (как \"rvim\")"
-#: main.c:2489
+#: main.c:2498
msgid "-m\t\t\tModifications (writing files) not allowed"
msgstr "-m\t\t\tБез возможности сохранения изменений (записи файлов)"
-#: main.c:2490
+#: main.c:2499
msgid "-M\t\t\tModifications in text not allowed"
msgstr "-M\t\t\tБез возможности внесения изменений в текст"
-#: main.c:2491
+#: main.c:2500
msgid "-b\t\t\tBinary mode"
msgstr "-b\t\t\tБинарный режим"
-#: main.c:2493
+#: main.c:2502
msgid "-l\t\t\tLisp mode"
msgstr "-l\t\t\tРежим Lisp"
-#: main.c:2495
+#: main.c:2504
msgid "-C\t\t\tCompatible with Vi: 'compatible'"
msgstr "-C\t\t\tРежим совместимости с Vi: 'compatible'"
-#: main.c:2496
+#: main.c:2505
msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'"
msgstr "-N\t\t\tРежим неполной совместимости с Vi: 'nocompatible'"
-#: main.c:2497
+#: main.c:2506
msgid "-V[N]\t\tVerbose level"
msgstr "-V[N]\t\tУровень подробности сообщений"
-#: main.c:2498
+#: main.c:2507
msgid "-D\t\t\tDebugging mode"
msgstr "-D\t\t\tРежим отладки"
-#: main.c:2499
+#: main.c:2508
msgid "-n\t\t\tNo swap file, use memory only"
msgstr "-n\t\t\tБез своп-файла, используется только память"
-#: main.c:2500
+#: main.c:2509
msgid "-r\t\t\tList swap files and exit"
msgstr "-r\t\t\tВывести список своп-файлов и завершить работу"
-#: main.c:2501
+#: main.c:2510
msgid "-r (with file name)\tRecover crashed session"
msgstr "-r (с именем файла)\tВосстановить аварийно завершённый сеанс"
-#: main.c:2502
+#: main.c:2511
msgid "-L\t\t\tSame as -r"
msgstr "-L\t\t\tТо же, что и -r"
-#: main.c:2504
+#: main.c:2513
msgid "-f\t\t\tDon't use newcli to open window"
msgstr "-f\t\t\tНе использовать newcli для открытия окна"
-#: main.c:2505
+#: main.c:2514
msgid "-dev <device>\t\tUse <device> for I/O"
msgstr "-dev <устройство>\t\tИспользовать для I/O указанное <устройство>"
-#: main.c:2508
+#: main.c:2517
msgid "-A\t\t\tstart in Arabic mode"
msgstr "-A\t\t\tЗапуск в Арабском режиме"
-#: main.c:2511
+#: main.c:2520
msgid "-H\t\t\tStart in Hebrew mode"
msgstr "-H\t\t\tЗапуск в режиме \"Иврит\""
-#: main.c:2514
+#: main.c:2523
msgid "-F\t\t\tStart in Farsi mode"
msgstr "-F\t\t\tЗапуск в режиме \"Фарси\""
-#: main.c:2516
+#: main.c:2525
msgid "-T <terminal>\tSet terminal type to <terminal>"
msgstr "-T <терминал>\tНазначить указанный тип <терминала>"
-#: main.c:2517
+#: main.c:2526
msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc"
msgstr "-u <vimrc>\t\tИспользовать <vimrc> вместо любых файлов .vimrc"
-#: main.c:2519
+#: main.c:2528
msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc"
msgstr "-U <gvimrc>\t\tИспользовать <gvimrc> вместо любых файлов .gvimrc"
-#: main.c:2521
+#: main.c:2530
msgid "--noplugin\t\tDon't load plugin scripts"
msgstr "--noplugin\t\tНе загружать сценарии модулей"
-#: main.c:2522
+#: main.c:2531
msgid "-o[N]\t\tOpen N windows (default: one for each file)"
msgstr "-o[N]\t\tОткрыть N окон (по умолчанию: по одному на каждый файл)"
-#: main.c:2523
+#: main.c:2532
msgid "-O[N]\t\tLike -o but split vertically"
msgstr "-O[N]\t\tТо же, что и -o, но с вертикальным разделением окон"
-#: main.c:2524
+#: main.c:2533
msgid "+\t\t\tStart at end of file"
msgstr "+\t\t\tНачать редактирование в конце файла"
-#: main.c:2525
+#: main.c:2534
msgid "+<lnum>\t\tStart at line <lnum>"
msgstr "+<lnum>\t\tНачать редактирование в строке с номером <lnum>"
-#: main.c:2527
+#: main.c:2536
msgid "--cmd <command>\tExecute <command> before loading any vimrc file"
msgstr "--cmd <команда>\tВыполнить <команду> перед загрузкой файла vimrc"
-#: main.c:2529
+#: main.c:2538
msgid "-c <command>\t\tExecute <command> after loading the first file"
msgstr "-c <команда>\t\tВыполнить <команду> после загрузки первого файла"
-#: main.c:2530
+#: main.c:2539
msgid "-S <session>\t\tSource file <session> after loading the first file"
msgstr "-S <сеанс>\t\tПрочитать сценарий <сеанса> после загрузки первого файла"
-#: main.c:2531
+#: main.c:2540
msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>"
msgstr "-s <сценарий>\tПрочитать команды Обычного режима из файла <сценария>"
-#: main.c:2532
+#: main.c:2541
msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>"
msgstr "-w <сценарий>\tДобавлять все введённые команды в файл <сценария>"
-#: main.c:2533
+#: main.c:2542
msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>"
msgstr "-W <сценарий>\tЗаписать все введённые команды в файл <сценария>"
-#: main.c:2535
+#: main.c:2544
msgid "-x\t\t\tEdit encrypted files"
msgstr "-x\t\t\tРедактирование зашифрованных файлов"
-#: main.c:2539
+#: main.c:2548
msgid "-display <display>\tConnect vim to this particular X-server"
msgstr "-display <экран>\tПодсоединить vim к указанному серверу X"
-#: main.c:2541
+#: main.c:2550
msgid "-X\t\t\tDo not connect to X server"
msgstr "-X\t\t\tНе выполнять соединение с сервером X"
-#: main.c:2544
+#: main.c:2553
msgid "--remote <files>\tEdit <files> in a Vim server if possible"
msgstr "--remote <файлы>\tПо возможности редактировать <файлы> на сервере Vim"
-#: main.c:2545
+#: main.c:2554
msgid "--remote-silent <files> Same, don't complain if there is no server"
msgstr "--remote-silent <файлы> То же, но без жалоб на отсутствие сервера"
-#: main.c:2546
+#: main.c:2555
msgid ""
"--remote-wait <files> As --remote but wait for files to have been edited"
msgstr ""
"--remote-wait <файлы> То же, что и --remote, но с ожиданием завершения"
-#: main.c:2547
+#: main.c:2556
msgid ""
"--remote-wait-silent <files> Same, don't complain if there is no server"
msgstr ""
"--remote-wait-silent <файлы> То же, но без жалоб на отсутствие сервера"
-#: main.c:2548
+#: main.c:2557
msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
msgstr "--remote-send <кнопки>\tОтправить <кнопки> на сервер Vim и выйти"
-#: main.c:2549
+#: main.c:2558
msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"
msgstr "--remote-expr <выраж>\tВычислить <выраж> на сервере Vim и напечатать"
-#: main.c:2550
+#: main.c:2559
msgid "--serverlist\t\tList available Vim server names and exit"
msgstr "--serverlist\t\tПоказать список имён серверов Vim и завершить работу"
-#: main.c:2551
+#: main.c:2560
msgid "--servername <name>\tSend to/become the Vim server <name>"
msgstr ""
"--servername <имя>\tОтправить на/стать сервером Vim с указанным <именем>"
-#: main.c:2554
+#: main.c:2563
msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
msgstr "-i <viminfo>\t\tИспользовать вместо .viminfo файл <viminfo>"
-#: main.c:2556
+#: main.c:2565
msgid "-h or --help\tPrint Help (this message) and exit"
msgstr "-h или --help\tВывести справку (это сообщение) и завершить работу"
-#: main.c:2557
+#: main.c:2566
msgid "--version\t\tPrint version information and exit"
msgstr "--version\t\tВывести информацию о версии Vim и завершить работу"
-#: main.c:2561
+#: main.c:2570
msgid ""
"\n"
"Arguments recognised by gvim (Motif version):\n"
@@ -3274,7 +3283,7 @@ msgstr ""
"\n"
"Аргументы для gvim (версия Motif):\n"
-#: main.c:2565
+#: main.c:2574
msgid ""
"\n"
"Arguments recognised by gvim (neXtaw version):\n"
@@ -3282,7 +3291,7 @@ msgstr ""
"\n"
"Аргументы для gvim (версия neXtaw):\n"
-#: main.c:2567
+#: main.c:2576
msgid ""
"\n"
"Arguments recognised by gvim (Athena version):\n"
@@ -3290,75 +3299,75 @@ msgstr ""
"\n"
"Аргументы для gvim (версия Athena):\n"
-#: main.c:2571
+#: main.c:2580
msgid "-display <display>\tRun vim on <display>"
msgstr "-display <дисплей>\tЗапустить vim на указанном <дисплее>"
-#: main.c:2572
+#: main.c:2581
msgid "-iconic\t\tStart vim iconified"
msgstr "-iconic\t\tЗапустить vim в свёрнутом виде"
-#: main.c:2574
+#: main.c:2583
msgid "-name <name>\t\tUse resource as if vim was <name>"
msgstr "-name <имя>\t\tИспользовать ресурс, как если бы vim был <именем>"
-#: main.c:2575
+#: main.c:2584
msgid "\t\t\t (Unimplemented)\n"
msgstr "\t\t\t (Не реализовано)\n"
-#: main.c:2577
+#: main.c:2586
msgid "-background <color>\tUse <color> for the background (also: -bg)"
msgstr ""
"-background <цвет>\tИспользовать указанный <цвет> для фона (также: -bg)"
-#: main.c:2578
+#: main.c:2587
msgid "-foreground <color>\tUse <color> for normal text (also: -fg)"
msgstr ""
"-foreground <цвет>\tИспользовать <цвет> для обычного текста (также: -fg)"
-#: main.c:2579 main.c:2599
+#: main.c:2588 main.c:2608
msgid "-font <font>\t\tUse <font> for normal text (also: -fn)"
msgstr "-font <шрифт>\t\tИспользовать <шрифт> для обычного текста (также: -fn)"
-#: main.c:2580
+#: main.c:2589
msgid "-boldfont <font>\tUse <font> for bold text"
msgstr "-boldfont <шрифт>\tИспользовать <шрифт> для жирного текста"
-#: main.c:2581
+#: main.c:2590
msgid "-italicfont <font>\tUse <font> for italic text"
msgstr "-italicfont <шрифт>\tИспользовать <шрифт> для наклонного текста"
-#: main.c:2582 main.c:2600
+#: main.c:2591 main.c:2609
msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
msgstr ""
"-geometry <геометрия>\tИспользовать начальную <геометрию> (также: -geom)"
-#: main.c:2583
+#: main.c:2592
msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
msgstr "-borderwidth <ширина>\tИспользовать <ширину> бордюра (также: -bw)"
-#: main.c:2584
+#: main.c:2593
msgid "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)"
msgstr ""
"-scrollbarwidth <ширина> Использовать ширину полосы прокрутки (также: -sw)"
-#: main.c:2586
+#: main.c:2595
msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)"
msgstr "-menuheight <высота>\tИспользовать <высоту> меню (также: -mh)"
-#: main.c:2588 main.c:2601
+#: main.c:2597 main.c:2610
msgid "-reverse\t\tUse reverse video (also: -rv)"
msgstr "-reverse\t\tИспользовать инверсный видеорежим (также: -rv)"
-#: main.c:2589
+#: main.c:2598
msgid "+reverse\t\tDon't use reverse video (also: +rv)"
msgstr "+reverse\t\tНе использовать инверсный видеорежим (также: +rv)"
-#: main.c:2590
+#: main.c:2599
msgid "-xrm <resource>\tSet the specified resource"
msgstr "-xrm <ресурс>\tУстановить указанный <ресурс>"
-#: main.c:2593
+#: main.c:2602
msgid ""
"\n"
"Arguments recognised by gvim (RISC OS version):\n"
@@ -3366,15 +3375,15 @@ msgstr ""
"\n"
"Аргументы для gvim (версия RISC OS):\n"
-#: main.c:2594
+#: main.c:2603
msgid "--columns <number>\tInitial width of window in columns"
msgstr "--columns <число>\tПервоначальная ширина окна в колонках"
-#: main.c:2595
+#: main.c:2604
msgid "--rows <number>\tInitial height of window in rows"
msgstr "--rows <число>\tПервоначальная высота окна в строках"
-#: main.c:2598
+#: main.c:2607
msgid ""
"\n"
"Arguments recognised by gvim (GTK+ version):\n"
@@ -3382,48 +3391,48 @@ msgstr ""
"\n"
"Аргументы для gvim (версия GTK+):\n"
-#: main.c:2602
+#: main.c:2611
msgid "-display <display>\tRun vim on <display> (also: --display)"
msgstr ""
"-display <дисплей>\tЗапустить vim на указанном <дисплее> (также: --display)"
-#: main.c:2604
+#: main.c:2613
msgid "--role <role>\tSet a unique role to identify the main window"
msgstr ""
"--role <роль>\tУстановить уникальную <роль> для идентификации главного окна"
-#: main.c:2606
+#: main.c:2615
msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
msgstr "--socketid <xid>\tОткрыть Vim внутри другого компонента GTK"
-#: main.c:2609
+#: main.c:2618
msgid "-P <parent title>\tOpen Vim inside parent application"
msgstr "-P <заголовок родителя>\tОткрыть Vim в родительском приложении"
-#: main.c:2847
+#: main.c:2856
msgid "No display"
msgstr "Нет дисплея"
#. Failed to send, abort.
-#: main.c:2862
+#: main.c:2871
msgid ": Send failed.\n"
msgstr ": Отправка не удалась.\n"
#. Let vim start normally.
-#: main.c:2868
+#: main.c:2877
msgid ": Send failed. Trying to execute locally\n"
msgstr ": Отправка не удалась. Попытка местного выполнения\n"
-#: main.c:2906 main.c:2927
+#: main.c:2915 main.c:2936
#, c-format
msgid "%d of %d edited"
msgstr "отредактировано %d из %d"
-#: main.c:2949
+#: main.c:2958
msgid "No display: Send expression failed.\n"
msgstr "Нет дисплея: отправка выражения не удалась.\n"
-#: main.c:2961
+#: main.c:2970
msgid ": Send expression failed.\n"
msgstr ": Отправка выражения не удалась.\n"
@@ -3543,23 +3552,23 @@ msgstr "E292: Сервер метода ввода не запущен"
msgid "E293: block was not locked"
msgstr "E293: блок не заблокирован"
-#: memfile.c:1005
+#: memfile.c:1010
msgid "E294: Seek error in swap file read"
msgstr "E294: Ошибка поиска при чтении своп-файла"
-#: memfile.c:1010
+#: memfile.c:1015
msgid "E295: Read error in swap file"
msgstr "E295: Ошибка чтения своп-файла"
-#: memfile.c:1062
+#: memfile.c:1067
msgid "E296: Seek error in swap file write"
msgstr "E296: Ошибка поиска при записи своп-файла"
-#: memfile.c:1080
+#: memfile.c:1085
msgid "E297: Write error in swap file"
msgstr "E297: Ошибка при записи своп-файла"
-#: memfile.c:1277
+#: memfile.c:1282
msgid "E300: Swap file already exists (symlink attack?)"
msgstr ""
"E300: Своп-файл уже существует (атака с использованием символьной ссылки?)"
@@ -3577,44 +3586,44 @@ msgid "E298: Didn't get block nr 2?"
msgstr "E298: Не получен блок номер 2?"
#. could not (re)open the swap file, what can we do????
-#: memline.c:443
+#: memline.c:444
msgid "E301: Oops, lost the swap file!!!"
msgstr "E301: Ой, потерялся своп-файл!!!"
-#: memline.c:448
+#: memline.c:449
msgid "E302: Could not rename swap file"
msgstr "E302: Невозможно переименовать своп-файл"
-#: memline.c:518
+#: memline.c:519
#, c-format
msgid "E303: Unable to open swap file for \"%s\", recovery impossible"
msgstr ""
"E303: Не удалось открыть своп-файл для \"%s\", восстановление невозможно"
-#: memline.c:617
+#: memline.c:618
msgid "E304: ml_timestamp: Didn't get block 0??"
msgstr "E304: ml_timestamp: Не получен блок 0??"
-#: memline.c:757
+#: memline.c:758
#, c-format
msgid "E305: No swap file found for %s"
msgstr "E305: Своп-файл для %s не найден"
-#: memline.c:767
+#: memline.c:768
msgid "Enter number of swap file to use (0 to quit): "
msgstr ""
"Введите номер своп-файла, который следует использовать (0 для выхода): "
-#: memline.c:812
+#: memline.c:813
#, c-format
msgid "E306: Cannot open %s"
msgstr "E306: Не могу открыть %s"
-#: memline.c:834
+#: memline.c:835
msgid "Unable to read block 0 from "
msgstr "Невозможно прочитать блок 0 из "
-#: memline.c:837
+#: memline.c:838
msgid ""
"\n"
"Maybe no changes were made or Vim did not update the swap file."
@@ -3622,28 +3631,28 @@ msgstr ""
"\n"
"Нет изменений, или Vim не смог обновить своп-файл"
-#: memline.c:847 memline.c:864
+#: memline.c:848 memline.c:865
msgid " cannot be used with this version of Vim.\n"
msgstr " нельзя использовать в данной версии Vim.\n"
-#: memline.c:849
+#: memline.c:850
msgid "Use Vim version 3.0.\n"
msgstr "Используйте Vim версии 3.0.\n"
-#: memline.c:855
+#: memline.c:856
#, c-format
msgid "E307: %s does not look like a Vim swap file"
msgstr "E307: %s не является своп-файлом Vim"
-#: memline.c:868
+#: memline.c:869
msgid " cannot be used on this computer.\n"
msgstr " нельзя использовать на этом компьютере.\n"
-#: memline.c:870
+#: memline.c:871
msgid "The file was created on "
msgstr "Файл был создан "
-#: memline.c:874
+#: memline.c:875
msgid ""
",\n"
"or the file has been damaged."
@@ -3651,82 +3660,82 @@ msgstr ""
",\n"
"либо файл был повреждён."
-#: memline.c:903
+#: memline.c:904
#, c-format
msgid "Using swap file \"%s\""
msgstr "Используется своп-файл \"%s\""
-#: memline.c:909
+#: memline.c:910
#, c-format
msgid "Original file \"%s\""
msgstr "Исходный файл \"%s\""
-#: memline.c:922
+#: memline.c:923
msgid "E308: Warning: Original file may have been changed"
msgstr "E308: Предупреждение: исходный файл мог быть изменён"
-#: memline.c:975
+#: memline.c:976
#, c-format
msgid "E309: Unable to read block 1 from %s"
msgstr "E309: Невозможно прочитать блок 1 из %s"
-#: memline.c:979
+#: memline.c:980
msgid "???MANY LINES MISSING"
msgstr "???ОТСУТСТВУЕТ МНОГО СТРОК"
-#: memline.c:995
+#: memline.c:996
msgid "???LINE COUNT WRONG"
msgstr "???НЕПРАВИЛЬНОЕ ЗНАЧЕНИЕ СЧЕТЧИКА СТРОК"
-#: memline.c:1002
+#: memline.c:1003
msgid "???EMPTY BLOCK"
msgstr "???ПУСТОЙ БЛОК"
-#: memline.c:1028
+#: memline.c:1029
msgid "???LINES MISSING"
msgstr "???ОТСУТСТВУЮТ СТРОКИ"
-#: memline.c:1060
+#: memline.c:1061
#, c-format
msgid "E310: Block 1 ID wrong (%s not a .swp file?)"
msgstr "E310: неправильный блок 1 ID (%s не является файлом .swp?)"
-#: memline.c:1065
+#: memline.c:1066
msgid "???BLOCK MISSING"
msgstr "???ПРОПУЩЕН БЛОК"
-#: memline.c:1081
+#: memline.c:1082
msgid "??? from here until ???END lines may be messed up"
msgstr "???строки могут быть испорчены отсюда до ???КОНЦА"
-#: memline.c:1097
+#: memline.c:1098
msgid "??? from here until ???END lines may have been inserted/deleted"
msgstr "???строки могли быть вставлены или удалены отсюда до ???КОНЦА"
-#: memline.c:1117
+#: memline.c:1118
msgid "???END"
msgstr "???КОНЕЦ"
-#: memline.c:1143
+#: memline.c:1144
msgid "E311: Recovery Interrupted"
msgstr "E311: Восстановление прервано"
-#: memline.c:1148
+#: memline.c:1149
msgid ""
"E312: Errors detected while recovering; look for lines starting with ???"
msgstr ""
"E312: Во время восстановления обнаружены ошибки; см. строки, начинающиеся "
"с ???"
-#: memline.c:1150
+#: memline.c:1151
msgid "See \":help E312\" for more information."
msgstr "См. дополнительную информацию в справочнике (\":help E312\")"
-#: memline.c:1155
+#: memline.c:1156
msgid "Recovery completed. You should check if everything is OK."
msgstr "Восстановление завершено. Проверьте, всё ли в порядке."
-#: memline.c:1156
+#: memline.c:1157
msgid ""
"\n"
"(You might want to write out this file under another name\n"
@@ -3734,11 +3743,11 @@ msgstr ""
"\n"
"(Можете записать файл под другим именем и сравнить его с исходным\n"
-#: memline.c:1157
+#: memline.c:1158
msgid "and run diff with the original file to check for changes)\n"
msgstr "файлом при помощи программы diff).\n"
-#: memline.c:1158
+#: memline.c:1159
msgid ""
"Delete the .swp file afterwards.\n"
"\n"
@@ -3747,51 +3756,51 @@ msgstr ""
"\n"
#. use msg() to start the scrolling properly
-#: memline.c:1214
+#: memline.c:1215
msgid "Swap files found:"
msgstr "Обнаружены своп-файлы:"
-#: memline.c:1392
+#: memline.c:1393
msgid " In current directory:\n"
msgstr " В текущем каталоге:\n"
-#: memline.c:1394
+#: memline.c:1395
msgid " Using specified name:\n"
msgstr " С указанным именем:\n"
-#: memline.c:1398
+#: memline.c:1399
msgid " In directory "
msgstr " В каталоге "
-#: memline.c:1416
+#: memline.c:1417
msgid " -- none --\n"
msgstr " -- нет --\n"
-#: memline.c:1488
+#: memline.c:1489
msgid " owned by: "
msgstr " владелец: "
-#: memline.c:1490
+#: memline.c:1491
msgid " dated: "
msgstr " дата: "
-#: memline.c:1494 memline.c:3684
+#: memline.c:1495 memline.c:3685
msgid " dated: "
msgstr " дата: "
-#: memline.c:1510
+#: memline.c:1511
msgid " [from Vim version 3.0]"
msgstr " [от Vim версии 3.0]"
-#: memline.c:1514
+#: memline.c:1515
msgid " [does not look like a Vim swap file]"
msgstr " [не является своп-файлом Vim]"
-#: memline.c:1518
+#: memline.c:1519
msgid " file name: "
msgstr " имя файла: "
-#: memline.c:1524
+#: memline.c:1525
msgid ""
"\n"
" modified: "
@@ -3799,15 +3808,15 @@ msgstr ""
"\n"
" изменён: "
-#: memline.c:1525
+#: memline.c:1526
msgid "YES"
msgstr "ДА"
-#: memline.c:1525
+#: memline.c:1526
msgid "no"
msgstr "нет"
-#: memline.c:1529
+#: memline.c:1530
msgid ""
"\n"
" user name: "
@@ -3815,11 +3824,11 @@ msgstr ""
"\n"
" пользователь: "
-#: memline.c:1536
+#: memline.c:1537
msgid " host name: "
msgstr " компьютер: "
-#: memline.c:1538
+#: memline.c:1539
msgid ""
"\n"
" host name: "
@@ -3827,7 +3836,7 @@ msgstr ""
"\n"
" компьютер: "
-#: memline.c:1544
+#: memline.c:1545
msgid ""
"\n"
" process ID: "
@@ -3835,11 +3844,11 @@ msgstr ""
"\n"
" процесс: "
-#: memline.c:1550
+#: memline.c:1551
msgid " (still running)"
msgstr " (ещё выполняется)"
-#: memline.c:1562
+#: memline.c:1563
msgid ""
"\n"
" [not usable with this version of Vim]"
@@ -3847,7 +3856,7 @@ msgstr ""
"\n"
" [не пригоден для использования с данной версией Vim]"
-#: memline.c:1565
+#: memline.c:1566
msgid ""
"\n"
" [not usable on this computer]"
@@ -3855,92 +3864,92 @@ msgstr ""
"\n"
" [не пригоден для использования на этом компьютере]"
-#: memline.c:1570
+#: memline.c:1571
msgid " [cannot be read]"
msgstr " [не читается]"
-#: memline.c:1574
+#: memline.c:1575
msgid " [cannot be opened]"
msgstr " [не открывается]"
-#: memline.c:1764
+#: memline.c:1765
msgid "E313: Cannot preserve, there is no swap file"
msgstr "E313: Невозможно обновить своп-файл, поскольку он не обнаружен"
-#: memline.c:1817
+#: memline.c:1818
msgid "File preserved"
msgstr "Своп-файл обновлён"
-#: memline.c:1819
+#: memline.c:1820
msgid "E314: Preserve failed"
msgstr "E314: Неудачная попытка обновления своп-файла"
-#: memline.c:1890
+#: memline.c:1891
#, c-format
msgid "E315: ml_get: invalid lnum: %ld"
msgstr "E315: ml_get: неправильное значение lnum: %ld"
-#: memline.c:1916
+#: memline.c:1917
#, c-format
msgid "E316: ml_get: cannot find line %ld"
msgstr "E316: ml_get: невозможно найти строку %ld"
-#: memline.c:2306
+#: memline.c:2307
msgid "E317: pointer block id wrong 3"
msgstr "неправильное значение указателя блока 3"
-#: memline.c:2386
+#: memline.c:2387
msgid "stack_idx should be 0"
msgstr "значение stack_idx должно быть равно 0"
-#: memline.c:2448
+#: memline.c:2449
msgid "E318: Updated too many blocks?"
msgstr "E318: Обновлено слишком много блоков?"
-#: memline.c:2630
+#: memline.c:2631
msgid "E317: pointer block id wrong 4"
msgstr "E317: неправильное значение указателя блока 4"
-#: memline.c:2657
+#: memline.c:2658
msgid "deleted block 1?"
msgstr "удалён блок 1?"
-#: memline.c:2857
+#: memline.c:2858
#, c-format
msgid "E320: Cannot find line %ld"
msgstr "E320: Строка %ld не обнаружена"
-#: memline.c:3100
+#: memline.c:3101
msgid "E317: pointer block id wrong"
msgstr "E317: неправильное значение указателя блока"
-#: memline.c:3116
+#: memline.c:3117
msgid "pe_line_count is zero"
msgstr "значение pe_line_count равно нулю"
-#: memline.c:3145
+#: memline.c:3146
#, c-format
msgid "E322: line number out of range: %ld past the end"
msgstr "E322: номер строки за пределами диапазона: %ld"
-#: memline.c:3149
+#: memline.c:3150
#, c-format
msgid "E323: line count wrong in block %ld"
msgstr "E323: неправильное значение счётчика строк в блоке %ld"
-#: memline.c:3198
+#: memline.c:3199
msgid "Stack size increases"
msgstr "Размер стека увеличен"
-#: memline.c:3244
+#: memline.c:3245
msgid "E317: pointer block id wrong 2"
msgstr "E317: неправильное значение указателя блока 2"
-#: memline.c:3674
+#: memline.c:3675
msgid "E325: ATTENTION"
msgstr "E325: ВНИМАНИЕ"
-#: memline.c:3675
+#: memline.c:3676
msgid ""
"\n"
"Found a swap file by the name \""
@@ -3948,17 +3957,17 @@ msgstr ""
"\n"
"Обнаружен своп-файл с именем \""
-#: memline.c:3679
+#: memline.c:3680
msgid "While opening file \""
msgstr "При открытии файла: \""
-#: memline.c:3688
+#: memline.c:3689
msgid " NEWER than swap file!\n"
msgstr " Более СВЕЖИЙ, чем своп-файл!\n"
#. Some of these messages are long to allow translation to
#. * other languages.
-#: memline.c:3692
+#: memline.c:3693
msgid ""
"\n"
"(1) Another program may be editing the same file.\n"
@@ -3970,11 +3979,11 @@ msgstr ""
" Если это так, то будьте внимательны при внесении изменений,\n"
" чтобы у вас не появилось два разных варианта одного и того же файла.\n"
-#: memline.c:3693
+#: memline.c:3694
msgid " Quit, or continue with caution.\n"
msgstr " Завершите работу или продолжайте с осторожностью.\n"
-#: memline.c:3694
+#: memline.c:3695
msgid ""
"\n"
"(2) An edit session for this file crashed.\n"
@@ -3982,11 +3991,11 @@ msgstr ""
"\n"
"(2) Предыдущий сеанс редактирования этого файла завершён аварийно.\n"
-#: memline.c:3695
+#: memline.c:3696
msgid " If this is the case, use \":recover\" or \"vim -r "
msgstr " В этом случае, используйте команду \":recover\" или \"vim -r "
-#: memline.c:3697
+#: memline.c:3698
msgid ""
"\"\n"
" to recover the changes (see \":help recovery\").\n"
@@ -3994,11 +4003,11 @@ msgstr ""
"\"\n"
" для восстановления изменений (см. \":help восстановление\").\n"
-#: memline.c:3698
+#: memline.c:3699
msgid " If you did this already, delete the swap file \""
msgstr " Если вы уже выполняли эту операцию, удалите своп-файл \""
-#: memline.c:3700
+#: memline.c:3701
msgid ""
"\"\n"
" to avoid this message.\n"
@@ -4006,23 +4015,23 @@ msgstr ""
"\"\n"
" чтобы избежать появления этого сообщения в будущем.\n"
-#: memline.c:3714 memline.c:3718
+#: memline.c:3715 memline.c:3719
msgid "Swap file \""
msgstr "Своп-файл \""
-#: memline.c:3715 memline.c:3721
+#: memline.c:3716 memline.c:3722
msgid "\" already exists!"
msgstr "\" уже существует!"
-#: memline.c:3724
+#: memline.c:3725
msgid "VIM - ATTENTION"
msgstr "VIM - ВНИМАНИЕ"
-#: memline.c:3726
+#: memline.c:3727
msgid "Swap file already exists!"
msgstr "Своп-файл уже существует!"
-#: memline.c:3730
+#: memline.c:3731
msgid ""
"&Open Read-Only\n"
"&Edit anyway\n"
@@ -4036,7 +4045,7 @@ msgstr ""
"&Q Выход\n"
"&A Прервать"
-#: memline.c:3732
+#: memline.c:3733
msgid ""
"&Open Read-Only\n"
"&Edit anyway\n"
@@ -4052,7 +4061,7 @@ msgstr ""
"&A Прервать\n"
"&D Удалить"
-#: memline.c:3789
+#: memline.c:3790
msgid "E326: Too many swap files found"
msgstr "E326: Обнаружено слишком много своп-файлов"
@@ -4160,11 +4169,11 @@ msgstr " (RET/BS: строка, SPACE/b: страница, d/u: полстраницы, q: выход)"
msgid " (RET: line, SPACE: page, d: half page, q: quit)"
msgstr " (RET: строка, SPACE: страница, d: полстраницы, q: выход)"
-#: message.c:2976 message.c:2991
+#: message.c:2982 message.c:2997
msgid "Question"
msgstr "Вопрос"
-#: message.c:2978
+#: message.c:2984
msgid ""
"&Yes\n"
"&No"
@@ -4172,7 +4181,7 @@ msgstr ""
"&Да\n"
"&Нет"
-#: message.c:3011
+#: message.c:3017
msgid ""
"&Yes\n"
"&No\n"
@@ -4186,16 +4195,16 @@ msgstr ""
"&Потерять все\n"
"О&тмена"
-#: message.c:3052
+#: message.c:3058
msgid "Save File dialog"
msgstr "Сохранение файла"
-#: message.c:3054
+#: message.c:3060
msgid "Open File dialog"
msgstr "Открытие файла"
#. TODO: non-GUI file selector here
-#: message.c:3125
+#: message.c:3131
msgid "E338: Sorry, no file browser in console mode"
msgstr ""
"E338: Извините, но в консольном режиме нет проводника по файловой системе"
@@ -4374,36 +4383,36 @@ msgstr "чтение из гнезда NetBeans"
msgid "E658: NetBeans connection lost for buffer %ld"
msgstr "E658: Потеряно соединение с NetBeans для буфера %ld"
-#: normal.c:2980
+#: normal.c:2983
msgid "Warning: terminal cannot highlight"
msgstr "Предупреждение: терминал не может выполнять подсветку"
-#: normal.c:3276
+#: normal.c:3279
msgid "E348: No string under cursor"
msgstr "E348: Нет строки в позиции курсора"
-#: normal.c:3278
+#: normal.c:3281
msgid "E349: No identifier under cursor"
msgstr "E349: Нет имени в позиции курсора"
-#: normal.c:4519
+#: normal.c:4522
msgid "E352: Cannot erase folds with current 'foldmethod'"
msgstr ""
"E352: Невозможно стереть складки с текущим значением опции 'foldmethod'"
-#: normal.c:6740
+#: normal.c:6743
msgid "E664: changelist is empty"
msgstr "E664: список изменений пустой"
-#: normal.c:6742
+#: normal.c:6745
msgid "E662: At start of changelist"
msgstr "E662: В начале списка изменений"
-#: normal.c:6744
+#: normal.c:6747
msgid "E663: At end of changelist"
msgstr "E662: В конце списка изменений"
-#: normal.c:8005
+#: normal.c:8009
msgid "Type :quit<Enter> to exit Vim"
msgstr "Введите :quit<Enter> для выхода из Vim"
@@ -4442,40 +4451,40 @@ msgid "%ld lines indented "
msgstr "Изменены отступы в строках (%ld) "
#. must display the prompt
-#: ops.c:1675
+#: ops.c:1688
msgid "cannot yank; delete anyway"
msgstr "скопировать не удалось, удаление выполнено"
-#: ops.c:2261
+#: ops.c:2274
msgid "1 line changed"
msgstr "изменена 1 строка"
-#: ops.c:2263
+#: ops.c:2276
#, c-format
msgid "%ld lines changed"
msgstr "изменено строк: %ld"
-#: ops.c:2647
+#: ops.c:2660
#, c-format
msgid "freeing %ld lines"
msgstr "очищено строк: %ld"
-#: ops.c:2928
+#: ops.c:2941
msgid "1 line yanked"
msgstr "скопирована одна строка"
-#: ops.c:2930
+#: ops.c:2943
#, c-format
msgid "%ld lines yanked"
msgstr "скопировано строк: %ld"
-#: ops.c:3215
+#: ops.c:3228
#, c-format
msgid "E353: Nothing in register %s"
msgstr "E353: В регистре %s ничего нет"
#. Highlight title
-#: ops.c:3766
+#: ops.c:3779
msgid ""
"\n"
"--- Registers ---"
@@ -4483,11 +4492,11 @@ msgstr ""
"\n"
"--- Регистры ---"
-#: ops.c:5075
+#: ops.c:5088
msgid "Illegal register name"
msgstr "Недопустимое имя регистра"
-#: ops.c:5163
+#: ops.c:5176
#, c-format
msgid ""
"\n"
@@ -4496,32 +4505,32 @@ msgstr ""
"\n"
"# Регистры:\n"
-#: ops.c:5213
+#: ops.c:5226
#, c-format
msgid "E574: Unknown register type %d"
msgstr "E574: Неизвестный тип регистра %d"
-#: ops.c:5698
+#: ops.c:5711
#, c-format
msgid "E354: Invalid register name: '%s'"
msgstr "E354: Недопустимое имя регистра: '%s'"
-#: ops.c:6058
+#: ops.c:6071
#, c-format
msgid "%ld Cols; "
msgstr "Колонок: %ld; "
-#: ops.c:6065
+#: ops.c:6078
#, c-format
msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
msgstr "Выделено %s%ld из %ld строк; %ld из %ld слов; %ld из %ld байт"
-#: ops.c:6081
+#: ops.c:6094
#, c-format
msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
msgstr "Кол. %s из %s; стр. %ld из %ld; слово %ld из %ld; байт %ld из %ld"
-#: ops.c:6092
+#: ops.c:6105
#, c-format
msgid "(+%ld for BOM)"
msgstr "(+%ld с учётом BOM)"
@@ -4648,47 +4657,47 @@ msgstr ""
"E537: Значение опция 'commentstring' должно быть пустой строкой или "
"содержать %s"
-#: option.c:5679
+#: option.c:5682
msgid "E538: No mouse support"
msgstr "E538: Мышь не поддерживается"
-#: option.c:5947
+#: option.c:5950
msgid "E540: Unclosed expression sequence"
msgstr "E540: Незакрытая последовательность выражения"
-#: option.c:5951
+#: option.c:5954
msgid "E541: too many items"
msgstr "E541: слишком много элементов"
-#: option.c:5953
+#: option.c:5956
msgid "E542: unbalanced groups"
msgstr "E542: несбалансированные группы"
-#: option.c:6193
+#: option.c:6196
msgid "E590: A preview window already exists"
msgstr "E590: Окно предпросмотра уже есть"
-#: option.c:6450
+#: option.c:6453
msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'"
msgstr ""
"W17: Арабский требует использования UTF-8, введите ':set encoding=utf-8'"
-#: option.c:6783
+#: option.c:6786
#, c-format
msgid "E593: Need at least %d lines"
msgstr "E593: Нужно хотя бы %d строк"
-#: option.c:6793
+#: option.c:6796
#, c-format
msgid "E594: Need at least %d columns"
msgstr "E594: Нужно хотя бы %d колонок"
-#: option.c:7100
+#: option.c:7103
#, c-format
msgid "E355: Unknown option: %s"
msgstr "E355: Неизвестная опция: %s"
-#: option.c:7220
+#: option.c:7223
msgid ""
"\n"
"--- Terminal codes ---"
@@ -4696,7 +4705,7 @@ msgstr ""
"\n"
"--- Терминальные коды ---"
-#: option.c:7222
+#: option.c:7225
msgid ""
"\n"
"--- Global option values ---"
@@ -4704,7 +4713,7 @@ msgstr ""
"\n"
"--- Глобальные значения опций ---"
-#: option.c:7224
+#: option.c:7227
msgid ""
"\n"
"--- Local option values ---"
@@ -4712,7 +4721,7 @@ msgstr ""
"\n"
"--- Местные значения опций ---"
-#: option.c:7226
+#: option.c:7229
msgid ""
"\n"
"--- Options ---"
@@ -4720,16 +4729,16 @@ msgstr ""
"\n"
"--- Опции ---"
-#: option.c:7932
+#: option.c:7935
msgid "E356: get_varp ERROR"
msgstr "E356: ОШИБКА get_varp"
-#: option.c:8903
+#: option.c:8906
#, c-format
msgid "E357: 'langmap': Matching character missing for %s"
msgstr "E357: 'langmap': Нет соответствующего символа для %s"
-#: option.c:8937
+#: option.c:8940
#, c-format
msgid "E358: 'langmap': Extra characters after semicolon: %s"
msgstr "E358: 'langmap': Лишние символы после точки с запятой: %s"
@@ -4764,81 +4773,81 @@ msgstr "Невозможно создать "
msgid "Vim exiting with %d\n"
msgstr "Прекращение работы Vim с кодом %d\n"
-#: os_amiga.c:937
+#: os_amiga.c:941
msgid "cannot change console mode ?!\n"
msgstr "невозможно сменить режим консоли?!\n"
-#: os_amiga.c:1003
+#: os_amiga.c:1012
msgid "mch_get_shellsize: not a console??\n"
msgstr "mch_get_shellsize: не в консоли??\n"
#. if Vim opened a window: Executing a shell may cause crashes
-#: os_amiga.c:1152
+#: os_amiga.c:1161
msgid "E360: Cannot execute shell with -f option"
msgstr "E360: Невозможно выполнить оболочку с аргументом -f"
-#: os_amiga.c:1193 os_amiga.c:1283
+#: os_amiga.c:1202 os_amiga.c:1292
msgid "Cannot execute "
msgstr "Невозможно выполнить "
-#: os_amiga.c:1196 os_amiga.c:1293
+#: os_amiga.c:1205 os_amiga.c:1302
msgid "shell "
msgstr "оболочка "
-#: os_amiga.c:1216 os_amiga.c:1318
+#: os_amiga.c:1225 os_amiga.c:1327
msgid " returned\n"
msgstr " завершила работу\n"
-#: os_amiga.c:1459
+#: os_amiga.c:1468
msgid "ANCHOR_BUF_SIZE too small."
msgstr "слишком малая величина ANCHOR_BUF_SIZE."
-#: os_amiga.c:1463
+#: os_amiga.c:1472
msgid "I/O ERROR"
msgstr "ОШИБКА ВВОДА/ВЫВОДА"
-#: os_mswin.c:539
+#: os_mswin.c:548
msgid "...(truncated)"
msgstr "...(обрезано)"
-#: os_mswin.c:641
+#: os_mswin.c:650
msgid "'columns' is not 80, cannot execute external commands"
msgstr "Значение опции 'columns' не равно 80, внешние программы не выполняются"
-#: os_mswin.c:1973
+#: os_mswin.c:1982
msgid "E237: Printer selection failed"
msgstr "E327: Неудачное завершение выбора принтера"
-#: os_mswin.c:2013
+#: os_mswin.c:2022
#, c-format
msgid "to %s on %s"
msgstr "в %s на %s"
-#: os_mswin.c:2028
+#: os_mswin.c:2037
#, c-format
msgid "E613: Unknown printer font: %s"
msgstr "E613: Неизвестный шрифт принтера: %s"
-#: os_mswin.c:2077 os_mswin.c:2087
+#: os_mswin.c:2086 os_mswin.c:2096
#, c-format
msgid "E238: Print error: %s"
msgstr "E238: Ошибка печати: %s"
-#: os_mswin.c:2088
+#: os_mswin.c:2097
msgid "Unknown"
msgstr "Неизвестно"
-#: os_mswin.c:2115
+#: os_mswin.c:2124
#, c-format
msgid "Printing '%s'"
msgstr "Печать '%s'"
-#: os_mswin.c:3204
+#: os_mswin.c:3213
#, c-format
msgid "E244: Illegal charset name \"%s\" in font name \"%s\""
msgstr "E244: Недопустимое имя кодировки \"%s\" в имени шрифта \"%s\""
-#: os_mswin.c:3212
+#: os_mswin.c:3221
#, c-format
msgid "E245: Illegal char '%c' in font name \"%s\""
msgstr "E245: Недопустимый символ '%c' в имени шрифта \"%s\""
@@ -4874,15 +4883,15 @@ msgstr ""
"\n"
"Vim: Ошибка X\n"
-#: os_unix.c:1334
+#: os_unix.c:1338
msgid "Testing the X display failed"
msgstr "Проверка дисплея X завершена неудачно"
-#: os_unix.c:1473
+#: os_unix.c:1477
msgid "Opening the X display timed out"
msgstr "Открытие дисплея X не выполнено в отведённое время"
-#: os_unix.c:3227 os_unix.c:3907
+#: os_unix.c:3234 os_unix.c:3914
msgid ""
"\n"
"Cannot execute shell "
@@ -4890,7 +4899,7 @@ msgstr ""
"\n"
"Невозможно запустить оболочку "
-#: os_unix.c:3275
+#: os_unix.c:3282
msgid ""
"\n"
"Cannot execute shell sh\n"
@@ -4898,7 +4907,7 @@ msgstr ""
"\n"
"Невозможно запустить оболочку sh\n"
-#: os_unix.c:3279 os_unix.c:3913
+#: os_unix.c:3286 os_unix.c:3920
msgid ""
"\n"
"shell returned "
@@ -4906,7 +4915,7 @@ msgstr ""
"\n"
"Оболочка завершила работу "
-#: os_unix.c:3414
+#: os_unix.c:3421
msgid ""
"\n"
"Cannot create pipes\n"
@@ -4914,7 +4923,7 @@ msgstr ""
"\n"
"Невозможно создать трубы\n"
-#: os_unix.c:3429
+#: os_unix.c:3436
msgid ""
"\n"
"Cannot fork\n"
@@ -4922,7 +4931,7 @@ msgstr ""
"\n"
"Невозможно выполнить fork()\n"
-#: os_unix.c:3920
+#: os_unix.c:3927
msgid ""
"\n"
"Command terminated\n"
@@ -4930,27 +4939,27 @@ msgstr ""
"\n"
"Выполнение команды прервано\n"
-#: os_unix.c:4184 os_unix.c:4309 os_unix.c:5975
+#: os_unix.c:4191 os_unix.c:4316 os_unix.c:5982
msgid "XSMP lost ICE connection"
msgstr "XSMP утеряно соединение ICE"
-#: os_unix.c:5558
+#: os_unix.c:5565
msgid "Opening the X display failed"
msgstr "Неудачное открытие дисплея X"
-#: os_unix.c:5880
+#: os_unix.c:5887
msgid "XSMP handling save-yourself request"
msgstr "XSMP обрабатывает запрос самосохранения"
-#: os_unix.c:5999
+#: os_unix.c:6006
msgid "XSMP opening connection"
msgstr "XSMP открывает соединение"
-#: os_unix.c:6018
+#: os_unix.c:6025
msgid "XSMP ICE connection watch failed"
msgstr "XSMP потеряно слежение за соединением ICE"
-#: os_unix.c:6038
+#: os_unix.c:6045
#, c-format
msgid "XSMP SmcOpenConnection failed: %s"
msgstr "XSMP неудачно выполнено SmcOpenConnection: %s"
@@ -4975,33 +4984,33 @@ msgstr "Невозможно загрузить vim32.dll!"
msgid "Could not fix up function pointers to the DLL!"
msgstr "Невозможно исправить указатели функций для DLL!"
-#: os_win16.c:342 os_win32.c:3216
+#: os_win16.c:342 os_win32.c:3248
#, c-format
msgid "shell returned %d"
msgstr "завершение работы оболочки с кодом %d"
-#: os_win32.c:2674
+#: os_win32.c:2706
#, c-format
msgid "Vim: Caught %s event\n"
msgstr "Vim: Перехвачено событие %s\n"
-#: os_win32.c:2676
+#: os_win32.c:2708
msgid "close"
msgstr "закрытие"
-#: os_win32.c:2678
+#: os_win32.c:2710
msgid "logoff"
msgstr "отключение"
-#: os_win32.c:2679
+#: os_win32.c:2711
msgid "shutdown"
msgstr "завершение"
-#: os_win32.c:3169
+#: os_win32.c:3201
msgid "E371: Command not found"
msgstr "E371: Команда не найдена"
-#: os_win32.c:3182
+#: os_win32.c:3214
msgid ""
"VIMRUN.EXE not found in your $PATH.\n"
"External commands will not pause after completion.\n"
@@ -5011,7 +5020,7 @@ msgstr ""
"Внешние команды не будут останавливаться после выполнения.\n"
"Дополнительная информация в :help win32-vimrun"
-#: os_win32.c:3185
+#: os_win32.c:3217
msgid "Vim Warning"
msgstr "Предупреждение Vim"
@@ -5219,75 +5228,75 @@ msgstr "Внешние подсоответствия:\n"
msgid "+--%3ld lines folded "
msgstr "+--%3ld строк в складке"
-#: screen.c:7996
+#: screen.c:8000
msgid " VREPLACE"
msgstr " ВИРТУАЛЬНАЯ ЗАМЕНА"
-#: screen.c:8000
+#: screen.c:8004
msgid " REPLACE"
msgstr " ЗАМЕНА"
-#: screen.c:8005
+#: screen.c:8009
msgid " REVERSE"
msgstr " ОБРАТНАЯ"
-#: screen.c:8007
+#: screen.c:8011
msgid " INSERT"
msgstr " ВСТАВКА"
-#: screen.c:8010
+#: screen.c:8014
msgid " (insert)"
msgstr " (вставка)"
-#: screen.c:8012
+#: screen.c:8016
msgid " (replace)"
msgstr " (замена)"
-#: screen.c:8014
+#: screen.c:8018
msgid " (vreplace)"
msgstr " (виртуальная замена)"
-#: screen.c:8017
+#: screen.c:8021
msgid " Hebrew"
msgstr " Иврит"
-#: screen.c:8028
+#: screen.c:8032
msgid " Arabic"
msgstr " Арабский"
-#: screen.c:8031
+#: screen.c:8035
msgid " (lang)"
msgstr " (язык)"
-#: screen.c:8035
+#: screen.c:8039
msgid " (paste)"
msgstr " (вклейка)"
-#: screen.c:8048
+#: screen.c:8052
msgid " VISUAL"
msgstr " ВИЗУАЛЬНЫЙ РЕЖИМ"
-#: screen.c:8049
+#: screen.c:8053
msgid " VISUAL LINE"
msgstr " ВИЗУАЛЬНАЯ СТРОКА"
-#: screen.c:8050
+#: screen.c:8054
msgid " VISUAL BLOCK"
msgstr " ВИЗУАЛЬНЫЙ БЛОК"
-#: screen.c:8051
+#: screen.c:8055
msgid " SELECT"
msgstr " ВЫДЕЛЕНИЕ"
-#: screen.c:8052
+#: screen.c:8056
msgid " SELECT LINE"
msgstr " ВЫДЕЛЕНИЕ СТРОКИ"
-#: screen.c:8053
+#: screen.c:8057
msgid " SELECT BLOCK"
msgstr " ВЫДЕЛЕНИЕ БЛОКА"
-#: screen.c:8068 screen.c:8131
+#: screen.c:8072 screen.c:8135
msgid "recording"
msgstr "запись"
@@ -5318,53 +5327,53 @@ msgstr "E385: поиск закончен в КОНЦЕ документа; %s не найдено"
msgid "E386: Expected '?' or '/' after ';'"
msgstr "E386: После ';' ожидается ввод '?' или '/'"
-#: search.c:3759
+#: search.c:3768
msgid " (includes previously listed match)"
msgstr " (включает раннее показанные соответствия)"
#. cursor at status line
-#: search.c:3779
+#: search.c:3788
msgid "--- Included files "
msgstr "--- Включённые файлы "
-#: search.c:3781
+#: search.c:3790
msgid "not found "
msgstr "не найдено "
-#: search.c:3782
+#: search.c:3791
msgid "in path ---\n"
msgstr "по пути ---\n"
-#: search.c:3839
+#: search.c:3848
msgid " (Already listed)"
msgstr " (Уже показано)"
-#: search.c:3841
+#: search.c:3850
msgid " NOT FOUND"
msgstr " НЕ НАЙДЕНО"
-#: search.c:3893
+#: search.c:3902
#, c-format
msgid "Scanning included file: %s"
msgstr "Просмотр включённых файлов: %s"
-#: search.c:4111
+#: search.c:4120
msgid "E387: Match is on current line"
msgstr "E387: Соответствие в текущей строке"
-#: search.c:4254
+#: search.c:4263
msgid "All included files were found"
msgstr "Найдены все включённые файлы"
-#: search.c:4256
+#: search.c:4265
msgid "No included files"
msgstr "Включённых файлов нет"
-#: search.c:4272
+#: search.c:4281
msgid "E388: Couldn't find definition"
msgstr "E388: Определение не найдено"
-#: search.c:4274
+#: search.c:4283
msgid "E389: Couldn't find pattern"
msgstr "E389: Шаблон не найден"
@@ -5789,7 +5798,7 @@ msgid "E440: undo line missing"
msgstr "E440: потеряна строка отмены"
#. Only MS VC 4.1 and earlier can do Win32s
-#: version.c:721
+#: version.c:707
msgid ""
"\n"
"MS-Windows 16/32 bit GUI version"
@@ -5797,7 +5806,7 @@ msgstr ""
"\n"
"Версия с графическим интерфейсом для MS-Windows 16/32 бит"
-#: version.c:723
+#: version.c:709
msgid ""
"\n"
"MS-Windows 32 bit GUI version"
@@ -5805,15 +5814,15 @@ msgstr ""
"\n"
"Версия с графическим интерфейсом для MS-Windows 32 бит"
-#: version.c:726
+#: version.c:712
msgid " in Win32s mode"
msgstr " в режиме Win32s"
-#: version.c:728
+#: version.c:714
msgid " with OLE support"
msgstr " с поддержкой OLE"
-#: version.c:731
+#: version.c:717
msgid ""
"\n"
"MS-Windows 32 bit console version"
@@ -5821,7 +5830,7 @@ msgstr ""
"\n"
"Консольная версия для MS-Windows 32 бит"
-#: version.c:735
+#: version.c:721
msgid ""
"\n"
"MS-Windows 16 bit version"
@@ -5829,7 +5838,7 @@ msgstr ""
"\n"
"Версия для MS-Windows 16 бит"
-#: version.c:739
+#: version.c:725
msgid ""
"\n"
"32 bit MS-DOS version"
@@ -5837,7 +5846,7 @@ msgstr ""
"\n"
"Версия для MS-DOS 32 бит"
-#: version.c:741
+#: version.c:727
msgid ""
"\n"
"16 bit MS-DOS version"
@@ -5845,7 +5854,7 @@ msgstr ""
"\n"
"Версия для MS-DOS 16 бит"
-#: version.c:747
+#: version.c:733
msgid ""
"\n"
"MacOS X (unix) version"
@@ -5853,7 +5862,7 @@ msgstr ""
"\n"
"Версия для MacOS X (unix)"
-#: version.c:749
+#: version.c:735
msgid ""
"\n"
"MacOS X version"
@@ -5861,7 +5870,7 @@ msgstr ""
"\n"
"Версия для MacOS X"
-#: version.c:752
+#: version.c:738
msgid ""
"\n"
"MacOS version"
@@ -5869,7 +5878,7 @@ msgstr ""
"\n"
"Версия для MacOS"
-#: version.c:757
+#: version.c:743
msgid ""
"\n"
"RISC OS version"
@@ -5877,7 +5886,7 @@ msgstr ""
"\n"
"Версия для RISC OS"
-#: version.c:767
+#: version.c:753
msgid ""
"\n"
"Included patches: "
@@ -5885,11 +5894,11 @@ msgstr ""
"\n"
"Заплатки: "
-#: version.c:793 version.c:1161
+#: version.c:779 version.c:1147
msgid "Modified by "
msgstr "С изменениями, внесёнными "
-#: version.c:800
+#: version.c:786
msgid ""
"\n"
"Compiled "
@@ -5897,11 +5906,11 @@ msgstr ""
"\n"
"Скомпилирован "
-#: version.c:803
+#: version.c:789
msgid "by "
msgstr " "
-#: version.c:815
+#: version.c:801
msgid ""
"\n"
"Huge version "
@@ -5909,7 +5918,7 @@ msgstr ""
"\n"
"Огромная версия "
-#: version.c:818
+#: version.c:804
msgid ""
"\n"
"Big version "
@@ -5917,7 +5926,7 @@ msgstr ""
"\n"
"Большая версия "
-#: version.c:821
+#: version.c:807
msgid ""
"\n"
"Normal version "
@@ -5925,7 +5934,7 @@ msgstr ""
"\n"
"Обычная версия "
-#: version.c:824
+#: version.c:810
msgid ""
"\n"
"Small version "
@@ -5933,7 +5942,7 @@ msgstr ""
"\n"
"Малая версия "
-#: version.c:826
+#: version.c:812
msgid ""
"\n"
"Tiny version "
@@ -5941,231 +5950,231 @@ msgstr ""
"\n"
"Версия \"Кроха\" "
-#: version.c:832
+#: version.c:818
msgid "without GUI."
msgstr "без графического интерфейса."
-#: version.c:837
+#: version.c:823
msgid "with GTK2-GNOME GUI."
msgstr "с графическим интерфейсом GTK2-GNOME."
-#: version.c:839
+#: version.c:825
msgid "with GTK-GNOME GUI."
msgstr "с графическим интерфейсом GTK-GNOME."
-#: version.c:843
+#: version.c:829
msgid "with GTK2 GUI."
msgstr "с графическим интерфейсом GTK2."
-#: version.c:845
+#: version.c:831
msgid "with GTK GUI."
msgstr "с графическим интерфейсом GTK."
-#: version.c:850
+#: version.c:836
msgid "with X11-Motif GUI."
msgstr "с графическим интерфейсом X11-Motif."
-#: version.c:854
+#: version.c:840
msgid "with X11-neXtaw GUI."
msgstr "с графическим интерфейсом X11-neXtaw."
-#: version.c:856
+#: version.c:842
msgid "with X11-Athena GUI."
msgstr "с графическим интерфейсом X11-Athena."
-#: version.c:860
+#: version.c:846
msgid "with BeOS GUI."
msgstr "с графическим интерфейсом BeOS."
-#: version.c:863
+#: version.c:849
msgid "with Photon GUI."
msgstr "с графическим интерфейсом Photon."
-#: version.c:866
+#: version.c:852
msgid "with GUI."
msgstr "с графическим интерфейсом."
-#: version.c:869
+#: version.c:855
msgid "with Carbon GUI."
msgstr "с графическим интерфейсом Carbon."
-#: version.c:872
+#: version.c:858
msgid "with Cocoa GUI."
msgstr "с графическим интерфейсом Cocoa."
-#: version.c:875
+#: version.c:861
msgid "with (classic) GUI."
msgstr "с классическим графическим интерфейсом."
-#: version.c:886
+#: version.c:872
msgid " Features included (+) or not (-):\n"
msgstr " Включённые (+) и отключённые (-) особенности:\n"
-#: version.c:898
+#: version.c:884
msgid " system vimrc file: \""
msgstr " общесистемный файл vimrc: \""
-#: version.c:903
+#: version.c:889
msgid " user vimrc file: \""
msgstr " пользовательский файл vimrc: \""
-#: version.c:908
+#: version.c:894
msgid " 2nd user vimrc file: \""
msgstr " второй пользовательский файл vimrc: \""
-#: version.c:913
+#: version.c:899
msgid " 3rd user vimrc file: \""
msgstr " третий пользовательский файл vimrc: \""
-#: version.c:918
+#: version.c:904
msgid " user exrc file: \""
msgstr " пользовательский файл exrc: \""
-#: version.c:923
+#: version.c:909
msgid " 2nd user exrc file: \""
msgstr " второй пользовательский файл exrc: \""
-#: version.c:929
+#: version.c:915
msgid " system gvimrc file: \""
msgstr " общесистемный файл gvimrc: \""
-#: version.c:933
+#: version.c:919
msgid " user gvimrc file: \""
msgstr " пользовательский файл gvimrc: \""
-#: version.c:937
+#: version.c:923
msgid "2nd user gvimrc file: \""
msgstr " второй пользовательский файл gvimrc: \""
-#: version.c:942
+#: version.c:928
msgid "3rd user gvimrc file: \""
msgstr " третий пользовательский файл gvimrc: \""
-#: version.c:949
+#: version.c:935
msgid " system menu file: \""
msgstr " общесистемный файл меню: \""
-#: version.c:957
+#: version.c:943
msgid " fall-back for $VIM: \""
msgstr " значение $VIM по умолчанию: \""
-#: version.c:963
+#: version.c:949
msgid " f-b for $VIMRUNTIME: \""
msgstr " значение $VIMRUNTIME по умолчанию: \""
-#: version.c:967
+#: version.c:953
msgid "Compilation: "
msgstr "Параметры компиляции: "
-#: version.c:973
+#: version.c:959
msgid "Compiler: "
msgstr "Компилятор: "
-#: version.c:978
+#: version.c:964
msgid "Linking: "
msgstr "Сборка: "
-#: version.c:983
+#: version.c:969
msgid " DEBUG BUILD"
msgstr " ОТЛАДОЧНАЯ СБОРКА"
-#: version.c:1022
+#: version.c:1008
msgid "VIM - Vi IMproved"
msgstr "VIM ::: Vi IMproved (Улучшенный Vi) ::: Русская версия"
-#: version.c:1024
+#: version.c:1010
msgid "version "
msgstr "версия "
-#: version.c:1025
+#: version.c:1011
msgid "by Bram Moolenaar et al."
msgstr "Брам Мооленаар и другие"
-#: version.c:1029
+#: version.c:1015
msgid "Vim is open source and freely distributable"
msgstr "Vim это свободно распространяемая программа с открытым кодом"
-#: version.c:1031
+#: version.c:1017
msgid "Help poor children in Uganda!"
msgstr "Бедным детям в Уганде нужна ваша помощь!"
-#: version.c:1032
+#: version.c:1018
msgid "type :help iccf<Enter> for information "
msgstr "наберите :help iccf<Enter> для дополнительной информации"
-#: version.c:1034
+#: version.c:1020
msgid "type :q<Enter> to exit "
msgstr "наберите :q<Enter> чтобы выйти из программы "
-#: version.c:1035
+#: version.c:1021
msgid "type :help<Enter> or <F1> for on-line help"
msgstr "наберите :help<Enter> или <F1> для получения справки "
-#: version.c:1036
+#: version.c:1022
msgid "type :help version6<Enter> for version info"
msgstr "наберите :help version6<Enter> чтобы узнать об этой версии "
-#: version.c:1039
+#: version.c:1025
msgid "Running in Vi compatible mode"
msgstr "Работа в Vi-совместимом режиме"
-#: version.c:1040
+#: version.c:1026
msgid "type :set nocp<Enter> for Vim defaults"
msgstr "наберите :set nocp<Enter> для перехода в режим Vim "
-#: version.c:1041
+#: version.c:1027
msgid "type :help cp-default<Enter> for info on this"
msgstr "наберите :help cp-default<Enter> для дополнительной информации"
-#: version.c:1056
+#: version.c:1042
msgid "menu Help->Orphans for information "
msgstr "меню Справка->Сироты для получения информации "
-#: version.c:1058
+#: version.c:1044
msgid "Running modeless, typed text is inserted"
msgstr "Безрежимная работы, вставка введённого текста"
-#: version.c:1059
+#: version.c:1045
msgid "menu Edit->Global Settings->Toggle Insert Mode "
msgstr "меню Правка->Общие Настройки->Режим Вставки "
-#: version.c:1060
+#: version.c:1046
msgid " for two modes "
msgstr " для двух режимов "
-#: version.c:1064
+#: version.c:1050
msgid "menu Edit->Global Settings->Toggle Vi Compatible"
msgstr "меню Правка->Общие Настройки->Совместимость с Vi "
-#: version.c:1065
+#: version.c:1051
msgid " for Vim defaults "
msgstr " для перехода в режим Vim "
-#: version.c:1112
+#: version.c:1098
msgid "Sponsor Vim development!"
msgstr "Помогите в разработке Vim!"
-#: version.c:1113
+#: version.c:1099
msgid "Become a registered Vim user!"
msgstr "Станьте зарегистрированным пользователем Vim!"
-#: version.c:1116
+#: version.c:1102
msgid "type :help sponsor<Enter> for information "
msgstr "наберите :help sponsor<Enter> для получения информации "
-#: version.c:1117
+#: version.c:1103
msgid "type :help register<Enter> for information "
msgstr "наберите :help register<Enter> для получения информации "
-#: version.c:1119
+#: version.c:1105
msgid "menu Help->Sponsor/Register for information "
msgstr "меню Справка->Помощь/Регистрация для получения информации "
-#: version.c:1129
+#: version.c:1115
msgid "WARNING: Windows 95/98/ME detected"
msgstr "ПРЕДУПРЕЖДЕНИЕ: обнаружена Windows 95/98/ME"
-#: version.c:1132
+#: version.c:1118
msgid "type :help windows95<Enter> for info on this"
msgstr "наберите :help windows95<Enter> для получения информации "
@@ -6202,7 +6211,7 @@ msgstr "E446: Нет имени файла в позиции курсора"
msgid "E447: Can't find file \"%s\" in path"
msgstr "E447: Файл \"%s\" не найден по известным путям"
-#: if_perl.xs:326 globals.h:1232
+#: if_perl.xs:326 globals.h:1241
#, c-format
msgid "E370: Could not load library %s"
msgstr "E370: Невозможно загрузить библиотеку %s"
@@ -6254,7 +6263,7 @@ msgstr "ошибка gvimext.dll"
msgid "Path length too long!"
msgstr "Слишком длинный путь!"
-#: globals.h:1022
+#: globals.h:1031
msgid "--No lines in buffer--"
msgstr "-- Нет строк в буфере --"
@@ -6262,397 +6271,395 @@ msgstr "-- Нет строк в буфере --"
#. * The error messages that can be shared are included here.
#. * Excluded are errors that are only used once and debugging messages.
#.
-#: globals.h:1185
+#: globals.h:1194
msgid "E470: Command aborted"
msgstr "E470: Выполнение команды прервано"
-#: globals.h:1186
+#: globals.h:1195
msgid "E471: Argument required"
msgstr "E471: Требуется указать параметр"
-#: globals.h:1187
+#: globals.h:1196
msgid "E10: \\ should be followed by /, ? or &"
msgstr "E10: После \\ должен идти символ /, ? или &"
-#: globals.h:1189
+#: globals.h:1198
msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits"
msgstr ""
"E11: Недопустимо в окне командной строки; <CR> выполнение, CTRL-C выход"
-#: globals.h:1191
+#: globals.h:1200
msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search"
msgstr ""
"E12: Команда не допускается в exrc/vimrc в текущем каталоге или поиске меток"
-#: globals.h:1193
+#: globals.h:1202
msgid "E171: Missing :endif"
msgstr "E171: Отсутствует команда :endif"
-#: globals.h:1194
+#: globals.h:1203
msgid "E600: Missing :endtry"
msgstr "E600: Отсутствует команда :endtry"
-#: globals.h:1195
+#: globals.h:1204
msgid "E170: Missing :endwhile"
msgstr "E170: Отсутствует команда :endwhile"
-#: globals.h:1196
+#: globals.h:1205
msgid "E588: :endwhile without :while"
msgstr "E588: Команда :endwhile без парной команды :while"
-#: globals.h:1198
+#: globals.h:1207
msgid "E13: File exists (add ! to override)"
msgstr "E13: Файл существует (для перезаписи добавьте !)"
-#: globals.h:1199
+#: globals.h:1208
msgid "E472: Command failed"
msgstr "E472: Не удалось выполнить команду"
-#: globals.h:1201
+#: globals.h:1210
#, c-format
msgid "E234: Unknown fontset: %s"
msgstr "E234: Неизвестный шрифтовой набор: %s"
-#: globals.h:1205
+#: globals.h:1214
#, c-format
msgid "E235: Unknown font: %s"
msgstr "E235: Неизвестный шрифт: %s"
-#: globals.h:1208
+#: globals.h:1217
#, c-format
msgid "E236: Font \"%s\" is not fixed-width"
msgstr "E236: Шрифт \"%s\" не является моноширинным шрифтом"
-#: globals.h:1210
+#: globals.h:1219
msgid "E473: Internal error"
msgstr "E473: Внутренняя ошибка"
-#: globals.h:1211
+#: globals.h:1220
msgid "Interrupted"
msgstr "Прервано"
-#: globals.h:1212
+#: globals.h:1221
msgid "E14: Invalid address"
msgstr "E14: Недопустимый адрес"
-#: globals.h:1213
+#: globals.h:1222
msgid "E474: Invalid argument"
msgstr "E474: Недопустимый аргумент"
-#: globals.h:1214
+#: globals.h:1223
#, c-format
msgid "E475: Invalid argument: %s"
msgstr "E475: Недопустимый аргумент: %s"
-#: globals.h:1216
+#: globals.h:1225
#, c-format
msgid "E15: Invalid expression: %s"
msgstr "E15: Недопустимое выражение: %s"
-#: globals.h:1218
+#: globals.h:1227
msgid "E16: Invalid range"
msgstr "E16: Недопустимый диапазон"
-#: globals.h:1219
+#: globals.h:1228
msgid "E476: Invalid command"
msgstr "E476: Недопустимая команда"
-#: globals.h:1221
+#: globals.h:1230
#, c-format
msgid "E17: \"%s\" is a directory"
msgstr "E17: \"%s\" является каталогом"
-#: globals.h:1224
+#: globals.h:1233
msgid "E18: Unexpected characters before '='"
msgstr "E18: Перед '=' обнаружены неожиданные символы"
-#: globals.h:1227
+#: globals.h:1236
#, c-format
msgid "E364: Library call failed for \"%s()\""
msgstr "E364: Неудачный вызов функции \"%s()\" из библиотеки"
-#: globals.h:1233
+#: globals.h:1242
#, c-format
msgid "E448: Could not load library function %s"
msgstr "E448: Не удалось загрузить функцию %s из библиотеки"
-#: globals.h:1235
+#: globals.h:1244
msgid "E19: Mark has invalid line number"
msgstr "E19: Отметка указывает на неправильный номер строки"
-#: globals.h:1236
+#: globals.h:1245
msgid "E20: Mark not set"
msgstr "Отметка не определена"
-#: globals.h:1237
+#: globals.h:1246
msgid "E21: Cannot make changes, 'modifiable' is off"
msgstr "E21: Изменения невозможны, так как отключена опция 'modifiable'"
-#: globals.h:1238
+#: globals.h:1247
msgid "E22: Scripts nested too deep"
msgstr "E22: Слишком глубоко вложенные сценарии"
-#: globals.h:1239
+#: globals.h:1248
msgid "E23: No alternate file"
msgstr "E23: Соседний файл не существует"
-#: globals.h:1240
+#: globals.h:1249
msgid "E24: No such abbreviation"
msgstr "E24: Нет такого сокращения"
-#: globals.h:1241
+#: globals.h:1250
msgid "E477: No ! allowed"
msgstr "E477: ! не допускается"
-#: globals.h:1243
+#: globals.h:1252
msgid "E25: GUI cannot be used: Not enabled at compile time"
msgstr ""
"E25: Возможность использования графического интерфейса выключена при "
"компиляции"
-#: globals.h:1246
+#: globals.h:1255
msgid "E26: Hebrew cannot be used: Not enabled at compile time\n"
msgstr "E26: Иврит выключен при компиляции\n"
-#: globals.h:1249
+#: globals.h:1258
msgid "E27: Farsi cannot be used: Not enabled at compile time\n"
msgstr "E27: Фарси выключено при компиляции\n"
-#: globals.h:1252
+#: globals.h:1261
msgid "E800: Arabic cannot be used: Not enabled at compile time\n"
msgstr "E800: Арабский выключен при компиляции\n"
-#: globals.h:1255
+#: globals.h:1264
#, c-format
msgid "E28: No such highlight group name: %s"
msgstr "E28: Группа подсветки синтаксиса %s не существует"
-#: globals.h:1257
+#: globals.h:1266
msgid "E29: No inserted text yet"
msgstr "E29: Пока нет вставленного текста"
-#: globals.h:1258
+#: globals.h:1267
msgid "E30: No previous command line"
msgstr "E30: Предыдущей командной строки нет"
-#: globals.h:1259
+#: globals.h:1268
msgid "E31: No such mapping"
msgstr "E31: Такой привязки не существует"
-#: globals.h:1260
+#: globals.h:1269
msgid "E479: No match"
msgstr "E479: Нет соответствия"
-#: globals.h:1261
+#: globals.h:1270
#, c-format
msgid "E480: No match: %s"
msgstr "E480: Нет соответствия: %s"
-#: globals.h:1262
+#: globals.h:1271
msgid "E32: No file name"
msgstr "E32: Нет имени файла"
-#: globals.h:1263
+#: globals.h:1272
msgid "E33: No previous substitute regular expression"
msgstr "E33: Нет предыдущего регулярного выражения для замены"
-#: globals.h:1264
+#: globals.h:1273
msgid "E34: No previous command"
msgstr "E34: Нет предыдущей команды"
-#: globals.h:1265
+#: globals.h:1274
msgid "E35: No previous regular expression"
msgstr "E35: Нет предыдущего регулярного выражения"
-#: globals.h:1266
+#: globals.h:1275
msgid "E481: No range allowed"
msgstr "E481: Использование диапазона не допускается"
-#: globals.h:1268
+#: globals.h:1277
msgid "E36: Not enough room"
msgstr "E36: Недостаточно места"
-#: globals.h:1271
+#: globals.h:1280
#, c-format
msgid "E247: no registered server named \"%s\""
msgstr "E247: сервер \"%s\" не зарегистрирован"
-#: globals.h:1273
+#: globals.h:1282
#, c-format
msgid "E482: Can't create file %s"
msgstr "E482: Невозможно создать файл %s"
-#: globals.h:1274
+#: globals.h:1283
msgid "E483: Can't get temp file name"
msgstr "E483: Невозможно получить имя временного файла"
-#: globals.h:1275
+#: globals.h:1284
#, c-format
msgid "E484: Can't open file %s"
msgstr "E484: Невозможно открыть файл %s"
-#: globals.h:1276
+#: globals.h:1285
#, c-format
msgid "E485: Can't read file %s"
msgstr "E485: Невозможно прочитать файл %s"
-#: globals.h:1277
+#: globals.h:1286
msgid "E37: No write since last change (add ! to override)"
msgstr "E37: Изменения не сохранены (добавьте !, чтобы обойти проверку)"
-#: globals.h:1278
+#: globals.h:1287
msgid "E38: Null argument"
msgstr "E38: Нулевой аргумент"
-#: globals.h:1280
+#: globals.h:1289
msgid "E39: Number expected"
msgstr "E39: Требуется число"
-#: globals.h:1283
+#: globals.h:1292
#, c-format
msgid "E40: Can't open errorfile %s"
msgstr "E40: Не удалось открыть файл ошибок %s"
-#: globals.h:1286
+#: globals.h:1295
msgid "E233: cannot open display"
msgstr "E233: невозможно открыть дисплей"
-#: globals.h:1288
+#: globals.h:1297
msgid "E41: Out of memory!"
msgstr "E41: Не хватает памяти!"
-#: globals.h:1290
+#: globals.h:1299
msgid "Pattern not found"
msgstr "Шаблон не найден"
-#: globals.h:1292
+#: globals.h:1301
#, c-format
msgid "E486: Pattern not found: %s"
msgstr "E486: Шаблон не найден: %s"
-#: globals.h:1293
+#: globals.h:1302
msgid "E487: Argument must be positive"
msgstr "E487: Параметр должен быть положительным числом"
-#: globals.h:1295
+#: globals.h:1304
msgid "E459: Cannot go back to previous directory"
msgstr "E459: Возврат в предыдущий каталог невозможен"
-#: globals.h:1299
+#: globals.h:1308
msgid "E42: No Errors"
msgstr "E42: Ошибок нет"
-#: globals.h:1301
+#: globals.h:1310
msgid "E43: Damaged match string"
msgstr "E43: Повреждена строка соответствия"
-#: globals.h:1302
+#: globals.h:1311
msgid "E44: Corrupted regexp program"
msgstr "E44: Программа обработки регулярных выражений повреждена"
-#: globals.h:1303
+#: globals.h:1312
msgid "E45: 'readonly' option is set (add ! to override)"
msgstr ""
"E45: Включена опция 'readonly' (добавьте !, чтобы не обращать внимания)"
-#: globals.h:1305
+#: globals.h:1314
#, c-format
msgid "E46: Cannot set read-only variable \"%s\""
msgstr "E46: Невозможно изменить доступную только для чтения переменную \"%s\""
-#: globals.h:1308
+#: globals.h:1317
msgid "E47: Error while reading errorfile"
msgstr "E47: Ошибка при чтении файла ошибок"
-#: globals.h:1311
+#: globals.h:1320
msgid "E48: Not allowed in sandbox"
msgstr "E48: Не допускается в песочнице"
-#: globals.h:1313
+#: globals.h:1322
msgid "E523: Not allowed here"
msgstr "E523: Здесь не разрешено"
-#: globals.h:1316
+#: globals.h:1325
msgid "E359: Screen mode setting not supported"
msgstr "E359: Данный режим экрана не поддерживается"
-#: globals.h:1318
+#: globals.h:1327
msgid "E49: Invalid scroll size"
msgstr "E49: Недопустимый размер прокрутки"
-#: globals.h:1319
+#: globals.h:1328
msgid "E91: 'shell' option is empty"
msgstr "E91: Значением опции 'shell' является пустая строка"
-#: globals.h:1321
+#: globals.h:1330
msgid "E255: Couldn't read in sign data!"
msgstr "E255: Невозможно прочитать данные о значках!"
-#: globals.h:1323
+#: globals.h:1332
msgid "E72: Close error on swap file"
msgstr "E72: Ошибка закрытия своп-файла"
-#: globals.h:1324
+#: globals.h:1333
msgid "E73: tag stack empty"
msgstr "E73: Стек меток пустой"
-#: globals.h:1325
+#: globals.h:1334
msgid "E74: Command too complex"
msgstr "E74: Слишком сложная команда"
-#: globals.h:1326
+#: globals.h:1335
msgid "E75: Name too long"
msgstr "E75: Слишком длинное имя"
-#: globals.h:1327
+#: globals.h:1336
msgid "E76: Too many ["
msgstr "E76: Слишком много символов ["
-#: globals.h:1328
+#: globals.h:1337
msgid "E77: Too many file names"
msgstr "E77: Слишком много имён файлов"
-#: globals.h:1329
+#: globals.h:1338
msgid "E488: Trailing characters"
msgstr "E488: Лишние символы на хвосте"
-#: globals.h:1330
+#: globals.h:1339
msgid "E78: Unknown mark"
msgstr "E78: Неизвестная отметка"
-#: globals.h:1331
+#: globals.h:1340
msgid "E79: Cannot expand wildcards"
msgstr "E79: Невозможно выполнить подстановку по маске"
-#: globals.h:1333
+#: globals.h:1342
msgid "E591: 'winheight' cannot be smaller than 'winminheight'"
msgstr ""
"E591: Значение опции 'winheight' не может быть меньше значения 'winminheight'"
-#: globals.h:1335
+#: globals.h:1344
msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'"
msgstr ""
"E592: Значение опции 'winwidth' не может быть меньше значения 'winminwidth'"
-#: globals.h:1338
+#: globals.h:1347
msgid "E80: Error while writing"
msgstr "E80: Ошибка при записи"
-#: globals.h:1339
+#: globals.h:1348
msgid "Zero count"
msgstr "Нулевое значение счётчика"
-#: globals.h:1341
+#: globals.h:1350
msgid "E81: Using <SID> not in a script context"
msgstr "E81: Использование <SID> вне контекста сценария"
-#: globals.h:1344
+#: globals.h:1353
msgid "E449: Invalid expression received"
msgstr "E449: Получено недопустимое выражение"
-#: globals.h:1347
+#: globals.h:1356
msgid "E463: Region is guarded, cannot modify"
msgstr "E463: Невозможно изменить охраняемую область"
-#~ msgid "\"\n"
-#~ msgstr "\"\n"
diff --git a/src/proto/eval.pro b/src/proto/eval.pro
index c1dfbb8e9..83e10abfc 100644
--- a/src/proto/eval.pro
+++ b/src/proto/eval.pro
@@ -11,6 +11,7 @@ void eval_diff __ARGS((char_u *origfile, char_u *newfile, char_u *outfile));
void eval_patch __ARGS((char_u *origfile, char_u *difffile, char_u *outfile));
int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip));
char_u *eval_to_string_skip __ARGS((char_u *arg, char_u **nextcmd, int skip));
+int skip_expr __ARGS((char_u **pp));
char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd));
char_u *eval_to_string_safe __ARGS((char_u *arg, char_u **nextcmd));
int eval_to_number __ARGS((char_u *expr));
diff --git a/src/proto/ex_cmds.pro b/src/proto/ex_cmds.pro
index 33f105a09..f63fcda81 100644
--- a/src/proto/ex_cmds.pro
+++ b/src/proto/ex_cmds.pro
@@ -38,6 +38,7 @@ int read_viminfo_sub_string __ARGS((vir_T *virp, int force));
void write_viminfo_sub_string __ARGS((FILE *fp));
void prepare_tagpreview __ARGS((void));
void ex_help __ARGS((exarg_T *eap));
+char_u *check_help_lang __ARGS((char_u *arg));
int help_heuristic __ARGS((char_u *matched_string, int offset, int wrong_case));
int find_help_tags __ARGS((char_u *arg, int *num_matches, char_u ***matches, int keep_lang));
void fix_help_buffer __ARGS((void));
diff --git a/src/quickfix.c b/src/quickfix.c
index 5dbbc1b53..c25a0be3f 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -1006,6 +1006,7 @@ qf_jump(dir, errornr, forceit)
#ifdef FEAT_FOLDING
int old_KeyTyped = KeyTyped; /* getting file may reset it */
#endif
+ int ok = OK;
if (qf_curlist >= qf_listcount || qf_lists[qf_curlist].qf_count == 0)
{
@@ -1097,6 +1098,42 @@ qf_jump(dir, errornr, forceit)
print_message = FALSE;
/*
+ * For ":helpgrep" find a help window or open one.
+ */
+ if (qf_ptr->qf_type == 1 && !curwin->w_buffer->b_help)
+ {
+ win_T *wp;
+ int n;
+
+ for (wp = firstwin; wp != NULL; wp = wp->w_next)
+ if (wp->w_buffer != NULL && wp->w_buffer->b_help)
+ break;
+ if (wp != NULL && wp->w_buffer->b_nwindows > 0)
+ win_enter(wp, TRUE);
+ else
+ {
+ /*
+ * Split off help window; put it at far top if no position
+ * specified, the current window is vertically split and narrow.
+ */
+ n = WSP_HELP;
+# ifdef FEAT_VERTSPLIT
+ if (cmdmod.split == 0 && curwin->w_width != Columns
+ && curwin->w_width < 80)
+ n |= WSP_TOP;
+# endif
+ if (win_split(0, n) == FAIL)
+ goto theend;
+
+ if (curwin->w_height < p_hh)
+ win_setheight((int)p_hh);
+ }
+
+ if (!p_im)
+ restart_edit = 0; /* don't want insert mode in help file */
+ }
+
+ /*
* If currently in the quickfix window, find another window to show the
* file in.
*/
@@ -1170,8 +1207,28 @@ qf_jump(dir, errornr, forceit)
*/
old_curbuf = curbuf;
old_lnum = curwin->w_cursor.lnum;
- if (qf_ptr->qf_fnum == 0 || buflist_getfile(qf_ptr->qf_fnum,
- (linenr_T)1, GETF_SETMARK | GETF_SWITCH, forceit) == OK)
+
+ if (qf_ptr->qf_fnum != 0)
+ {
+ if (qf_ptr->qf_type == 1)
+ {
+ /* Open help file (do_ecmd() will set b_help flag, readfile() will
+ * set b_p_ro flag). */
+ if (!can_abandon(curbuf, forceit))
+ {
+ EMSG(_(e_nowrtmsg));
+ ok = FALSE;
+ }
+ else
+ ok = do_ecmd(qf_ptr->qf_fnum, NULL, NULL, NULL, (linenr_T)1,
+ ECMD_HIDE + ECMD_SET_HELP);
+ }
+ else
+ ok = buflist_getfile(qf_ptr->qf_fnum,
+ (linenr_T)1, GETF_SETMARK | GETF_SWITCH, forceit);
+ }
+
+ if (ok == OK)
{
/* When not switched to another buffer, still need to set pc mark */
if (curbuf == old_curbuf)
@@ -2145,11 +2202,19 @@ ex_helpgrep(eap)
int fi;
struct qf_line *prevp = NULL;
long lnum;
+#ifdef FEAT_MULTI_LANG
+ char_u *lang;
+#endif
/* Make 'cpoptions' empty, the 'l' flag should not be used here. */
save_cpo = p_cpo;
p_cpo = (char_u *)"";
+#ifdef FEAT_MULTI_LANG
+ /* Check for a specified language */
+ lang = check_help_lang(eap->arg);
+#endif
+
regmatch.regprog = vim_regcomp(eap->arg, RE_MAGIC + RE_STRING);
regmatch.rm_ic = FALSE;
if (regmatch.regprog != NULL)
@@ -2172,6 +2237,16 @@ ex_helpgrep(eap)
{
for (fi = 0; fi < fcount && !got_int; ++fi)
{
+#ifdef FEAT_MULTI_LANG
+ /* Skip files for a different language. */
+ if (lang != NULL
+ && STRNICMP(lang, fnames[fi]
+ + STRLEN(fnames[fi]) - 3, 2) != 0
+ && !(STRNICMP(lang, "en", 2) == 0
+ && STRNICMP("txt", fnames[fi]
+ + STRLEN(fnames[fi]) - 3, 3) == 0))
+ continue;
+#endif
fd = fopen((char *)fnames[fi], "r");
if (fd != NULL)
{
@@ -2227,6 +2302,8 @@ ex_helpgrep(eap)
/* Jump to first match. */
if (qf_lists[qf_curlist].qf_count > 0)
qf_jump(0, 0, FALSE);
+ else
+ EMSG2(_(e_nomatch2), eap->arg);
}
#endif /* FEAT_QUICKFIX */
diff --git a/src/search.c b/src/search.c
index 9c6cc6dc1..ace8fa83c 100644
--- a/src/search.c
+++ b/src/search.c
@@ -3052,13 +3052,16 @@ current_word(oap, count, include, bigword)
--count;
}
- if (include_white && cls() != 0)
+ if (include_white && (cls() != 0
+ || (curwin->w_cursor.col == 0 && !inclusive)))
{
/*
* If we don't include white space at the end, move the start
* to include some white space there. This makes "daw" work
* better on the last word in a sentence (and "2daw" on last-but-one
- * word). But don't delete white space at start of line (indent).
+ * word). Also when "2daw" deletes "word." at the end of the line
+ * (cursor is at start of next line).
+ * But don't delete white space at start of line (indent).
*/
pos = curwin->w_cursor; /* save cursor position */
curwin->w_cursor = start_pos;