mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-02 11:19:22 +02:00
Compare commits
92 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e6ada4d1c2 | |||
| 8e0f1b8f4b | |||
| eb8983e048 | |||
| 14816ad6e5 | |||
| 0472b6d149 | |||
| d53931ae73 | |||
| 7dca2ebbcf | |||
| c854898881 | |||
| a92bafb261 | |||
| 4bafe61062 | |||
| ec0c14e6e4 | |||
| 066dd1f654 | |||
| caed4ee6f0 | |||
| 9227e8a0a8 | |||
| 1c34fb43d1 | |||
| 98c61096c7 | |||
| ad51dcde53 | |||
| b0e2da2b23 | |||
| 4c92e75dd4 | |||
| a5483448cb | |||
| c85c8fcb9f | |||
| 749f07c0db | |||
| 76cbe811da | |||
| 4f97475d32 | |||
| 78d21dae9c | |||
| 3678f65d43 | |||
| 21edde8742 | |||
| f1b57ab2ab | |||
| 55c77cf2ea | |||
| 8bfd9469ce | |||
| 985079c514 | |||
| 6982f42f33 | |||
| 14184a3133 | |||
| 6902c0eb27 | |||
| 0a1b17bbec | |||
| 5acd987258 | |||
| d634024b90 | |||
| 0059074008 | |||
| e93e5a504f | |||
| 5ff7df509a | |||
| 7e841e3ce5 | |||
| c3ef896608 | |||
| 96baf02aa8 | |||
| 81aa0f56f8 | |||
| 29ae223ddc | |||
| 0f77d6afd5 | |||
| 9b5c1fcdea | |||
| 445e71c5ee | |||
| b999ba2778 | |||
| a787019518 | |||
| 5fd0f5052f | |||
| 688b3983d8 | |||
| 18442cbcc0 | |||
| 943e9639a9 | |||
| 15bbd6ec87 | |||
| d9ef1b8d77 | |||
| 9403a2168d | |||
| 5382f12c91 | |||
| e1ed53f3f9 | |||
| 5567ad48b6 | |||
| 00f148d2f2 | |||
| beb7574d6b | |||
| ff697e6cef | |||
| 57ee2b6e0b | |||
| 48773f1f83 | |||
| e0fb7d1e38 | |||
| 0ea21e41c6 | |||
| 05c00c038b | |||
| 5a6698169d | |||
| ec0f50a35e | |||
| dce1e89be4 | |||
| 3615abb693 | |||
| eeb1b9c7ed | |||
| d77aa4d22e | |||
| 593864817a | |||
| 6524068ff3 | |||
| 31b816042f | |||
| 9474716d39 | |||
| b763361161 | |||
| 18c5632cab | |||
| af630d4f7f | |||
| 54d6fe5e60 | |||
| 1aa43755e2 | |||
| 8c62a08faf | |||
| c6ddce3f2c | |||
| 0036201a1a | |||
| a02e3f65c5 | |||
| ee8188fc74 | |||
| 2a78b7c704 | |||
| 71b13e92ae | |||
| 94688b8a2a | |||
| 9c46efd7dc |
+2
-2
@@ -8,7 +8,7 @@ osx_image:
|
||||
- xcode7.3
|
||||
- xcode8.3
|
||||
- xcode9.4
|
||||
- xcode10.1
|
||||
- xcode10.2
|
||||
|
||||
compiler:
|
||||
- clang
|
||||
@@ -76,7 +76,7 @@ deploy:
|
||||
file: src/MacVim/build/Release/MacVim.dmg
|
||||
skip_cleanup: true
|
||||
on:
|
||||
condition: $TRAVIS_OSX_IMAGE = xcode10.1
|
||||
condition: $TRAVIS_OSX_IMAGE = xcode10.2
|
||||
all_branches: true
|
||||
tags: true
|
||||
repo: macvim-dev/macvim
|
||||
|
||||
@@ -37,10 +37,9 @@ SRC_ALL = \
|
||||
src/ex_docmd.c \
|
||||
src/ex_eval.c \
|
||||
src/ex_getln.c \
|
||||
src/farsi.c \
|
||||
src/farsi.h \
|
||||
src/feature.h \
|
||||
src/fileio.c \
|
||||
src/findfile.c \
|
||||
src/fold.c \
|
||||
src/getchar.c \
|
||||
src/globals.h \
|
||||
@@ -168,8 +167,8 @@ SRC_ALL = \
|
||||
src/proto/ex_docmd.pro \
|
||||
src/proto/ex_eval.pro \
|
||||
src/proto/ex_getln.pro \
|
||||
src/proto/farsi.pro \
|
||||
src/proto/fileio.pro \
|
||||
src/proto/findfile.pro \
|
||||
src/proto/fold.pro \
|
||||
src/proto/getchar.pro \
|
||||
src/proto/gui.pro \
|
||||
@@ -835,8 +834,6 @@ EXTRA = \
|
||||
$(SRC_EXTRA) \
|
||||
README_extra.txt \
|
||||
src/VisVim/VisVim.dll \
|
||||
farsi/README.txt \
|
||||
farsi/fonts/*/far-* \
|
||||
runtime/vimlogo.xpm \
|
||||
src/tee/Makefile \
|
||||
src/tee/Make_mvc.mak \
|
||||
|
||||
@@ -3,7 +3,11 @@ Vim - the text editor - for Mac OS X
|
||||
|
||||
- MacVim homepage https://macvim-dev.github.io/macvim
|
||||
|
||||
- Vim README https://github.com/macvim-dev/macvim/blob/master/README_vim.md
|
||||
- Download the latest version from [Releases](https://github.com/macvim-dev/macvim/releases/latest).
|
||||
|
||||
- Vim README: [README_vim.md](README_vim.md)
|
||||
|
||||
- Travis CI <a href="https://travis-ci.org/macvim-dev/macvim"><img src="https://travis-ci.org/macvim-dev/macvim.svg?branch=master" alt="Build Status"></a><a href="https://travis-ci.org/macvim-dev/homebrew-macvim"><img src="https://travis-ci.org/macvim-dev/homebrew-macvim.svg?branch=master" alt="Build Status"></a>
|
||||
|
||||
- Packaged in [](https://repology.org/metapackage/macvim/versions) [](https://repology.org/metapackage/macvim/versions)
|
||||
|
||||
|
||||
+9
-2
@@ -1,8 +1,12 @@
|
||||
`README.md` for version 8.0 of Vim: Vi IMproved.
|
||||

|
||||
|
||||
[](https://travis-ci.org/vim/vim)
|
||||
[](https://coveralls.io/github/vim/vim?branch=master)
|
||||
[](https://ci.appveyor.com/project/chrisbra/vim)
|
||||
[](https://codecov.io/gh/vim/vim?branch=master)
|
||||
[](https://scan.coverity.com/projects/vim)
|
||||
[](https://lgtm.com/projects/g/vim/vim/context:cpp)
|
||||
[](https://buildd.debian.org/vim)
|
||||
[](https://repology.org/metapackage/vim)
|
||||
|
||||
|
||||
## What is Vim? ##
|
||||
@@ -134,3 +138,6 @@ If nothing else works, report bugs directly:
|
||||
|
||||
Send any other comments, patches, flowers and suggestions to:
|
||||
Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
|
||||
This is `README.md` for version 8.1 of Vim: Vi IMproved.
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
For information about installation of Farsi fonts and Vim usage in Farsi mode,
|
||||
refer to the Farsi help file by typing ":help farsi" in Vim.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -74,7 +74,7 @@ LangString str_group_plugin ${LANG_DANISH} "Opret plugin-mapper"
|
||||
LangString str_desc_plugin ${LANG_DANISH} "Opret plugin-mapper. Plugin-mapper giver mulighed for at udvide Vim ved at slippe en fil i en mappen."
|
||||
|
||||
LangString str_section_plugin_home ${LANG_DANISH} "Private"
|
||||
LangString str_desc_plugin_home ${LANG_DANISH} "Opret plugin-mapper i HOME-mappen."
|
||||
LangString str_desc_plugin_home ${LANG_DANISH} "Opret plugin-mapper i HOME (hvis du har defineret et) eller Vim-installationsmappe."
|
||||
|
||||
LangString str_section_plugin_vim ${LANG_DANISH} "Delte"
|
||||
LangString str_desc_plugin_vim ${LANG_DANISH} "Opret plugin-mapper i Vim-installationsmappe, det bruges af alle på systemet."
|
||||
@@ -92,9 +92,9 @@ LangString str_unsection_exe ${LANG_DANISH} "Fjern Vim-eksekverbare-/
|
||||
LangString str_desc_rm_exe ${LANG_DANISH} "Fjern alle Vim-eksekverbare- og afviklingsfiler."
|
||||
|
||||
LangString str_ungroup_plugin ${LANG_DANISH} "Fjern plugin-mapper"
|
||||
LangString str_desc_rm_plugin ${LANG_DANISH} "Fjern plugin-mapperne hvis de er tomme."
|
||||
LangString str_desc_rm_plugin ${LANG_DANISH} "Fjern plugin-mapperne, hvis de er tomme."
|
||||
|
||||
LangString str_unsection_plugin_home ${LANG_DANISH} "Privat"
|
||||
LangString str_unsection_plugin_home ${LANG_DANISH} "Private"
|
||||
LangString str_desc_rm_plugin_home ${LANG_DANISH} "Fjern plugin-mapperne fra HOME-mappen."
|
||||
|
||||
LangString str_unsection_plugin_vim ${LANG_DANISH} "Delte"
|
||||
@@ -164,9 +164,9 @@ LangString str_msg_compat_defaults ${LANG_DANISH} "Vim med nogle forbedringe
|
||||
LangString str_msg_compat_all ${LANG_DANISH} "Vim med alle forbedringer (indlæs vimrc_example.vim) (standard)"
|
||||
|
||||
LangString str_msg_keymap_title ${LANG_DANISH} " Tilknytninger "
|
||||
LangString str_msg_keymap_desc ${LANG_DANISH} "&Gentilknyt nogle få taster (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F osv.)"
|
||||
LangString str_msg_keymap_desc ${LANG_DANISH} "&Gentilknyt nogle få taster for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F osv.)"
|
||||
LangString str_msg_keymap_default ${LANG_DANISH} "Gentilknyt ikke taster (standard)"
|
||||
LangString str_msg_keymap_windows ${LANG_DANISH} "Gentilknyt nogle få taster til Windows"
|
||||
LangString str_msg_keymap_windows ${LANG_DANISH} "Gentilknyt nogle få taster"
|
||||
|
||||
LangString str_msg_mouse_title ${LANG_DANISH} " Mus "
|
||||
LangString str_msg_mouse_desc ${LANG_DANISH} "&Opførsel af højre og venstre knapper"
|
||||
|
||||
+25
-20
@@ -1,7 +1,7 @@
|
||||
" The default vimrc file.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2019 Jan 26
|
||||
" Last change: 2019 Feb 18
|
||||
"
|
||||
" This is loaded if no vimrc file was found.
|
||||
" Except when Vim is run with "-u NONE" or "-C".
|
||||
@@ -90,28 +90,33 @@ if &t_Co > 2 || has("gui_running")
|
||||
let c_comment_strings=1
|
||||
endif
|
||||
|
||||
" Enable file type detection.
|
||||
" Use the default filetype settings, so that mail gets 'tw' set to 72,
|
||||
" 'cindent' is on in C files, etc.
|
||||
" Also load indent files, to automatically do language-dependent indenting.
|
||||
" Revert with ":filetype off".
|
||||
filetype plugin indent on
|
||||
" Only do this part when Vim was compiled with the +eval feature.
|
||||
if 1
|
||||
|
||||
" Put these in an autocmd group, so that you can revert them with:
|
||||
" ":augroup vimStartup | au! | augroup END"
|
||||
augroup vimStartup
|
||||
au!
|
||||
" Enable file type detection.
|
||||
" Use the default filetype settings, so that mail gets 'tw' set to 72,
|
||||
" 'cindent' is on in C files, etc.
|
||||
" Also load indent files, to automatically do language-dependent indenting.
|
||||
" Revert with ":filetype off".
|
||||
filetype plugin indent on
|
||||
|
||||
" When editing a file, always jump to the last known cursor position.
|
||||
" Don't do it when the position is invalid, when inside an event handler
|
||||
" (happens when dropping a file on gvim) and for a commit message (it's
|
||||
" likely a different one than last time).
|
||||
autocmd BufReadPost *
|
||||
\ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
|
||||
\ | exe "normal! g`\""
|
||||
\ | endif
|
||||
" Put these in an autocmd group, so that you can revert them with:
|
||||
" ":augroup vimStartup | au! | augroup END"
|
||||
augroup vimStartup
|
||||
au!
|
||||
|
||||
augroup END
|
||||
" When editing a file, always jump to the last known cursor position.
|
||||
" Don't do it when the position is invalid, when inside an event handler
|
||||
" (happens when dropping a file on gvim) and for a commit message (it's
|
||||
" likely a different one than last time).
|
||||
autocmd BufReadPost *
|
||||
\ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
|
||||
\ | exe "normal! g`\""
|
||||
\ | endif
|
||||
|
||||
augroup END
|
||||
|
||||
endif
|
||||
|
||||
" Convenient command to see the difference between the current buffer and the
|
||||
" file it was loaded from, thus the changes you made.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 8.1. Last change: 2018 Dec 14
|
||||
*change.txt* For Vim version 8.1. Last change: 2019 Feb 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -640,11 +640,11 @@ For other systems the tmpnam() library function is used.
|
||||
For the {pattern} see |pattern|.
|
||||
{string} can be a literal string, or something
|
||||
special; see |sub-replace-special|.
|
||||
*E939*
|
||||
When [range] and [count] are omitted, replace in the
|
||||
current line only. When [count] is given, replace in
|
||||
[count] lines, starting with the last line in [range].
|
||||
When [range] is omitted start in the current line.
|
||||
*E939*
|
||||
[count] must be a positive number. Also see
|
||||
|cmdline-ranges|.
|
||||
|
||||
|
||||
+22
-4
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 8.1. Last change: 2018 May 02
|
||||
*develop.txt* For Vim version 8.1. Last change: 2019 Feb 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -355,6 +355,24 @@ OK: if (cond)
|
||||
cmd;
|
||||
}
|
||||
|
||||
When a block has one line the braces can be left out. When an if/else has
|
||||
braces on one block, it usually looks better when the other block also has
|
||||
braces:
|
||||
OK: if (cond)
|
||||
cmd;
|
||||
else
|
||||
cmd;
|
||||
|
||||
OK: if (cond)
|
||||
{
|
||||
cmd;
|
||||
}
|
||||
else
|
||||
{
|
||||
cmd;
|
||||
cmd;
|
||||
}
|
||||
|
||||
Use ANSI (new style) function declarations with the return type on a separate
|
||||
indented line.
|
||||
|
||||
@@ -367,10 +385,10 @@ OK: /*
|
||||
*/
|
||||
int
|
||||
function_name(
|
||||
int arg1, /* short comment about arg1 */
|
||||
int arg2) /* short comment about arg2 */
|
||||
int arg1, // short comment about arg1
|
||||
int arg2) // short comment about arg2
|
||||
{
|
||||
int local; /* comment about local */
|
||||
int local; // comment about local
|
||||
|
||||
local = arg1 * arg2;
|
||||
|
||||
|
||||
+5
-15
@@ -1,4 +1,4 @@
|
||||
*digraph.txt* For Vim version 8.1. Last change: 2018 Dec 14
|
||||
*digraph.txt* For Vim version 8.1. Last change: 2019 Feb 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -59,18 +59,9 @@ conversion to be available, it might fail. For the NUL character you will see
|
||||
"10". That's because NUL characters are internally represented with a NL
|
||||
character. When you write the file it will become a NUL character.
|
||||
|
||||
When Vim was compiled without the |+multi_byte| feature, you need to specify
|
||||
the character in the encoding given with 'encoding'. You might want to use
|
||||
something like this: >
|
||||
|
||||
if has("multi_byte")
|
||||
digraph oe 339
|
||||
elseif &encoding == "iso-8859-15"
|
||||
digraph oe 189
|
||||
endif
|
||||
|
||||
This defines the "oe" digraph for a character that is number 339 in Unicode
|
||||
and 189 in latin9 (iso-8859-15).
|
||||
Example: >
|
||||
digraph oe 339
|
||||
This defines the "oe" digraph for a character that is number 339 in Unicode.
|
||||
|
||||
==============================================================================
|
||||
2. Using digraphs *digraphs-use*
|
||||
@@ -164,8 +155,7 @@ a standard meaning:
|
||||
Example: a: is ä and o: is ö
|
||||
|
||||
These are the RFC1345 digraphs for the one-byte characters. See the output of
|
||||
":digraphs" for the others. The characters above 255 are only available when
|
||||
Vim was compiled with the |+multi_byte| feature.
|
||||
":digraphs" for the others.
|
||||
|
||||
EURO
|
||||
|
||||
|
||||
+22
-14
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.1. Last change: 2019 Feb 03
|
||||
*eval.txt* For Vim version 8.1. Last change: 2019 Feb 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -5538,7 +5538,6 @@ iconv({expr}, {from}, {to}) *iconv()*
|
||||
< Note that Vim uses UTF-8 for all Unicode encodings, conversion
|
||||
from/to UCS-2 is automatically changed to use UTF-8. You
|
||||
cannot use UCS-2 in a string anyway, because of the NUL bytes.
|
||||
{only available when compiled with the |+multi_byte| feature}
|
||||
|
||||
*indent()*
|
||||
indent({lnum}) The result is a Number, which is indent of line {lnum} in the
|
||||
@@ -5750,6 +5749,11 @@ job_info([{job}]) *job_info()*
|
||||
(See |job_stop()| for the values)
|
||||
only valid when "status" is "dead"
|
||||
|
||||
Only in MS-Windows:
|
||||
"tty_type" Type of virtual console in use.
|
||||
Values are "winpty" or "conpty".
|
||||
See 'termwintype'.
|
||||
|
||||
Without any arguments, returns a List with all Job objects.
|
||||
|
||||
job_setoptions({job}, {options}) *job_setoptions()*
|
||||
@@ -6811,8 +6815,7 @@ printf({fmt}, {expr1} ...) *printf()*
|
||||
*printf-S*
|
||||
S The text of the String argument is used. If a
|
||||
precision is specified, no more display cells than the
|
||||
number specified are used. Without the |+multi_byte|
|
||||
feature works just like 's'.
|
||||
number specified are used.
|
||||
|
||||
*printf-f* *E807*
|
||||
f F The Float argument is converted into a string of the
|
||||
@@ -7380,6 +7383,9 @@ repeat({expr}, {count}) *repeat()*
|
||||
resolve({filename}) *resolve()* *E655*
|
||||
On MS-Windows, when {filename} is a shortcut (a .lnk file),
|
||||
returns the path the shortcut points to in a simplified form.
|
||||
When {filename} is a symbolic link or junction point, return
|
||||
the full path to the target. If the target of junction is
|
||||
removed, return {filename}.
|
||||
On Unix, repeat resolving symbolic links in all path
|
||||
components of {filename} and return the simplified result.
|
||||
To cope with link cycles, resolving of symbolic links is
|
||||
@@ -8603,10 +8609,10 @@ strcharpart({src}, {start} [, {len}]) *strcharpart()*
|
||||
|
||||
strdisplaywidth({expr} [, {col}]) *strdisplaywidth()*
|
||||
The result is a Number, which is the number of display cells
|
||||
String {expr} occupies on the screen when it starts at {col}.
|
||||
When {col} is omitted zero is used. Otherwise it is the
|
||||
screen column where to start. This matters for Tab
|
||||
characters.
|
||||
String {expr} occupies on the screen when it starts at {col}
|
||||
(first column is zero). When {col} is omitted zero is used.
|
||||
Otherwise it is the screen column where to start. This
|
||||
matters for Tab characters.
|
||||
The option settings of the current window are used. This
|
||||
matters for anything that's displayed differently, such as
|
||||
'tabstop' and 'display'.
|
||||
@@ -9469,10 +9475,8 @@ term_start({cmd}, {options}) *term_start()*
|
||||
"ansi_colors" A list of 16 color names or hex codes
|
||||
defining the ANSI palette used in GUI
|
||||
color modes. See |g:terminal_ansi_colors|.
|
||||
"term_mode" (MS-Windows only): Specify which pty to
|
||||
use:
|
||||
"winpty": Use winpty
|
||||
"conpty": Use ConPTY (if available)
|
||||
"tty_type" (MS-Windows only): Specify which pty to
|
||||
use. See 'termwintype' for the values.
|
||||
|
||||
{only available when compiled with the |+terminal| feature}
|
||||
|
||||
@@ -10268,7 +10272,7 @@ mouse_sgr Compiled with support for sgr mouse.
|
||||
mouse_urxvt Compiled with support for urxvt mouse.
|
||||
mouse_xterm Compiled with support for xterm mouse.
|
||||
mouseshape Compiled with support for 'mouseshape'.
|
||||
multi_byte Compiled with support for 'encoding'
|
||||
multi_byte Compiled with support for 'encoding' (always true)
|
||||
multi_byte_encoding 'encoding' is set to a multi-byte encoding.
|
||||
multi_byte_ime Compiled with support for IME input method.
|
||||
multi_lang Compiled with support for multiple languages.
|
||||
@@ -10835,9 +10839,13 @@ This does NOT work: >
|
||||
When the selected range of items is partly past the
|
||||
end of the list, items will be added.
|
||||
|
||||
*:let+=* *:let-=* *:let.=* *E734*
|
||||
*:let+=* *:let-=* *:letstar=*
|
||||
*:let/=* *:let%=* *:let.=* *E734*
|
||||
:let {var} += {expr1} Like ":let {var} = {var} + {expr1}".
|
||||
:let {var} -= {expr1} Like ":let {var} = {var} - {expr1}".
|
||||
:let {var} *= {expr1} Like ":let {var} = {var} * {expr1}".
|
||||
:let {var} /= {expr1} Like ":let {var} = {var} / {expr1}".
|
||||
:let {var} %= {expr1} Like ":let {var} = {var} % {expr1}".
|
||||
:let {var} .= {expr1} Like ":let {var} = {var} . {expr1}".
|
||||
These fail if {var} was not set yet and when the type
|
||||
of {var} and {expr1} don't fit the operator.
|
||||
|
||||
+6
-255
@@ -1,4 +1,4 @@
|
||||
*farsi.txt* For Vim version 8.1. Last change: 2015 Aug 29
|
||||
*farsi.txt* For Vim version 8.1. Last change: 2019 Feb 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
|
||||
@@ -9,261 +9,12 @@ Right to Left and Farsi Mapping for Vim *farsi* *Farsi*
|
||||
{Vi does not have any of these commands}
|
||||
|
||||
*E27*
|
||||
In order to use right-to-left and Farsi mapping support, it is necessary to
|
||||
compile Vim with the |+farsi| feature.
|
||||
Farsi support has been removed in patch 8.1.0932. At that time it was
|
||||
outdated and unused.
|
||||
|
||||
These functions have been made by Mortaza G. Shiran <shiran@jps.net>
|
||||
If you would like to bring Farsi support back, please have a look at the old
|
||||
Farsi code, as it was present at the 8.1 release. It should be merged with
|
||||
Arabic support using the Unicode character set.
|
||||
|
||||
|
||||
Introduction
|
||||
------------
|
||||
In right-to-left oriented files the characters appear on the screen from right
|
||||
to left. This kind of file is most useful when writing Farsi documents,
|
||||
composing faxes or writing Farsi memos.
|
||||
|
||||
The commands, prompts and help files are not in Farsi, therefore the user
|
||||
interface remains the standard Vi interface.
|
||||
|
||||
|
||||
Highlights
|
||||
----------
|
||||
o Editing left-to-right files as in the original Vim, no change.
|
||||
|
||||
o Viewing and editing files in right-to-left windows. File orientation is
|
||||
per window, so it is possible to view the same file in right-to-left and
|
||||
left-to-right modes, simultaneously.
|
||||
|
||||
o Compatibility to the original Vim. Almost all features work in
|
||||
right-to-left mode (see bugs below).
|
||||
|
||||
o Changing keyboard mapping and reverse insert modes using a single
|
||||
command.
|
||||
|
||||
o Backing from reverse insert mode to the correct place in the file
|
||||
(if possible).
|
||||
|
||||
o While in Farsi mode, numbers are entered from left to right. Upon entering
|
||||
a none number character, that character will be inserted just into the
|
||||
left of the last number.
|
||||
|
||||
o No special terminal with right-to-left capabilities is required. The
|
||||
right-to-left changes are completely hardware independent. Only
|
||||
Farsi font is necessary.
|
||||
|
||||
o Farsi keymapping on the command line in reverse insert mode.
|
||||
|
||||
o Toggling between left-to-right and right-to-left via F8 function key.
|
||||
|
||||
o Toggling between Farsi ISIR-3342 standard encoding and Vim Farsi via F9
|
||||
function key. Since this makes sense only for the text written in
|
||||
right-to-left mode, this function is also supported only in right-to-left
|
||||
mode.
|
||||
|
||||
Farsi Fonts *farsi-fonts*
|
||||
-----------
|
||||
|
||||
The following files are found in the subdirectories of the '$VIM/farsi/fonts'
|
||||
directory:
|
||||
|
||||
+ far-a01.pcf X Windows fonts for Unix including Linux systems
|
||||
+ 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
|
||||
|
||||
|
||||
Font Installation
|
||||
-----------------
|
||||
|
||||
o Installation of fonts for MS Window systems (NT/95/98)
|
||||
|
||||
From 'Control Panel' folder, start the 'Fonts' program. Then from 'file'
|
||||
menu item select 'Install New Fonts ...'. Browse and select the
|
||||
'far-a01.fon', then follow the installation guide.
|
||||
NOTE: several people have reported that this does not work. The solution
|
||||
is unknown.
|
||||
|
||||
o Installation of fonts for X Window systems (Unix/Linux)
|
||||
|
||||
Depending on your system, copy far-a01.pcf.Z or far-a01.pcf.gz into a
|
||||
directory of your choice. Change to the directory containing the Farsi
|
||||
fonts and execute the following commands:
|
||||
|
||||
> mkfontdir
|
||||
> xset +fp path_name_of_farsi_fonts_directory
|
||||
|
||||
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
|
||||
execute the following commands:
|
||||
|
||||
> fldfamily
|
||||
> xset +fp path_name_of_fonts_directory
|
||||
|
||||
o Installation of ASCII screen fonts (Unix/Linux)
|
||||
|
||||
For Linux system, copy the far-a01.f16 fonts into /usr/lib/kbd/consolefonts
|
||||
directory and execute the setfont program as "setfont far-a01.f16". For
|
||||
other systems (e.g. SCO Unix), please refer to the fonts installation
|
||||
section of your system administration manuals.
|
||||
|
||||
o Installation of ASCII screen fonts (DOS)
|
||||
|
||||
After system power on, prior to the first use of Vim, upload the Farsi
|
||||
fonts by executing the far-a01.com font uploading program.
|
||||
|
||||
|
||||
Usage
|
||||
-----
|
||||
Prior to starting Vim, the environment in which Vim can run in Farsi mode,
|
||||
must be set. In addition to installation of Farsi fonts, following points
|
||||
refer to some of the system environments, which you may need to set:
|
||||
Key code mapping, loading graphic card in ASCII screen mode, setting the IO
|
||||
driver in 8 bit clean mode ... .
|
||||
|
||||
o Setting the Farsi fonts
|
||||
|
||||
+ For Vim GUI set the 'guifont' to far-a01. This is done by entering
|
||||
':set guifont=far-a01' in the Vim window.
|
||||
|
||||
You can have 'guifont' set to far-a01 by Vim during the Vim startup
|
||||
by appending the ':set guifont=far-a01' into your .vimrc file
|
||||
(in case of NT/95/98 platforms _vimrc).
|
||||
|
||||
Under the X Window environment, you can also start Vim with the
|
||||
'-fn far-a01' option.
|
||||
|
||||
+ For Vim within a xterm, start a xterm with the Farsi fonts (e.g.
|
||||
kterm -fn far-a01). Then start Vim inside the kterm.
|
||||
|
||||
+ For Vim under DOS, prior to the first usage of Vim, upload the Farsi
|
||||
fonts by executing the far-a01.com fonts uploading program.
|
||||
|
||||
o Farsi Keymapping Activation
|
||||
|
||||
To activate the Farsi keymapping, set either 'altkeymap' or 'fkmap'.
|
||||
This is done by entering ':set akm' or ':set fk' in the Vim window.
|
||||
You can have 'altkeymap' or 'fkmap' set as default by appending ':set akm'
|
||||
or ':set fk' in your .vimrc file or _vimrc in case of NT/95/98 platforms.
|
||||
|
||||
To turn off the Farsi keymapping as a default second language keymapping,
|
||||
reset the 'altkeymap' by entering ':set noakm'.
|
||||
|
||||
o right-to-left Farsi Mode
|
||||
|
||||
By default Vim starts in Left-to-right mode. Following are ways to change
|
||||
the window orientation:
|
||||
|
||||
+ Start Vim with the -F option (e.g. vim -F ...).
|
||||
|
||||
+ Use the F8 function key to toggle between left-to-right and right-to-left.
|
||||
|
||||
+ While in Left-to-right mode, enter 'set rl' in the command line ('rl' is
|
||||
the abbreviation for rightleft).
|
||||
|
||||
+ Put the 'set rl' line in your '.vimrc' file to start Vim in
|
||||
right-to-left mode permanently.
|
||||
|
||||
Encoding
|
||||
--------
|
||||
|
||||
The letter encoding used is the Vim extended ISIR-3342 standard with a built
|
||||
in function to convert between Vim extended ISIR-3342 and ISIR-3342 standard.
|
||||
|
||||
For document portability reasons, the letter encoding is kept the same across
|
||||
different platforms (i.e. UNIX's, NT/95/98, MS DOS, ...).
|
||||
|
||||
|
||||
o Keyboard
|
||||
|
||||
+ CTRL-_ in insert/replace modes toggles between Farsi(akm)/Latin
|
||||
mode as follows:
|
||||
|
||||
+ CTRL-_ moves the cursor to the end of the typed text in edit mode.
|
||||
|
||||
+ CTRL-_ in command mode only toggles keyboard mapping between Farsi(akm)/
|
||||
Latin. The Farsi text is then entered in reverse insert mode.
|
||||
|
||||
+ F8 - Toggles between left-to-right and right-to-left.
|
||||
|
||||
+ F9 - Toggles the encoding between ISIR-3342 standard and Vim extended
|
||||
ISIR-3342 (supported only in right-to-left mode).
|
||||
|
||||
+ Keyboard mapping is based on the Iranian ISIRI-2901 standard.
|
||||
Following table shows the keyboard mapping while Farsi(akm) mode set:
|
||||
|
||||
-------------------------------------
|
||||
` 1 2 3 4 5 6 7 8 9 0 - =
|
||||
¢ ± ² ³ ´ µ ¶ · ¸ ¹ ° ½
|
||||
-------------------------------------
|
||||
~ ! @ # $ % ^ & * ( ) _ +
|
||||
~ £ § ® ¤ ¥ ª ¬ è ¨ © é «
|
||||
-------------------------------------
|
||||
q w e r t z u i o p [ ]
|
||||
Ó Ò Æ Ù Ø Õ Ö à Ê É Ç ˆ
|
||||
-------------------------------------
|
||||
Q W E R T Z U I O P { }
|
||||
÷ õ ô ó ò ý ð ö [ ] { }
|
||||
-------------------------------------
|
||||
a s d f g h j k l ; ' \
|
||||
Ñ Ð á Ã Ü Á Å Þ Ý Ú Û ë
|
||||
-------------------------------------
|
||||
A S D F G H J K L : " |
|
||||
ù û þ ú ø À ü æ ç º » ê
|
||||
-------------------------------------
|
||||
< y x c v b n m , . /
|
||||
¾ × Ô Î Í Ì Ë Ä ß ¦ ¯
|
||||
-------------------------------------
|
||||
> Y X C V B N M < > ?
|
||||
¼ ñ Ô Ï Í ¡ Ë Â ¾ ¼ ¿
|
||||
-------------------------------------
|
||||
|
||||
Note:
|
||||
¡ stands for Farsi PSP (break without space)
|
||||
|
||||
¢ stands for Farsi PCN (for HAMZE attribute)
|
||||
|
||||
Restrictions
|
||||
------------
|
||||
|
||||
o In insert/replace mode and fkmap (Farsi mode) set, CTRL-B is not
|
||||
supported.
|
||||
|
||||
o If you change the character mapping between Latin/Farsi, the redo buffer
|
||||
will be reset (emptied). That is, redo is valid and will function (using
|
||||
'.') only within the mode you are in.
|
||||
|
||||
o While numbers are entered in Farsi mode, the redo buffer will be reset
|
||||
(emptied). That is, you cannot redo the last changes (using '.') after
|
||||
entering numbers.
|
||||
|
||||
o While in left-to-right mode and Farsi mode set, CTRL-R is not supported.
|
||||
|
||||
o While in right-to-left mode, the search on 'Latin' pattern does not work,
|
||||
except if you enter the Latin search pattern in reverse.
|
||||
|
||||
o In command mode there is no support for entering numbers from left
|
||||
to right and also for the sake of flexibility the keymapping logic is
|
||||
restricted.
|
||||
|
||||
o Under the X Window environment, if you want to run Vim within a xterm
|
||||
terminal emulator and Farsi mode set, you need to have an ANSI compatible
|
||||
xterm terminal emulator. This is because the letter codes above 128 decimal
|
||||
have certain meanings in the standard xterm terminal emulator.
|
||||
|
||||
Note: Under X Window environment, Vim GUI works fine in Farsi mode.
|
||||
This eliminates the need of any xterm terminal emulator.
|
||||
|
||||
|
||||
Bugs
|
||||
----
|
||||
While in insert/replace and Farsi mode set, if you repeatedly change the
|
||||
cursor position (via cursor movement) and enter new text and then try to undo
|
||||
the last change, the undo will lag one change behind. But as you continue to
|
||||
undo, you will reach the original line of text. You can also use U to undo all
|
||||
changes made in the current line.
|
||||
|
||||
For more information about the bugs refer to rileft.txt.
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -663,6 +663,15 @@ your |vimrc|: >
|
||||
let rrst_dynamic_comments = 0
|
||||
|
||||
|
||||
RESTRUCTUREDTEXT *ft-rst-plugin*
|
||||
|
||||
The following formatting setting are optionally available: >
|
||||
setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
|
||||
|
||||
To enable this behavior, set the following variable in your vimrc: >
|
||||
let g:rst_style = 1
|
||||
|
||||
|
||||
RPM SPEC *ft-spec-plugin*
|
||||
|
||||
Since the text for this plugin is rather long it has been put in a separate
|
||||
|
||||
@@ -14,9 +14,6 @@ For an introduction to the most common features, see |usr_45.txt| in the user
|
||||
manual.
|
||||
For changing the language of messages and menus see |mlang.txt|.
|
||||
|
||||
{not available when compiled without the |+multi_byte| feature}
|
||||
|
||||
|
||||
1. Getting started |mbyte-first|
|
||||
2. Locale |mbyte-locale|
|
||||
3. Encoding |mbyte-encoding|
|
||||
@@ -44,16 +41,6 @@ features. Unfortunately, every system has its own way to deal with multibyte
|
||||
languages and it is quite complicated.
|
||||
|
||||
|
||||
COMPILING
|
||||
|
||||
If you already have a compiled Vim program, check if the |+multi_byte| feature
|
||||
is included. The |:version| command can be used for this.
|
||||
|
||||
If +multi_byte is not included, you should compile Vim with "normal", "big" or
|
||||
"huge" features. You can further tune what features are included. See the
|
||||
INSTALL files in the source directory.
|
||||
|
||||
|
||||
LOCALE
|
||||
|
||||
First of all, you must make sure your current locale is set correctly. If
|
||||
|
||||
+34
-71
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.1. Last change: 2019 Feb 03
|
||||
*options.txt* For Vim version 8.1. Last change: 2019 Feb 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -688,20 +688,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+farsi|
|
||||
feature}
|
||||
When on, the second language is Farsi. In editing mode CTRL-_ toggles
|
||||
the keyboard map between Farsi and English, when 'allowrevins' set.
|
||||
|
||||
When off, the keyboard map toggles between Hebrew and English. This
|
||||
is useful to start the Vim in native mode i.e. English (left-to-right
|
||||
mode) and have default second language Farsi or Hebrew (right-to-left
|
||||
mode). See |farsi.txt|.
|
||||
This option was for using Farsi, which has been removed. See
|
||||
|farsi.txt|.
|
||||
|
||||
*'ambiwidth'* *'ambw'*
|
||||
'ambiwidth' 'ambw' string (default: "single")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
Only effective when 'encoding' is "utf-8" or another Unicode encoding.
|
||||
Tells Vim what to do with characters with East Asian Width Class
|
||||
Ambiguous (such as Euro, Registered Sign, Copyright Sign, Greek
|
||||
@@ -1295,8 +1288,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'bomb' boolean (default off)
|
||||
local to buffer
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
When writing a file and the following conditions are met, a BOM (Byte
|
||||
Order Mark) is prepended to the file:
|
||||
- this option is on
|
||||
@@ -1458,8 +1449,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'casemap' 'cmp' string (default: "internal,keepascii")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
Specifies details about changing the case of letters. It may contain
|
||||
these words, separated by a comma:
|
||||
internal Use internal case mapping functions, the current
|
||||
@@ -1515,8 +1504,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'charconvert'* *'ccv'* *E202* *E214* *E513*
|
||||
'charconvert' 'ccv' string (default "")
|
||||
global
|
||||
{only available when compiled with the |+multi_byte|
|
||||
and |+eval| features}
|
||||
{only available when compiled with the |+eval| feature}
|
||||
{not in Vi}
|
||||
An expression that is used for character encoding conversion. It is
|
||||
evaluated when a file that is to be read or has been written has a
|
||||
@@ -1675,7 +1663,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
You probably want to add this only temporarily,
|
||||
possibly use BufEnter autocommands.
|
||||
Only supported for GTK version 2 and later.
|
||||
Only available with the |+multi_byte| feature.
|
||||
|
||||
*clipboard-exclude*
|
||||
exclude:{pattern}
|
||||
@@ -2580,8 +2567,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'delcombine' 'deco' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
If editing Unicode and this option is set, backspace and Normal mode
|
||||
"x" delete each combining character on its own. When it is off (the
|
||||
default) the character along with its combining characters are
|
||||
@@ -2832,16 +2817,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'emoji' 'emo' boolean (default: on)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
When on all Unicode emoji characters are considered to be full width.
|
||||
|
||||
|
||||
*'encoding'* *'enc'* *E543*
|
||||
'encoding' 'enc' string (default: "latin1" or value from $LANG)
|
||||
global
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
{not in Vi}
|
||||
Sets the character encoding used inside Vim. It applies to text in
|
||||
the buffers, registers, Strings in expressions, text stored in the
|
||||
@@ -3044,8 +3025,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'fileencoding'* *'fenc'* *E213*
|
||||
'fileencoding' 'fenc' string (default: "")
|
||||
local to buffer
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
{not in Vi}
|
||||
Sets the character encoding for the file of this buffer.
|
||||
|
||||
@@ -3101,8 +3080,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"ucs-bom,utf-8,default,latin1" when
|
||||
'encoding' is set to a Unicode value)
|
||||
global
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
{not in Vi}
|
||||
This is a list of character encodings considered when starting to edit
|
||||
an existing file. When a file is read, Vim tries to use the first
|
||||
@@ -3157,9 +3134,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
is read.
|
||||
|
||||
*'fileformat'* *'ff'*
|
||||
'fileformat' 'ff' string (MS-DOS, MS-Windows, OS/2 default: "dos",
|
||||
Unix default: "unix",
|
||||
Macintosh default: "mac")
|
||||
'fileformat' 'ff' string (MS-Windows default: "dos",
|
||||
Unix, macOS default: "unix")
|
||||
local to buffer
|
||||
{not in Vi}
|
||||
This gives the <EOL> of the current buffer, which is used for
|
||||
@@ -3182,9 +3158,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'fileformats'* *'ffs'*
|
||||
'fileformats' 'ffs' string (default:
|
||||
Vim+Vi MS-DOS, MS-Windows OS/2: "dos,unix",
|
||||
Vim Unix: "unix,dos",
|
||||
Vim Mac: "mac,unix,dos",
|
||||
Vim+Vi MS-Windows: "dos,unix",
|
||||
Vim Unix, macOS: "unix,dos",
|
||||
Vi Cygwin: "unix,dos",
|
||||
Vi others: "")
|
||||
global
|
||||
@@ -3326,9 +3301,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+rightleft|
|
||||
feature}
|
||||
When on, the keyboard is mapped for the Farsi character set.
|
||||
Normally you would set 'allowrevins' and use CTRL-_ in insert mode to
|
||||
toggle this option |i_CTRL-_|. See |farsi.txt|.
|
||||
This option was for using Farsi, which has been removed. See
|
||||
|farsi.txt|.
|
||||
|
||||
*'foldclose'* *'fcl'*
|
||||
'foldclose' 'fcl' string (default "")
|
||||
@@ -4449,8 +4423,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'imactivatefunc' 'imaf' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
This option specifies a function that will be called to
|
||||
activate or deactivate the Input Method.
|
||||
It is not used in the GUI.
|
||||
@@ -4502,8 +4474,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'imcmdline' 'imc' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
When set the Input Method is always on when starting to edit a command
|
||||
line, unless entering a search pattern (see 'imsearch' for that).
|
||||
Setting this option is useful when your input method allows entering
|
||||
@@ -4514,8 +4484,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'imdisable' 'imd' boolean (default off, on for some systems (SGI))
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
When set the Input Method is never used. This is useful to disable
|
||||
the IM when it doesn't work properly.
|
||||
Currently this option is on by default for SGI/IRIX. This may change
|
||||
@@ -4568,8 +4536,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'imstatusfunc' 'imsf' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
This option specifies a function that is called to obtain the status
|
||||
of Input Method. It must return a positive number when IME is active.
|
||||
It is not used in the GUI.
|
||||
@@ -5352,8 +5318,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'makeencoding'* *'menc'*
|
||||
'makeencoding' 'menc' string (default "")
|
||||
global or local to buffer |global-local|
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
{not in Vi}
|
||||
Encoding used for reading the output of external commands. When empty,
|
||||
encoding is not converted.
|
||||
@@ -5420,8 +5384,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'maxcombine' 'mco' number (default 2)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
The maximum number of combining characters supported for displaying.
|
||||
Only used when 'encoding' is "utf-8".
|
||||
The default is OK for most languages. Hebrew may require 4.
|
||||
@@ -6189,8 +6151,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'printmbcharset' 'pmbcs' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+printer|,
|
||||
|+postscript| and |+multi_byte| features}
|
||||
{only available when compiled with the |+printer|
|
||||
and |+postscript| features}
|
||||
The CJK character set to be used for CJK output from |:hardcopy|.
|
||||
See |pmbcs-option|.
|
||||
|
||||
@@ -6198,8 +6160,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'printmbfont' 'pmbfn' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+printer|,
|
||||
|+postscript| and |+multi_byte| features}
|
||||
{only available when compiled with the |+printer|
|
||||
and |+postscript| features}
|
||||
List of font names to be used for CJK output from |:hardcopy|.
|
||||
See |pmbfn-option|.
|
||||
|
||||
@@ -8167,8 +8129,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
with GTK+ and MacVim GUIs: "utf-8"
|
||||
with Macintosh (Carbon) GUI: "macroman")
|
||||
global
|
||||
{only available when compiled with the |+multi_byte|
|
||||
feature}
|
||||
{not in Vi}
|
||||
Encoding used for the terminal. This specifies what character
|
||||
encoding the keyboard produces and the display will understand. For
|
||||
@@ -8218,23 +8178,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Note that the "cterm" attributes are still used, not the "gui" ones.
|
||||
NOTE: This option is reset when 'compatible' is set.
|
||||
|
||||
*'termmode'* *'tmod'*
|
||||
'termmode' 'tmod' string (default "")
|
||||
local to window
|
||||
{not in Vi, MS-Windows only}
|
||||
Whether the window uses winpty or |ConPTY| as the virtual console.
|
||||
When set before opening the terminal, it influences what pty is used.
|
||||
When opening the terminal it will be set to the actually used pty.
|
||||
|
||||
Possible values are:
|
||||
"" use ConPTY if possible, winpty otherwise
|
||||
"winpty" use winpty, fail if not supported
|
||||
"conpty" use |ConPTY|, fail if not supported
|
||||
|
||||
|ConPTY| support depends on the platform (Windows 10 October 2018
|
||||
edition). winpty support needs to be installed. If neither is
|
||||
supported then you cannot open a terminal window.
|
||||
|
||||
*'termwinscroll'* *'twsl'*
|
||||
'termwinscroll' 'twsl' number (default 10000)
|
||||
local to buffer
|
||||
@@ -8283,6 +8226,26 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
the size of the terminal. In that case the Vim window will be
|
||||
adjusted to that size, if possible.
|
||||
|
||||
*'termwintype'* *'twt'*
|
||||
'termwintype' 'twt' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |terminal|
|
||||
feature on MS-Windows}
|
||||
Specify the virtual console (pty) used when opening the terminal
|
||||
window.
|
||||
|
||||
Possible values are:
|
||||
"" use ConPTY if it is stable, winpty otherwise
|
||||
"winpty" use winpty, fail if not supported
|
||||
"conpty" use |ConPTY|, fail if not supported
|
||||
|
||||
|ConPTY| support depends on the platform. Windows 10 October 2018
|
||||
Update is the first version that supports ConPTY, however it is still
|
||||
considered unstable. ConPTY might become stable in the next release
|
||||
of Windows 10. winpty support needs to be installed. If neither is
|
||||
supported then you cannot open a terminal window.
|
||||
|
||||
*'terse'* *'noterse'*
|
||||
'terse' boolean (default off)
|
||||
global
|
||||
|
||||
@@ -1135,7 +1135,7 @@ x A single character, with no special meaning, matches itself
|
||||
The "Func" column shows what library function is used. The
|
||||
implementation depends on the system. Otherwise:
|
||||
(1) Uses islower() for ASCII and Vim builtin rules for other
|
||||
characters when built with the |+multi_byte| feature.
|
||||
characters.
|
||||
(2) Uses Vim builtin rules
|
||||
(3) As with (1) but using isupper()
|
||||
*/[[=* *[==]*
|
||||
|
||||
@@ -111,10 +111,9 @@ not recognized by Vim will just be converted to lower case and underscores
|
||||
replaced with '-' signs.
|
||||
|
||||
If 'printencoding' is empty or Vim cannot find the file then it will use
|
||||
'encoding' (if Vim is compiled with |+multi_byte| and it is set an 8-bit
|
||||
encoding) to find the print character encoding file. If Vim is unable to find
|
||||
a character encoding file then it will use the "latin1" print character
|
||||
encoding file.
|
||||
'encoding' (if it is set an 8-bit encoding) to find the print character
|
||||
encoding file. If Vim is unable to find a character encoding file then it
|
||||
will use the "latin1" print character encoding file.
|
||||
|
||||
When 'encoding' is set to a multi-byte encoding, Vim will try to convert
|
||||
characters to the printing encoding for printing (if 'printencoding' is empty
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 8.1. Last change: 2018 Apr 18
|
||||
*quickref.txt* For Vim version 8.1. Last change: 2019 Feb 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -600,7 +600,6 @@ In Insert or Command-line mode:
|
||||
Short explanation of each option: *option-list*
|
||||
'aleph' 'al' ASCII code of the letter Aleph (Hebrew)
|
||||
'allowrevins' 'ari' allow CTRL-_ in Insert and Command-line mode
|
||||
'altkeymap' 'akm' for default second language (Farsi/Hebrew)
|
||||
'ambiwidth' 'ambw' what to do with Unicode chars of ambiguous width
|
||||
'antialias' 'anti' Mac OS X: use smooth, antialiased fonts
|
||||
'autochdir' 'acd' change directory to the file in the current window
|
||||
@@ -702,7 +701,6 @@ Short explanation of each option: *option-list*
|
||||
'filetype' 'ft' type of file, used for autocommands
|
||||
'fillchars' 'fcs' characters to use for displaying special items
|
||||
'fixendofline' 'fixeol' make sure last line in file has <EOL>
|
||||
'fkmap' 'fk' Farsi keyboard mapping
|
||||
'foldclose' 'fcl' close a fold when the cursor leaves it
|
||||
'foldcolumn' 'fdc' width of the column used to indicate folds
|
||||
'foldenable' 'fen' set to display all folds open
|
||||
@@ -937,6 +935,7 @@ Short explanation of each option: *option-list*
|
||||
'termwinkey' 'twk' key that precedes a Vim command in a terminal
|
||||
'termwinscroll' 'twsl' max number of scrollback lines in a terminal window
|
||||
'termwinsize' 'tws' size of a terminal window
|
||||
'termwintype' 'twt' MS-Windows: type of pty to use for terminal window
|
||||
'terse' shorten some messages
|
||||
'textauto' 'ta' obsolete, use 'fileformats'
|
||||
'textmode' 'tx' obsolete, use 'fileformat'
|
||||
|
||||
@@ -323,8 +323,6 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
set encoding=utf-8
|
||||
scriptencoding utf-8
|
||||
<
|
||||
When compiled without the |+multi_byte| feature this
|
||||
command is ignored.
|
||||
{not in Vi}
|
||||
|
||||
*:scr* *:scriptnames*
|
||||
|
||||
@@ -55,8 +55,7 @@ automatic installs. Vim also needs to be compiled with |+gettext| feature for
|
||||
user interface items translations to work.
|
||||
|
||||
After downloading an archive from RuVim project, unpack it into your
|
||||
$VIMRUNTIME directory. We recommend using UTF-8 archive, if your version of
|
||||
Vim is compiled with |+multi_byte| feature enabled.
|
||||
$VIMRUNTIME directory. We recommend using UTF-8 archive.
|
||||
|
||||
In order to use the Russian documentation, make sure you have set the
|
||||
'helplang' option to "ru".
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 8.1. Last change: 2018 May 05
|
||||
*starting.txt* For Vim version 8.1. Last change: 2019 Feb 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -248,12 +248,18 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
changes and writing.
|
||||
{not in Vi}
|
||||
|
||||
*-Z* *restricted-mode* *E145*
|
||||
*-Z* *restricted-mode* *E145* *E981*
|
||||
-Z Restricted mode. All commands that make use of an external
|
||||
shell are disabled. This includes suspending with CTRL-Z,
|
||||
":sh", filtering, the system() function, backtick expansion,
|
||||
delete(), rename(), mkdir(), writefile(), libcall(),
|
||||
job_start(), etc.
|
||||
":sh", filtering, the system() function, backtick expansion
|
||||
and libcall().
|
||||
Also disallowed are delete(), rename(), mkdir(), job_start(),
|
||||
etc.
|
||||
Interfaces, such as Python, Ruby and Lua, are also disabled,
|
||||
since they could be used to execute shell commands. Perl uses
|
||||
the Safe module.
|
||||
Note that the user may still find a loophole to execute a
|
||||
shell command, it has only been made difficult.
|
||||
{not in Vi}
|
||||
|
||||
*-g*
|
||||
@@ -315,9 +321,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
and exits.) {not in Vi}
|
||||
|
||||
*-F*
|
||||
-F Farsi mode. Sets the 'fkmap' and 'rightleft' options on.
|
||||
(Only when compiled with |+rightleft| and |+farsi| features,
|
||||
otherwise Vim gives an error message and exits.) {not in Vi}
|
||||
-F This was used for Farsi mode, which has been removed.
|
||||
See |farsi.txt|.
|
||||
|
||||
*-H*
|
||||
-H Hebrew mode. Sets the 'hkmap' and 'rightleft' options on.
|
||||
|
||||
+8
-3
@@ -1110,10 +1110,10 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'termbidi' options.txt /*'termbidi'*
|
||||
'termencoding' options.txt /*'termencoding'*
|
||||
'termguicolors' options.txt /*'termguicolors'*
|
||||
'termmode' options.txt /*'termmode'*
|
||||
'termwinkey' options.txt /*'termwinkey'*
|
||||
'termwinscroll' options.txt /*'termwinscroll'*
|
||||
'termwinsize' options.txt /*'termwinsize'*
|
||||
'termwintype' options.txt /*'termwintype'*
|
||||
'terse' options.txt /*'terse'*
|
||||
'textauto' options.txt /*'textauto'*
|
||||
'textmode' options.txt /*'textmode'*
|
||||
@@ -1131,7 +1131,6 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'titlestring' options.txt /*'titlestring'*
|
||||
'tl' options.txt /*'tl'*
|
||||
'tm' options.txt /*'tm'*
|
||||
'tmod' options.txt /*'tmod'*
|
||||
'to' options.txt /*'to'*
|
||||
'toolbar' options.txt /*'toolbar'*
|
||||
'toolbariconsize' options.txt /*'toolbariconsize'*
|
||||
@@ -1157,6 +1156,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'twk' options.txt /*'twk'*
|
||||
'tws' options.txt /*'tws'*
|
||||
'twsl' options.txt /*'twsl'*
|
||||
'twt' options.txt /*'twt'*
|
||||
'tx' options.txt /*'tx'*
|
||||
'uc' options.txt /*'uc'*
|
||||
'udf' options.txt /*'udf'*
|
||||
@@ -2544,6 +2544,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:lefta windows.txt /*:lefta*
|
||||
:leftabove windows.txt /*:leftabove*
|
||||
:let eval.txt /*:let*
|
||||
:let%= eval.txt /*:let%=*
|
||||
:let+= eval.txt /*:let+=*
|
||||
:let-$ eval.txt /*:let-$*
|
||||
:let-& eval.txt /*:let-&*
|
||||
@@ -2554,6 +2555,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:let-register eval.txt /*:let-register*
|
||||
:let-unpack eval.txt /*:let-unpack*
|
||||
:let.= eval.txt /*:let.=*
|
||||
:let/= eval.txt /*:let\/=*
|
||||
:letstar= eval.txt /*:letstar=*
|
||||
:lex quickfix.txt /*:lex*
|
||||
:lexpr quickfix.txt /*:lexpr*
|
||||
:lf quickfix.txt /*:lf*
|
||||
@@ -4742,6 +4745,8 @@ E978 eval.txt /*E978*
|
||||
E979 eval.txt /*E979*
|
||||
E98 diff.txt /*E98*
|
||||
E980 eval.txt /*E980*
|
||||
E981 starting.txt /*E981*
|
||||
E982 terminal.txt /*E982*
|
||||
E99 diff.txt /*E99*
|
||||
EX intro.txt /*EX*
|
||||
EXINIT starting.txt /*EXINIT*
|
||||
@@ -6210,7 +6215,6 @@ f motion.txt /*f*
|
||||
false-variable eval.txt /*false-variable*
|
||||
faq intro.txt /*faq*
|
||||
farsi farsi.txt /*farsi*
|
||||
farsi-fonts farsi.txt /*farsi-fonts*
|
||||
farsi.txt farsi.txt /*farsi.txt*
|
||||
fasm.vim syntax.txt /*fasm.vim*
|
||||
fcs_choice-variable eval.txt /*fcs_choice-variable*
|
||||
@@ -6436,6 +6440,7 @@ ft-rmd-plugin filetype.txt /*ft-rmd-plugin*
|
||||
ft-rmd-syntax syntax.txt /*ft-rmd-syntax*
|
||||
ft-rrst-plugin filetype.txt /*ft-rrst-plugin*
|
||||
ft-rrst-syntax syntax.txt /*ft-rrst-syntax*
|
||||
ft-rst-plugin filetype.txt /*ft-rst-plugin*
|
||||
ft-rst-syntax syntax.txt /*ft-rst-syntax*
|
||||
ft-ruby-omni insert.txt /*ft-ruby-omni*
|
||||
ft-ruby-syntax syntax.txt /*ft-ruby-syntax*
|
||||
|
||||
+10
-4
@@ -1,4 +1,4 @@
|
||||
*tagsrch.txt* For Vim version 8.1. Last change: 2018 May 04
|
||||
*tagsrch.txt* For Vim version 8.1. Last change: 2019 Feb 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -571,7 +571,14 @@ only supported by new versions of ctags (such as Exuberant ctags).
|
||||
{term} ;" The two characters semicolon and double quote. This is
|
||||
interpreted by Vi as the start of a comment, which makes the
|
||||
following be ignored. This is for backwards compatibility
|
||||
with Vi, it ignores the following fields.
|
||||
with Vi, it ignores the following fields. Example:
|
||||
APP file /^static int APP;$/;" v
|
||||
When {tagaddress} is not a line number or search pattern, then
|
||||
{term} must be |;". Here the bar ends the command (excluding
|
||||
the bar) and ;" is used to have Vi ignore the rest of the
|
||||
line. Example:
|
||||
APP file.c call cursor(3, 4)|;" v
|
||||
|
||||
{field} .. A list of optional fields. Each field has the form:
|
||||
|
||||
<Tab>{fieldname}:{value}
|
||||
@@ -606,8 +613,7 @@ ignored. (Case is ignored when 'ignorecase' is set and 'tagcase' is
|
||||
The value '2' should be used then:
|
||||
!_TAG_FILE_SORTED<Tab>2<Tab>{anything} ~
|
||||
|
||||
The other tag that Vim recognizes, but only when compiled with the
|
||||
|+multi_byte| feature, is the encoding of the tags file:
|
||||
The other tag that Vim recognizes is the encoding of the tags file:
|
||||
!_TAG_FILE_ENCODING<Tab>utf-8<Tab>{anything} ~
|
||||
Here "utf-8" is the encoding used for the tags. Vim will then convert the tag
|
||||
being searched for from 'encoding' to the encoding of the tags file. And when
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.1. Last change: 2019 Feb 03
|
||||
*terminal.txt* For Vim version 8.1. Last change: 2019 Feb 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -44,7 +44,7 @@ If the result is "1" you have it.
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
{only available when compiled with the |+terminal| feature}
|
||||
The terminal feature requires the |+multi_byte|, |+job| and |+channel| features.
|
||||
The terminal feature requires the |+job| and |+channel| features.
|
||||
|
||||
==============================================================================
|
||||
1. Basic use *terminal-use*
|
||||
@@ -228,8 +228,10 @@ Syntax ~
|
||||
for Python "++eof=exit()". Special
|
||||
codes can be used like with `:map`,
|
||||
e.g. "<C-Z>" for CTRL-Z.
|
||||
++winpty Use winpty as the virtual console.
|
||||
++conpty Use |ConPTY| as the virtual console.
|
||||
++type={pty} (MS-Windows only): Use {pty} as the
|
||||
virtual console. See 'termwintype'
|
||||
for the values.
|
||||
|
||||
If you want to use more options use the |term_start()|
|
||||
function.
|
||||
If you want to split the window vertically, use: >
|
||||
@@ -411,13 +413,13 @@ Just put the files somewhere in your PATH. You can set the 'winptydll' option
|
||||
to point to the right file, if needed. If you have both the 32-bit and 64-bit
|
||||
version, rename to winpty32.dll and winpty64.dll to match the way Vim was
|
||||
build.
|
||||
*ConPTY*
|
||||
*ConPTY* *E982*
|
||||
On more recent versions of MS-Windows 10 (beginning with the "October 2018
|
||||
Update"), winpty is no longer required. On those versions, |:terminal| will use
|
||||
Windows' built-in support for hosting terminal applications, "ConPTY". When
|
||||
ConPTY is in use, there may be rendering artifacts regarding ambiguous-width
|
||||
characters. If you encounter any such issues, set 'termmode' to winpty (which
|
||||
you then must have instlled).
|
||||
characters. If you encounter any such issues, install "winpty". Until the
|
||||
ConPTY problems have been fixed "winpty" will be preferred.
|
||||
|
||||
Environment variables are used to pass information to the running job:
|
||||
VIM_SERVERNAME v:servername
|
||||
|
||||
+77
-28
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.1. Last change: 2019 Feb 02
|
||||
*todo.txt* For Vim version 8.1. Last change: 2019 Feb 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,6 +38,11 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
|
||||
Added test, updates, June 23.
|
||||
Updated for 7.4: http://litcave.rudi.ir/farsi_vim.diff
|
||||
Remark from Ameretat Reith (2014 Oct 13) with patch on top.
|
||||
|
||||
Timer test doesn't work on MS-Windows console, any way to make it work?
|
||||
|
||||
'incsearch' with :s: (#3321)
|
||||
@@ -74,15 +79,15 @@ Terminal debugger:
|
||||
with another Vim instance.
|
||||
|
||||
Terminal emulator window:
|
||||
- When the job in the terminal doesn't use mouse events, let the scroll wheel
|
||||
scroll the scrollback, like a terminal does at the shell prompt. #2490
|
||||
And use modeless selection. #2962
|
||||
- When Vim runs in the terminal and changes the title, the statusline needs to
|
||||
be redrawn.
|
||||
- GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
|
||||
(#3327)
|
||||
- Terminal API: Add more functionality? (Ozaki Kiichi 2018 May 13, #2907)
|
||||
- GUI: hang until key typed. (#3530)
|
||||
- When the job in the terminal doesn't use mouse events, let the scroll wheel
|
||||
scroll the scrollback, like a terminal does at the shell prompt. #2490
|
||||
And use modeless selection. #2962
|
||||
- Allow for specifying the directory, with ++cwd={dir}.
|
||||
- With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
|
||||
#2977)
|
||||
@@ -117,18 +122,17 @@ Does not build with MinGW out of the box:
|
||||
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
|
||||
13, #2910) Can't reproduce?
|
||||
|
||||
Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
|
||||
|
||||
Errors found with random data:
|
||||
heap-buffer-overflow in alist_add (#2472)
|
||||
|
||||
Win32 key codes are messy. Mike Williams tried to fix that, but now old
|
||||
mappings no longer work. Create a new terminal for the better solution?
|
||||
|
||||
Improve fallback for menu translations, to avoid having to create lots of
|
||||
files that source the actual file. E.g. menu_da_de -> menu_da
|
||||
Include part of #3242?
|
||||
|
||||
Improvement for :terminal winpty/conpty option. Ozaki Kiichi, #3905
|
||||
|
||||
Patch to change WIN32 macro names. (Hirohito Higashi, #3932)
|
||||
|
||||
When a terminal exit_cb closes the window, a following typed key is lost, if
|
||||
it's in a mapping. (2018 Oct 6, #2302, #3522)
|
||||
|
||||
@@ -143,6 +147,9 @@ Williams, 2018 Oct 30)
|
||||
|
||||
Problem with :tlmenu: Detach item added with all modes? Issue #3563.
|
||||
|
||||
Patch to reduce amount of memory used by functions that keep reference.
|
||||
(ichizok, #3961)
|
||||
|
||||
When using a timer callback vgetc_busy is reset, allowing for using input().
|
||||
But in a channel callback this does not happen. We need to do something
|
||||
similar to check_due_timer(). Also see #3809.
|
||||
@@ -167,17 +174,43 @@ Another request: #3811.
|
||||
More warnings from static analysis:
|
||||
https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
|
||||
|
||||
When using 'k' in 'guioptions' gvim may open with a tiny window. (#3808)
|
||||
Suggested patch on the issue.
|
||||
|
||||
nvo-mode mapping works on Windows, not on Linux. (#3678)
|
||||
|
||||
Patch to be able to separately map CTRL-H and BS on Windows.
|
||||
(Linwei, 2017 Jul 11, #1833)
|
||||
|
||||
Patch to fix encoding of messages on MS-Windows. (Yasuhiro Matsumoto, 2019 Feb
|
||||
13, #3914)
|
||||
|
||||
Patch to fix encoding conversion in messages. (#3969)
|
||||
|
||||
Incsearch test fails when locale is "C". (Dominique Pelle, #3986)
|
||||
Also run all tests with C locale?
|
||||
|
||||
Patch to improve readability of complicated if(). (ichizok, 2019 Jan 29,
|
||||
#3879)
|
||||
|
||||
"vat" doesn't work well on XML when the closing > is on another line.
|
||||
#3927
|
||||
|
||||
Patch to include ARM64 support. (Leendert van Doorn, 2019 Feb 9)
|
||||
|
||||
Patch to fix hang when opening file where an intermediate directory is not
|
||||
readable on MS-Windows. (link on #3923)
|
||||
|
||||
Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
|
||||
Related to bracketed paste. I cannot reproduce it.
|
||||
|
||||
Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
|
||||
New update 2017 Apr 10, #1628
|
||||
https://github.com/chrisbra/vim-mq-patches/blob/master/tagfunc
|
||||
Updated by Andy Massimino, 2018 Feb 7:
|
||||
https://github.com/andymass/vim/commit/4e3aa0a5dab96d2799567622f3f537e357aa479e
|
||||
Or should we make it asynchronous?
|
||||
|
||||
When 'confirm' is set a "silent q" doesn't show the prompt. It should in this
|
||||
case. (Nate Peterson, 2019 Jan 31, #3892)
|
||||
For "silent! q" it should not prompt and just fail.
|
||||
@@ -187,16 +220,13 @@ character in the file. (Smylers, 2018 Nov 17, #3620)
|
||||
Suggested patch by Hirohito Higashi, 2018 Nov 18.
|
||||
|
||||
Using CTRL-L to add a character to the search string that contains \v,
|
||||
punctiuation is repeated. (Smylers, 2018 Nov 17, #3621)
|
||||
punctuation is repeated. (Smylers, 2018 Nov 17, #3621)
|
||||
|
||||
Using CTRL-L during search only picks up the base character, not a combining
|
||||
character. (Rick, 2018 Dec 11, #3682)
|
||||
|
||||
ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
|
||||
|
||||
Patch to convert temp file name. (Yasuhiro Matsumoto, #3520)
|
||||
Not ready to include yet.
|
||||
|
||||
Problem with two buffers with the same name a/b, if it didn't exist before and
|
||||
is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
|
||||
|
||||
@@ -211,12 +241,22 @@ Invalid memory access with old regexp engine. (Dominique Pelle, 2018 Sep 3,
|
||||
Patch to add complete_mode(). Shougo - #3866. Alternate patch by Hirohito
|
||||
Higashi, 2019 Jan 27, included now?
|
||||
|
||||
Patch to make winnr() return the window above/below/beside a window.
|
||||
(Yegappan Lakshmanan, #3993)
|
||||
|
||||
Patch for ConPTY support, new one: #3794 Does this work now? It should.
|
||||
(Nobuhiro Takasaki)
|
||||
|
||||
Add function to make use of internal diff, working on two lists and returning
|
||||
unified diff (list of lines).
|
||||
|
||||
When splitting a window with few text lines, the relative cursor position is
|
||||
kept, which means part of the text isn't displayed. Better show all the text
|
||||
when possible. (Dylan Lloyd, #3973)
|
||||
|
||||
Tag stack is incorrect after CTRL-T and then :tag. (Andy Massimino, 2019 Feb
|
||||
12, #3944) With Patch for a solution. Needs a test.
|
||||
|
||||
Patch to implement 'diffref' option. (#3535)
|
||||
Easier to use a 'diffmaster' option, is the extra complexity needed?
|
||||
|
||||
@@ -231,6 +271,15 @@ Patch by Christian, Oct 30.
|
||||
|
||||
Patch to clean up CI configs. (Ozaki Kiichi, 2019 Feb 1, #3890)
|
||||
|
||||
Patch to filter marks. (Marcin Szamotulski, 2019 Feb 7, #3895)
|
||||
|
||||
Patch to add environ(), gets a dict with all environment vars, and getenv(),
|
||||
useful for environment vars that are not made of keyword chars.
|
||||
(Yasuhiro Matsumoto, #2875)
|
||||
|
||||
Patch to add optional arguments with default values.
|
||||
(Andy Massimino, #3952) under development
|
||||
|
||||
Memory leaks in test_channel? (or is it because of fork())
|
||||
Using uninitialized value in test_crypt.
|
||||
Memory leak in test_terminal:
|
||||
@@ -243,6 +292,7 @@ Memory leak in test_terminal:
|
||||
==23530== by 0x35C923: term_start (terminal.c:421)
|
||||
==23530== by 0x2AFF30: mch_call_shell_terminal (os_unix.c:4377)
|
||||
==23530== by 0x2B16BE: mch_call_shell (os_unix.c:5383)
|
||||
Memory leak in test_alot with pyeval() (allocating partial)
|
||||
|
||||
gethostbyname() is old, use getaddrinfo() if available. (#3227)
|
||||
|
||||
@@ -252,6 +302,12 @@ Patch to add match count and current index "3/44" when using "n" command.
|
||||
matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
|
||||
19.
|
||||
|
||||
Patch to specify color for cterm=underline and cterm=undercurl, like "guisp".
|
||||
Does #2405 do this?
|
||||
|
||||
Patch to add an interrupt() function: sets got_int. Useful in an autocommand
|
||||
such as BufWritePre that checks the file name or contents.
|
||||
|
||||
Should make 'listchars' global-local. Local to window or to buffer?
|
||||
Probably window.
|
||||
Add something like 'fillchars' local to window, but allow for specifying a
|
||||
@@ -318,6 +374,11 @@ Better name?
|
||||
MS-Windows: .lnk file not resolved properly when 'encoding' is set.
|
||||
(lkintact, 2018 Sep 22, #3473)
|
||||
|
||||
Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
|
||||
|
||||
Win32 key codes are messy. Mike Williams tried to fix that, but now old
|
||||
mappings no longer work. Create a new terminal for the better solution?
|
||||
|
||||
Script generated by :mksession does not work well if there are windows with
|
||||
modified buffers
|
||||
change "silent only" into "silent only!"
|
||||
@@ -350,6 +411,9 @@ Height of quickfix window is not retained with vertical splits. (Lifepillar,
|
||||
Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
|
||||
#2999)
|
||||
|
||||
Add more testing of the GTK GUI.
|
||||
- gtk_test_widget_click() can be used to simulate a click in a widget.
|
||||
|
||||
Tests failing for "make testgui" with GTK:
|
||||
- Test_setbufvar_options()
|
||||
- Test_exit_callback_interval()
|
||||
@@ -822,10 +886,6 @@ Implement optional arguments for functions.
|
||||
call Foo(12, all = 0)
|
||||
call Foo(12, 15, 0)
|
||||
|
||||
Change the Farsi code to work with UTF-8. Possibly combined with the Arabic
|
||||
support, or similar.
|
||||
Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
|
||||
|
||||
Add a command to take a range of lines, filter them and put the output
|
||||
somewhere else. :{range}copy {dest} !cmd
|
||||
|
||||
@@ -1005,9 +1065,6 @@ Add an argument to choose binary or non-binary (like readfile()), when omitted
|
||||
use the current behavior.
|
||||
Include the test.
|
||||
|
||||
Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
|
||||
New update 2017 Apr 10, #1628
|
||||
|
||||
When 'keywordprg' starts with ":" the argument is still escaped as a shell
|
||||
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
|
||||
|
||||
@@ -2079,12 +2136,6 @@ to avoid changing 'eventignore'?
|
||||
Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6)
|
||||
Probably needs a bit of work.
|
||||
|
||||
Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
|
||||
Added test, updates, June 23.
|
||||
Updated for 7.4: http://litcave.rudi.ir/farsi_vim.diff
|
||||
With modification for Tatweel character: https://dpaste.de/VmFw
|
||||
Remark from Ameretat Reith (2014 Oct 13)
|
||||
|
||||
List of encoding aliases. (Takao Fujiwara, 2009 Jul 18)
|
||||
Are they all OK? Update Jul 22.
|
||||
|
||||
@@ -3091,8 +3142,6 @@ Win32 GUI known bugs:
|
||||
8 The -P argument doesn't work very well with many MDI applications.
|
||||
The last argument of CreateWindowEx() should be used, see MSDN docs.
|
||||
Tutorial: http://win32assembly.online.fr/tut32.html
|
||||
8 In eval.c, io.h is included when MSWIN32 is defined. Shouldn't this be
|
||||
WIN32? Or can including io.h be moved to vim.h? (Dan Sharp)
|
||||
6 Win32 GUI: With "-u NONE -U NONE" and doing "CTRL-W v" "CTRL-W o", the ":"
|
||||
of ":only" is highlighted like the cursor. (Lipelis)
|
||||
8 When 'encoding' is "utf-8", should use 'guifont' for both normal and wide
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_11.txt* For Vim version 8.1. Last change: 2019 Jan 30
|
||||
*usr_11.txt* For Vim version 8.1. Last change: 2019 Feb 04
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -284,6 +284,7 @@ If you really don't want to see this message, you can add the 'A' flag to the
|
||||
'shortmess' option. But it's very unusual that you need this.
|
||||
|
||||
For remarks about encryption and the swap file, see |:recover-crypt|.
|
||||
For programatic access to the swap file, see |swapinfo()|.
|
||||
|
||||
==============================================================================
|
||||
*11.4* Further reading
|
||||
|
||||
@@ -153,12 +153,6 @@ language than the text.
|
||||
language, the default should work fine and you don't need to do anything. The
|
||||
following is only relevant when you want to edit different languages.
|
||||
|
||||
Note:
|
||||
Using different encodings only works when Vim was compiled to handle
|
||||
it. To find out if it works, use the ":version" command and check the
|
||||
output for "+multi_byte". If it's there, you are OK. If you see
|
||||
"-multi_byte" you will have to find another Vim.
|
||||
|
||||
|
||||
USING UNICODE IN THE GUI
|
||||
|
||||
|
||||
@@ -82,8 +82,7 @@ g8 Print the hex values of the bytes used in the
|
||||
value of 'maxcombine' doesn't matter.
|
||||
Example of a character with two composing characters:
|
||||
e0 b8 81 + e0 b8 b9 + e0 b9 89 ~
|
||||
{not in Vi} {only when compiled with the |+multi_byte|
|
||||
feature}
|
||||
{not in Vi}
|
||||
|
||||
*8g8*
|
||||
8g8 Find an illegal UTF-8 byte sequence at or after the
|
||||
@@ -98,8 +97,7 @@ g8 Print the hex values of the bytes used in the
|
||||
Note that when the cursor is on an illegal byte or the
|
||||
cursor is halfway a multi-byte character the command
|
||||
won't move the cursor.
|
||||
{not in Vi} {only when compiled with the |+multi_byte|
|
||||
feature}
|
||||
{not in Vi}
|
||||
|
||||
*:p* *:pr* *:print* *E749*
|
||||
:[range]p[rint] [flags]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2019 Jan 28
|
||||
" Last Change: 2019 Feb 07
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -54,6 +54,9 @@ au BufNewFile,BufRead $VIMRUNTIME/doc/*.txt setf help
|
||||
" Abaqus or Trasys
|
||||
au BufNewFile,BufRead *.inp call dist#ft#Check_inp()
|
||||
|
||||
" 8th (Firth-derivative)
|
||||
au BufNewFile,BufRead *.8th setf 8th
|
||||
|
||||
" A-A-P recipe
|
||||
au BufNewFile,BufRead *.aap setf aap
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
" Vim ftplugin file
|
||||
" Language: 8th
|
||||
" Version: any
|
||||
" Last Change: 2015/11/08
|
||||
" Maintainer: Ron Aaron <ron@aaron-tech.com>
|
||||
" URL: https://8th-dev.com/
|
||||
" Filetypes: *.8th
|
||||
" NOTE: 8th allows any non-whitespace in a name, so you need to do:
|
||||
" setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
|
||||
" This goes with the syntax/8th.vim file.
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_8thplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_8thplugin = 1
|
||||
|
||||
setlocal ts=2 sts=2 sw=2 et
|
||||
setlocal com=s1:/*,mb:*,ex:*/,:\|,:\\
|
||||
setlocal fo=tcrqol
|
||||
setlocal matchpairs+=\::;
|
||||
setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
|
||||
setlocal suffixesadd=.8th
|
||||
@@ -30,7 +30,7 @@ setlocal formatoptions+=tcroql
|
||||
"
|
||||
" More sophisticated indentation rules should be revisted in the future.
|
||||
|
||||
if !exists("g:rst_style") || g:rst_style != 0
|
||||
if exists("g:rst_style") && g:rst_style != 0
|
||||
setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
" Menu Translations: Danish for iso-8859-1 encoding
|
||||
|
||||
source <sfile>:p:h/menu_da.utf-8.vim
|
||||
source <sfile>:p:h/menu_da.utf-8.vim
|
||||
@@ -368,6 +368,95 @@ let g:menutrans_spell_change_ARG_to = 'Ændr\ "%s"\ til'
|
||||
let g:menutrans_spell_add_ARG_to_word_list = 'Tilføj\ "%s"\ til\ ordliste'
|
||||
let g:menutrans_spell_ignore_ARG = 'Ignorer "%s"'
|
||||
|
||||
|
||||
|
||||
" Forsøg på at oversætte netrw-menuen
|
||||
menut Help<tab><F1> Hjælp<tab><F1>
|
||||
" -Sep1-
|
||||
menut Go\ Up\ Directory<tab>- Gå\ mappe\ op<tab>-
|
||||
menut Apply\ Special\ Viewer<tab>x Anvend\ speciel\ fremviser<tab>x
|
||||
|
||||
menut Bookmarks\ and\ History Bogmærker\ og\ historik<tab>:echo "(disabled)"
|
||||
menut Bookmark\ Current\ Directory<tab>mb Sæt\ bogmærke\ for\ nuværende\ mappe<tab>mb
|
||||
menut Goto\ Prev\ Dir\ (History)<tab>u Gå\ til\ forrige\ mappe\ (historik)<tab>u
|
||||
menut Goto\ Next\ Dir\ (History)<tab>U Gå\ til\ næste\ mappe\ (historik)<tab>U
|
||||
menut List<tab>qb Oplist<tab>qb
|
||||
|
||||
menut Browsing\ Control Gennemgangskontol
|
||||
menut Horizontal\ Split<tab>o Vandret\ opdeling<tab>o
|
||||
menut Vertical\ Split<tab>v Lodret\ opdeling<tab>v
|
||||
menut New\ Tab<tab>t Nyt\ faneblad<tab>t
|
||||
menut Preview<tab>p Forhåndsvis<tab>p
|
||||
menut Edit\ File\ Hiding\ List<tab><ctrl-h> Rediger\ liste\ til\ filskjulning
|
||||
menut Edit\ Sorting\ Sequence<tab>S Rediger\ sorteringssekvens<tab>S
|
||||
menut Quick\ Hide/Unhide\ Dot\ Files<tab>gh Hurtig\ skjul/vis\ punktum-filer<tab>gh
|
||||
menut Refresh\ Listing<tab><ctrl-l> Genopfrisk\ oplistning<tab>\<c-l> ikke sikker det med \ er korrekt
|
||||
menut Settings/Options<tab>:NetrwSettings Indstillinger/valgmuligheder<tab>
|
||||
|
||||
menut Delete\ File/Directory<tab>D Slet\ fil/mappe<tab>D
|
||||
|
||||
menut Edit\ File/Dir Rediger\ fil/mappe
|
||||
menut Create\ New\ File<tab>% Opret\ ny\ fil<tab>%
|
||||
menut In\ Current\ Window<tab><cr> I\ nuværende\ vindue<tab>
|
||||
menut Preview\ File/Directory<tab>p Forhåndsvis\ fil/mappe<tab>p
|
||||
menut In\ Previous\ Window<tab>P I\ forrige\ vindue<tab>P
|
||||
menut In\ New\ Window<tab>o I\ nyt\ vindue<tab>o
|
||||
menut In\ New\ Tab<tab>t I\ nyt\ faneblad<tab>t
|
||||
menut In\ New\ Vertical\ Window<tab>v I\ nyt\ lodret\ vindue<tab>v
|
||||
|
||||
menut Explore Gennemse
|
||||
menut Directory\ Name Mappenavn<tab>:Explore
|
||||
menut Filenames\ Matching\ Pattern\ (curdir\ only)<tab>:Explore\ */ test29<tab>:Explore */
|
||||
menut Filenames\ Matching\ Pattern\ (+subdirs)<tab>:Explore\ **/ test30<tab>:Explore **/
|
||||
menut Files\ Containing\ String\ Pattern\ (curdir\ only)<tab>:Explore\ *// test31<tab>:Explore *//
|
||||
menut Files\ Containing\ String\ Pattern\ (+subdirs)<tab>:Explore\ **// test32<tab>:Explore **//
|
||||
menut Next\ Match<tab>:Nexplore Næste\ match<tab>:Nexplore<cr>
|
||||
menut Prev\ Match<tab>:Pexplore Forrige\ match<tab>:Pexplore<cr>
|
||||
|
||||
menut Make\ Subdirectory<tab>d Opret\ undermappe<tab>d
|
||||
|
||||
menut Marked\ Files Mærkede\ filer
|
||||
menut Mark\ File<tab>mf Mærk\ fil<tab>mf
|
||||
menut Mark\ Files\ by\ Regexp<tab>mr Mærk\ filer\ efter\ regulært\ udtrk<tab>mr
|
||||
menut Hide-Show-List\ Control<tab>a test38<tab>a
|
||||
menut Copy\ To\ Target<tab>mc Kopiér\ til\ mål<tab>mc
|
||||
menut Delete<tab>D Slet<tab>D
|
||||
menut Diff<tab>md Diff<tab>md
|
||||
menut Edit<tab>me Rediger<tab>me
|
||||
menut Exe\ Cmd<tab>mx test43<tab>mx
|
||||
menut Move\ To\ Target<tab>mm Flyt\ til\ mål<tab>mm
|
||||
menut Obtain<tab>O Indhent<tab>O
|
||||
menut Print<tab>mp Udskriv<tab>mp
|
||||
menut Replace<tab>R Erstat<tab>R
|
||||
menut Set\ Target<tab>mt Sæt\ mål<tab>mt
|
||||
menut Tag<tab>mT test49<tab>mT
|
||||
menut Zip/Unzip/Compress/Uncompress<tab>mz Zip/unzip/komprimér/udpak<tab>mz
|
||||
|
||||
menut Obtain\ File<tab>O Indhent\ fil<tab>O
|
||||
|
||||
menut Style Stile
|
||||
menut Listing Oplisting
|
||||
menut thin<tab>i tynd
|
||||
menut long<tab>i lang
|
||||
menut wide<tab>i bred
|
||||
menut tree<tab>i træ
|
||||
menut Normal-Hide-Show Normal-skjul-vis
|
||||
menut Show\ All<tab>a Vis\ alle<tab>
|
||||
menut Normal<tab>a Normal<tab>
|
||||
menut Hidden\ Only<tab>a Kun\ skulte<tab>
|
||||
menut Reverse\ Sorting\ Order<tab> Omvendt\ sorteringsrækkefølge
|
||||
menut Sorting\ Method Sorteringsmetode
|
||||
menut Name<tab>s Navn
|
||||
menut Time<tab>s Tidspunkt
|
||||
menut Size<tab>s Størrelse
|
||||
menut Exten<tab>s Endelse
|
||||
menut Rename\ File/Directory<tab>R Omdøb\ fil/mappe<tab>R
|
||||
menut Set\ Current\ Directory<tab>c Sæt\ nuværende\ mappe<tab>c
|
||||
|
||||
menut History Historik
|
||||
|
||||
menut Targets Mål
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
|
||||
+36
-38
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2019 Jan 27
|
||||
" Last Change: 2019 Feb 08
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
let buf = bufnr('option-window')
|
||||
@@ -503,6 +503,10 @@ if has("terminal")
|
||||
call <SID>OptionL("twk")
|
||||
call append("$", "termwinscroll\tmax number of lines to keep for scrollback in a terminal window")
|
||||
call append("$", "\t(local to window)")
|
||||
if has('win32')
|
||||
call append("$", "termwintype\ttype of pty to use for a terminal window")
|
||||
call <SID>OptionG("twt", &twt)
|
||||
endif
|
||||
call <SID>OptionL("twsl")
|
||||
if exists("&winptydll")
|
||||
call append("$", "winptydll\tname of the winpty dynamic library")
|
||||
@@ -700,12 +704,10 @@ if has("printer")
|
||||
call append("$", "printencoding\tencoding used to print the PostScript file for :hardcopy")
|
||||
call <SID>OptionG("penc", &penc)
|
||||
endif
|
||||
if has("multi_byte")
|
||||
call append("$", "printmbcharset\tthe CJK character set to be used for CJK output from :hardcopy")
|
||||
call <SID>OptionG("pmbcs", &pmbcs)
|
||||
call append("$", "printmbfont\tlist of font names to be used for CJK output from :hardcopy")
|
||||
call <SID>OptionG("pmbfn", &pmbfn)
|
||||
endif
|
||||
call append("$", "printmbcharset\tthe CJK character set to be used for CJK output from :hardcopy")
|
||||
call <SID>OptionG("pmbcs", &pmbcs)
|
||||
call append("$", "printmbfont\tlist of font names to be used for CJK output from :hardcopy")
|
||||
call <SID>OptionG("pmbfn", &pmbfn)
|
||||
endif
|
||||
|
||||
call <SID>Header("messages and info")
|
||||
@@ -1011,11 +1013,9 @@ call <SID>BinOptionL("eol")
|
||||
call append("$", "fixendofline\tfixes missing end-of-line at end of text file")
|
||||
call append("$", "\t(local to buffer)")
|
||||
call <SID>BinOptionL("fixeol")
|
||||
if has("multi_byte")
|
||||
call append("$", "bomb\tprepend a Byte Order Mark to the file")
|
||||
call append("$", "\t(local to buffer)")
|
||||
call <SID>BinOptionL("bomb")
|
||||
endif
|
||||
call append("$", "bomb\tprepend a Byte Order Mark to the file")
|
||||
call append("$", "\t(local to buffer)")
|
||||
call <SID>BinOptionL("bomb")
|
||||
call append("$", "fileformat\tend-of-line format: \"dos\", \"unix\" or \"mac\"")
|
||||
call append("$", "\t(local to buffer)")
|
||||
call <SID>OptionL("ff")
|
||||
@@ -1267,33 +1267,31 @@ if has("xim")
|
||||
endif
|
||||
|
||||
|
||||
if has("multi_byte")
|
||||
call <SID>Header("multi-byte characters")
|
||||
call append("$", "encoding\tcharacter encoding used in Vim: \"latin1\", \"utf-8\"")
|
||||
call append("$", "\t\"euc-jp\", \"big5\", etc.")
|
||||
call <SID>OptionG("enc", &enc)
|
||||
call append("$", "fileencoding\tcharacter encoding for the current file")
|
||||
call append("$", "\t(local to buffer)")
|
||||
call <SID>OptionL("fenc")
|
||||
call append("$", "fileencodings\tautomatically detected character encodings")
|
||||
call <SID>OptionG("fencs", &fencs)
|
||||
call append("$", "termencoding\tcharacter encoding used by the terminal")
|
||||
call <SID>OptionG("tenc", &tenc)
|
||||
call append("$", "charconvert\texpression used for character encoding conversion")
|
||||
call <SID>OptionG("ccv", &ccv)
|
||||
call append("$", "delcombine\tdelete combining (composing) characters on their own")
|
||||
call <SID>BinOptionG("deco", &deco)
|
||||
call append("$", "maxcombine\tmaximum number of combining (composing) characters displayed")
|
||||
call <SID>OptionG("mco", &mco)
|
||||
if has("xim") && has("gui_gtk")
|
||||
call append("$", "imactivatekey\tkey that activates the X input method")
|
||||
call <SID>OptionG("imak", &imak)
|
||||
endif
|
||||
call append("$", "ambiwidth\twidth of ambiguous width characters")
|
||||
call <SID>OptionG("ambw", &ambw)
|
||||
call append("$", "emoji\temoji characters are full width")
|
||||
call <SID>BinOptionG("emo", &emo)
|
||||
call <SID>Header("multi-byte characters")
|
||||
call append("$", "encoding\tcharacter encoding used in Vim: \"latin1\", \"utf-8\"")
|
||||
call append("$", "\t\"euc-jp\", \"big5\", etc.")
|
||||
call <SID>OptionG("enc", &enc)
|
||||
call append("$", "fileencoding\tcharacter encoding for the current file")
|
||||
call append("$", "\t(local to buffer)")
|
||||
call <SID>OptionL("fenc")
|
||||
call append("$", "fileencodings\tautomatically detected character encodings")
|
||||
call <SID>OptionG("fencs", &fencs)
|
||||
call append("$", "termencoding\tcharacter encoding used by the terminal")
|
||||
call <SID>OptionG("tenc", &tenc)
|
||||
call append("$", "charconvert\texpression used for character encoding conversion")
|
||||
call <SID>OptionG("ccv", &ccv)
|
||||
call append("$", "delcombine\tdelete combining (composing) characters on their own")
|
||||
call <SID>BinOptionG("deco", &deco)
|
||||
call append("$", "maxcombine\tmaximum number of combining (composing) characters displayed")
|
||||
call <SID>OptionG("mco", &mco)
|
||||
if has("xim") && has("gui_gtk")
|
||||
call append("$", "imactivatekey\tkey that activates the X input method")
|
||||
call <SID>OptionG("imak", &imak)
|
||||
endif
|
||||
call append("$", "ambiwidth\twidth of ambiguous width characters")
|
||||
call <SID>OptionG("ambw", &ambw)
|
||||
call append("$", "emoji\temoji characters are full width")
|
||||
call <SID>BinOptionG("emo", &emo)
|
||||
|
||||
|
||||
call <SID>Header("various")
|
||||
|
||||
+754
@@ -0,0 +1,754 @@
|
||||
" matchit.vim: (global plugin) Extended "%" matching
|
||||
" autload script of matchit plugin, see ../plugin/matchit.vim
|
||||
" Last Change: 2019 Jan 28
|
||||
|
||||
let s:last_mps = ""
|
||||
let s:last_words = ":"
|
||||
let s:patBR = ""
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Auto-complete mappings: (not yet "ready for prime time")
|
||||
" TODO Read :help write-plugin for the "right" way to let the user
|
||||
" specify a key binding.
|
||||
" let g:match_auto = '<C-]>'
|
||||
" let g:match_autoCR = '<C-CR>'
|
||||
" if exists("g:match_auto")
|
||||
" execute "inoremap " . g:match_auto . ' x<Esc>"=<SID>Autocomplete()<CR>Pls'
|
||||
" endif
|
||||
" if exists("g:match_autoCR")
|
||||
" execute "inoremap " . g:match_autoCR . ' <CR><C-R>=<SID>Autocomplete()<CR>'
|
||||
" endif
|
||||
" if exists("g:match_gthhoh")
|
||||
" execute "inoremap " . g:match_gthhoh . ' <C-O>:call <SID>Gthhoh()<CR>'
|
||||
" endif " gthhoh = "Get the heck out of here!"
|
||||
|
||||
let s:notslash = '\\\@1<!\%(\\\\\)*'
|
||||
|
||||
function s:RestoreOptions()
|
||||
" In s:CleanUp(), :execute "set" restore_options .
|
||||
let restore_options = ""
|
||||
if get(b:, 'match_ignorecase', &ic) != &ic
|
||||
let restore_options .= (&ic ? " " : " no") . "ignorecase"
|
||||
let &ignorecase = b:match_ignorecase
|
||||
endif
|
||||
if &ve != ''
|
||||
let restore_options = " ve=" . &ve . restore_options
|
||||
set ve=
|
||||
endif
|
||||
return restore_options
|
||||
endfunction
|
||||
|
||||
function matchit#Match_wrapper(word, forward, mode) range
|
||||
let restore_options = s:RestoreOptions()
|
||||
" If this function was called from Visual mode, make sure that the cursor
|
||||
" is at the correct end of the Visual range:
|
||||
if a:mode == "v"
|
||||
execute "normal! gv\<Esc>"
|
||||
elseif a:mode == "o" && mode(1) !~# '[vV]'
|
||||
exe "norm! v"
|
||||
endif
|
||||
" In s:CleanUp(), we may need to check whether the cursor moved forward.
|
||||
let startpos = [line("."), col(".")]
|
||||
" Use default behavior if called with a count.
|
||||
if v:count
|
||||
exe "normal! " . v:count . "%"
|
||||
return s:CleanUp(restore_options, a:mode, startpos)
|
||||
end
|
||||
|
||||
" First step: if not already done, set the script variables
|
||||
" s:do_BR flag for whether there are backrefs
|
||||
" s:pat parsed version of b:match_words
|
||||
" s:all regexp based on s:pat and the default groups
|
||||
if !exists("b:match_words") || b:match_words == ""
|
||||
let match_words = ""
|
||||
elseif b:match_words =~ ":"
|
||||
let match_words = b:match_words
|
||||
else
|
||||
" Allow b:match_words = "GetVimMatchWords()" .
|
||||
execute "let match_words =" b:match_words
|
||||
endif
|
||||
" Thanks to Preben "Peppe" Guldberg and Bram Moolenaar for this suggestion!
|
||||
if (match_words != s:last_words) || (&mps != s:last_mps)
|
||||
\ || exists("b:match_debug")
|
||||
let s:last_mps = &mps
|
||||
" quote the special chars in 'matchpairs', replace [,:] with \| and then
|
||||
" append the builtin pairs (/*, */, #if, #ifdef, #ifndef, #else, #elif,
|
||||
" #endif)
|
||||
let default = escape(&mps, '[$^.*~\\/?]') . (strlen(&mps) ? "," : "") .
|
||||
\ '\/\*:\*\/,#\s*if\%(n\=def\)\=:#\s*else\>:#\s*elif\>:#\s*endif\>'
|
||||
" s:all = pattern with all the keywords
|
||||
let match_words = match_words . (strlen(match_words) ? "," : "") . default
|
||||
let s:last_words = match_words
|
||||
if match_words !~ s:notslash . '\\\d'
|
||||
let s:do_BR = 0
|
||||
let s:pat = match_words
|
||||
else
|
||||
let s:do_BR = 1
|
||||
let s:pat = s:ParseWords(match_words)
|
||||
endif
|
||||
let s:all = substitute(s:pat, s:notslash . '\zs[,:]\+', '\\|', 'g')
|
||||
" Just in case there are too many '\(...)' groups inside the pattern, make
|
||||
" sure to use \%(...) groups, so that error E872 can be avoided
|
||||
let s:all = substitute(s:all, '\\(', '\\%(', 'g')
|
||||
let s:all = '\%(' . s:all . '\)'
|
||||
if exists("b:match_debug")
|
||||
let b:match_pat = s:pat
|
||||
endif
|
||||
" Reconstruct the version with unresolved backrefs.
|
||||
let s:patBR = substitute(match_words.',',
|
||||
\ s:notslash.'\zs[,:]*,[,:]*', ',', 'g')
|
||||
let s:patBR = substitute(s:patBR, s:notslash.'\zs:\{2,}', ':', 'g')
|
||||
endif
|
||||
|
||||
" Second step: set the following local variables:
|
||||
" matchline = line on which the cursor started
|
||||
" curcol = number of characters before match
|
||||
" prefix = regexp for start of line to start of match
|
||||
" suffix = regexp for end of match to end of line
|
||||
" Require match to end on or after the cursor and prefer it to
|
||||
" start on or before the cursor.
|
||||
let matchline = getline(startpos[0])
|
||||
if a:word != ''
|
||||
" word given
|
||||
if a:word !~ s:all
|
||||
echohl WarningMsg|echo 'Missing rule for word:"'.a:word.'"'|echohl NONE
|
||||
return s:CleanUp(restore_options, a:mode, startpos)
|
||||
endif
|
||||
let matchline = a:word
|
||||
let curcol = 0
|
||||
let prefix = '^\%('
|
||||
let suffix = '\)$'
|
||||
" Now the case when "word" is not given
|
||||
else " Find the match that ends on or after the cursor and set curcol.
|
||||
let regexp = s:Wholematch(matchline, s:all, startpos[1]-1)
|
||||
let curcol = match(matchline, regexp)
|
||||
" If there is no match, give up.
|
||||
if curcol == -1
|
||||
return s:CleanUp(restore_options, a:mode, startpos)
|
||||
endif
|
||||
let endcol = matchend(matchline, regexp)
|
||||
let suf = strlen(matchline) - endcol
|
||||
let prefix = (curcol ? '^.*\%' . (curcol + 1) . 'c\%(' : '^\%(')
|
||||
let suffix = (suf ? '\)\%' . (endcol + 1) . 'c.*$' : '\)$')
|
||||
endif
|
||||
if exists("b:match_debug")
|
||||
let b:match_match = matchstr(matchline, regexp)
|
||||
let b:match_col = curcol+1
|
||||
endif
|
||||
|
||||
" Third step: Find the group and single word that match, and the original
|
||||
" (backref) versions of these. Then, resolve the backrefs.
|
||||
" Set the following local variable:
|
||||
" group = colon-separated list of patterns, one of which matches
|
||||
" = ini:mid:fin or ini:fin
|
||||
"
|
||||
" Now, set group and groupBR to the matching group: 'if:endif' or
|
||||
" 'while:endwhile' or whatever. A bit of a kluge: s:Choose() returns
|
||||
" group . "," . groupBR, and we pick it apart.
|
||||
let group = s:Choose(s:pat, matchline, ",", ":", prefix, suffix, s:patBR)
|
||||
let i = matchend(group, s:notslash . ",")
|
||||
let groupBR = strpart(group, i)
|
||||
let group = strpart(group, 0, i-1)
|
||||
" Now, matchline =~ prefix . substitute(group,':','\|','g') . suffix
|
||||
if s:do_BR " Do the hard part: resolve those backrefs!
|
||||
let group = s:InsertRefs(groupBR, prefix, group, suffix, matchline)
|
||||
endif
|
||||
if exists("b:match_debug")
|
||||
let b:match_wholeBR = groupBR
|
||||
let i = matchend(groupBR, s:notslash . ":")
|
||||
let b:match_iniBR = strpart(groupBR, 0, i-1)
|
||||
endif
|
||||
|
||||
" Fourth step: Set the arguments for searchpair().
|
||||
let i = matchend(group, s:notslash . ":")
|
||||
let j = matchend(group, '.*' . s:notslash . ":")
|
||||
let ini = strpart(group, 0, i-1)
|
||||
let mid = substitute(strpart(group, i,j-i-1), s:notslash.'\zs:', '\\|', 'g')
|
||||
let fin = strpart(group, j)
|
||||
"Un-escape the remaining , and : characters.
|
||||
let ini = substitute(ini, s:notslash . '\zs\\\(:\|,\)', '\1', 'g')
|
||||
let mid = substitute(mid, s:notslash . '\zs\\\(:\|,\)', '\1', 'g')
|
||||
let fin = substitute(fin, s:notslash . '\zs\\\(:\|,\)', '\1', 'g')
|
||||
" searchpair() requires that these patterns avoid \(\) groups.
|
||||
let ini = substitute(ini, s:notslash . '\zs\\(', '\\%(', 'g')
|
||||
let mid = substitute(mid, s:notslash . '\zs\\(', '\\%(', 'g')
|
||||
let fin = substitute(fin, s:notslash . '\zs\\(', '\\%(', 'g')
|
||||
" Set mid. This is optimized for readability, not micro-efficiency!
|
||||
if a:forward && matchline =~ prefix . fin . suffix
|
||||
\ || !a:forward && matchline =~ prefix . ini . suffix
|
||||
let mid = ""
|
||||
endif
|
||||
" Set flag. This is optimized for readability, not micro-efficiency!
|
||||
if a:forward && matchline =~ prefix . fin . suffix
|
||||
\ || !a:forward && matchline !~ prefix . ini . suffix
|
||||
let flag = "bW"
|
||||
else
|
||||
let flag = "W"
|
||||
endif
|
||||
" Set skip.
|
||||
if exists("b:match_skip")
|
||||
let skip = b:match_skip
|
||||
elseif exists("b:match_comment") " backwards compatibility and testing!
|
||||
let skip = "r:" . b:match_comment
|
||||
else
|
||||
let skip = 's:comment\|string'
|
||||
endif
|
||||
let skip = s:ParseSkip(skip)
|
||||
if exists("b:match_debug")
|
||||
let b:match_ini = ini
|
||||
let b:match_tail = (strlen(mid) ? mid.'\|' : '') . fin
|
||||
endif
|
||||
|
||||
" Fifth step: actually start moving the cursor and call searchpair().
|
||||
" Later, :execute restore_cursor to get to the original screen.
|
||||
let view = winsaveview()
|
||||
call cursor(0, curcol + 1)
|
||||
if skip =~ 'synID' && !(has("syntax") && exists("g:syntax_on"))
|
||||
let skip = "0"
|
||||
else
|
||||
execute "if " . skip . "| let skip = '0' | endif"
|
||||
endif
|
||||
let sp_return = searchpair(ini, mid, fin, flag, skip)
|
||||
let final_position = "call cursor(" . line(".") . "," . col(".") . ")"
|
||||
" Restore cursor position and original screen.
|
||||
call winrestview(view)
|
||||
normal! m'
|
||||
if sp_return > 0
|
||||
execute final_position
|
||||
endif
|
||||
return s:CleanUp(restore_options, a:mode, startpos, mid.'\|'.fin)
|
||||
endfun
|
||||
|
||||
" Restore options and do some special handling for Operator-pending mode.
|
||||
" The optional argument is the tail of the matching group.
|
||||
fun! s:CleanUp(options, mode, startpos, ...)
|
||||
if strlen(a:options)
|
||||
execute "set" a:options
|
||||
endif
|
||||
" Open folds, if appropriate.
|
||||
if a:mode != "o"
|
||||
if &foldopen =~ "percent"
|
||||
normal! zv
|
||||
endif
|
||||
" In Operator-pending mode, we want to include the whole match
|
||||
" (for example, d%).
|
||||
" This is only a problem if we end up moving in the forward direction.
|
||||
elseif (a:startpos[0] < line(".")) ||
|
||||
\ (a:startpos[0] == line(".") && a:startpos[1] < col("."))
|
||||
if a:0
|
||||
" Check whether the match is a single character. If not, move to the
|
||||
" end of the match.
|
||||
let matchline = getline(".")
|
||||
let currcol = col(".")
|
||||
let regexp = s:Wholematch(matchline, a:1, currcol-1)
|
||||
let endcol = matchend(matchline, regexp)
|
||||
if endcol > currcol " This is NOT off by one!
|
||||
call cursor(0, endcol)
|
||||
endif
|
||||
endif " a:0
|
||||
endif " a:mode != "o" && etc.
|
||||
return 0
|
||||
endfun
|
||||
|
||||
" Example (simplified HTML patterns): if
|
||||
" a:groupBR = '<\(\k\+\)>:</\1>'
|
||||
" a:prefix = '^.\{3}\('
|
||||
" a:group = '<\(\k\+\)>:</\(\k\+\)>'
|
||||
" a:suffix = '\).\{2}$'
|
||||
" a:matchline = "123<tag>12" or "123</tag>12"
|
||||
" then extract "tag" from a:matchline and return "<tag>:</tag>" .
|
||||
fun! s:InsertRefs(groupBR, prefix, group, suffix, matchline)
|
||||
if a:matchline !~ a:prefix .
|
||||
\ substitute(a:group, s:notslash . '\zs:', '\\|', 'g') . a:suffix
|
||||
return a:group
|
||||
endif
|
||||
let i = matchend(a:groupBR, s:notslash . ':')
|
||||
let ini = strpart(a:groupBR, 0, i-1)
|
||||
let tailBR = strpart(a:groupBR, i)
|
||||
let word = s:Choose(a:group, a:matchline, ":", "", a:prefix, a:suffix,
|
||||
\ a:groupBR)
|
||||
let i = matchend(word, s:notslash . ":")
|
||||
let wordBR = strpart(word, i)
|
||||
let word = strpart(word, 0, i-1)
|
||||
" Now, a:matchline =~ a:prefix . word . a:suffix
|
||||
if wordBR != ini
|
||||
let table = s:Resolve(ini, wordBR, "table")
|
||||
else
|
||||
let table = ""
|
||||
let d = 0
|
||||
while d < 10
|
||||
if tailBR =~ s:notslash . '\\' . d
|
||||
let table = table . d
|
||||
else
|
||||
let table = table . "-"
|
||||
endif
|
||||
let d = d + 1
|
||||
endwhile
|
||||
endif
|
||||
let d = 9
|
||||
while d
|
||||
if table[d] != "-"
|
||||
let backref = substitute(a:matchline, a:prefix.word.a:suffix,
|
||||
\ '\'.table[d], "")
|
||||
" Are there any other characters that should be escaped?
|
||||
let backref = escape(backref, '*,:')
|
||||
execute s:Ref(ini, d, "start", "len")
|
||||
let ini = strpart(ini, 0, start) . backref . strpart(ini, start+len)
|
||||
let tailBR = substitute(tailBR, s:notslash . '\zs\\' . d,
|
||||
\ escape(backref, '\\&'), 'g')
|
||||
endif
|
||||
let d = d-1
|
||||
endwhile
|
||||
if exists("b:match_debug")
|
||||
if s:do_BR
|
||||
let b:match_table = table
|
||||
let b:match_word = word
|
||||
else
|
||||
let b:match_table = ""
|
||||
let b:match_word = ""
|
||||
endif
|
||||
endif
|
||||
return ini . ":" . tailBR
|
||||
endfun
|
||||
|
||||
" Input a comma-separated list of groups with backrefs, such as
|
||||
" a:groups = '\(foo\):end\1,\(bar\):end\1'
|
||||
" and return a comma-separated list of groups with backrefs replaced:
|
||||
" return '\(foo\):end\(foo\),\(bar\):end\(bar\)'
|
||||
fun! s:ParseWords(groups)
|
||||
let groups = substitute(a:groups.",", s:notslash.'\zs[,:]*,[,:]*', ',', 'g')
|
||||
let groups = substitute(groups, s:notslash . '\zs:\{2,}', ':', 'g')
|
||||
let parsed = ""
|
||||
while groups =~ '[^,:]'
|
||||
let i = matchend(groups, s:notslash . ':')
|
||||
let j = matchend(groups, s:notslash . ',')
|
||||
let ini = strpart(groups, 0, i-1)
|
||||
let tail = strpart(groups, i, j-i-1) . ":"
|
||||
let groups = strpart(groups, j)
|
||||
let parsed = parsed . ini
|
||||
let i = matchend(tail, s:notslash . ':')
|
||||
while i != -1
|
||||
" In 'if:else:endif', ini='if' and word='else' and then word='endif'.
|
||||
let word = strpart(tail, 0, i-1)
|
||||
let tail = strpart(tail, i)
|
||||
let i = matchend(tail, s:notslash . ':')
|
||||
let parsed = parsed . ":" . s:Resolve(ini, word, "word")
|
||||
endwhile " Now, tail has been used up.
|
||||
let parsed = parsed . ","
|
||||
endwhile " groups =~ '[^,:]'
|
||||
let parsed = substitute(parsed, ',$', '', '')
|
||||
return parsed
|
||||
endfun
|
||||
|
||||
" TODO I think this can be simplified and/or made more efficient.
|
||||
" TODO What should I do if a:start is out of range?
|
||||
" Return a regexp that matches all of a:string, such that
|
||||
" matchstr(a:string, regexp) represents the match for a:pat that starts
|
||||
" as close to a:start as possible, before being preferred to after, and
|
||||
" ends after a:start .
|
||||
" Usage:
|
||||
" let regexp = s:Wholematch(getline("."), 'foo\|bar', col(".")-1)
|
||||
" let i = match(getline("."), regexp)
|
||||
" let j = matchend(getline("."), regexp)
|
||||
" let match = matchstr(getline("."), regexp)
|
||||
fun! s:Wholematch(string, pat, start)
|
||||
let group = '\%(' . a:pat . '\)'
|
||||
let prefix = (a:start ? '\(^.*\%<' . (a:start + 2) . 'c\)\zs' : '^')
|
||||
let len = strlen(a:string)
|
||||
let suffix = (a:start+1 < len ? '\(\%>'.(a:start+1).'c.*$\)\@=' : '$')
|
||||
if a:string !~ prefix . group . suffix
|
||||
let prefix = ''
|
||||
endif
|
||||
return prefix . group . suffix
|
||||
endfun
|
||||
|
||||
" No extra arguments: s:Ref(string, d) will
|
||||
" find the d'th occurrence of '\(' and return it, along with everything up
|
||||
" to and including the matching '\)'.
|
||||
" One argument: s:Ref(string, d, "start") returns the index of the start
|
||||
" of the d'th '\(' and any other argument returns the length of the group.
|
||||
" Two arguments: s:Ref(string, d, "foo", "bar") returns a string to be
|
||||
" executed, having the effect of
|
||||
" :let foo = s:Ref(string, d, "start")
|
||||
" :let bar = s:Ref(string, d, "len")
|
||||
fun! s:Ref(string, d, ...)
|
||||
let len = strlen(a:string)
|
||||
if a:d == 0
|
||||
let start = 0
|
||||
else
|
||||
let cnt = a:d
|
||||
let match = a:string
|
||||
while cnt
|
||||
let cnt = cnt - 1
|
||||
let index = matchend(match, s:notslash . '\\(')
|
||||
if index == -1
|
||||
return ""
|
||||
endif
|
||||
let match = strpart(match, index)
|
||||
endwhile
|
||||
let start = len - strlen(match)
|
||||
if a:0 == 1 && a:1 == "start"
|
||||
return start - 2
|
||||
endif
|
||||
let cnt = 1
|
||||
while cnt
|
||||
let index = matchend(match, s:notslash . '\\(\|\\)') - 1
|
||||
if index == -2
|
||||
return ""
|
||||
endif
|
||||
" Increment if an open, decrement if a ')':
|
||||
let cnt = cnt + (match[index]=="(" ? 1 : -1) " ')'
|
||||
let match = strpart(match, index+1)
|
||||
endwhile
|
||||
let start = start - 2
|
||||
let len = len - start - strlen(match)
|
||||
endif
|
||||
if a:0 == 1
|
||||
return len
|
||||
elseif a:0 == 2
|
||||
return "let " . a:1 . "=" . start . "| let " . a:2 . "=" . len
|
||||
else
|
||||
return strpart(a:string, start, len)
|
||||
endif
|
||||
endfun
|
||||
|
||||
" Count the number of disjoint copies of pattern in string.
|
||||
" If the pattern is a literal string and contains no '0' or '1' characters
|
||||
" then s:Count(string, pattern, '0', '1') should be faster than
|
||||
" s:Count(string, pattern).
|
||||
fun! s:Count(string, pattern, ...)
|
||||
let pat = escape(a:pattern, '\\')
|
||||
if a:0 > 1
|
||||
let foo = substitute(a:string, '[^'.a:pattern.']', "a:1", "g")
|
||||
let foo = substitute(a:string, pat, a:2, "g")
|
||||
let foo = substitute(foo, '[^' . a:2 . ']', "", "g")
|
||||
return strlen(foo)
|
||||
endif
|
||||
let result = 0
|
||||
let foo = a:string
|
||||
let index = matchend(foo, pat)
|
||||
while index != -1
|
||||
let result = result + 1
|
||||
let foo = strpart(foo, index)
|
||||
let index = matchend(foo, pat)
|
||||
endwhile
|
||||
return result
|
||||
endfun
|
||||
|
||||
" s:Resolve('\(a\)\(b\)', '\(c\)\2\1\1\2') should return table.word, where
|
||||
" word = '\(c\)\(b\)\(a\)\3\2' and table = '-32-------'. That is, the first
|
||||
" '\1' in target is replaced by '\(a\)' in word, table[1] = 3, and this
|
||||
" indicates that all other instances of '\1' in target are to be replaced
|
||||
" by '\3'. The hard part is dealing with nesting...
|
||||
" Note that ":" is an illegal character for source and target,
|
||||
" unless it is preceded by "\".
|
||||
fun! s:Resolve(source, target, output)
|
||||
let word = a:target
|
||||
let i = matchend(word, s:notslash . '\\\d') - 1
|
||||
let table = "----------"
|
||||
while i != -2 " There are back references to be replaced.
|
||||
let d = word[i]
|
||||
let backref = s:Ref(a:source, d)
|
||||
" The idea is to replace '\d' with backref. Before we do this,
|
||||
" replace any \(\) groups in backref with :1, :2, ... if they
|
||||
" correspond to the first, second, ... group already inserted
|
||||
" into backref. Later, replace :1 with \1 and so on. The group
|
||||
" number w+b within backref corresponds to the group number
|
||||
" s within a:source.
|
||||
" w = number of '\(' in word before the current one
|
||||
let w = s:Count(
|
||||
\ substitute(strpart(word, 0, i-1), '\\\\', '', 'g'), '\(', '1')
|
||||
let b = 1 " number of the current '\(' in backref
|
||||
let s = d " number of the current '\(' in a:source
|
||||
while b <= s:Count(substitute(backref, '\\\\', '', 'g'), '\(', '1')
|
||||
\ && s < 10
|
||||
if table[s] == "-"
|
||||
if w + b < 10
|
||||
" let table[s] = w + b
|
||||
let table = strpart(table, 0, s) . (w+b) . strpart(table, s+1)
|
||||
endif
|
||||
let b = b + 1
|
||||
let s = s + 1
|
||||
else
|
||||
execute s:Ref(backref, b, "start", "len")
|
||||
let ref = strpart(backref, start, len)
|
||||
let backref = strpart(backref, 0, start) . ":". table[s]
|
||||
\ . strpart(backref, start+len)
|
||||
let s = s + s:Count(substitute(ref, '\\\\', '', 'g'), '\(', '1')
|
||||
endif
|
||||
endwhile
|
||||
let word = strpart(word, 0, i-1) . backref . strpart(word, i+1)
|
||||
let i = matchend(word, s:notslash . '\\\d') - 1
|
||||
endwhile
|
||||
let word = substitute(word, s:notslash . '\zs:', '\\', 'g')
|
||||
if a:output == "table"
|
||||
return table
|
||||
elseif a:output == "word"
|
||||
return word
|
||||
else
|
||||
return table . word
|
||||
endif
|
||||
endfun
|
||||
|
||||
" Assume a:comma = ",". Then the format for a:patterns and a:1 is
|
||||
" a:patterns = "<pat1>,<pat2>,..."
|
||||
" a:1 = "<alt1>,<alt2>,..."
|
||||
" If <patn> is the first pattern that matches a:string then return <patn>
|
||||
" if no optional arguments are given; return <patn>,<altn> if a:1 is given.
|
||||
fun! s:Choose(patterns, string, comma, branch, prefix, suffix, ...)
|
||||
let tail = (a:patterns =~ a:comma."$" ? a:patterns : a:patterns . a:comma)
|
||||
let i = matchend(tail, s:notslash . a:comma)
|
||||
if a:0
|
||||
let alttail = (a:1 =~ a:comma."$" ? a:1 : a:1 . a:comma)
|
||||
let j = matchend(alttail, s:notslash . a:comma)
|
||||
endif
|
||||
let current = strpart(tail, 0, i-1)
|
||||
if a:branch == ""
|
||||
let currpat = current
|
||||
else
|
||||
let currpat = substitute(current, s:notslash . a:branch, '\\|', 'g')
|
||||
endif
|
||||
while a:string !~ a:prefix . currpat . a:suffix
|
||||
let tail = strpart(tail, i)
|
||||
let i = matchend(tail, s:notslash . a:comma)
|
||||
if i == -1
|
||||
return -1
|
||||
endif
|
||||
let current = strpart(tail, 0, i-1)
|
||||
if a:branch == ""
|
||||
let currpat = current
|
||||
else
|
||||
let currpat = substitute(current, s:notslash . a:branch, '\\|', 'g')
|
||||
endif
|
||||
if a:0
|
||||
let alttail = strpart(alttail, j)
|
||||
let j = matchend(alttail, s:notslash . a:comma)
|
||||
endif
|
||||
endwhile
|
||||
if a:0
|
||||
let current = current . a:comma . strpart(alttail, 0, j-1)
|
||||
endif
|
||||
return current
|
||||
endfun
|
||||
|
||||
fun! matchit#Match_debug()
|
||||
let b:match_debug = 1 " Save debugging information.
|
||||
" pat = all of b:match_words with backrefs parsed
|
||||
amenu &Matchit.&pat :echo b:match_pat<CR>
|
||||
" match = bit of text that is recognized as a match
|
||||
amenu &Matchit.&match :echo b:match_match<CR>
|
||||
" curcol = cursor column of the start of the matching text
|
||||
amenu &Matchit.&curcol :echo b:match_col<CR>
|
||||
" wholeBR = matching group, original version
|
||||
amenu &Matchit.wh&oleBR :echo b:match_wholeBR<CR>
|
||||
" iniBR = 'if' piece, original version
|
||||
amenu &Matchit.ini&BR :echo b:match_iniBR<CR>
|
||||
" ini = 'if' piece, with all backrefs resolved from match
|
||||
amenu &Matchit.&ini :echo b:match_ini<CR>
|
||||
" tail = 'else\|endif' piece, with all backrefs resolved from match
|
||||
amenu &Matchit.&tail :echo b:match_tail<CR>
|
||||
" fin = 'endif' piece, with all backrefs resolved from match
|
||||
amenu &Matchit.&word :echo b:match_word<CR>
|
||||
" '\'.d in ini refers to the same thing as '\'.table[d] in word.
|
||||
amenu &Matchit.t&able :echo '0:' . b:match_table . ':9'<CR>
|
||||
endfun
|
||||
|
||||
" Jump to the nearest unmatched "(" or "if" or "<tag>" if a:spflag == "bW"
|
||||
" or the nearest unmatched "</tag>" or "endif" or ")" if a:spflag == "W".
|
||||
" Return a "mark" for the original position, so that
|
||||
" let m = MultiMatch("bW", "n") ... call winrestview(m)
|
||||
" will return to the original position. If there is a problem, do not
|
||||
" move the cursor and return {}, unless a count is given, in which case
|
||||
" go up or down as many levels as possible and again return {}.
|
||||
" TODO This relies on the same patterns as % matching. It might be a good
|
||||
" idea to give it its own matching patterns.
|
||||
fun! matchit#MultiMatch(spflag, mode)
|
||||
let restore_options = s:RestoreOptions()
|
||||
let startpos = [line("."), col(".")]
|
||||
" save v:count1 variable, might be reset from the restore_cursor command
|
||||
let level = v:count1
|
||||
if a:mode == "o" && mode(1) !~# '[vV]'
|
||||
exe "norm! v"
|
||||
endif
|
||||
|
||||
" First step: if not already done, set the script variables
|
||||
" s:do_BR flag for whether there are backrefs
|
||||
" s:pat parsed version of b:match_words
|
||||
" s:all regexp based on s:pat and the default groups
|
||||
" This part is copied and slightly modified from matchit#Match_wrapper().
|
||||
if !exists("b:match_words") || b:match_words == ""
|
||||
let match_words = ""
|
||||
" Allow b:match_words = "GetVimMatchWords()" .
|
||||
elseif b:match_words =~ ":"
|
||||
let match_words = b:match_words
|
||||
else
|
||||
execute "let match_words =" b:match_words
|
||||
endif
|
||||
if (match_words != s:last_words) || (&mps != s:last_mps) ||
|
||||
\ exists("b:match_debug")
|
||||
let default = escape(&mps, '[$^.*~\\/?]') . (strlen(&mps) ? "," : "") .
|
||||
\ '\/\*:\*\/,#\s*if\%(n\=def\)\=:#\s*else\>:#\s*elif\>:#\s*endif\>'
|
||||
let s:last_mps = &mps
|
||||
let match_words = match_words . (strlen(match_words) ? "," : "") . default
|
||||
let s:last_words = match_words
|
||||
if match_words !~ s:notslash . '\\\d'
|
||||
let s:do_BR = 0
|
||||
let s:pat = match_words
|
||||
else
|
||||
let s:do_BR = 1
|
||||
let s:pat = s:ParseWords(match_words)
|
||||
endif
|
||||
let s:all = '\%(' . substitute(s:pat, '[,:]\+', '\\|', 'g') . '\)'
|
||||
if exists("b:match_debug")
|
||||
let b:match_pat = s:pat
|
||||
endif
|
||||
" Reconstruct the version with unresolved backrefs.
|
||||
let s:patBR = substitute(match_words.',',
|
||||
\ s:notslash.'\zs[,:]*,[,:]*', ',', 'g')
|
||||
let s:patBR = substitute(s:patBR, s:notslash.'\zs:\{2,}', ':', 'g')
|
||||
endif
|
||||
|
||||
" Second step: figure out the patterns for searchpair()
|
||||
" and save the screen, cursor position, and 'ignorecase'.
|
||||
" - TODO: A lot of this is copied from matchit#Match_wrapper().
|
||||
" - maybe even more functionality should be split off
|
||||
" - into separate functions!
|
||||
let openlist = split(s:pat . ',', s:notslash . '\zs:.\{-}' . s:notslash . ',')
|
||||
let midclolist = split(',' . s:pat, s:notslash . '\zs,.\{-}' . s:notslash . ':')
|
||||
call map(midclolist, {-> split(v:val, s:notslash . ':')})
|
||||
let closelist = []
|
||||
let middlelist = []
|
||||
call map(midclolist, {i,v -> [extend(closelist, v[-1 : -1]),
|
||||
\ extend(middlelist, v[0 : -2])]})
|
||||
call map(openlist, {i,v -> v =~# s:notslash . '\\|' ? '\%(' . v . '\)' : v})
|
||||
call map(middlelist, {i,v -> v =~# s:notslash . '\\|' ? '\%(' . v . '\)' : v})
|
||||
call map(closelist, {i,v -> v =~# s:notslash . '\\|' ? '\%(' . v . '\)' : v})
|
||||
let open = join(openlist, ',')
|
||||
let middle = join(middlelist, ',')
|
||||
let close = join(closelist, ',')
|
||||
if exists("b:match_skip")
|
||||
let skip = b:match_skip
|
||||
elseif exists("b:match_comment") " backwards compatibility and testing!
|
||||
let skip = "r:" . b:match_comment
|
||||
else
|
||||
let skip = 's:comment\|string'
|
||||
endif
|
||||
let skip = s:ParseSkip(skip)
|
||||
let view = winsaveview()
|
||||
|
||||
" Third step: call searchpair().
|
||||
" Replace '\('--but not '\\('--with '\%(' and ',' with '\|'.
|
||||
let openpat = substitute(open, '\%(' . s:notslash . '\)\@<=\\(', '\\%(', 'g')
|
||||
let openpat = substitute(openpat, ',', '\\|', 'g')
|
||||
let closepat = substitute(close, '\%(' . s:notslash . '\)\@<=\\(', '\\%(', 'g')
|
||||
let closepat = substitute(closepat, ',', '\\|', 'g')
|
||||
let middlepat = substitute(middle, '\%(' . s:notslash . '\)\@<=\\(', '\\%(', 'g')
|
||||
let middlepat = substitute(middlepat, ',', '\\|', 'g')
|
||||
|
||||
if skip =~ 'synID' && !(has("syntax") && exists("g:syntax_on"))
|
||||
let skip = '0'
|
||||
else
|
||||
try
|
||||
execute "if " . skip . "| let skip = '0' | endif"
|
||||
catch /^Vim\%((\a\+)\)\=:E363/
|
||||
" We won't find anything, so skip searching, should keep Vim responsive.
|
||||
return {}
|
||||
endtry
|
||||
endif
|
||||
mark '
|
||||
while level
|
||||
if searchpair(openpat, middlepat, closepat, a:spflag, skip) < 1
|
||||
call s:CleanUp(restore_options, a:mode, startpos)
|
||||
return {}
|
||||
endif
|
||||
let level = level - 1
|
||||
endwhile
|
||||
|
||||
" Restore options and return a string to restore the original position.
|
||||
call s:CleanUp(restore_options, a:mode, startpos)
|
||||
return view
|
||||
endfun
|
||||
|
||||
" Search backwards for "if" or "while" or "<tag>" or ...
|
||||
" and return "endif" or "endwhile" or "</tag>" or ... .
|
||||
" For now, this uses b:match_words and the same script variables
|
||||
" as matchit#Match_wrapper() . Later, it may get its own patterns,
|
||||
" either from a buffer variable or passed as arguments.
|
||||
" fun! s:Autocomplete()
|
||||
" echo "autocomplete not yet implemented :-("
|
||||
" if !exists("b:match_words") || b:match_words == ""
|
||||
" return ""
|
||||
" end
|
||||
" let startpos = matchit#MultiMatch("bW")
|
||||
"
|
||||
" if startpos == ""
|
||||
" return ""
|
||||
" endif
|
||||
" " - TODO: figure out whether 'if' or '<tag>' matched, and construct
|
||||
" " - the appropriate closing.
|
||||
" let matchline = getline(".")
|
||||
" let curcol = col(".") - 1
|
||||
" " - TODO: Change the s:all argument if there is a new set of match pats.
|
||||
" let regexp = s:Wholematch(matchline, s:all, curcol)
|
||||
" let suf = strlen(matchline) - matchend(matchline, regexp)
|
||||
" let prefix = (curcol ? '^.\{' . curcol . '}\%(' : '^\%(')
|
||||
" let suffix = (suf ? '\).\{' . suf . '}$' : '\)$')
|
||||
" " Reconstruct the version with unresolved backrefs.
|
||||
" let patBR = substitute(b:match_words.',', '[,:]*,[,:]*', ',', 'g')
|
||||
" let patBR = substitute(patBR, ':\{2,}', ':', "g")
|
||||
" " Now, set group and groupBR to the matching group: 'if:endif' or
|
||||
" " 'while:endwhile' or whatever.
|
||||
" let group = s:Choose(s:pat, matchline, ",", ":", prefix, suffix, patBR)
|
||||
" let i = matchend(group, s:notslash . ",")
|
||||
" let groupBR = strpart(group, i)
|
||||
" let group = strpart(group, 0, i-1)
|
||||
" " Now, matchline =~ prefix . substitute(group,':','\|','g') . suffix
|
||||
" if s:do_BR
|
||||
" let group = s:InsertRefs(groupBR, prefix, group, suffix, matchline)
|
||||
" endif
|
||||
" " let g:group = group
|
||||
"
|
||||
" " - TODO: Construct the closing from group.
|
||||
" let fake = "end" . expand("<cword>")
|
||||
" execute startpos
|
||||
" return fake
|
||||
" endfun
|
||||
|
||||
" Close all open structures. "Get the heck out of here!"
|
||||
" fun! s:Gthhoh()
|
||||
" let close = s:Autocomplete()
|
||||
" while strlen(close)
|
||||
" put=close
|
||||
" let close = s:Autocomplete()
|
||||
" endwhile
|
||||
" endfun
|
||||
|
||||
" Parse special strings as typical skip arguments for searchpair():
|
||||
" s:foo becomes (current syntax item) =~ foo
|
||||
" S:foo becomes (current syntax item) !~ foo
|
||||
" r:foo becomes (line before cursor) =~ foo
|
||||
" R:foo becomes (line before cursor) !~ foo
|
||||
fun! s:ParseSkip(str)
|
||||
let skip = a:str
|
||||
if skip[1] == ":"
|
||||
if skip[0] == "s"
|
||||
let skip = "synIDattr(synID(line('.'),col('.'),1),'name') =~? '" .
|
||||
\ strpart(skip,2) . "'"
|
||||
elseif skip[0] == "S"
|
||||
let skip = "synIDattr(synID(line('.'),col('.'),1),'name') !~? '" .
|
||||
\ strpart(skip,2) . "'"
|
||||
elseif skip[0] == "r"
|
||||
let skip = "strpart(getline('.'),0,col('.'))=~'" . strpart(skip,2). "'"
|
||||
elseif skip[0] == "R"
|
||||
let skip = "strpart(getline('.'),0,col('.'))!~'" . strpart(skip,2). "'"
|
||||
endif
|
||||
endif
|
||||
return skip
|
||||
endfun
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim:sts=2:sw=2:et:
|
||||
@@ -0,0 +1,335 @@
|
||||
" Vim syntax file
|
||||
" Language: 8th
|
||||
" Version: 19.01d
|
||||
" Maintainer: Ron Aaron <ron@aaron-tech.com>
|
||||
" URL: https://8th-dev.com/
|
||||
" Filetypes: *.8th
|
||||
" NOTE: You should also have the ftplugin/8th.vim file to set 'isk'
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
finish
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
syn clear
|
||||
" Synchronization method
|
||||
syn sync ccomment
|
||||
syn sync maxlines=100
|
||||
syn case match
|
||||
syn match eighthColonName "\S\+" contained
|
||||
syn match eighthColonDef ":\s\+\S\+" contains=eighthColonName
|
||||
|
||||
" new words
|
||||
syn match eighthClasses "\<\S\+:" contained
|
||||
syn match eighthClassWord "\<\S\+:.\+" contains=eighthClasses
|
||||
|
||||
syn keyword eighthEndOfColonDef ; i;
|
||||
syn keyword eighthDefine var var,
|
||||
|
||||
" Built in words
|
||||
com! -nargs=+ Builtin syn keyword eighthBuiltin <args>
|
||||
"Builtin ^ < <# <#> = > - -- ,# ; ;; ! ??? / . .# ' () @ * */ \
|
||||
|
||||
Builtin ! G:! #! G:#! ## G:## #> G:#> #if G:#if ' G:' ( G:( (* G:(* (:) G:(:) (code) G:(code) (getc) G:(getc)
|
||||
Builtin (gets) G:(gets) (interp) G:(interp) (needs) G:(needs) (putc) G:(putc) (puts) G:(puts) (putslim) G:(putslim)
|
||||
Builtin (say) G:(say) (stat) G:(stat) ) G:) +listener G:+listener +ref G:+ref ,# G:,# -- G:-- -----BEGIN G:-----BEGIN
|
||||
Builtin -Inf G:-Inf -Inf? G:-Inf? -listener G:-listener -ref G:-ref -rot G:-rot . G:. .# G:.# .needs G:.needs
|
||||
Builtin .r G:.r .s G:.s .stats G:.stats .ver G:.ver .with G:.with 0; G:0; 2dip G:2dip 2drop G:2drop
|
||||
Builtin 2dup G:2dup 2over G:2over 2swap G:2swap 3drop G:3drop 4drop G:4drop 8thdt? G:8thdt? 8thver? G:8thver?
|
||||
Builtin : G:: ; G:; ;; G:;; ;;; G:;;; ;then G:;then ;with G:;with <# G:<# <#> G:<#> >clip G:>clip >json G:>json
|
||||
Builtin >kind G:>kind >n G:>n >r G:>r >s G:>s ?: G:?: ??? G:??? @ G:@ Inf G:Inf Inf? G:Inf? NaN G:NaN
|
||||
Builtin NaN? G:NaN? SED-CHECK G:SED-CHECK SED: G:SED: SED: G:SED: \ G:\ ` G:` `` G:`` actor: G:actor:
|
||||
Builtin again G:again ahead G:ahead and G:and appname G:appname apropos G:apropos argc G:argc args G:args
|
||||
Builtin array? G:array? assert G:assert base G:base bi G:bi bits G:bits break G:break break? G:break?
|
||||
Builtin build? G:build? buildver? G:buildver? bye G:bye c# G:c# c/does G:c/does case G:case caseof G:caseof
|
||||
Builtin chdir G:chdir clip> G:clip> clone G:clone clone-shallow G:clone-shallow cold G:cold compat-level G:compat-level
|
||||
Builtin compile G:compile compile? G:compile? conflict G:conflict const G:const container? G:container?
|
||||
Builtin cr G:cr curlang G:curlang curry G:curry curry: G:curry: decimal G:decimal defer: G:defer: deg>rad G:deg>rad
|
||||
Builtin depth G:depth die G:die dip G:dip drop G:drop dstack G:dstack dump G:dump dup G:dup dup? G:dup?
|
||||
Builtin else G:else enum: G:enum: eval G:eval eval! G:eval! eval0 G:eval0 execnull G:execnull expect G:expect
|
||||
Builtin extra! G:extra! extra@ G:extra@ false G:false fnv G:fnv fourth G:fourth free G:free func: G:func:
|
||||
Builtin getc G:getc getcwd G:getcwd getenv G:getenv gets G:gets handler G:handler header G:header help G:help
|
||||
Builtin hex G:hex i: G:i: i; G:i; if G:if if; G:if; isa? G:isa? items-used G:items-used jcall G:jcall
|
||||
Builtin jclass G:jclass jmethod G:jmethod json-nesting G:json-nesting json-pretty G:json-pretty json-throw G:json-throw
|
||||
Builtin json> G:json> k32 G:k32 keep G:keep l: G:l: last G:last lib G:lib libbin G:libbin libc G:libc
|
||||
Builtin listener@ G:listener@ literal G:literal locals: G:locals: lock G:lock lock-to G:lock-to locked? G:locked?
|
||||
Builtin log G:log log-async G:log-async log-task G:log-task log-time G:log-time log-time-local G:log-time-local
|
||||
Builtin long-days G:long-days long-months G:long-months loop G:loop loop- G:loop- map? G:map? mark G:mark
|
||||
Builtin mark? G:mark? memfree G:memfree mobile? G:mobile? n# G:n# name>os G:name>os name>sem G:name>sem
|
||||
Builtin ndrop G:ndrop needs G:needs new G:new next-arg G:next-arg nip G:nip noop G:noop not G:not ns G:ns
|
||||
Builtin ns: G:ns: ns>ls G:ns>ls ns>s G:ns>s ns? G:ns? null G:null null; G:null; null? G:null? number? G:number?
|
||||
Builtin off G:off on G:on onexit G:onexit only G:only op! G:op! or G:or os G:os os-names G:os-names
|
||||
Builtin os>long-name G:os>long-name os>name G:os>name over G:over p: G:p: pack G:pack parse G:parse
|
||||
Builtin parsech G:parsech parseln G:parseln parsews G:parsews pick G:pick poke G:poke pool-clear G:pool-clear
|
||||
Builtin prior G:prior private G:private process-args G:process-args prompt G:prompt public G:public
|
||||
Builtin putc G:putc puts G:puts putslim G:putslim quote G:quote r! G:r! r> G:r> r@ G:r@ rad>deg G:rad>deg
|
||||
Builtin rand G:rand rand-pcg G:rand-pcg rand-pcg-seed G:rand-pcg-seed randbuf G:randbuf randbuf-pcg G:randbuf-pcg
|
||||
Builtin rdrop G:rdrop recurse G:recurse recurse-stack G:recurse-stack ref@ G:ref@ reg! G:reg! reg@ G:reg@
|
||||
Builtin regbin@ G:regbin@ remaining-args G:remaining-args repeat G:repeat reset G:reset roll G:roll
|
||||
Builtin rop! G:rop! rot G:rot rpick G:rpick rroll G:rroll rstack G:rstack rswap G:rswap rusage G:rusage
|
||||
Builtin s>ns G:s>ns same? G:same? scriptdir G:scriptdir scriptfile G:scriptfile sem G:sem sem-post G:sem-post
|
||||
Builtin sem-rm G:sem-rm sem-wait G:sem-wait sem-wait? G:sem-wait? sem>name G:sem>name semi-throw G:semi-throw
|
||||
Builtin set-wipe G:set-wipe setenv G:setenv settings! G:settings! settings![] G:settings![] settings@ G:settings@
|
||||
Builtin settings@? G:settings@? settings@[] G:settings@[] sh G:sh sh$ G:sh$ short-days G:short-days
|
||||
Builtin short-months G:short-months sleep G:sleep space G:space stack-check G:stack-check stack-size G:stack-size
|
||||
Builtin step G:step string? G:string? struct: G:struct: swap G:swap syslang G:syslang sysregion G:sysregion
|
||||
Builtin tab-hook G:tab-hook tell-conflict G:tell-conflict tempdir G:tempdir tempfilename G:tempfilename
|
||||
Builtin then G:then third G:third throw G:throw thrownull G:thrownull times G:times tlog G:tlog tri G:tri
|
||||
Builtin true G:true tuck G:tuck type-check G:type-check typeassert G:typeassert unlock G:unlock unpack G:unpack
|
||||
Builtin until G:until until! G:until! var G:var var, G:var, while G:while while! G:while! with: G:with:
|
||||
Builtin words G:words words-like G:words-like words/ G:words/ xchg G:xchg xor G:xor >auth HTTP:>auth
|
||||
Builtin sh I:sh tpush I:tpush trace-word I:trace-word call JSONRPC:call auth-string OAuth:auth-string
|
||||
Builtin gen-nonce OAuth:gen-nonce params OAuth:params call SOAP:call ! a:! + a:+ - a:- 2each a:2each
|
||||
Builtin 2map a:2map 2map+ a:2map+ 2map= a:2map= = a:= >map a:>map @ a:@ @@ a:@@ bsearch a:bsearch clear a:clear
|
||||
Builtin close a:close diff a:diff dot a:dot each a:each each-slice a:each-slice exists? a:exists? filter a:filter
|
||||
Builtin generate a:generate group a:group indexof a:indexof insert a:insert intersect a:intersect join a:join
|
||||
Builtin len a:len map a:map map+ a:map+ map= a:map= mean a:mean mean&variance a:mean&variance new a:new
|
||||
Builtin op a:op op! a:op! op= a:op= open a:open pop a:pop push a:push qsort a:qsort randeach a:randeach
|
||||
Builtin reduce a:reduce reduce+ a:reduce+ rev a:rev shift a:shift shuffle a:shuffle slice a:slice slice+ a:slice+
|
||||
Builtin slide a:slide sort a:sort union a:union when a:when when! a:when! x a:x x-each a:x-each xchg a:xchg
|
||||
Builtin y a:y zip a:zip 8thdir app:8thdir asset app:asset atrun app:atrun atrun app:atrun atrun app:atrun
|
||||
Builtin basedir app:basedir current app:current datadir app:datadir exename app:exename isgui app:isgui
|
||||
Builtin main app:main oncrash app:oncrash orientation app:orientation pid app:pid restart app:restart
|
||||
Builtin resumed app:resumed shared? app:shared? standalone app:standalone subdir app:subdir suspended app:suspended
|
||||
Builtin sysquit app:sysquit (here) asm:(here) >n asm:>n avail asm:avail c, asm:c, here! asm:here! n> asm:n>
|
||||
Builtin used asm:used w, asm:w, ! b:! + b:+ / b:/ = b:= >base64 b:>base64 >hex b:>hex >mpack b:>mpack
|
||||
Builtin @ b:@ append b:append base64> b:base64> bit! b:bit! bit@ b:bit@ clear b:clear compress b:compress
|
||||
Builtin conv b:conv each b:each each-slice b:each-slice expand b:expand fill b:fill getb b:getb hex> b:hex>
|
||||
Builtin len b:len mem> b:mem> move b:move mpack-date b:mpack-date mpack-ignore b:mpack-ignore mpack> b:mpack>
|
||||
Builtin new b:new op b:op rev b:rev search b:search shmem b:shmem slice b:slice splice b:splice ungetb b:ungetb
|
||||
Builtin writable b:writable xor b:xor +block bc:+block .blocks bc:.blocks add-block bc:add-block block-hash bc:block-hash
|
||||
Builtin block@ bc:block@ first-block bc:first-block hash bc:hash last-block bc:last-block load bc:load
|
||||
Builtin new bc:new save bc:save set-sql bc:set-sql validate bc:validate validate-block bc:validate-block
|
||||
Builtin add bloom:add filter bloom:filter in? bloom:in? accept bt:accept ch! bt:ch! ch@ bt:ch@ connect bt:connect
|
||||
Builtin disconnect bt:disconnect err? bt:err? leconnect bt:leconnect lescan bt:lescan listen bt:listen
|
||||
Builtin on? bt:on? read bt:read scan bt:scan service? bt:service? services? bt:services? write bt:write
|
||||
Builtin * c:* * c:* + c:+ + c:+ = c:= = c:= >ri c:>ri >ri c:>ri abs c:abs abs c:abs arg c:arg arg c:arg
|
||||
Builtin conj c:conj conj c:conj im c:im n> c:n> new c:new new c:new re c:re >aes128gcm cr:>aes128gcm
|
||||
Builtin >aes256gcm cr:>aes256gcm >cp cr:>cp >cpe cr:>cpe >decrypt cr:>decrypt >edbox cr:>edbox >encrypt cr:>encrypt
|
||||
Builtin >nbuf cr:>nbuf >rsabox cr:>rsabox >uuid cr:>uuid CBC cr:CBC CFB cr:CFB CTR cr:CTR ECB cr:ECB
|
||||
Builtin GCM cr:GCM OFB cr:OFB aad? cr:aad? aes128box-sig cr:aes128box-sig aes128gcm> cr:aes128gcm>
|
||||
Builtin aes256box-sig cr:aes256box-sig aes256gcm> cr:aes256gcm> aesgcm cr:aesgcm blakehash cr:blakehash
|
||||
Builtin chacha20box-sig cr:chacha20box-sig chachapoly cr:chachapoly cipher! cr:cipher! cipher@ cr:cipher@
|
||||
Builtin cp> cr:cp> cpe> cr:cpe> decrypt cr:decrypt decrypt+ cr:decrypt+ decrypt> cr:decrypt> dh-genkey cr:dh-genkey
|
||||
Builtin dh-secret cr:dh-secret dh-sign cr:dh-sign dh-verify cr:dh-verify ebox-sig cr:ebox-sig ecc-genkey cr:ecc-genkey
|
||||
Builtin ecc-secret cr:ecc-secret ecc-sign cr:ecc-sign ecc-verify cr:ecc-verify edbox-sig cr:edbox-sig
|
||||
Builtin edbox> cr:edbox> encrypt cr:encrypt encrypt+ cr:encrypt+ encrypt> cr:encrypt> ensurekey cr:ensurekey
|
||||
Builtin err? cr:err? gcm-tag-size cr:gcm-tag-size genkey cr:genkey hash cr:hash hash! cr:hash! hash+ cr:hash+
|
||||
Builtin hash>b cr:hash>b hash>s cr:hash>s hash@ cr:hash@ hmac cr:hmac hotp cr:hotp iv? cr:iv? mode cr:mode
|
||||
Builtin mode@ cr:mode@ randkey cr:randkey restore cr:restore root-certs cr:root-certs rsa_decrypt cr:rsa_decrypt
|
||||
Builtin rsa_encrypt cr:rsa_encrypt rsa_sign cr:rsa_sign rsa_verify cr:rsa_verify rsabox-sig cr:rsabox-sig
|
||||
Builtin rsabox> cr:rsabox> rsagenkey cr:rsagenkey save cr:save sbox-sig cr:sbox-sig sha1-hmac cr:sha1-hmac
|
||||
Builtin shard cr:shard tag? cr:tag? totp cr:totp totp-epoch cr:totp-epoch totp-time-step cr:totp-time-step
|
||||
Builtin unshard cr:unshard uuid cr:uuid uuid> cr:uuid> validate-pgp-sig cr:validate-pgp-sig (.hebrew) d:(.hebrew)
|
||||
Builtin (.islamic) d:(.islamic) + d:+ +day d:+day +hour d:+hour +min d:+min +msec d:+msec - d:- .hebrew d:.hebrew
|
||||
Builtin .islamic d:.islamic .time d:.time / d:/ = d:= >fixed d:>fixed >hebepoch d:>hebepoch >msec d:>msec
|
||||
Builtin >unix d:>unix >ymd d:>ymd Adar d:Adar Adar2 d:Adar2 Adar2 d:Adar2 Av d:Av Elul d:Elul Fri d:Fri
|
||||
Builtin Heshvan d:Heshvan Iyar d:Iyar Kislev d:Kislev Mon d:Mon Nissan d:Nissan Sat d:Sat Shevat d:Shevat
|
||||
Builtin Sivan d:Sivan Sun d:Sun Tammuz d:Tammuz Tevet d:Tevet Thu d:Thu Tishrei d:Tishrei Tue d:Tue
|
||||
Builtin Wed d:Wed adjust-dst d:adjust-dst between d:between d. d:d. dawn d:dawn days-in-hebrew-year d:days-in-hebrew-year
|
||||
Builtin displaying-hebrew d:displaying-hebrew do-dawn d:do-dawn do-dusk d:do-dusk do-rise d:do-rise
|
||||
Builtin doy d:doy dst? d:dst? dstquery d:dstquery dstzones? d:dstzones? dusk d:dusk elapsed-timer d:elapsed-timer
|
||||
Builtin elapsed-timer-seconds d:elapsed-timer-seconds first-dow d:first-dow fixed> d:fixed> fixed>dow d:fixed>dow
|
||||
Builtin fixed>hebrew d:fixed>hebrew fixed>islamic d:fixed>islamic format d:format hanukkah d:hanukkah
|
||||
Builtin hebrew-epoch d:hebrew-epoch hebrew>fixed d:hebrew>fixed hebrewtoday d:hebrewtoday hmonth-name d:hmonth-name
|
||||
Builtin islamic.epoch d:islamic.epoch islamic>fixed d:islamic>fixed islamictoday d:islamictoday join d:join
|
||||
Builtin last-day-of-hebrew-month d:last-day-of-hebrew-month last-dow d:last-dow last-month d:last-month
|
||||
Builtin last-week d:last-week last-year d:last-year latitude d:latitude longitude d:longitude longitude d:longitude
|
||||
Builtin msec d:msec msec> d:msec> new d:new next-dow d:next-dow next-month d:next-month next-week d:next-week
|
||||
Builtin next-year d:next-year number>hebrew d:number>hebrew omer d:omer parse d:parse pesach d:pesach
|
||||
Builtin prev-dow d:prev-dow purim d:purim rosh-chodesh? d:rosh-chodesh? rosh-hashanah d:rosh-hashanah
|
||||
Builtin shavuot d:shavuot start-timer d:start-timer sunrise d:sunrise taanit-esther d:taanit-esther
|
||||
Builtin ticks d:ticks ticks/sec d:ticks/sec timer d:timer tisha-beav d:tisha-beav tzadjust d:tzadjust
|
||||
Builtin unix> d:unix> updatetz d:updatetz year@ d:year@ ymd d:ymd ymd> d:ymd> yom-haatsmaut d:yom-haatsmaut
|
||||
Builtin yom-kippur d:yom-kippur add-func db:add-func bind db:bind close db:close col db:col col[] db:col[]
|
||||
Builtin col{} db:col{} err? db:err? errmsg db:errmsg exec db:exec exec-cb db:exec-cb key db:key mysql? db:mysql?
|
||||
Builtin odbc? db:odbc? open db:open open? db:open? prepare db:prepare query db:query query-all db:query-all
|
||||
Builtin rekey db:rekey sqlerrmsg db:sqlerrmsg bp dbg:bp except-task@ dbg:except-task@ go dbg:go line-info dbg:line-info
|
||||
Builtin prompt dbg:prompt stop dbg:stop trace dbg:trace trace-enter dbg:trace-enter trace-leave dbg:trace-leave
|
||||
Builtin abspath f:abspath append f:append associate f:associate atime f:atime canwrite? f:canwrite?
|
||||
Builtin chmod f:chmod close f:close copy f:copy copydir f:copydir create f:create ctime f:ctime dir? f:dir?
|
||||
Builtin dname f:dname eachbuf f:eachbuf eachline f:eachline enssep f:enssep eof? f:eof? err? f:err?
|
||||
Builtin exists? f:exists? flush f:flush fname f:fname getb f:getb getc f:getc getline f:getline getmod f:getmod
|
||||
Builtin glob f:glob glob-nocase f:glob-nocase include f:include launch f:launch link f:link link> f:link>
|
||||
Builtin link? f:link? mkdir f:mkdir mmap f:mmap mmap-range f:mmap-range mmap-range? f:mmap-range? mtime f:mtime
|
||||
Builtin mv f:mv open f:open open-ro f:open-ro popen f:popen print f:print read f:read relpath f:relpath
|
||||
Builtin rglob f:rglob rm f:rm rmdir f:rmdir seek f:seek sep f:sep show f:show size f:size slurp f:slurp
|
||||
Builtin stderr f:stderr stdin f:stdin stdout f:stdout tell f:tell times f:times trash f:trash ungetb f:ungetb
|
||||
Builtin ungetc f:ungetc unzip f:unzip unzip-entry f:unzip-entry watch f:watch write f:write writen f:writen
|
||||
Builtin zip+ f:zip+ zip@ f:zip@ zipentry f:zipentry zipnew f:zipnew zipopen f:zipopen zipsave f:zipsave
|
||||
Builtin bold font:bold face? font:face? glyph-path font:glyph-path glyph-pos font:glyph-pos info font:info
|
||||
Builtin italic font:italic ls font:ls measure font:measure new font:new pixels font:pixels pixels? font:pixels?
|
||||
Builtin points font:points points? font:points? styles font:styles styles? font:styles? underline font:underline
|
||||
Builtin +child g:+child +kind g:+kind +path g:+path -child g:-child /path g:/path >img g:>img >progress g:>progress
|
||||
Builtin add-items g:add-items adjustwidth g:adjustwidth allow-orient g:allow-orient arc g:arc arc2 g:arc2
|
||||
Builtin autohide g:autohide back g:back bezier g:bezier bg g:bg bg? g:bg? bounds g:bounds bounds? g:bounds?
|
||||
Builtin box-label g:box-label btn-font g:btn-font bubble g:bubble button-size g:button-size buttons-visible g:buttons-visible
|
||||
Builtin c-text g:c-text callout g:callout center g:center child g:child clear g:clear clearpath g:clearpath
|
||||
Builtin clr>n g:clr>n coleven g:coleven colordlg g:colordlg colwidth g:colwidth connectededges g:connectededges
|
||||
Builtin contrasting g:contrasting cp g:cp curmouse? g:curmouse? default-font g:default-font deselect-row g:deselect-row
|
||||
Builtin dismiss g:dismiss do g:do draw-fitted-text g:draw-fitted-text draw-text g:draw-text draw-text-at g:draw-text-at
|
||||
Builtin each g:each edit-on-double-click g:edit-on-double-click editable g:editable editdlg g:editdlg
|
||||
Builtin empty-text g:empty-text enable g:enable enabled? g:enabled? fade g:fade fb-files g:fb-files
|
||||
Builtin fcolor g:fcolor fg g:fg fg? g:fg? file-filter g:file-filter file-name g:file-name filedlg g:filedlg
|
||||
Builtin fill g:fill fillall g:fillall fit-text g:fit-text flex! g:flex! focus g:focus fontdlg g:fontdlg
|
||||
Builtin forward g:forward fullscreen g:fullscreen get-lasso-items g:get-lasso-items get-tab g:get-tab
|
||||
Builtin getclr g:getclr getfont g:getfont getimage g:getimage getpath g:getpath getroot g:getroot gradient g:gradient
|
||||
Builtin gui? g:gui? handle g:handle headerheight g:headerheight hide g:hide image g:image image-at g:image-at
|
||||
Builtin invalidate g:invalidate ix? g:ix? justify g:justify keyinfo g:keyinfo l-text g:l-text laf g:laf
|
||||
Builtin laf! g:laf! laf? g:laf? len g:len line-width g:line-width lineto g:lineto list+ g:list+ list- g:list-
|
||||
Builtin loadcontent g:loadcontent localize g:localize m! g:m! m@ g:m@ menu-font g:menu-font menu-update g:menu-update
|
||||
Builtin menuenabled g:menuenabled mouse? g:mouse? mousepos? g:mousepos? moveto g:moveto msgdlg g:msgdlg
|
||||
Builtin multi g:multi name g:name named-skin g:named-skin new g:new new-laf g:new-laf next g:next obj g:obj
|
||||
Builtin on g:on on? g:on? ontop g:ontop oshandle g:oshandle outlinethickness g:outlinethickness panel-size g:panel-size
|
||||
Builtin panel-size? g:panel-size? parent g:parent path g:path path>s g:path>s pie g:pie pix! g:pix!
|
||||
Builtin pop g:pop popmenu g:popmenu pos? g:pos? prev g:prev propval! g:propval! propval@ g:propval@
|
||||
Builtin push g:push qbezier g:qbezier quit g:quit r-text g:r-text readonly g:readonly rect g:rect refresh g:refresh
|
||||
Builtin restore g:restore root g:root root-item-visible g:root-item-visible rotate g:rotate rowheight g:rowheight
|
||||
Builtin rrect g:rrect s>path g:s>path save g:save say g:say scale g:scale scolor g:scolor scrollthickness g:scrollthickness
|
||||
Builtin sectionenable g:sectionenable select! g:select! select@ g:select@ selected-rows g:selected-rows
|
||||
Builtin set-lasso g:set-lasso set-long-press g:set-long-press set-popup-font g:set-popup-font set-range g:set-range
|
||||
Builtin set-swipe g:set-swipe set-value g:set-value setcursor g:setcursor setfont g:setfont setheader g:setheader
|
||||
Builtin sethtml g:sethtml setimage g:setimage setname g:setname setroot g:setroot settab g:settab show g:show
|
||||
Builtin show-line-numbers g:show-line-numbers show-pct g:show-pct showmenu g:showmenu showtooltip g:showtooltip
|
||||
Builtin size g:size size? g:size? skin g:skin skin-class g:skin-class stackix g:stackix state g:state
|
||||
Builtin state? g:state? stepsize g:stepsize stroke g:stroke stroke-fill g:stroke-fill style g:style
|
||||
Builtin tabname g:tabname text g:text text-box-style g:text-box-style text? g:text? textcolor g:textcolor
|
||||
Builtin textsize g:textsize timer! g:timer! timer@ g:timer@ toback g:toback tofront g:tofront toggle-row g:toggle-row
|
||||
Builtin tooltip g:tooltip top g:top transition g:transition translate g:translate tree-open g:tree-open
|
||||
Builtin triangle g:triangle update g:update updateitems g:updateitems url g:url user g:user user! g:user!
|
||||
Builtin vertical g:vertical view g:view visible? g:visible? vpos! g:vpos! vpos@ g:vpos@ waitcursor g:waitcursor
|
||||
Builtin winding g:winding xy g:xy xy? g:xy? +edge gr:+edge +edge+w gr:+edge+w +node gr:+node connect gr:connect
|
||||
Builtin edges gr:edges m! gr:m! m@ gr:m@ neighbors gr:neighbors new gr:new node-edges gr:node-edges
|
||||
Builtin nodes gr:nodes traverse gr:traverse + h:+ clear h:clear len h:len new h:new peek h:peek pop h:pop
|
||||
Builtin push h:push unique h:unique arm? hw:arm? camera hw:camera camera-fmt hw:camera-fmt camera-img hw:camera-img
|
||||
Builtin camera? hw:camera? cpu? hw:cpu? device? hw:device? displays? hw:displays? displaysize? hw:displaysize?
|
||||
Builtin err? hw:err? gpio hw:gpio gpio! hw:gpio! gpio-mmap hw:gpio-mmap gpio@ hw:gpio@ i2c hw:i2c i2c! hw:i2c!
|
||||
Builtin i2c!reg hw:i2c!reg i2c@ hw:i2c@ i2c@reg hw:i2c@reg isround? hw:isround? iswatch? hw:iswatch?
|
||||
Builtin mac? hw:mac? mem? hw:mem? poll hw:poll sensor hw:sensor start hw:start stop hw:stop fetch-full imap:fetch-full
|
||||
Builtin fetch-uid-mail imap:fetch-uid-mail login imap:login new imap:new select-inbox imap:select-inbox
|
||||
Builtin >file img:>file copy img:copy crop img:crop data img:data desat img:desat fill img:fill filter img:filter
|
||||
Builtin flip img:flip from-svg img:from-svg new img:new pix! img:pix! pix@ img:pix@ qr-gen img:qr-gen
|
||||
Builtin qr-parse img:qr-parse rotate img:rotate scale img:scale scroll img:scroll size img:size countries iso:countries
|
||||
Builtin find loc:find sort loc:sort ! m:! !? m:!? + m:+ +? m:+? - m:- @ m:@ @? m:@? @@ m:@@ clear m:clear
|
||||
Builtin data m:data each m:each exists? m:exists? iter m:iter iter-all m:iter-all keys m:keys len m:len
|
||||
Builtin map m:map new m:new op! m:op! open m:open vals m:vals xchg m:xchg ! mat:! * mat:* + mat:+ = mat:=
|
||||
Builtin @ mat:@ col mat:col data mat:data det mat:det dim? mat:dim? get-n mat:get-n ident mat:ident
|
||||
Builtin m. mat:m. minor mat:minor n* mat:n* new mat:new row mat:row same-size? mat:same-size? trans mat:trans
|
||||
Builtin ! n:! * n:* */ n:*/ + n:+ +! n:+! - n:- / n:/ /mod n:/mod 1+ n:1+ 1- n:1- < n:< = n:= > n:>
|
||||
Builtin BIGE n:BIGE BIGPI n:BIGPI E n:E PI n:PI ^ n:^ abs n:abs acos n:acos acos n:acos asin n:asin
|
||||
Builtin asin n:asin atan n:atan atan n:atan atan2 n:atan2 band n:band between n:between bfloat n:bfloat
|
||||
Builtin bic n:bic bint n:bint binv n:binv bnot n:bnot bor n:bor bxor n:bxor ceil n:ceil clamp n:clamp
|
||||
Builtin cmp n:cmp comb n:comb cos n:cos cosd n:cosd exp n:exp expmod n:expmod float n:float floor n:floor
|
||||
Builtin fmod n:fmod frac n:frac gcd n:gcd int n:int invmod n:invmod kind? n:kind? lcm n:lcm ln n:ln
|
||||
Builtin max n:max median n:median min n:min mod n:mod neg n:neg odd? n:odd? perm n:perm prime? n:prime?
|
||||
Builtin quantize n:quantize quantize! n:quantize! r+ n:r+ range n:range rot32l n:rot32l rot32r n:rot32r
|
||||
Builtin round n:round round2 n:round2 running-variance n:running-variance running-variance-finalize n:running-variance-finalize
|
||||
Builtin sgn n:sgn shl n:shl shr n:shr sin n:sin sind n:sind sqr n:sqr sqrt n:sqrt tan n:tan tand n:tand
|
||||
Builtin trunc n:trunc ~= n:~= ! net:! >url net:>url @ net:@ DGRAM net:DGRAM INET4 net:INET4 INET6 net:INET6
|
||||
Builtin PROTO_TCP net:PROTO_TCP PROTO_UDP net:PROTO_UDP STREAM net:STREAM accept net:accept addrinfo>o net:addrinfo>o
|
||||
Builtin again? net:again? alloc-and-read net:alloc-and-read alloc-buf net:alloc-buf bind net:bind browse net:browse
|
||||
Builtin close net:close connect net:connect err>s net:err>s err? net:err? get net:get getaddrinfo net:getaddrinfo
|
||||
Builtin getpeername net:getpeername head net:head ifaces? net:ifaces? listen net:listen net-socket net:net-socket
|
||||
Builtin opts net:opts port-is-ssl? net:port-is-ssl? post net:post proxy! net:proxy! read net:read recvfrom net:recvfrom
|
||||
Builtin s>url net:s>url sendto net:sendto server net:server setsockopt net:setsockopt socket net:socket
|
||||
Builtin tlshello net:tlshello url> net:url> user-agent net:user-agent wait net:wait write net:write
|
||||
Builtin MAX ns:MAX cast ptr:cast len ptr:len pack ptr:pack unpack ptr:unpack unpack_orig ptr:unpack_orig
|
||||
Builtin + q:+ clear q:clear len q:len new q:new notify q:notify overwrite q:overwrite peek q:peek pick q:pick
|
||||
Builtin pop q:pop push q:push shift q:shift size q:size slide q:slide throwing q:throwing wait q:wait
|
||||
Builtin ++match r:++match +/ r:+/ +match r:+match / r:/ @ r:@ err? r:err? len r:len match r:match new r:new
|
||||
Builtin rx r:rx str r:str ! s:! * s:* + s:+ - s:- / s:/ /scripts s:/scripts <+ s:<+ = s:= =ic s:=ic
|
||||
Builtin >base64 s:>base64 >ucs2 s:>ucs2 @ s:@ append s:append base64> s:base64> clear s:clear cmp s:cmp
|
||||
Builtin cmpi s:cmpi compress s:compress days! s:days! each s:each eachline s:eachline expand s:expand
|
||||
Builtin fill s:fill fmt s:fmt gershayim s:gershayim globmatch s:globmatch hexupr s:hexupr insert s:insert
|
||||
Builtin intl s:intl intl! s:intl! lang s:lang lc s:lc len s:len lsub s:lsub ltrim s:ltrim map s:map
|
||||
Builtin months! s:months! new s:new replace s:replace replace! s:replace! rev s:rev rsearch s:rsearch
|
||||
Builtin rsub s:rsub rtrim s:rtrim script? s:script? search s:search size s:size slice s:slice strfmap s:strfmap
|
||||
Builtin strfmt s:strfmt trim s:trim tsub s:tsub uc s:uc ucs2> s:ucs2> utf8? s:utf8? zt s:zt close sio:close
|
||||
Builtin enum sio:enum open sio:open opts! sio:opts! opts@ sio:opts@ read sio:read write sio:write new smtp:new
|
||||
Builtin send smtp:send apply-filter snd:apply-filter devices? snd:devices? end-record snd:end-record
|
||||
Builtin filter snd:filter formats? snd:formats? freq snd:freq gain snd:gain gain? snd:gain? len snd:len
|
||||
Builtin loop snd:loop mix snd:mix new snd:new pause snd:pause play snd:play played snd:played rate snd:rate
|
||||
Builtin record snd:record seek snd:seek stop snd:stop stopall snd:stopall unmix snd:unmix volume snd:volume
|
||||
Builtin volume? snd:volume? + st:+ . st:. clear st:clear len st:len ndrop st:ndrop new st:new op! st:op!
|
||||
Builtin peek st:peek pick st:pick pop st:pop push st:push roll st:roll shift st:shift size st:size
|
||||
Builtin slide st:slide swap st:swap throwing st:throwing >buf struct:>buf arr> struct:arr> buf struct:buf
|
||||
Builtin buf> struct:buf> byte struct:byte double struct:double field! struct:field! field@ struct:field@
|
||||
Builtin float struct:float ignore struct:ignore int struct:int long struct:long struct; struct:struct;
|
||||
Builtin word struct:word ! t:! @ t:@ assign t:assign curtask t:curtask def-queue t:def-queue def-stack t:def-stack
|
||||
Builtin done? t:done? err! t:err! err? t:err? getq t:getq guitask t:guitask handler t:handler kill t:kill
|
||||
Builtin list t:list main t:main name! t:name! name@ t:name@ notify t:notify pop t:pop priority t:priority
|
||||
Builtin push t:push push< t:push< q-notify t:q-notify q-wait t:q-wait qlen t:qlen result t:result task t:task
|
||||
Builtin task-n t:task-n task-stop t:task-stop wait t:wait ! w:! @ w:@ alias: w:alias: cb w:cb deprecate w:deprecate
|
||||
Builtin exec w:exec exec? w:exec? ffifail w:ffifail find w:find forget w:forget is w:is undo w:undo
|
||||
Builtin >s xml:>s >txt xml:>txt parse xml:parse parse-html xml:parse-html parse-stream xml:parse-stream
|
||||
Builtin getmsg[] zmq:getmsg[] sendmsg[] zmq:sendmsg[]
|
||||
" numbers
|
||||
syn keyword eighthMath decimal hex base@ base!
|
||||
syn match eighthInteger '\<-\=[0-9.]*[0-9.]\+\>'
|
||||
" recognize hex and binary numbers, the '$' and '%' notation is for eighth
|
||||
syn match eighthInteger '\<\$\x*\x\+\>' " *1* --- dont't mess
|
||||
syn match eighthInteger '\<\x*\d\x*\>' " *2* --- this order!
|
||||
syn match eighthInteger '\<%[0-1]*[0-1]\+\>'
|
||||
syn match eighthInteger "\<'.\>"
|
||||
|
||||
" Strings
|
||||
syn region eighthString start=+\.\?\"+ skip=+"+ end=+$+
|
||||
syn keyword jsonNull null
|
||||
syn keyword jsonBool /\(true\|false\)/
|
||||
syn region eighthString start=/\<"/ end=/"\>/
|
||||
syn match jsonObjEntry /"\"[^"]\+\"\ze\s*:/
|
||||
|
||||
"syn region jsonObject start=/{/ end=/}/ contained contains=jsonObjEntry,jsonArray,jsonObject, jsonBool, eighthString
|
||||
"syn region jsonArray start=/\[/ end=/\]/ contained contains=jsonArray,jsonObject, jsonBool, eighthString
|
||||
|
||||
" Include files
|
||||
" syn match eighthInclude '\<\(libinclude\|include\|needs\)\s\+\S\+'
|
||||
syn region eighthComment start="\zs\\" end="$" contains=eighthTodo
|
||||
|
||||
" Define the default highlighting.
|
||||
if !exists("did_eighth_syntax_inits")
|
||||
let did_eighth_syntax_inits=1
|
||||
" The default methods for highlighting. Can be overriden later.
|
||||
hi def link eighthTodo Todo
|
||||
hi def link eighthOperators Operator
|
||||
hi def link eighthMath Number
|
||||
hi def link eighthInteger Number
|
||||
hi def link eighthStack Special
|
||||
hi def link eighthFStack Special
|
||||
hi def link eighthSP Special
|
||||
hi def link eighthColonDef Define
|
||||
hi def link eighthColonName Operator
|
||||
hi def link eighthEndOfColonDef Define
|
||||
hi def link eighthDefine Define
|
||||
hi def link eighthDebug Debug
|
||||
hi def link eighthCharOps Character
|
||||
hi def link eighthConversion String
|
||||
hi def link eighthForth Statement
|
||||
hi def link eighthVocs Statement
|
||||
hi def link eighthString String
|
||||
hi def link eighthComment Comment
|
||||
hi def link eighthClassDef Define
|
||||
hi def link eighthEndOfClassDef Define
|
||||
hi def link eighthObjectDef Define
|
||||
hi def link eighthEndOfObjectDef Define
|
||||
hi def link eighthInclude Include
|
||||
hi def link eighthBuiltin Define
|
||||
hi def link eighthClasses Define
|
||||
hi def link eighthClassWord Keyword
|
||||
|
||||
hi def link jsonObject Delimiter
|
||||
hi def link jsonObjEntry Label
|
||||
hi def link jsonArray Special
|
||||
hi def link jsonNull Function
|
||||
hi def link jsonBool Boolean
|
||||
endif
|
||||
|
||||
let b:current_syntax = "8th"
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: ts=8:sw=4:nocindent:smartindent:
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2018 Sep 21
|
||||
" Last Change: 2019 Feb 11
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -342,7 +342,7 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
|
||||
syn keyword cConstant EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE
|
||||
syn keyword cConstant EMULTIHOP ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODATA
|
||||
syn keyword cConstant ENODEV ENOENT ENOEXEC ENOLCK ENOLINK ENOMEM ENOMSG ENOPROTOOPT ENOSPC ENOSR
|
||||
syn keyword cConstant ENOSTR ENOSYS ENOTCONN ENOTDIR ENOTEMPTY ENOTRECOVERABLE ENOTSOCK ENOTSUP
|
||||
syn keyword cConstant ENOSTR ENOSYS ENOTBLK ENOTCONN ENOTDIR ENOTEMPTY ENOTRECOVERABLE ENOTSOCK ENOTSUP
|
||||
syn keyword cConstant ENOTTY ENXIO EOPNOTSUPP EOVERFLOW EOWNERDEAD EPERM EPIPE EPROTO
|
||||
syn keyword cConstant EPROTONOSUPPORT EPROTOTYPE ERANGE EROFS ESPIPE ESRCH ESTALE ETIME ETIMEDOUT
|
||||
syn keyword cConstant ETXTBSY EWOULDBLOCK EXDEV
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: Makefile
|
||||
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||
" URL: http://www.fleiner.com/vim/syntax/make.vim
|
||||
" Last Change: 2015 Feb 28
|
||||
" Maintainer: Roland Hieber <rohieb+vim-iR0jGdkV@rohieb.name>
|
||||
" Previous Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||
" URL: https://github.com/vim/vim/syntax/make.vim
|
||||
" Last Change: 2019 Feb 08
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -64,7 +65,7 @@ syn match makeCmdNextLine "\\\n."he=e-1 contained
|
||||
|
||||
|
||||
" Statements / Functions (GNU make)
|
||||
syn match makeStatement contained "(\(subst\|abspath\|addprefix\|addsuffix\|and\|basename\|call\|dir\|error\|eval\|filter-out\|filter\|findstring\|firstword\|flavor\|foreach\|if\|info\|join\|lastword\|notdir\|or\|origin\|patsubst\|realpath\|shell\|sort\|strip\|suffix\|value\|warning\|wildcard\|word\|wordlist\|words\)\>"ms=s+1
|
||||
syn match makeStatement contained "(\(abspath\|addprefix\|addsuffix\|and\|basename\|call\|dir\|error\|eval\|file\|filter-out\|filter\|findstring\|firstword\|flavor\|foreach\|guile\|if\|info\|join\|lastword\|notdir\|or\|origin\|patsubst\|realpath\|shell\|sort\|strip\|subst\|suffix\|value\|warning\|wildcard\|word\|wordlist\|words\)\>"ms=s+1
|
||||
|
||||
" Comment
|
||||
if exists("make_microsoft")
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Language: SPEC: Build/install scripts for Linux RPM packages
|
||||
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
|
||||
" Former Maintainer: Donovan Rebbechi elflord@panix.com (until March 2014)
|
||||
" Last Change: Sat Apr 9 15:30 2016 Filip Szymański
|
||||
" Last Change: 2019 Feb 12
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -86,9 +86,9 @@ syn region specSectionMacroBracketArea oneline matchgroup=specSectionMacro start
|
||||
"%% Files Section %%
|
||||
"TODO %config valid parameters: missingok\|noreplace
|
||||
"TODO %verify valid parameters: \(not\)\= \(md5\|atime\|...\)
|
||||
syn region specFilesArea matchgroup=specSection start='^%[Ff][Ii][Ll][Ee][Ss]\>' skip='%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|verify\|ghost\)\>' end='^%[a-zA-Z]'me=e-2 contains=specFilesOpts,specFilesDirective,@specListedFiles,specComment,specCommandSpecial,specMacroIdentifier
|
||||
syn region specFilesArea matchgroup=specSection start='^%[Ff][Ii][Ll][Ee][Ss]\>' skip='%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|license\|verify\|ghost\)\>' end='^%[a-zA-Z]'me=e-2 contains=specFilesOpts,specFilesDirective,@specListedFiles,specComment,specCommandSpecial,specMacroIdentifier
|
||||
"tip: remember to include new itens in specFilesArea above
|
||||
syn match specFilesDirective contained '%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|verify\|ghost\)\>'
|
||||
syn match specFilesDirective contained '%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|license\|verify\|ghost\)\>'
|
||||
|
||||
"valid options for certain section headers
|
||||
syn match specDescriptionOpts contained '\s-[ln]\s*\a'ms=s+1,me=e-1
|
||||
|
||||
+1
-1
@@ -99,7 +99,7 @@ NOTE: As you go through this tutor, do not try to memorize, learn by usage.
|
||||
1. Move the cursor to the first line below marked --->.
|
||||
|
||||
2. To make the first line the same as the second, move the cursor on top
|
||||
of the first character AFTER where the text is to be inserted.
|
||||
of the character BEFORE which the text is to be inserted.
|
||||
|
||||
3. Press i and type in the necessary additions.
|
||||
|
||||
|
||||
@@ -967,6 +967,6 @@ BEM
|
||||
|
||||
Ændret til Vim af Bram Moolenaar.
|
||||
|
||||
Oversat til dansk af scootergrisen.
|
||||
Oversat af scootergrisen.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -967,6 +967,6 @@ BEMÆRK: Fuldførelse virker til mange kommandoer. Prøv blot at trykke på
|
||||
|
||||
Ændret til Vim af Bram Moolenaar.
|
||||
|
||||
Oversat til dansk af scootergrisen.
|
||||
Oversat af scootergrisen.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
1. Ga met de cursor naar de eerste regel verderop met --->.
|
||||
|
||||
2. Maak de eerste regel gelijk aan de tweede. Zet daarvoor de cursor op
|
||||
de plaats waar tekst moet worden ingevoegd.
|
||||
het karakter waarvoor tekst moet worden ingevoegd.
|
||||
|
||||
3. Tik i en daarna de nodige aanvullingen.
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
1. Ga met de cursor naar de eerste regel verderop met --->.
|
||||
|
||||
2. Maak de eerste regel gelijk aan de tweede. Zet daarvoor de cursor op
|
||||
de plaats waar tekst moet worden ingevoegd.
|
||||
het karakter waarvoor tekst moet worden ingevoegd.
|
||||
|
||||
3. Tik i en daarna de nodige aanvullingen.
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ NOTE: As you go through this tutor, do not try to memorize, learn by usage.
|
||||
1. Move the cursor to the first line below marked --->.
|
||||
|
||||
2. To make the first line the same as the second, move the cursor on top
|
||||
of the first character AFTER where the text is to be inserted.
|
||||
of the character BEFORE which the text is to be inserted.
|
||||
|
||||
3. Press i and type in the necessary additions.
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
# define STRICT
|
||||
#endif
|
||||
|
||||
#define INC_OLE2 // WIN32, get ole2 from windows.h
|
||||
#define INC_OLE2 // MS-Windows, get ole2 from windows.h
|
||||
|
||||
/* Visual Studio 2005 has 'deprecated' many of the standard CRT functions */
|
||||
#if defined(_MSC_VER) && _MSC_VER >= 1400
|
||||
|
||||
@@ -1255,7 +1255,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>154</string>
|
||||
<string>155</string>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
|
||||
+10
-8
@@ -1270,17 +1270,19 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
unsigned len = *((unsigned*)bytes); bytes += sizeof(unsigned);
|
||||
|
||||
if (ctrl_c_interrupts && 1 == len) {
|
||||
// NOTE: the flag ctrl_c_interrupts is 0 e.g. when the user has
|
||||
// mappings to something like <C-c>g. Also it seems the flag
|
||||
// intr_char is 0 when MacVim was started from Finder whereas it is
|
||||
// 0x03 (= Ctrl_C) when started from Terminal.
|
||||
// NOTE: The flag ctrl_c_interrupts is set when it has special
|
||||
// interrupt behavior in Vim and would cancel all other input. This
|
||||
// is a hard-coded behavior in Vim. It usually happens when not in
|
||||
// Insert mode, and when <C-C> is not mapped in the current mode
|
||||
// (even if <C-C> is mapped to itself, ctrl_c_interrupts would not
|
||||
// be set).
|
||||
// Also it seems the flag intr_char is 0 when MacVim was started
|
||||
// from Finder whereas it is 0x03 (= Ctrl_C) when started from
|
||||
// Terminal.
|
||||
char_u *str = (char_u*)bytes;
|
||||
if (str[0] == Ctrl_C || (str[0] == intr_char && intr_char != 0)) {
|
||||
ASLogDebug(@"Got INT, str[0]=%#x ctrl_c_interrupts=%d "
|
||||
"intr_char=%#x", str[0], ctrl_c_interrupts, intr_char);
|
||||
trash_input_buf();
|
||||
got_int = TRUE;
|
||||
[inputQueue removeAllObjects];
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+13
-1
@@ -929,7 +929,19 @@ enum {
|
||||
NSRect textViewRect = [self textViewRectForVimViewSize:[self frame].size];
|
||||
[textView setFrame:textViewRect];
|
||||
|
||||
self.pendingPlaceScrollbars = YES;
|
||||
// Immediately place the scrollbars instead of deferring till later here.
|
||||
// Deferral ended up causing some bugs, in particular when in <10.14
|
||||
// CoreText renderer where [NSAnimationContext beginGrouping] is used to
|
||||
// bundle state changes together and the deferred placeScrollbars would get
|
||||
// the wrong data to use. An alternative would be to check for that and only
|
||||
// call finishPlaceScrollbars once we call [NSAnimationContext endGrouping]
|
||||
// but that makes the code mode complicated. Just do it here and the
|
||||
// performance is fine as this gets called occasionally only
|
||||
// (pendingPlaceScrollbars is mostly for the case if we are adding a lot of
|
||||
// scrollbars at once we want to only call placeScrollbars once instead of
|
||||
// doing it N times).
|
||||
self.pendingPlaceScrollbars = NO;
|
||||
[self placeScrollbars];
|
||||
|
||||
// It is possible that the current number of (rows,columns) is too big or
|
||||
// too small to fit the new frame. If so, notify Vim that the text
|
||||
|
||||
+2
-2
@@ -405,7 +405,7 @@ DEFINES = $(DEFINES) -DFEAT_CSCOPE
|
||||
!endif
|
||||
|
||||
!if ("$(GUI)"=="yes")
|
||||
DEFINES = $(DEFINES) -DFEAT_GUI_W32 -DFEAT_CLIPBOARD
|
||||
DEFINES = $(DEFINES) -DFEAT_GUI_MSWIN -DFEAT_CLIPBOARD
|
||||
!if ("$(DEBUG)"=="yes")
|
||||
TARGET = gvimd.exe
|
||||
!else
|
||||
@@ -542,8 +542,8 @@ vimobj = \
|
||||
$(OBJDIR)\ex_docmd.obj \
|
||||
$(OBJDIR)\ex_eval.obj \
|
||||
$(OBJDIR)\ex_getln.obj \
|
||||
$(OBJDIR)\farsi.obj \
|
||||
$(OBJDIR)\fileio.obj \
|
||||
$(OBJDIR)\findfile.obj \
|
||||
$(OBJDIR)\fold.obj \
|
||||
$(OBJDIR)\getchar.obj \
|
||||
$(OBJDIR)\hardcopy.obj \
|
||||
|
||||
@@ -491,7 +491,7 @@ endif # RUBY
|
||||
|
||||
# See feature.h for a list of options.
|
||||
# Any other defines can be included here.
|
||||
DEF_GUI=-DFEAT_GUI_W32 -DFEAT_CLIPBOARD
|
||||
DEF_GUI=-DFEAT_GUI_MSWIN -DFEAT_CLIPBOARD
|
||||
DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
|
||||
-DHAVE_PATHDEF -DFEAT_$(FEATURES) -DHAVE_STDINT_H
|
||||
ifeq ($(ARCH),x86-64)
|
||||
@@ -714,8 +714,8 @@ OBJ = \
|
||||
$(OUTDIR)/ex_docmd.o \
|
||||
$(OUTDIR)/ex_eval.o \
|
||||
$(OUTDIR)/ex_getln.o \
|
||||
$(OUTDIR)/farsi.o \
|
||||
$(OUTDIR)/fileio.o \
|
||||
$(OUTDIR)/findfile.o \
|
||||
$(OUTDIR)/fold.o \
|
||||
$(OUTDIR)/getchar.o \
|
||||
$(OUTDIR)/hardcopy.o \
|
||||
@@ -1004,7 +1004,7 @@ endif
|
||||
$(MAKE) -C tee clean
|
||||
|
||||
###########################################################################
|
||||
INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
|
||||
INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h feature.h globals.h \
|
||||
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
|
||||
spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
|
||||
GUI_INCL = gui.h
|
||||
|
||||
+4
-4
@@ -44,8 +44,8 @@ SRC = \
|
||||
ex_docmd.c \
|
||||
ex_eval.c \
|
||||
ex_getln.c \
|
||||
farsi.c \
|
||||
fileio.c \
|
||||
findfile.c \
|
||||
fold.c \
|
||||
getchar.c \
|
||||
hardcopy.c \
|
||||
@@ -103,8 +103,8 @@ OBJ = o/arabic.o \
|
||||
o/ex_docmd.o \
|
||||
o/ex_eval.o \
|
||||
o/ex_getln.o \
|
||||
o/farsi.o \
|
||||
o/fileio.o \
|
||||
o/findfile.o \
|
||||
o/fold.o \
|
||||
o/getchar.o \
|
||||
o/hardcopy.o \
|
||||
@@ -199,10 +199,10 @@ o/ex_eval.o: ex_eval.c $(SYMS) ex_cmds.h
|
||||
|
||||
o/ex_getln.o: ex_getln.c $(SYMS)
|
||||
|
||||
o/farsi.o: farsi.c $(SYMS)
|
||||
|
||||
o/fileio.o: fileio.c $(SYMS)
|
||||
|
||||
o/findfile.o: findfile.c $(SYMS)
|
||||
|
||||
o/fold.o: fold.c $(SYMS)
|
||||
|
||||
o/getchar.o: getchar.c $(SYMS)
|
||||
|
||||
+16
-16
@@ -92,8 +92,8 @@ LINK32_FLAGS= oldnames.lib kernel32.lib user32.lib gdi32.lib version.lib comdlg3
|
||||
# ADD LINK32 oldnames.lib kernel32.lib user32.lib gdi32.lib version.lib comdlg32.lib comctl32.lib advapi32.lib shell32.lib ole32.lib uuid.lib /nologo /machine:I386 /nodefaultlib
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
RSC_PROJ= /l 0x409 /d "FEAT_GUI_W32"
|
||||
# ADD RSC /l 0x409 /d "FEAT_GUI_W32"
|
||||
RSC_PROJ= /l 0x409 /d "FEAT_GUI_MSWIN"
|
||||
# ADD RSC /l 0x409 /d "FEAT_GUI_MSWIN"
|
||||
|
||||
!IF "$(CFG)" == "Vim - Win32 Release gvim OLE"
|
||||
|
||||
@@ -105,8 +105,8 @@ INTDIR=.\oleRel
|
||||
VIM=gvim
|
||||
EXTRAS="$(INTDIR)/if_ole.obj" "$(INTDIR)/vim.res" "$(INTDIR)/gui.obj" "$(INTDIR)/gui_w32.obj" "$(INTDIR)/gui_beval.obj" "$(INTDIR)/os_w32exe.obj"
|
||||
|
||||
CPP_PROJ=$(CPP_PROJ) /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_W32" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleRel/ /Fo.\oleRel/
|
||||
# ADD CPP /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_W32" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleRel/ /Fo.\oleRel/
|
||||
CPP_PROJ=$(CPP_PROJ) /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_MSWIN" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleRel/ /Fo.\oleRel/
|
||||
# ADD CPP /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_MSWIN" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleRel/ /Fo.\oleRel/
|
||||
|
||||
RSC_PROJ=$(RSC_PROJ) /I ".\oleRel" /d "NDEBUG" /d "FEAT_OLE" /fo.\oleRel\vim.res
|
||||
# ADD RSC /I ".\oleRel" /d "NDEBUG" /d "FEAT_OLE" /fo.\oleRel\vim.res
|
||||
@@ -124,8 +124,8 @@ INTDIR=.\oleDbg
|
||||
VIM=gvimd
|
||||
EXTRAS="$(INTDIR)/if_ole.obj" "$(INTDIR)/vim.res" "$(INTDIR)/gui.obj" "$(INTDIR)/gui_w32.obj" "$(INTDIR)/gui_beval.obj" "$(INTDIR)/os_w32exe.obj"
|
||||
|
||||
CPP_PROJ=$(CPP_PROJ) /Zi /Od /D "_DEBUG" /D "FEAT_GUI_W32" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleDbg/ /Fo.\oleDbg/
|
||||
# ADD CPP /Zi /Od /D "_DEBUG" /D "FEAT_GUI_W32" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleDbg/ /Fo.\oleDbg/
|
||||
CPP_PROJ=$(CPP_PROJ) /Zi /Od /D "_DEBUG" /D "FEAT_GUI_MSWIN" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleDbg/ /Fo.\oleDbg/
|
||||
# ADD CPP /Zi /Od /D "_DEBUG" /D "FEAT_GUI_MSWIN" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleDbg/ /Fo.\oleDbg/
|
||||
|
||||
RSC_PROJ=$(RSC_PROJ) /I .\oleDbg /d "_DEBUG" /d "FEAT_OLE" /fo.\oleDbg\vim.res
|
||||
# ADD RSC /I .\oleDbg /d "_DEBUG" /d "FEAT_OLE" /fo.\oleDbg\vim.res
|
||||
@@ -144,8 +144,8 @@ INTDIR=.\gRel
|
||||
VIM=gvim
|
||||
EXTRAS="$(INTDIR)/vim.res" "$(INTDIR)/gui.obj" "$(INTDIR)/gui_w32.obj" "$(INTDIR)/gui_beval.obj" "$(INTDIR)/os_w32exe.obj"
|
||||
|
||||
CPP_PROJ=$(CPP_PROJ) /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_W32" /Fd.\gRel/ /Fo.\gRel/
|
||||
# ADD CPP /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_W32" /Fd.\gRel/ /Fo.\gRel/
|
||||
CPP_PROJ=$(CPP_PROJ) /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_MSWIN" /Fd.\gRel/ /Fo.\gRel/
|
||||
# ADD CPP /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_MSWIN" /Fd.\gRel/ /Fo.\gRel/
|
||||
|
||||
RSC_PROJ=$(RSC_PROJ) /d "NDEBUG" /fo.\gRel\vim.res
|
||||
# ADD RSC /d "NDEBUG" /fo.\gRel\vim.res
|
||||
@@ -163,8 +163,8 @@ INTDIR=.\gDbg
|
||||
VIM=gvimd
|
||||
EXTRAS="$(INTDIR)/vim.res" "$(INTDIR)/gui.obj" "$(INTDIR)/gui_w32.obj" "$(INTDIR)/gui_beval.obj" "$(INTDIR)/os_w32exe.obj"
|
||||
|
||||
CPP_PROJ=$(CPP_PROJ) /Zi /Od /D "_DEBUG" /D "FEAT_GUI_W32" /Fd.\gDbg/ /Fo.\gDbg/
|
||||
# ADD CPP /Zi /Od /D "_DEBUG" /D "FEAT_GUI_W32" /Fd.\gDbg/ /Fo.\gDbg/
|
||||
CPP_PROJ=$(CPP_PROJ) /Zi /Od /D "_DEBUG" /D "FEAT_GUI_MSWIN" /Fd.\gDbg/ /Fo.\gDbg/
|
||||
# ADD CPP /Zi /Od /D "_DEBUG" /D "FEAT_GUI_MSWIN" /Fd.\gDbg/ /Fo.\gDbg/
|
||||
|
||||
RSC_PROJ=$(RSC_PROJ) /d "_DEBUG" /fo.\gDbg\vim.res
|
||||
# ADD RSC /d "_DEBUG" /fo.\gDbg\vim.res
|
||||
@@ -228,8 +228,8 @@ LINK32_OBJS= \
|
||||
"$(INTDIR)/ex_docmd.obj" \
|
||||
"$(INTDIR)/ex_eval.obj" \
|
||||
"$(INTDIR)/ex_getln.obj" \
|
||||
"$(INTDIR)/farsi.obj" \
|
||||
"$(INTDIR)/fileio.obj" \
|
||||
"$(INTDIR)/findfile.obj" \
|
||||
"$(INTDIR)/fold.obj" \
|
||||
"$(INTDIR)/getchar.obj" \
|
||||
"$(INTDIR)/hardcopy.obj" \
|
||||
@@ -412,11 +412,11 @@ SOURCE=.\ex_getln.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\farsi.c
|
||||
SOURCE=.\fileio.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\fileio.c
|
||||
#
|
||||
SOURCE=.\findfile.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
@@ -508,7 +508,7 @@ SOURCE=.\if_ole.cpp
|
||||
# Begin Custom Build
|
||||
|
||||
"$(INTDIR)\if_ole.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\if_ole.h"
|
||||
cl.exe /nologo /MT /W3 /GX /I ".\proto" /D "WIN32" /c /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_W32" /D "FEAT_OLE" /Fd.\oleRel/ /Fo.\oleRel/ /I ".\oleRel" .\if_ole.cpp
|
||||
cl.exe /nologo /MT /W3 /GX /I ".\proto" /D "WIN32" /c /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_MSWIN" /D "FEAT_OLE" /Fd.\oleRel/ /Fo.\oleRel/ /I ".\oleRel" .\if_ole.cpp
|
||||
@rem This is the default rule with /I "$(IntDir)" added
|
||||
|
||||
# End Custom Build
|
||||
@@ -519,7 +519,7 @@ SOURCE=.\if_ole.cpp
|
||||
# Begin Custom Build
|
||||
|
||||
"$(INTDIR)\if_ole.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\if_ole.h"
|
||||
cl.exe /nologo /MT /W3 /GX /I ".\proto" /D "WIN32" /c /Zi /Od /D "_DEBUG" /D "FEAT_GUI_W32" /D "FEAT_OLE" /Fd.\oleDbg/ /Fo.\oleDbg/ /I ".\oleDbg" .\if_ole.cpp
|
||||
cl.exe /nologo /MT /W3 /GX /I ".\proto" /D "WIN32" /c /Zi /Od /D "_DEBUG" /D "FEAT_GUI_MSWIN" /D "FEAT_OLE" /Fd.\oleDbg/ /Fo.\oleDbg/ /I ".\oleDbg" .\if_ole.cpp
|
||||
@rem This is the default rule with /I "$(IntDir)" added
|
||||
|
||||
# End Custom Build
|
||||
|
||||
+6
-6
@@ -54,8 +54,8 @@ SRC = arabic.c \
|
||||
ex_docmd.c \
|
||||
ex_eval.c \
|
||||
ex_getln.c \
|
||||
farsi.c \
|
||||
fileio.c \
|
||||
findfile.c \
|
||||
fold.c \
|
||||
getchar.c \
|
||||
hardcopy.c \
|
||||
@@ -115,8 +115,8 @@ OBJ = obj/arabic.o \
|
||||
obj/ex_docmd.o \
|
||||
obj/ex_eval.o \
|
||||
obj/ex_getln.o \
|
||||
obj/farsi.o \
|
||||
obj/fileio.o \
|
||||
obj/findfile.o \
|
||||
obj/fold.o \
|
||||
obj/getchar.o \
|
||||
obj/hardcopy.o \
|
||||
@@ -174,8 +174,8 @@ PRO = proto/arabic.pro \
|
||||
proto/ex_docmd.pro \
|
||||
proto/ex_eval.pro \
|
||||
proto/ex_getln.pro \
|
||||
proto/farsi.pro \
|
||||
proto/fileio.pro \
|
||||
proto/findfile.pro \
|
||||
proto/fold.pro \
|
||||
proto/getchar.pro \
|
||||
proto/hardcopy.pro \
|
||||
@@ -314,12 +314,12 @@ obj/ex_eval.o: ex_eval.c ex_cmds.h
|
||||
obj/ex_getln.o: ex_getln.c
|
||||
$(CCSYM) $@ ex_getln.c
|
||||
|
||||
obj/farsi.o: farsi.c
|
||||
$(CCSYM) $@ farsi.c
|
||||
|
||||
obj/fileio.o: fileio.c
|
||||
$(CCSYM) $@ fileio.c
|
||||
|
||||
obj/findfile.o: findfile.c
|
||||
$(CCSYM) $@ findfile.c
|
||||
|
||||
obj/fold.o: fold.c
|
||||
$(CCSYM) $@ fold.c
|
||||
|
||||
|
||||
+1
-1
@@ -42,8 +42,8 @@ SRC = arabic.c \
|
||||
ex_docmd.c \
|
||||
ex_eval.c \
|
||||
ex_getln.c \
|
||||
farsi.c \
|
||||
fileio.c \
|
||||
findfile.c \
|
||||
fold.c \
|
||||
getchar.c \
|
||||
hardcopy.c \
|
||||
|
||||
+7
-7
@@ -694,7 +694,7 @@ CFLAGS = $(CFLAGS) /Zl /MTd
|
||||
!include Make_all.mak
|
||||
!include testdir\Make_all.mak
|
||||
|
||||
INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
|
||||
INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h feature.h globals.h \
|
||||
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
|
||||
spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
|
||||
|
||||
@@ -719,8 +719,8 @@ OBJ = \
|
||||
$(OUTDIR)\ex_docmd.obj \
|
||||
$(OUTDIR)\ex_eval.obj \
|
||||
$(OUTDIR)\ex_getln.obj \
|
||||
$(OUTDIR)\farsi.obj \
|
||||
$(OUTDIR)\fileio.obj \
|
||||
$(OUTDIR)\findfile.obj \
|
||||
$(OUTDIR)\fold.obj \
|
||||
$(OUTDIR)\getchar.obj \
|
||||
$(OUTDIR)\hardcopy.obj \
|
||||
@@ -791,8 +791,8 @@ OBJ = $(OBJ) $(OUTDIR)\dimm_i.obj $(OUTDIR)\glbl_ime.obj
|
||||
|
||||
!if "$(GUI)" == "yes"
|
||||
SUBSYSTEM = windows
|
||||
CFLAGS = $(CFLAGS) -DFEAT_GUI_W32
|
||||
RCFLAGS = $(RCFLAGS) -DFEAT_GUI_W32
|
||||
CFLAGS = $(CFLAGS) -DFEAT_GUI_MSWIN
|
||||
RCFLAGS = $(RCFLAGS) -DFEAT_GUI_MSWIN
|
||||
VIM = g$(VIM)
|
||||
GUI_INCL = \
|
||||
gui.h
|
||||
@@ -1403,10 +1403,10 @@ $(OUTDIR)/ex_eval.obj: $(OUTDIR) ex_eval.c $(INCL)
|
||||
|
||||
$(OUTDIR)/ex_getln.obj: $(OUTDIR) ex_getln.c $(INCL)
|
||||
|
||||
$(OUTDIR)/farsi.obj: $(OUTDIR) farsi.c $(INCL)
|
||||
|
||||
$(OUTDIR)/fileio.obj: $(OUTDIR) fileio.c $(INCL)
|
||||
|
||||
$(OUTDIR)/findfile.obj: $(OUTDIR) findfile.c $(INCL)
|
||||
|
||||
$(OUTDIR)/fold.obj: $(OUTDIR) fold.c $(INCL)
|
||||
|
||||
$(OUTDIR)/getchar.obj: $(OUTDIR) getchar.c $(INCL)
|
||||
@@ -1643,8 +1643,8 @@ proto.h: \
|
||||
proto/ex_docmd.pro \
|
||||
proto/ex_eval.pro \
|
||||
proto/ex_getln.pro \
|
||||
proto/farsi.pro \
|
||||
proto/fileio.pro \
|
||||
proto/findfile.pro \
|
||||
proto/getchar.pro \
|
||||
proto/hardcopy.pro \
|
||||
proto/hashtab.pro \
|
||||
|
||||
+5
-5
@@ -107,8 +107,8 @@ SRC = \
|
||||
ex_docmd.c \
|
||||
ex_eval.c \
|
||||
ex_getln.c \
|
||||
farsi.c \
|
||||
fileio.c \
|
||||
findfile.c \
|
||||
fold.c \
|
||||
getchar.c \
|
||||
hardcopy.c \
|
||||
@@ -167,8 +167,8 @@ OBJ = \
|
||||
ex_docmd.o \
|
||||
ex_eval.o \
|
||||
ex_getln.o \
|
||||
farsi.o \
|
||||
fileio.o \
|
||||
findfile.o \
|
||||
fold.o \
|
||||
getchar.o \
|
||||
hardcopy.o \
|
||||
@@ -227,8 +227,8 @@ PRO = \
|
||||
proto/ex_docmd.pro \
|
||||
proto/ex_eval.pro \
|
||||
proto/ex_getln.pro \
|
||||
proto/farsi.pro \
|
||||
proto/fileio.pro \
|
||||
proto/findfile.pro \
|
||||
proto/fold.pro \
|
||||
proto/getchar.pro \
|
||||
proto/hardcopy.pro \
|
||||
@@ -359,10 +359,10 @@ ex_eval.o: ex_eval.c ex_cmds.h
|
||||
proto/ex_eval.pro: ex_eval.c ex_cmds.h
|
||||
ex_getln.o: ex_getln.c
|
||||
proto/ex_getln.pro: ex_getln.c
|
||||
farsi.o: farsi.c
|
||||
proto/farsi.pro: farsi.c
|
||||
fileio.o: fileio.c
|
||||
proto/fileio.pro: fileio.c
|
||||
findfile.o: findfile.c
|
||||
proto/findfile.pro: findfile.c
|
||||
fold.o: fold.c
|
||||
proto/fold.pro: fold.c
|
||||
getchar.o: getchar.c
|
||||
|
||||
+109
-98
@@ -2,7 +2,7 @@
|
||||
# Makefile for Vim on OpenVMS
|
||||
#
|
||||
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
|
||||
# Last change: 2019 Jan 18
|
||||
# Last change: 2019 Feb 16
|
||||
#
|
||||
# This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
|
||||
# with MMS and MMK
|
||||
@@ -312,23 +312,31 @@ ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
|
||||
ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) \
|
||||
$(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(RUBY_LIB)
|
||||
|
||||
SRC = arabic.c autocmd.c beval.c blob.c blowfish.c buffer.c charset.c crypt.c crypt_zip.c dict.c diff.c digraph.c edit.c eval.c \
|
||||
evalfunc.c ex_cmds.c ex_cmds2.c ex_docmd.c ex_eval.c ex_getln.c if_cscope.c if_xcmdsrv.c farsi.c fileio.c fold.c \
|
||||
getchar.c hardcopy.c hashtab.c indent.c json.c list.c main.c mark.c menu.c mbyte.c memfile.c memline.c message.c misc1.c \
|
||||
misc2.c move.c normal.c ops.c option.c popupmnu.c quickfix.c regexp.c search.c sha256.c sign.c \
|
||||
spell.c spellfile.c syntax.c tag.c term.c termlib.c textprop.c ui.c undo.c userfunc.c version.c screen.c \
|
||||
window.c os_unix.c os_vms.c pathdef.c \
|
||||
SRC = arabic.c autocmd.c beval.c blob.c blowfish.c buffer.c charset.c \
|
||||
crypt.c crypt_zip.c dict.c diff.c digraph.c edit.c eval.c evalfunc.c \
|
||||
ex_cmds.c ex_cmds2.c ex_docmd.c ex_eval.c ex_getln.c if_cscope.c \
|
||||
if_xcmdsrv.c fileio.c findfile.c fold.c getchar.c hardcopy.c \
|
||||
hashtab.c indent.c json.c list.c main.c mark.c menu.c mbyte.c \
|
||||
memfile.c memline.c message.c misc1.c misc2.c move.c normal.c ops.c \
|
||||
option.c popupmnu.c quickfix.c regexp.c search.c sha256.c sign.c \
|
||||
spell.c spellfile.c syntax.c tag.c term.c termlib.c textprop.c ui.c \
|
||||
undo.c userfunc.c version.c screen.c window.c os_unix.c os_vms.c \
|
||||
pathdef.c
|
||||
$(GUI_SRC) $(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) \
|
||||
$(RUBY_SRC) $(HANGULIN_SRC) $(MZSCH_SRC) $(XDIFF_SRC)
|
||||
|
||||
OBJ = arabic.obj autocmd.obj beval.obj blob.obj blowfish.obj buffer.obj charset.obj crypt.obj crypt_zip.obj dict.obj diff.obj digraph.obj \
|
||||
edit.obj eval.obj evalfunc.obj ex_cmds.obj ex_cmds2.obj ex_docmd.obj ex_eval.obj ex_getln.obj if_cscope.obj \
|
||||
if_xcmdsrv.obj farsi.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtab.obj indent.obj json.obj list.obj main.obj mark.obj \
|
||||
menu.obj memfile.obj memline.obj message.obj misc1.obj misc2.obj \
|
||||
move.obj mbyte.obj normal.obj ops.obj option.obj popupmnu.obj quickfix.obj \
|
||||
regexp.obj search.obj sha256.obj sign.obj spell.obj spellfile.obj syntax.obj tag.obj term.obj termlib.obj textprop.obj \
|
||||
ui.obj undo.obj userfunc.obj screen.obj version.obj window.obj os_unix.obj \
|
||||
os_vms.obj pathdef.obj if_mzsch.obj\
|
||||
OBJ = arabic.obj autocmd.obj beval.obj blob.obj blowfish.obj buffer.obj \
|
||||
charset.obj crypt.obj crypt_zip.obj dict.obj diff.obj digraph.obj \
|
||||
edit.obj eval.obj evalfunc.obj ex_cmds.obj ex_cmds2.obj ex_docmd.obj \
|
||||
ex_eval.obj ex_getln.obj if_cscope.obj if_xcmdsrv.obj \
|
||||
fileio.obj findfile.obj fold.obj getchar.obj hardcopy.obj hashtab.obj \
|
||||
indent.obj json.obj list.obj main.obj mark.obj menu.obj memfile.obj \
|
||||
memline.obj message.obj misc1.obj misc2.obj move.obj mbyte.obj \
|
||||
normal.obj ops.obj option.obj popupmnu.obj quickfix.obj regexp.obj \
|
||||
search.obj sha256.obj sign.obj spell.obj spellfile.obj syntax.obj \
|
||||
tag.obj term.obj termlib.obj textprop.obj ui.obj undo.obj \
|
||||
userfunc.obj screen.obj version.obj window.obj os_unix.obj os_vms.obj \
|
||||
pathdef.obj if_mzsch.obj \
|
||||
$(GUI_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(TCL_OBJ) \
|
||||
$(RUBY_OBJ) $(HANGULIN_OBJ) $(MZSCH_OBJ) $(XDIFF_OBJ)
|
||||
|
||||
@@ -506,275 +514,278 @@ blob.obj : blob.c vim.h [.auto]config.h feature.h os_unix.h
|
||||
buffer.obj : buffer.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
globals.h arabic.h version.h
|
||||
charset.obj : charset.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
crypt.obj : crypt.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
crypt_zip.obj : crypt_zip.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
dict.obj : dict.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
diff.obj : diff.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
digraph.obj : digraph.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
edit.obj : edit.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
eval.obj : eval.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h version.h
|
||||
evalfunc.obj : evalfunc.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
proto.h globals.h arabic.h version.h
|
||||
ex_cmds.obj : ex_cmds.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
globals.h arabic.h version.h
|
||||
ex_cmds2.obj : ex_cmds2.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
globals.h arabic.h version.h
|
||||
ex_docmd.obj : ex_docmd.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
ex_eval.obj : ex_eval.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
ex_getln.obj : ex_getln.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
farsi.obj : farsi.c vim.h
|
||||
globals.h arabic.h
|
||||
fileio.obj : fileio.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
findfile.obj : findfile.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h arabic.h
|
||||
fold.obj : fold.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
getchar.obj : getchar.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
hardcopy.obj : hardcopy.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
hashtab.obj : hashtab.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
if_cscope.obj : if_cscope.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h if_cscope.h
|
||||
globals.h arabic.h if_cscope.h
|
||||
if_xcmdsrv.obj : if_xcmdsrv.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
globals.h arabic.h version.h
|
||||
if_mzsch.obj : if_mzsch.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h if_mzsch.h
|
||||
globals.h arabic.h if_mzsch.h
|
||||
indent.obj : indent.c vim.h [.auto]config.h feature.h os_unix.h
|
||||
json.obj : json.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h version.h
|
||||
list.obj : list.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
main.obj : main.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h farsi.c arabic.c
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h arabic.c
|
||||
mark.obj : mark.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
memfile.obj : memfile.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
memline.obj : memline.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
menu.obj : menu.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
message.obj : message.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
misc1.obj : misc1.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h version.h
|
||||
misc2.obj : misc2.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
move.obj : move.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
mbyte.obj : mbyte.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
normal.obj : normal.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
ops.obj : ops.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
option.obj : option.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
os_unix.obj : os_unix.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h os_unixx.h
|
||||
globals.h arabic.h os_unixx.h
|
||||
os_vms.obj : os_vms.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h os_unixx.h
|
||||
globals.h arabic.h os_unixx.h
|
||||
pathdef.obj : pathdef.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
popupmnu.obj : popupmnu.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
quickfix.obj : quickfix.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
regexp.obj : regexp.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
screen.obj : screen.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
search.obj : search.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
sha256.obj : sha256.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
sign.obj : sign.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
spell.obj : spell.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
spellfile.obj : spellfile.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
syntax.obj : syntax.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
tag.obj : tag.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
term.obj : term.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
termlib.obj : termlib.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
textprop.obj : textprop.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
ui.obj : ui.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
undo.obj : undo.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
userfunc.obj : userfunc.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
version.obj : version.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
globals.h arabic.h version.h
|
||||
window.obj : window.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
gui.obj : gui.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
gui_gtk.obj : gui_gtk.c gui_gtk_f.h vim.h [.auto]config.h feature.h \
|
||||
os_unix.h ascii.h keymap.h term.h macros.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
|
||||
proto.h globals.h farsi.h arabic.h [-.pixmaps]stock_icons.h
|
||||
proto.h globals.h arabic.h [-.pixmaps]stock_icons.h
|
||||
gui_gtk_f.obj : gui_gtk_f.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_gtk_f.h
|
||||
globals.h arabic.h gui_gtk_f.h
|
||||
gui_motif.obj : gui_motif.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h [-.pixmaps]alert.xpm [-.pixmaps]error.xpm \
|
||||
globals.h arabic.h [-.pixmaps]alert.xpm [-.pixmaps]error.xpm \
|
||||
[-.pixmaps]generic.xpm [-.pixmaps]info.xpm [-.pixmaps]quest.xpm
|
||||
gui_athena.obj : gui_athena.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_at_sb.h
|
||||
globals.h arabic.h gui_at_sb.h
|
||||
gui_gtk_x11.obj : gui_gtk_x11.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_gtk_f.h [-.runtime]vim32x32.xpm \
|
||||
globals.h arabic.h gui_gtk_f.h [-.runtime]vim32x32.xpm \
|
||||
[-.runtime]vim16x16.xpm [-.runtime]vim48x48.xpm
|
||||
gui_x11.obj : gui_x11.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h [-.runtime]vim32x32.xpm \
|
||||
globals.h arabic.h [-.runtime]vim32x32.xpm \
|
||||
[-.runtime]vim16x16.xpm [-.runtime]vim48x48.xpm [-.pixmaps]tb_new.xpm \
|
||||
[-.pixmaps]tb_open.xpm [-.pixmaps]tb_close.xpm [-.pixmaps]tb_save.xpm \
|
||||
[-.pixmaps]tb_print.xpm [-.pixmaps]tb_cut.xpm [-.pixmaps]tb_copy.xpm \
|
||||
@@ -794,60 +805,60 @@ gui_x11.obj : gui_x11.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
gui_at_sb.obj : gui_at_sb.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_at_sb.h
|
||||
globals.h arabic.h gui_at_sb.h
|
||||
gui_at_fs.obj : gui_at_fs.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_at_sb.h
|
||||
globals.h arabic.h gui_at_sb.h
|
||||
pty.obj : pty.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
arabic.h
|
||||
hangulin.obj : hangulin.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
if_perl.obj : [.auto]if_perl.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
if_perlsfio.obj : if_perlsfio.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
if_python.obj : if_python.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
if_tcl.obj : if_tcl.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
if_ruby.obj : if_ruby.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
globals.h arabic.h version.h
|
||||
beval.obj : beval.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
gui_beval.obj : gui_beval.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
globals.h arabic.h
|
||||
workshop.obj : workshop.c [.auto]config.h integration.h vim.h feature.h \
|
||||
os_unix.h ascii.h keymap.h term.h macros.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h workshop.h
|
||||
proto.h globals.h arabic.h version.h workshop.h
|
||||
wsdebug.obj : wsdebug.c
|
||||
integration.obj : integration.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h integration.h
|
||||
globals.h arabic.h integration.h
|
||||
netbeans.obj : netbeans.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
globals.h arabic.h version.h
|
||||
gui_xmdlg.obj : gui_xmdlg.c [.auto]config.h vim.h feature.h os_unix.h
|
||||
gui_xmebw.obj : gui_xmebw.c [.auto]config.h vim.h feature.h os_unix.h
|
||||
xdiffi.obj : [.xdiff]xdiffi.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
|
||||
|
||||
+113
-112
@@ -492,9 +492,9 @@ CClink = $(CC)
|
||||
# MULTIBYTE - To edit multi-byte characters.
|
||||
# This is now always enabled.
|
||||
|
||||
# When building with at least "big" features, right-left, Arabic and Farsi
|
||||
# When building with at least "big" features, right-left and Arabic
|
||||
# features are enabled. Use this to disable them.
|
||||
#CONF_OPT_MULTIBYTE = --disable-rightleft --disable-farsi --disable-arabic
|
||||
#CONF_OPT_MULTIBYTE = --disable-rightleft --disable-arabic
|
||||
|
||||
# NLS - National Language Support
|
||||
# Uncomment this when you do not want to support translated messages, even
|
||||
@@ -703,7 +703,7 @@ SANITIZER_LIBS = $(SANITIZER_CFLAGS)
|
||||
|
||||
# Uncomment this line to have Vim call abort() when an internal error is
|
||||
# detected. Useful when using a tool to find errors.
|
||||
#ABORT_CLFAGS = -DABORT_ON_INTERNAL_ERROR
|
||||
#ABORT_CFLAGS = -DABORT_ON_INTERNAL_ERROR
|
||||
|
||||
#####################################################
|
||||
### Specific systems, check if yours is listed! ### {{{
|
||||
@@ -1488,7 +1488,7 @@ VTERM_CFLAGS = -Ilibvterm/include
|
||||
PRE_DEFS = -Iproto $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CPPFLAGS) $(EXTRA_IPATHS)
|
||||
POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(EXTRA_DEFS)
|
||||
|
||||
ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(SANITIZER_CFLAGS) $(LEAK_CFLAGS) $(ABORT_CLFAGS) $(POST_DEFS)
|
||||
ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(SANITIZER_CFLAGS) $(LEAK_CFLAGS) $(ABORT_CFLAGS) $(POST_DEFS)
|
||||
|
||||
# Exclude $CFLAGS for osdef.sh, for Mac 10.4 some flags don't work together
|
||||
# with "-E".
|
||||
@@ -1607,8 +1607,8 @@ BASIC_SRC = \
|
||||
ex_docmd.c \
|
||||
ex_eval.c \
|
||||
ex_getln.c \
|
||||
farsi.c \
|
||||
fileio.c \
|
||||
findfile.c \
|
||||
fold.c \
|
||||
getchar.c \
|
||||
hardcopy.c \
|
||||
@@ -1720,8 +1720,8 @@ OBJ_COMMON = \
|
||||
objects/ex_docmd.o \
|
||||
objects/ex_eval.o \
|
||||
objects/ex_getln.o \
|
||||
objects/farsi.o \
|
||||
objects/fileio.o \
|
||||
objects/findfile.o \
|
||||
objects/fold.o \
|
||||
objects/getchar.o \
|
||||
objects/hardcopy.o \
|
||||
@@ -1846,8 +1846,8 @@ PRO_AUTO = \
|
||||
ex_docmd.pro \
|
||||
ex_eval.pro \
|
||||
ex_getln.pro \
|
||||
farsi.pro \
|
||||
fileio.pro \
|
||||
findfile.pro \
|
||||
fold.pro \
|
||||
getchar.pro \
|
||||
hardcopy.pro \
|
||||
@@ -3016,12 +3016,12 @@ objects/ex_eval.o: ex_eval.c
|
||||
objects/ex_getln.o: ex_getln.c
|
||||
$(CCC) -o $@ ex_getln.c
|
||||
|
||||
objects/farsi.o: farsi.c
|
||||
$(CCC) -o $@ farsi.c
|
||||
|
||||
objects/fileio.o: fileio.c
|
||||
$(CCC) -o $@ fileio.c
|
||||
|
||||
objects/findfile.o: findfile.c
|
||||
$(CCC) -o $@ findfile.c
|
||||
|
||||
objects/fold.o: fold.c
|
||||
$(CCC) -o $@ fold.c
|
||||
|
||||
@@ -3443,285 +3443,286 @@ macvimclean:
|
||||
objects/arabic.o: arabic.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/autocmd.o: autocmd.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/beval.o: beval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/blob.o: blob.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/blowfish.o: blowfish.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/buffer.o: buffer.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
proto.h globals.h arabic.h version.h
|
||||
objects/charset.o: charset.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/crypt.o: crypt.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/crypt_zip.o: crypt_zip.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/dict.o: dict.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/diff.o: diff.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h xdiff/xdiff.h vim.h
|
||||
proto.h globals.h arabic.h xdiff/xdiff.h vim.h
|
||||
objects/digraph.o: digraph.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/edit.o: edit.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/eval.o: eval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
proto.h globals.h arabic.h version.h
|
||||
objects/evalfunc.o: evalfunc.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
proto.h globals.h arabic.h version.h
|
||||
objects/ex_cmds.o: ex_cmds.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
proto.h globals.h arabic.h version.h
|
||||
objects/ex_cmds2.o: ex_cmds2.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
proto.h globals.h arabic.h version.h
|
||||
objects/ex_docmd.o: ex_docmd.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h ex_cmdidxs.h
|
||||
proto.h globals.h arabic.h ex_cmdidxs.h
|
||||
objects/ex_eval.o: ex_eval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/ex_getln.o: ex_getln.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/farsi.o: farsi.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/fileio.o: fileio.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/findfile.o: findfile.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h arabic.h libvterm/include/vterm.h \
|
||||
libvterm/include/vterm_keycodes.h
|
||||
objects/fold.o: fold.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/getchar.o: getchar.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/hardcopy.o: hardcopy.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
proto.h globals.h arabic.h version.h
|
||||
objects/hashtab.o: hashtab.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/if_cscope.o: if_cscope.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h if_cscope.h
|
||||
proto.h globals.h arabic.h if_cscope.h
|
||||
objects/if_xcmdsrv.o: if_xcmdsrv.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
proto.h globals.h arabic.h version.h
|
||||
objects/indent.o: indent.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/json.o: json.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/list.o: list.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/main.o: main.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/mark.o: mark.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/memfile.o: memfile.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/memline.o: memline.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/menu.o: menu.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/message.o: message.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/misc1.o: misc1.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
proto.h globals.h arabic.h version.h
|
||||
objects/misc2.o: misc2.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/move.o: move.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/mbyte.o: mbyte.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/normal.o: normal.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/ops.o: ops.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/option.o: option.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/os_unix.o: os_unix.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h os_unixx.h
|
||||
proto.h globals.h arabic.h os_unixx.h
|
||||
objects/pathdef.o: auto/pathdef.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/popupmnu.o: popupmnu.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/pty.o: pty.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/quickfix.o: quickfix.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/regexp.o: regexp.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h regexp_nfa.c
|
||||
proto.h globals.h arabic.h regexp_nfa.c
|
||||
objects/screen.o: screen.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/search.o: search.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/sha256.o: sha256.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/sign.o: sign.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/spell.o: spell.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/spellfile.o: spellfile.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/syntax.o: syntax.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/tag.o: tag.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/term.o: term.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h libvterm/include/vterm.h \
|
||||
proto.h globals.h arabic.h libvterm/include/vterm.h \
|
||||
libvterm/include/vterm_keycodes.h
|
||||
objects/terminal.o: terminal.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h libvterm/include/vterm.h \
|
||||
proto.h globals.h arabic.h libvterm/include/vterm.h \
|
||||
libvterm/include/vterm_keycodes.h
|
||||
objects/textprop.o: textprop.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/ui.o: ui.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/undo.o: undo.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/userfunc.o: userfunc.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/version.o: version.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
proto.h globals.h arabic.h version.h
|
||||
objects/window.o: window.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/gui.o: gui.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/gui_gtk.o: gui_gtk.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h gui_gtk_f.h
|
||||
proto.h globals.h arabic.h gui_gtk_f.h
|
||||
objects/gui_gtk_f.o: gui_gtk_f.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h gui_gtk_f.h
|
||||
proto.h globals.h arabic.h gui_gtk_f.h
|
||||
objects/gui_motif.o: gui_motif.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h gui_xmebw.h ../pixmaps/alert.xpm \
|
||||
proto.h globals.h arabic.h gui_xmebw.h ../pixmaps/alert.xpm \
|
||||
../pixmaps/error.xpm ../pixmaps/generic.xpm ../pixmaps/info.xpm \
|
||||
../pixmaps/quest.xpm gui_x11_pm.h ../pixmaps/tb_new.xpm \
|
||||
../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm \
|
||||
@@ -3742,15 +3743,15 @@ objects/gui_motif.o: gui_motif.c vim.h protodef.h auto/config.h feature.h \
|
||||
objects/gui_xmdlg.o: gui_xmdlg.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/gui_xmebw.o: gui_xmebw.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h gui_xmebwp.h gui_xmebw.h
|
||||
proto.h globals.h arabic.h gui_xmebwp.h gui_xmebw.h
|
||||
objects/gui_athena.o: gui_athena.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h gui_at_sb.h gui_x11_pm.h \
|
||||
proto.h globals.h arabic.h gui_at_sb.h gui_x11_pm.h \
|
||||
../pixmaps/tb_new.xpm ../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm \
|
||||
../pixmaps/tb_save.xpm ../pixmaps/tb_print.xpm ../pixmaps/tb_cut.xpm \
|
||||
../pixmaps/tb_copy.xpm ../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \
|
||||
@@ -3769,85 +3770,85 @@ objects/gui_athena.o: gui_athena.c vim.h protodef.h auto/config.h feature.h \
|
||||
objects/gui_gtk_x11.o: gui_gtk_x11.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h auto/gui_gtk_gresources.h gui_gtk_f.h \
|
||||
proto.h globals.h arabic.h auto/gui_gtk_gresources.h gui_gtk_f.h \
|
||||
../runtime/vim32x32.xpm ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
|
||||
objects/gui_x11.o: gui_x11.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h ../runtime/vim32x32.xpm \
|
||||
proto.h globals.h arabic.h ../runtime/vim32x32.xpm \
|
||||
../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
|
||||
objects/gui_at_sb.o: gui_at_sb.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h gui_at_sb.h
|
||||
proto.h globals.h arabic.h gui_at_sb.h
|
||||
objects/gui_at_fs.o: gui_at_fs.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h gui_at_sb.h
|
||||
proto.h globals.h arabic.h gui_at_sb.h
|
||||
objects/json_test.o: json_test.c main.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h json.c
|
||||
proto.h globals.h arabic.h json.c
|
||||
objects/kword_test.o: kword_test.c main.c vim.h protodef.h auto/config.h \
|
||||
feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
|
||||
option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h charset.c
|
||||
ex_cmds.h spell.h proto.h globals.h arabic.h charset.c
|
||||
objects/memfile_test.o: memfile_test.c main.c vim.h protodef.h auto/config.h \
|
||||
feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
|
||||
option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h memfile.c
|
||||
ex_cmds.h spell.h proto.h globals.h arabic.h memfile.c
|
||||
objects/message_test.o: message_test.c main.c vim.h protodef.h auto/config.h \
|
||||
feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
|
||||
option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h message.c
|
||||
ex_cmds.h spell.h proto.h globals.h arabic.h message.c
|
||||
objects/hangulin.o: hangulin.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/if_lua.o: if_lua.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/if_mzsch.o: if_mzsch.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h if_mzsch.h
|
||||
proto.h globals.h arabic.h if_mzsch.h
|
||||
objects/if_perl.o: auto/if_perl.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/if_perlsfio.o: if_perlsfio.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/if_python.o: if_python.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h if_py_both.h
|
||||
proto.h globals.h arabic.h if_py_both.h
|
||||
objects/if_python3.o: if_python3.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h if_py_both.h
|
||||
proto.h globals.h arabic.h if_py_both.h
|
||||
objects/if_tcl.o: if_tcl.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/if_ruby.o: if_ruby.c protodef.h auto/config.h vim.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
proto.h globals.h arabic.h version.h
|
||||
objects/gui_beval.o: gui_beval.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/netbeans.o: netbeans.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
proto.h globals.h arabic.h version.h
|
||||
objects/channel.o: channel.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
proto.h globals.h arabic.h
|
||||
objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c
|
||||
objects/encoding.o: libvterm/src/encoding.c libvterm/src/vterm_internal.h \
|
||||
libvterm/include/vterm.h libvterm/include/vterm_keycodes.h \
|
||||
@@ -3879,7 +3880,7 @@ objects/xdiffi.o: xdiff/xdiffi.c xdiff/xinclude.h auto/config.h \
|
||||
macros.h option.h beval.h proto/gui_beval.pro \
|
||||
structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h \
|
||||
farsi.h arabic.h xdiff/xtypes.h xdiff/xutils.h \
|
||||
arabic.h xdiff/xtypes.h xdiff/xutils.h \
|
||||
xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
|
||||
objects/xemit.o: xdiff/xemit.c xdiff/xinclude.h auto/config.h \
|
||||
xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
|
||||
@@ -3888,7 +3889,7 @@ objects/xemit.o: xdiff/xemit.c xdiff/xinclude.h auto/config.h \
|
||||
macros.h option.h beval.h proto/gui_beval.pro \
|
||||
structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h \
|
||||
farsi.h arabic.h xdiff/xtypes.h xdiff/xutils.h \
|
||||
arabic.h xdiff/xtypes.h xdiff/xutils.h \
|
||||
xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
|
||||
objects/xprepare.o: xdiff/xprepare.c xdiff/xinclude.h auto/config.h \
|
||||
xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
|
||||
@@ -3897,7 +3898,7 @@ objects/xprepare.o: xdiff/xprepare.c xdiff/xinclude.h auto/config.h \
|
||||
macros.h option.h beval.h proto/gui_beval.pro \
|
||||
structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h \
|
||||
farsi.h arabic.h xdiff/xtypes.h xdiff/xutils.h \
|
||||
arabic.h xdiff/xtypes.h xdiff/xutils.h \
|
||||
xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
|
||||
objects/xutils.o: xdiff/xutils.c xdiff/xinclude.h auto/config.h \
|
||||
xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
|
||||
@@ -3906,7 +3907,7 @@ objects/xutils.o: xdiff/xutils.c xdiff/xinclude.h auto/config.h \
|
||||
macros.h option.h beval.h proto/gui_beval.pro \
|
||||
structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h \
|
||||
farsi.h arabic.h xdiff/xtypes.h xdiff/xutils.h \
|
||||
arabic.h xdiff/xtypes.h xdiff/xutils.h \
|
||||
xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
|
||||
objects/xhistogram.o: xdiff/xhistogram.c xdiff/xinclude.h auto/config.h \
|
||||
xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
|
||||
@@ -3915,7 +3916,7 @@ objects/xhistogram.o: xdiff/xhistogram.c xdiff/xinclude.h auto/config.h \
|
||||
macros.h option.h beval.h proto/gui_beval.pro \
|
||||
structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h \
|
||||
farsi.h arabic.h xdiff/xtypes.h xdiff/xutils.h \
|
||||
arabic.h xdiff/xtypes.h xdiff/xutils.h \
|
||||
xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
|
||||
objects/xpatience.o: xdiff/xpatience.c xdiff/xinclude.h auto/config.h \
|
||||
xdiff/xmacros.h xdiff/xdiff.h vim.h protodef.h \
|
||||
@@ -3924,5 +3925,5 @@ objects/xpatience.o: xdiff/xpatience.c xdiff/xinclude.h auto/config.h \
|
||||
macros.h option.h beval.h proto/gui_beval.pro \
|
||||
structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h \
|
||||
farsi.h arabic.h xdiff/xtypes.h xdiff/xutils.h \
|
||||
arabic.h xdiff/xtypes.h xdiff/xutils.h \
|
||||
xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
|
||||
|
||||
@@ -22,8 +22,10 @@ Most code can be found in a file with an obvious name (incomplete list):
|
||||
diff.c diff mode (vimdiff)
|
||||
eval.c expression evaluation
|
||||
fileio.c reading and writing files
|
||||
findfile.c search for files in 'path'
|
||||
fold.c folding
|
||||
getchar.c getting characters and key mapping
|
||||
indent.c C and Lisp indentation
|
||||
mark.c marks
|
||||
mbyte.c multi-byte character handling
|
||||
memfile.c storing lines for buffers in a swapfile
|
||||
|
||||
Vendored
+1
-14
@@ -1492,7 +1492,7 @@ Optional Features:
|
||||
--enable-multibyte Include multibyte editing support.
|
||||
--disable-rightleft Do not include Right-to-Left language support.
|
||||
--disable-arabic Do not include Arabic language support.
|
||||
--disable-farsi Do not include Farsi language support.
|
||||
--disable-farsi Deprecated.
|
||||
--enable-hangulinput Include Hangul input support.
|
||||
--enable-xim Include XIM input support.
|
||||
--enable-fontset Include X fontset output support.
|
||||
@@ -8064,24 +8064,11 @@ $as_echo "yes" >&6; }
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-farsi argument" >&5
|
||||
$as_echo_n "checking --disable-farsi argument... " >&6; }
|
||||
# Check whether --enable-farsi was given.
|
||||
if test "${enable_farsi+set}" = set; then :
|
||||
enableval=$enable_farsi;
|
||||
else
|
||||
enable_farsi="yes"
|
||||
fi
|
||||
|
||||
if test "$enable_farsi" = "yes"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
$as_echo "#define DISABLE_FARSI 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-hangulinput argument" >&5
|
||||
$as_echo_n "checking --enable-hangulinput argument... " >&6; }
|
||||
|
||||
+3
-3
@@ -46,7 +46,7 @@ typedef struct BalloonEvalStruct
|
||||
int x;
|
||||
int y;
|
||||
# else
|
||||
# if !defined(FEAT_GUI_W32)
|
||||
# if !defined(FEAT_GUI_MSWIN)
|
||||
Widget target; /* widget we are monitoring */
|
||||
Widget balloonShell;
|
||||
Widget balloonLabel;
|
||||
@@ -66,7 +66,7 @@ typedef struct BalloonEvalStruct
|
||||
BeState showState; /* tells us whats currently going on */
|
||||
# endif
|
||||
# endif
|
||||
# if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32) \
|
||||
# if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MSWIN) \
|
||||
&& !defined(FEAT_GUI_MACVIM)
|
||||
Dimension screen_width; /* screen width in pixels */
|
||||
Dimension screen_height; /* screen height in pixels */
|
||||
@@ -80,7 +80,7 @@ typedef struct BalloonEvalStruct
|
||||
int *vts; // vartabstop setting for this buffer
|
||||
#endif
|
||||
char_u *msg;
|
||||
#ifdef FEAT_GUI_W32
|
||||
#ifdef FEAT_GUI_MSWIN
|
||||
void *tofree;
|
||||
#endif
|
||||
} BalloonEval;
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ typedef union {
|
||||
char_u uc[8];
|
||||
} block8;
|
||||
|
||||
#if defined(WIN3264)
|
||||
#if defined(MSWIN)
|
||||
/* MS-Windows is always little endian */
|
||||
#else
|
||||
# ifdef HAVE_CONFIG_H
|
||||
|
||||
+10
-23
@@ -2174,9 +2174,7 @@ free_buf_options(
|
||||
vim_free(buf->b_p_vsts_array);
|
||||
buf->b_p_vsts_array = NULL;
|
||||
clear_string_option(&buf->b_p_vts);
|
||||
if (buf->b_p_vts_array)
|
||||
vim_free(buf->b_p_vts_array);
|
||||
buf->b_p_vts_array = NULL;
|
||||
VIM_CLEAR(buf->b_p_vts_array);
|
||||
#endif
|
||||
#ifdef FEAT_KEYMAP
|
||||
clear_string_option(&buf->b_p_keymap);
|
||||
@@ -3172,10 +3170,7 @@ setfname(
|
||||
return FAIL;
|
||||
}
|
||||
#ifdef USE_FNAME_CASE
|
||||
# ifdef USE_LONG_FNAME
|
||||
if (USE_LONG_FNAME)
|
||||
# endif
|
||||
fname_case(sfname, 0); /* set correct case for short file name */
|
||||
fname_case(sfname, 0); /* set correct case for short file name */
|
||||
#endif
|
||||
if (buf->b_sfname != buf->b_ffname)
|
||||
vim_free(buf->b_sfname);
|
||||
@@ -4818,13 +4813,8 @@ fix_fname(char_u *fname)
|
||||
fname = vim_strsave(fname);
|
||||
|
||||
# ifdef USE_FNAME_CASE
|
||||
# ifdef USE_LONG_FNAME
|
||||
if (USE_LONG_FNAME)
|
||||
# endif
|
||||
{
|
||||
if (fname != NULL)
|
||||
fname_case(fname, 0); /* set correct case for file name */
|
||||
}
|
||||
if (fname != NULL)
|
||||
fname_case(fname, 0); /* set correct case for file name */
|
||||
# endif
|
||||
|
||||
return fname;
|
||||
@@ -4857,7 +4847,7 @@ fname_expand(
|
||||
char_u *rfname;
|
||||
|
||||
// If the file name is a shortcut file, use the file it links to.
|
||||
rfname = mch_resolve_shortcut(*ffname);
|
||||
rfname = mch_resolve_path(*ffname, FALSE);
|
||||
if (rfname != NULL)
|
||||
{
|
||||
vim_free(*ffname);
|
||||
@@ -5763,17 +5753,14 @@ buf_spname(buf_T *buf)
|
||||
#if defined(FEAT_QUICKFIX)
|
||||
if (bt_quickfix(buf))
|
||||
{
|
||||
win_T *win;
|
||||
tabpage_T *tp;
|
||||
|
||||
/*
|
||||
* For location list window, w_llist_ref points to the location list.
|
||||
* For quickfix window, w_llist_ref is NULL.
|
||||
* Differentiate between the quickfix and location list buffers using
|
||||
* the buffer number stored in the global quickfix stack.
|
||||
*/
|
||||
if (find_win_for_buf(buf, &win, &tp) == OK && win->w_llist_ref != NULL)
|
||||
return (char_u *)_(msg_loclist);
|
||||
else
|
||||
if (buf->b_fnum == qf_stack_get_bufnr())
|
||||
return (char_u *)_(msg_qflist);
|
||||
else
|
||||
return (char_u *)_(msg_loclist);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
+45
-34
@@ -20,7 +20,7 @@
|
||||
#endif
|
||||
|
||||
/* Note: when making changes here also adjust configure.ac. */
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
/* WinSock API is separated from C API, thus we can't use read(), write(),
|
||||
* errno... */
|
||||
# define SOCK_ERRNO errno = WSAGetLastError()
|
||||
@@ -65,7 +65,7 @@ static int safe_to_invoke_callback = 0;
|
||||
|
||||
static char *part_names[] = {"sock", "out", "err", "in"};
|
||||
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
static int
|
||||
fd_read(sock_T fd, char *buf, size_t len)
|
||||
{
|
||||
@@ -91,9 +91,10 @@ fd_write(sock_T fd, char *buf, size_t len)
|
||||
size = MAX_NAMED_PIPE_SIZE;
|
||||
else
|
||||
size = (DWORD)todo;
|
||||
// If the pipe overflows while the job does not read the data, WriteFile
|
||||
// will block forever. This abandons the write.
|
||||
// If the pipe overflows while the job does not read the data,
|
||||
// WriteFile() will block forever. This abandons the write.
|
||||
memset(&ov, 0, sizeof(ov));
|
||||
nwrite = 0;
|
||||
if (!WriteFile(h, buf + done, size, &nwrite, &ov))
|
||||
{
|
||||
DWORD err = GetLastError();
|
||||
@@ -104,6 +105,10 @@ fd_write(sock_T fd, char *buf, size_t len)
|
||||
return -1;
|
||||
FlushFileBuffers(h);
|
||||
}
|
||||
else if (nwrite == 0)
|
||||
// WriteFile() returns TRUE but did not write anything. This causes
|
||||
// a hang, so bail out.
|
||||
break;
|
||||
todo -= nwrite;
|
||||
done += nwrite;
|
||||
}
|
||||
@@ -229,7 +234,7 @@ ch_error(channel_T *ch, const char *fmt, ...)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifdef MSWIN
|
||||
# undef PERROR
|
||||
# define PERROR(msg) (void)semsg("%s: %s", msg, strerror_win32(errno))
|
||||
|
||||
@@ -701,7 +706,7 @@ channel_open(
|
||||
int sd = -1;
|
||||
struct sockaddr_in server;
|
||||
struct hostent *host;
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
u_short port = port_in;
|
||||
u_long val = 1;
|
||||
#else
|
||||
@@ -710,7 +715,7 @@ channel_open(
|
||||
channel_T *channel;
|
||||
int ret;
|
||||
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
channel_init_winsock();
|
||||
#endif
|
||||
|
||||
@@ -772,7 +777,7 @@ channel_open(
|
||||
{
|
||||
/* Make connect() non-blocking. */
|
||||
if (
|
||||
#ifdef _WIN32
|
||||
#ifdef MSWIN
|
||||
ioctlsocket(sd, FIONBIO, &val) < 0
|
||||
#else
|
||||
fcntl(sd, F_SETFL, O_NONBLOCK) < 0
|
||||
@@ -818,14 +823,14 @@ channel_open(
|
||||
|
||||
/* If connect() didn't finish then try using select() to wait for the
|
||||
* connection to be made. For Win32 always use select() to wait. */
|
||||
#ifndef WIN32
|
||||
#ifndef MSWIN
|
||||
if (errno != ECONNREFUSED)
|
||||
#endif
|
||||
{
|
||||
struct timeval tv;
|
||||
fd_set rfds;
|
||||
fd_set wfds;
|
||||
#ifndef WIN32
|
||||
#ifndef MSWIN
|
||||
int so_error = 0;
|
||||
socklen_t so_error_len = sizeof(so_error);
|
||||
struct timeval start_tv;
|
||||
@@ -838,7 +843,7 @@ channel_open(
|
||||
|
||||
tv.tv_sec = waitnow / 1000;
|
||||
tv.tv_usec = (waitnow % 1000) * 1000;
|
||||
#ifndef WIN32
|
||||
#ifndef MSWIN
|
||||
gettimeofday(&start_tv, NULL);
|
||||
#endif
|
||||
ch_log(channel,
|
||||
@@ -856,7 +861,7 @@ channel_open(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
/* On Win32: select() is expected to work and wait for up to
|
||||
* "waitnow" msec for the socket to be open. */
|
||||
if (FD_ISSET(sd, &wfds))
|
||||
@@ -907,7 +912,7 @@ channel_open(
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef WIN32
|
||||
#ifndef MSWIN
|
||||
if (waittime > 1 && elapsed_msec < waittime)
|
||||
{
|
||||
/* The port isn't ready but we also didn't get an error.
|
||||
@@ -944,7 +949,7 @@ channel_open(
|
||||
|
||||
if (waittime >= 0)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
#ifdef MSWIN
|
||||
val = 0;
|
||||
ioctlsocket(sd, FIONBIO, &val);
|
||||
#else
|
||||
@@ -1043,7 +1048,7 @@ ch_close_part(channel_T *channel, ch_part_T part)
|
||||
&& (part == PART_OUT || channel->CH_OUT_FD != *fd)
|
||||
&& (part == PART_ERR || channel->CH_ERR_FD != *fd))
|
||||
{
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
if (channel->ch_named_pipe)
|
||||
DisconnectNamedPipe((HANDLE)fd);
|
||||
#endif
|
||||
@@ -1448,7 +1453,7 @@ can_write_buf_line(channel_T *channel)
|
||||
in_part->ch_block_write = 1;
|
||||
|
||||
/* TODO: Win32 implementation, probably using WaitForMultipleObjects() */
|
||||
#ifndef WIN32
|
||||
#ifndef MSWIN
|
||||
{
|
||||
# if defined(HAVE_SELECT)
|
||||
struct timeval tval;
|
||||
@@ -1780,7 +1785,7 @@ channel_get_all(channel_T *channel, ch_part_T part, int *outlen)
|
||||
{
|
||||
if (*p == NUL)
|
||||
*p = NL;
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
else if (*p == 0x1b)
|
||||
{
|
||||
// crush the escape sequence OSC 0/1/2: ESC ]0;
|
||||
@@ -2085,7 +2090,7 @@ channel_parse_json(channel_T *channel, ch_part_T part)
|
||||
(int)buflen);
|
||||
reader.js_used = 0;
|
||||
chanpart->ch_wait_len = buflen;
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
chanpart->ch_deadline = GetTickCount() + 100L;
|
||||
#else
|
||||
gettimeofday(&chanpart->ch_deadline, NULL);
|
||||
@@ -2100,7 +2105,7 @@ channel_parse_json(channel_T *channel, ch_part_T part)
|
||||
else
|
||||
{
|
||||
int timeout;
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
timeout = GetTickCount() > chanpart->ch_deadline;
|
||||
#else
|
||||
{
|
||||
@@ -3219,7 +3224,7 @@ channel_wait(channel_T *channel, sock_T fd, int timeout)
|
||||
if (timeout > 0)
|
||||
ch_log(channel, "Waiting for up to %d msec", timeout);
|
||||
|
||||
# ifdef WIN32
|
||||
# ifdef MSWIN
|
||||
if (fd != channel->CH_SOCK_FD)
|
||||
{
|
||||
DWORD nread;
|
||||
@@ -3575,7 +3580,7 @@ channel_read_json_block(
|
||||
timeout = timeout_arg;
|
||||
if (chanpart->ch_wait_len > 0)
|
||||
{
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
timeout = chanpart->ch_deadline - GetTickCount() + 1;
|
||||
#else
|
||||
{
|
||||
@@ -3717,7 +3722,7 @@ channel_may_read(channel_T *channel, ch_part_T part, char *func)
|
||||
}
|
||||
# endif
|
||||
|
||||
# if defined(WIN32) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) \
|
||||
# if defined(MSWIN) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) \
|
||||
|| defined(PROTO)
|
||||
/*
|
||||
* Lookup the channel from the socket. Set "partp" to the fd index.
|
||||
@@ -3744,7 +3749,7 @@ channel_fd2channel(sock_T fd, ch_part_T *partp)
|
||||
}
|
||||
# endif
|
||||
|
||||
# if defined(WIN32) || defined(FEAT_GUI) || defined(PROTO)
|
||||
# if defined(MSWIN) || defined(FEAT_GUI) || defined(PROTO)
|
||||
/*
|
||||
* Check the channels for anything that is ready to be read.
|
||||
* The data is put in the read queue.
|
||||
@@ -3809,7 +3814,7 @@ channel_set_nonblock(channel_T *channel, ch_part_T part)
|
||||
|
||||
if (fd != INVALID_FD)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
#ifdef MSWIN
|
||||
u_long val = 1;
|
||||
|
||||
ioctlsocket(fd, FIONBIO, &val);
|
||||
@@ -3890,7 +3895,7 @@ channel_send(
|
||||
else
|
||||
{
|
||||
res = fd_write(fd, (char *)buf, len);
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
if (channel->ch_named_pipe && res < 0)
|
||||
{
|
||||
DisconnectNamedPipe((HANDLE)fd);
|
||||
@@ -4250,7 +4255,7 @@ channel_poll_check(int ret_in, void *fds_in)
|
||||
}
|
||||
# endif /* UNIX && !HAVE_SELECT */
|
||||
|
||||
# if (!defined(WIN32) && defined(HAVE_SELECT)) || defined(PROTO)
|
||||
# if (!defined(MSWIN) && defined(HAVE_SELECT)) || defined(PROTO)
|
||||
|
||||
/*
|
||||
* The "fd_set" type is hidden to avoid problems with the function proto.
|
||||
@@ -4350,7 +4355,7 @@ channel_select_check(int ret_in, void *rfds_in, void *wfds_in)
|
||||
|
||||
return ret;
|
||||
}
|
||||
# endif /* !WIN32 && HAVE_SELECT */
|
||||
# endif /* !MSWIN && HAVE_SELECT */
|
||||
|
||||
/*
|
||||
* Execute queued up commands.
|
||||
@@ -4989,27 +4994,27 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
opt->jo_set2 |= JO2_TERM_KILL;
|
||||
opt->jo_term_kill = tv_get_string_chk(item);
|
||||
}
|
||||
else if (STRCMP(hi->hi_key, "term_mode") == 0)
|
||||
else if (STRCMP(hi->hi_key, "tty_type") == 0)
|
||||
{
|
||||
char_u *p;
|
||||
|
||||
if (!(supported2 & JO2_TERM_MODE))
|
||||
if (!(supported2 & JO2_TTY_TYPE))
|
||||
break;
|
||||
opt->jo_set2 |= JO2_TERM_MODE;
|
||||
opt->jo_set2 |= JO2_TTY_TYPE;
|
||||
p = tv_get_string_chk(item);
|
||||
if (p == NULL)
|
||||
{
|
||||
semsg(_(e_invargval), "term_mode");
|
||||
semsg(_(e_invargval), "tty_type");
|
||||
return FAIL;
|
||||
}
|
||||
// Allow empty string, "winpty", "conpty".
|
||||
if (!(*p == NUL || STRCMP(p, "winpty") == 0
|
||||
|| STRCMP(p, "conpty") == 0))
|
||||
{
|
||||
semsg(_(e_invargval), "term_mode");
|
||||
semsg(_(e_invargval), "tty_type");
|
||||
return FAIL;
|
||||
}
|
||||
opt->jo_term_mode = p[0];
|
||||
opt->jo_tty_type = p[0];
|
||||
}
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
else if (STRCMP(hi->hi_key, "ansi_colors") == 0)
|
||||
@@ -5076,7 +5081,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
break;
|
||||
opt->jo_cwd = tv_get_string_buf_chk(item, opt->jo_cwd_buf);
|
||||
if (opt->jo_cwd == NULL || !mch_isdir(opt->jo_cwd)
|
||||
#ifndef WIN32 // Win32 directories don't have the concept of "executable"
|
||||
#ifndef MSWIN // Win32 directories don't have the concept of "executable"
|
||||
|| mch_access((char *)opt->jo_cwd, X_OK) != 0
|
||||
#endif
|
||||
)
|
||||
@@ -5235,6 +5240,9 @@ job_free_contents(job_T *job)
|
||||
vim_free(job->jv_stoponexit);
|
||||
#ifdef UNIX
|
||||
vim_free(job->jv_termsig);
|
||||
#endif
|
||||
#ifdef MSWIN
|
||||
vim_free(job->jv_tty_type);
|
||||
#endif
|
||||
free_callback(job->jv_exit_cb, job->jv_exit_partial);
|
||||
if (job->jv_argv != NULL)
|
||||
@@ -6005,6 +6013,9 @@ job_info(job_T *job, dict_T *dict)
|
||||
#ifdef UNIX
|
||||
dict_add_string(dict, "termsig", job->jv_termsig);
|
||||
#endif
|
||||
#ifdef MSWIN
|
||||
dict_add_string(dict, "tty_type", job->jv_tty_type);
|
||||
#endif
|
||||
|
||||
l = list_alloc();
|
||||
if (l != NULL)
|
||||
|
||||
+1
-19
@@ -98,13 +98,6 @@ buf_init_chartab(
|
||||
while (c <= '~')
|
||||
#endif
|
||||
g_chartab[c++] = 1 + CT_PRINT_CHAR;
|
||||
#ifdef FEAT_FKMAP
|
||||
if (p_altkeymap)
|
||||
{
|
||||
while (c < YE)
|
||||
g_chartab[c++] = 1 + CT_PRINT_CHAR;
|
||||
}
|
||||
#endif
|
||||
while (c < 256)
|
||||
{
|
||||
/* UTF-8: bytes 0xa0 - 0xff are printable (latin1) */
|
||||
@@ -218,11 +211,7 @@ buf_init_chartab(
|
||||
/* Use the MB_ functions here, because isalpha() doesn't
|
||||
* work properly when 'encoding' is "latin1" and the locale is
|
||||
* "C". */
|
||||
if (!do_isalpha || MB_ISLOWER(c) || MB_ISUPPER(c)
|
||||
#ifdef FEAT_FKMAP
|
||||
|| (p_altkeymap && (F_isalpha(c) || F_isdigit(c)))
|
||||
#endif
|
||||
)
|
||||
if (!do_isalpha || MB_ISLOWER(c) || MB_ISUPPER(c))
|
||||
{
|
||||
if (i == 0) /* (re)set ID flag */
|
||||
{
|
||||
@@ -236,10 +225,6 @@ buf_init_chartab(
|
||||
if ((c < ' '
|
||||
#ifndef EBCDIC
|
||||
|| c > '~'
|
||||
#endif
|
||||
#ifdef FEAT_FKMAP
|
||||
|| (p_altkeymap
|
||||
&& (F_isalpha(c) || F_isdigit(c)))
|
||||
#endif
|
||||
// For double-byte we keep the cell width, so
|
||||
// that we can detect it from the first byte.
|
||||
@@ -539,9 +524,6 @@ transchar(int c)
|
||||
(c >= 64 && c < 255)
|
||||
#else
|
||||
(c >= ' ' && c <= '~')
|
||||
#endif
|
||||
#ifdef FEAT_FKMAP
|
||||
|| (p_altkeymap && F_ischar(c))
|
||||
#endif
|
||||
)) || (c < 256 && vim_isprintc_strict(c)))
|
||||
{
|
||||
|
||||
@@ -391,9 +391,6 @@
|
||||
/* Define if you don't want to include right-left support. */
|
||||
#undef DISABLE_RIGHTLEFT
|
||||
|
||||
/* Define if you don't want to include Farsi support. */
|
||||
#undef DISABLE_FARSI
|
||||
|
||||
/* Define if you don't want to include Arabic support. */
|
||||
#undef DISABLE_ARABIC
|
||||
|
||||
|
||||
+2
-11
@@ -2219,18 +2219,9 @@ else
|
||||
AC_DEFINE(DISABLE_ARABIC)
|
||||
fi
|
||||
|
||||
dnl Farsi language support for vim will be included with big features,
|
||||
dnl unless ENABLE_FARSI is undefined.
|
||||
AC_MSG_CHECKING(--disable-farsi argument)
|
||||
dnl Farsi language support has been removed, ignore --disable-farsi
|
||||
AC_ARG_ENABLE(farsi,
|
||||
[ --disable-farsi Do not include Farsi language support.],
|
||||
, [enable_farsi="yes"])
|
||||
if test "$enable_farsi" = "yes"; then
|
||||
AC_MSG_RESULT(no)
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(DISABLE_FARSI)
|
||||
fi
|
||||
[ --disable-farsi Deprecated.],,)
|
||||
|
||||
AC_MSG_CHECKING(--enable-hangulinput argument)
|
||||
AC_ARG_ENABLE(hangulinput,
|
||||
|
||||
+2
-2
@@ -758,8 +758,8 @@ dict_extend(dict_T *d1, dict_T *d2, char_u *action)
|
||||
}
|
||||
else if (*action == 'f' && HI2DI(hi2) != di1)
|
||||
{
|
||||
if (tv_check_lock(di1->di_tv.v_lock, arg_errmsg, TRUE)
|
||||
|| var_check_ro(di1->di_flags, arg_errmsg, TRUE))
|
||||
if (var_check_lock(di1->di_tv.v_lock, arg_errmsg, TRUE)
|
||||
|| var_check_ro(di1->di_flags, arg_errmsg, TRUE))
|
||||
break;
|
||||
clear_tv(&di1->di_tv);
|
||||
copy_tv(&HI2DI(hi2)->di_tv, &di1->di_tv);
|
||||
|
||||
+4
-8
@@ -90,10 +90,6 @@ static int parse_diff_ed(char_u *line, linenr_T *lnum_orig, long *count_orig, li
|
||||
static int parse_diff_unified(char_u *line, linenr_T *lnum_orig, long *count_orig, linenr_T *lnum_new, long *count_new);
|
||||
static int xdiff_out(void *priv, mmbuffer_t *mb, int nbuf);
|
||||
|
||||
#ifndef USE_CR
|
||||
# define tag_fgets vim_fgets
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Called when deleting or unloading a buffer: No longer make a diff with it.
|
||||
*/
|
||||
@@ -996,7 +992,7 @@ check_external_diff(diffio_T *diffio)
|
||||
for (;;)
|
||||
{
|
||||
/* There must be a line that contains "1c1". */
|
||||
if (tag_fgets(linebuf, LBUFLEN, fd))
|
||||
if (vim_fgets(linebuf, LBUFLEN, fd))
|
||||
break;
|
||||
if (STRNCMP(linebuf, "1c1", 3) == 0)
|
||||
ok = TRUE;
|
||||
@@ -1604,7 +1600,7 @@ diff_read(
|
||||
}
|
||||
else
|
||||
{
|
||||
if (tag_fgets(linebuf, LBUFLEN, fd))
|
||||
if (vim_fgets(linebuf, LBUFLEN, fd))
|
||||
break; // end of file
|
||||
line = linebuf;
|
||||
}
|
||||
@@ -1626,9 +1622,9 @@ diff_read(
|
||||
else if ((STRNCMP(line, "@@ ", 3) == 0))
|
||||
diffstyle = DIFF_UNIFIED;
|
||||
else if ((STRNCMP(line, "--- ", 4) == 0)
|
||||
&& (tag_fgets(linebuf, LBUFLEN, fd) == 0)
|
||||
&& (vim_fgets(linebuf, LBUFLEN, fd) == 0)
|
||||
&& (STRNCMP(line, "+++ ", 4) == 0)
|
||||
&& (tag_fgets(linebuf, LBUFLEN, fd) == 0)
|
||||
&& (vim_fgets(linebuf, LBUFLEN, fd) == 0)
|
||||
&& (STRNCMP(line, "@@ ", 3) == 0))
|
||||
diffstyle = DIFF_UNIFIED;
|
||||
else
|
||||
|
||||
+5
-4
@@ -291,16 +291,17 @@ findoldfile(char **destination)
|
||||
{
|
||||
char *bp = *destination;
|
||||
size_t indir_l = strlen(installdir);
|
||||
char *cp = bp + indir_l;
|
||||
char *cp;
|
||||
char *tmpname;
|
||||
char *farname;
|
||||
|
||||
/*
|
||||
* No action needed if exe not found or not in this directory.
|
||||
*/
|
||||
if (bp == NULL
|
||||
|| strnicmp(bp, installdir, indir_l) != 0
|
||||
|| strchr("/\\", *cp++) == NULL
|
||||
if (bp == NULL || strnicmp(bp, installdir, indir_l) != 0)
|
||||
return;
|
||||
cp = bp + indir_l;
|
||||
if (strchr("/\\", *cp++) == NULL
|
||||
|| strchr(cp, '\\') != NULL
|
||||
|| strchr(cp, '/') != NULL)
|
||||
return;
|
||||
|
||||
+13
-54
@@ -467,15 +467,6 @@ edit(
|
||||
|
||||
if (cmdchar == 'R')
|
||||
{
|
||||
#ifdef FEAT_FKMAP
|
||||
if (p_fkmap && p_ri)
|
||||
{
|
||||
beep_flush();
|
||||
emsg(farsi_text_3); /* encoded in Farsi */
|
||||
State = INSERT;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
State = REPLACE;
|
||||
}
|
||||
else if (cmdchar == 'V' || cmdchar == 'v')
|
||||
@@ -812,10 +803,6 @@ edit(
|
||||
if (p_hkmap && KeyTyped)
|
||||
c = hkmap(c); /* Hebrew mode mapping */
|
||||
#endif
|
||||
#ifdef FEAT_FKMAP
|
||||
if (p_fkmap && KeyTyped)
|
||||
c = fkmap(c); /* Farsi mode mapping */
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_INS_EXPAND
|
||||
/*
|
||||
@@ -1270,9 +1257,9 @@ doESCkey:
|
||||
did_cursorhold = TRUE;
|
||||
break;
|
||||
|
||||
#ifdef FEAT_GUI_W32
|
||||
/* On Win32 ignore <M-F4>, we get it when closing the window was
|
||||
* cancelled. */
|
||||
#ifdef FEAT_GUI_MSWIN
|
||||
/* On MS-Windows ignore <M-F4>, we get it when closing the window
|
||||
* was cancelled. */
|
||||
case K_F4:
|
||||
if (mod_mask != MOD_MASK_ALT)
|
||||
goto normalchar;
|
||||
@@ -5036,9 +5023,13 @@ ins_compl_next(
|
||||
/* may undisplay the popup menu first */
|
||||
ins_compl_upd_pum();
|
||||
|
||||
// Redraw before showing the popup menu to show the user what was
|
||||
// inserted.
|
||||
pum_call_update_screen();
|
||||
if (pum_enough_matches())
|
||||
// Will display the popup menu, don't redraw yet to avoid flicker.
|
||||
pum_call_update_screen();
|
||||
else
|
||||
// Not showing the popup menu yet, redraw to show the user what was
|
||||
// inserted.
|
||||
update_screen(0);
|
||||
|
||||
/* display the updated popup menu */
|
||||
ins_compl_show_pum();
|
||||
@@ -6292,9 +6283,6 @@ insertchar(
|
||||
&& !ISSPECIAL(c)
|
||||
&& (!has_mbyte || MB_BYTE2LEN_CHECK(c) == 1)
|
||||
&& i < INPUT_BUFLEN
|
||||
# ifdef FEAT_FKMAP
|
||||
&& !(p_fkmap && KeyTyped) /* Farsi mode mapping moves cursor */
|
||||
# endif
|
||||
&& (textwidth == 0
|
||||
|| (virtcol += byte2cells(buf[i - 1])) < (colnr_T)textwidth)
|
||||
&& !(!no_abbr && !vim_iswordc(c) && vim_iswordc(buf[i - 1])))
|
||||
@@ -8417,23 +8405,7 @@ ins_ctrl_(void)
|
||||
}
|
||||
else
|
||||
revins_scol = -1;
|
||||
#ifdef FEAT_FKMAP
|
||||
if (p_altkeymap)
|
||||
{
|
||||
/*
|
||||
* to be consistent also for redo command, using '.'
|
||||
* set arrow_used to true and stop it - causing to redo
|
||||
* characters entered in one mode (normal/reverse insert).
|
||||
*/
|
||||
arrow_used = TRUE;
|
||||
(void)stop_arrow();
|
||||
p_fkmap = curwin->w_p_rl ^ p_ri;
|
||||
if (p_fkmap && p_ri)
|
||||
State = INSERT;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
p_hkmap = curwin->w_p_rl ^ p_ri; /* be consistent! */
|
||||
p_hkmap = curwin->w_p_rl ^ p_ri; // be consistent!
|
||||
showmode();
|
||||
}
|
||||
#endif
|
||||
@@ -8499,21 +8471,12 @@ ins_start_select(int c)
|
||||
static void
|
||||
ins_insert(int replaceState)
|
||||
{
|
||||
#ifdef FEAT_FKMAP
|
||||
if (p_fkmap && p_ri)
|
||||
{
|
||||
beep_flush();
|
||||
emsg(farsi_text_3); /* encoded in Farsi */
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
# ifdef FEAT_EVAL
|
||||
#ifdef FEAT_EVAL
|
||||
set_vim_var_string(VV_INSERTMODE,
|
||||
(char_u *)((State & REPLACE_FLAG) ? "i"
|
||||
: replaceState == VREPLACE ? "v"
|
||||
: "r"), 1);
|
||||
# endif
|
||||
#endif
|
||||
ins_apply_autocmds(EVENT_INSERTCHANGE);
|
||||
if (State & REPLACE_FLAG)
|
||||
State = INSERT | (State & LANGMAP);
|
||||
@@ -9946,10 +9909,6 @@ ins_eol(int c)
|
||||
coladvance(getviscol());
|
||||
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
# ifdef FEAT_FKMAP
|
||||
if (p_altkeymap && p_fkmap)
|
||||
fkmap(NL);
|
||||
# endif
|
||||
/* NL in reverse insert will always start in the end of
|
||||
* current line. */
|
||||
if (revins_on)
|
||||
|
||||
+142
-87
@@ -247,6 +247,7 @@ static typval_T *alloc_string_tv(char_u *string);
|
||||
static void delete_var(hashtab_T *ht, hashitem_T *hi);
|
||||
static void list_one_var(dictitem_T *v, char *prefix, int *first);
|
||||
static void list_one_var_a(char *prefix, char_u *name, int type, char_u *string, int *first);
|
||||
static int tv_check_lock(typval_T *tv, char_u *name, int use_gettext);
|
||||
static char_u *find_option_end(char_u **arg, int *opt_flags);
|
||||
|
||||
/* for VIM_VERSION_ defines */
|
||||
@@ -1196,6 +1197,9 @@ eval_foldexpr(char_u *arg, int *cp)
|
||||
* ":let var = expr" assignment command.
|
||||
* ":let var += expr" assignment command.
|
||||
* ":let var -= expr" assignment command.
|
||||
* ":let var *= expr" assignment command.
|
||||
* ":let var /= expr" assignment command.
|
||||
* ":let var %= expr" assignment command.
|
||||
* ":let var .= expr" assignment command.
|
||||
* ":let [var1, var2] = expr" unpack list.
|
||||
*/
|
||||
@@ -1215,10 +1219,10 @@ ex_let(exarg_T *eap)
|
||||
argend = skip_var_list(arg, &var_count, &semicolon);
|
||||
if (argend == NULL)
|
||||
return;
|
||||
if (argend > arg && argend[-1] == '.') /* for var.='str' */
|
||||
if (argend > arg && argend[-1] == '.') // for var.='str'
|
||||
--argend;
|
||||
expr = skipwhite(argend);
|
||||
if (*expr != '=' && !(vim_strchr((char_u *)"+-.", *expr) != NULL
|
||||
if (*expr != '=' && !(vim_strchr((char_u *)"+-*/%.", *expr) != NULL
|
||||
&& expr[1] == '='))
|
||||
{
|
||||
/*
|
||||
@@ -1248,8 +1252,8 @@ ex_let(exarg_T *eap)
|
||||
op[1] = NUL;
|
||||
if (*expr != '=')
|
||||
{
|
||||
if (vim_strchr((char_u *)"+-.", *expr) != NULL)
|
||||
op[0] = *expr; /* +=, -= or .= */
|
||||
if (vim_strchr((char_u *)"+-*/%.", *expr) != NULL)
|
||||
op[0] = *expr; // +=, -=, *=, /=, %= or .=
|
||||
expr = skipwhite(expr + 2);
|
||||
}
|
||||
else
|
||||
@@ -1670,7 +1674,7 @@ ex_let_one(
|
||||
semsg(_(e_invarg2), name - 1);
|
||||
else
|
||||
{
|
||||
if (op != NULL && (*op == '+' || *op == '-'))
|
||||
if (op != NULL && vim_strchr((char_u *)"+-*/%", *op) != NULL)
|
||||
semsg(_(e_letwrong), op);
|
||||
else if (endchars != NULL
|
||||
&& vim_strchr(endchars, *skipwhite(arg)) == NULL)
|
||||
@@ -1743,18 +1747,22 @@ ex_let_one(
|
||||
|| (opt_type == 0 && *op != '.'))
|
||||
{
|
||||
semsg(_(e_letwrong), op);
|
||||
s = NULL; /* don't set the value */
|
||||
s = NULL; // don't set the value
|
||||
}
|
||||
else
|
||||
{
|
||||
if (opt_type == 1) /* number */
|
||||
if (opt_type == 1) // number
|
||||
{
|
||||
if (*op == '+')
|
||||
n = numval + n;
|
||||
else
|
||||
n = numval - n;
|
||||
switch (*op)
|
||||
{
|
||||
case '+': n = numval + n; break;
|
||||
case '-': n = numval - n; break;
|
||||
case '*': n = numval * n; break;
|
||||
case '/': n = numval / n; break;
|
||||
case '%': n = numval % n; break;
|
||||
}
|
||||
}
|
||||
else if (opt_type == 0 && stringval != NULL) /* string */
|
||||
else if (opt_type == 0 && stringval != NULL) // string
|
||||
{
|
||||
s = concat_str(stringval, s);
|
||||
vim_free(stringval);
|
||||
@@ -1778,7 +1786,7 @@ ex_let_one(
|
||||
else if (*arg == '@')
|
||||
{
|
||||
++arg;
|
||||
if (op != NULL && (*op == '+' || *op == '-'))
|
||||
if (op != NULL && vim_strchr((char_u *)"+-*/%", *op) != NULL)
|
||||
semsg(_(e_letwrong), op);
|
||||
else if (endchars != NULL
|
||||
&& vim_strchr(endchars, *skipwhite(arg + 1)) == NULL)
|
||||
@@ -2092,14 +2100,15 @@ get_lval(
|
||||
|
||||
if (lp->ll_di == NULL)
|
||||
{
|
||||
/* Can't add "v:" variable. */
|
||||
if (lp->ll_dict == &vimvardict)
|
||||
// Can't add "v:" or "a:" variable.
|
||||
if (lp->ll_dict == &vimvardict
|
||||
|| &lp->ll_dict->dv_hashtab == get_funccal_args_ht())
|
||||
{
|
||||
semsg(_(e_illvar), name);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Key does not exist in dict: may need to add it. */
|
||||
// Key does not exist in dict: may need to add it.
|
||||
if (*p == '[' || *p == '.' || unlet)
|
||||
{
|
||||
if (!quiet)
|
||||
@@ -2252,7 +2261,8 @@ clear_lval(lval_T *lp)
|
||||
/*
|
||||
* Set a variable that was parsed by get_lval() to "rettv".
|
||||
* "endp" points to just after the parsed name.
|
||||
* "op" is NULL, "+" for "+=", "-" for "-=", "." for ".=" or "=" for "=".
|
||||
* "op" is NULL, "+" for "+=", "-" for "-=", "*" for "*=", "/" for "/=",
|
||||
* "%" for "%=", "." for ".=" or "=" for "=".
|
||||
*/
|
||||
static void
|
||||
set_var_lval(
|
||||
@@ -2325,15 +2335,14 @@ set_var_lval(
|
||||
{
|
||||
typval_T tv;
|
||||
|
||||
/* handle +=, -= and .= */
|
||||
// handle +=, -=, *=, /=, %= and .=
|
||||
di = NULL;
|
||||
if (get_var_tv(lp->ll_name, (int)STRLEN(lp->ll_name),
|
||||
&tv, &di, TRUE, FALSE) == OK)
|
||||
{
|
||||
if ((di == NULL
|
||||
|| (!var_check_ro(di->di_flags, lp->ll_name, FALSE)
|
||||
&& !tv_check_lock(di->di_tv.v_lock, lp->ll_name,
|
||||
FALSE)))
|
||||
|| (!var_check_ro(di->di_flags, lp->ll_name, FALSE)
|
||||
&& !tv_check_lock(&di->di_tv, lp->ll_name, FALSE)))
|
||||
&& tv_op(&tv, rettv, op) == OK)
|
||||
set_var(lp->ll_name, &tv, FALSE);
|
||||
clear_tv(&tv);
|
||||
@@ -2343,7 +2352,7 @@ set_var_lval(
|
||||
set_var(lp->ll_name, rettv, copy);
|
||||
*endp = cc;
|
||||
}
|
||||
else if (tv_check_lock(lp->ll_newkey == NULL
|
||||
else if (var_check_lock(lp->ll_newkey == NULL
|
||||
? lp->ll_tv->v_lock
|
||||
: lp->ll_tv->vval.v_dict->dv_lock, lp->ll_name, FALSE))
|
||||
;
|
||||
@@ -2357,7 +2366,7 @@ set_var_lval(
|
||||
*/
|
||||
for (ri = rettv->vval.v_list->lv_first; ri != NULL && ll_li != NULL; )
|
||||
{
|
||||
if (tv_check_lock(ll_li->li_tv.v_lock, lp->ll_name, FALSE))
|
||||
if (var_check_lock(ll_li->li_tv.v_lock, lp->ll_name, FALSE))
|
||||
return;
|
||||
ri = ri->li_next;
|
||||
if (ri == NULL || (!lp->ll_empty2 && lp->ll_n2 == ll_n1))
|
||||
@@ -2447,7 +2456,8 @@ set_var_lval(
|
||||
}
|
||||
|
||||
/*
|
||||
* Handle "tv1 += tv2", "tv1 -= tv2" and "tv1 .= tv2"
|
||||
* Handle "tv1 += tv2", "tv1 -= tv2", "tv1 *= tv2", "tv1 /= tv2", "tv1 %= tv2"
|
||||
* and "tv1 .= tv2"
|
||||
* Returns OK or FAIL.
|
||||
*/
|
||||
static int
|
||||
@@ -2489,7 +2499,7 @@ tv_op(typval_T *tv1, typval_T *tv2, char_u *op)
|
||||
case VAR_LIST:
|
||||
if (*op != '+' || tv2->v_type != VAR_LIST)
|
||||
break;
|
||||
/* List += List */
|
||||
// List += List
|
||||
if (tv1->vval.v_list != NULL && tv2->vval.v_list != NULL)
|
||||
list_extend(tv1->vval.v_list, tv2->vval.v_list, NULL);
|
||||
return OK;
|
||||
@@ -2498,19 +2508,24 @@ tv_op(typval_T *tv1, typval_T *tv2, char_u *op)
|
||||
case VAR_STRING:
|
||||
if (tv2->v_type == VAR_LIST)
|
||||
break;
|
||||
if (*op == '+' || *op == '-')
|
||||
if (vim_strchr((char_u *)"+-*/%", *op) != NULL)
|
||||
{
|
||||
/* nr += nr or nr -= nr*/
|
||||
// nr += nr , nr -= nr , nr *=nr , nr /= nr , nr %= nr
|
||||
n = tv_get_number(tv1);
|
||||
#ifdef FEAT_FLOAT
|
||||
if (tv2->v_type == VAR_FLOAT)
|
||||
{
|
||||
float_T f = n;
|
||||
|
||||
if (*op == '+')
|
||||
f += tv2->vval.v_float;
|
||||
else
|
||||
f -= tv2->vval.v_float;
|
||||
if (*op == '%')
|
||||
break;
|
||||
switch (*op)
|
||||
{
|
||||
case '+': f += tv2->vval.v_float; break;
|
||||
case '-': f -= tv2->vval.v_float; break;
|
||||
case '*': f *= tv2->vval.v_float; break;
|
||||
case '/': f /= tv2->vval.v_float; break;
|
||||
}
|
||||
clear_tv(tv1);
|
||||
tv1->v_type = VAR_FLOAT;
|
||||
tv1->vval.v_float = f;
|
||||
@@ -2518,10 +2533,14 @@ tv_op(typval_T *tv1, typval_T *tv2, char_u *op)
|
||||
else
|
||||
#endif
|
||||
{
|
||||
if (*op == '+')
|
||||
n += tv_get_number(tv2);
|
||||
else
|
||||
n -= tv_get_number(tv2);
|
||||
switch (*op)
|
||||
{
|
||||
case '+': n += tv_get_number(tv2); break;
|
||||
case '-': n -= tv_get_number(tv2); break;
|
||||
case '*': n *= tv_get_number(tv2); break;
|
||||
case '/': n /= tv_get_number(tv2); break;
|
||||
case '%': n %= tv_get_number(tv2); break;
|
||||
}
|
||||
clear_tv(tv1);
|
||||
tv1->v_type = VAR_NUMBER;
|
||||
tv1->vval.v_number = n;
|
||||
@@ -2532,7 +2551,7 @@ tv_op(typval_T *tv1, typval_T *tv2, char_u *op)
|
||||
if (tv2->v_type == VAR_FLOAT)
|
||||
break;
|
||||
|
||||
/* str .= str */
|
||||
// str .= str
|
||||
s = tv_get_string(tv1);
|
||||
s = concat_str(s, tv_get_string_buf(tv2, numbuf));
|
||||
clear_tv(tv1);
|
||||
@@ -2546,7 +2565,8 @@ tv_op(typval_T *tv1, typval_T *tv2, char_u *op)
|
||||
{
|
||||
float_T f;
|
||||
|
||||
if (*op == '.' || (tv2->v_type != VAR_FLOAT
|
||||
if (*op == '%' || *op == '.'
|
||||
|| (tv2->v_type != VAR_FLOAT
|
||||
&& tv2->v_type != VAR_NUMBER
|
||||
&& tv2->v_type != VAR_STRING))
|
||||
break;
|
||||
@@ -2554,10 +2574,13 @@ tv_op(typval_T *tv1, typval_T *tv2, char_u *op)
|
||||
f = tv2->vval.v_float;
|
||||
else
|
||||
f = tv_get_number(tv2);
|
||||
if (*op == '+')
|
||||
tv1->vval.v_float += f;
|
||||
else
|
||||
tv1->vval.v_float -= f;
|
||||
switch (*op)
|
||||
{
|
||||
case '+': tv1->vval.v_float += f; break;
|
||||
case '-': tv1->vval.v_float -= f; break;
|
||||
case '*': tv1->vval.v_float *= f; break;
|
||||
case '/': tv1->vval.v_float /= f; break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return OK;
|
||||
@@ -2950,9 +2973,9 @@ do_unlet_var(
|
||||
*name_end = cc;
|
||||
}
|
||||
else if ((lp->ll_list != NULL
|
||||
&& tv_check_lock(lp->ll_list->lv_lock, lp->ll_name, FALSE))
|
||||
&& var_check_lock(lp->ll_list->lv_lock, lp->ll_name, FALSE))
|
||||
|| (lp->ll_dict != NULL
|
||||
&& tv_check_lock(lp->ll_dict->dv_lock, lp->ll_name, FALSE)))
|
||||
&& var_check_lock(lp->ll_dict->dv_lock, lp->ll_name, FALSE)))
|
||||
return FAIL;
|
||||
else if (lp->ll_range)
|
||||
{
|
||||
@@ -2963,7 +2986,7 @@ do_unlet_var(
|
||||
while (ll_li != NULL && (lp->ll_empty2 || lp->ll_n2 >= ll_n1))
|
||||
{
|
||||
li = ll_li->li_next;
|
||||
if (tv_check_lock(ll_li->li_tv.v_lock, lp->ll_name, FALSE))
|
||||
if (var_check_lock(ll_li->li_tv.v_lock, lp->ll_name, FALSE))
|
||||
return FAIL;
|
||||
ll_li = li;
|
||||
++ll_n1;
|
||||
@@ -3033,7 +3056,7 @@ do_unlet(char_u *name, int forceit)
|
||||
di = HI2DI(hi);
|
||||
if (var_check_fixed(di->di_flags, name, FALSE)
|
||||
|| var_check_ro(di->di_flags, name, FALSE)
|
||||
|| tv_check_lock(d->dv_lock, name, FALSE))
|
||||
|| var_check_lock(d->dv_lock, name, FALSE))
|
||||
return FAIL;
|
||||
|
||||
delete_var(ht, hi);
|
||||
@@ -7437,7 +7460,7 @@ tv_get_string_buf_chk(typval_T *varp, char_u *buf)
|
||||
# ifdef UNIX
|
||||
vim_snprintf((char *)buf, NUMBUFLEN,
|
||||
"process %ld %s", (long)job->jv_pid, status);
|
||||
# elif defined(WIN32)
|
||||
# elif defined(MSWIN)
|
||||
vim_snprintf((char *)buf, NUMBUFLEN,
|
||||
"process %ld %s",
|
||||
(long)job->jv_proc_info.dwProcessId,
|
||||
@@ -7865,7 +7888,7 @@ set_var(
|
||||
{
|
||||
/* existing variable, need to clear the value */
|
||||
if (var_check_ro(v->di_flags, name, FALSE)
|
||||
|| tv_check_lock(v->di_tv.v_lock, name, FALSE))
|
||||
|| var_check_lock(v->di_tv.v_lock, name, FALSE))
|
||||
return;
|
||||
|
||||
/*
|
||||
@@ -7919,14 +7942,14 @@ set_var(
|
||||
}
|
||||
else /* add a new variable */
|
||||
{
|
||||
/* Can't add "v:" variable. */
|
||||
if (ht == &vimvarht)
|
||||
// Can't add "v:" or "a:" variable.
|
||||
if (ht == &vimvarht || ht == get_funccal_args_ht())
|
||||
{
|
||||
semsg(_(e_illvar), name);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Make sure the variable name is valid. */
|
||||
// Make sure the variable name is valid.
|
||||
if (!valid_varname(varname))
|
||||
return;
|
||||
|
||||
@@ -8020,31 +8043,12 @@ var_check_func_name(
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if a variable name is valid.
|
||||
* Return FALSE and give an error if not.
|
||||
*/
|
||||
int
|
||||
valid_varname(char_u *varname)
|
||||
{
|
||||
char_u *p;
|
||||
|
||||
for (p = varname; *p != NUL; ++p)
|
||||
if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
|
||||
&& *p != AUTOLOAD_CHAR)
|
||||
{
|
||||
semsg(_(e_illvar), varname);
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return TRUE if typeval "tv" is set to be locked (immutable).
|
||||
* Return TRUE if "flags" indicates variable "name" is locked (immutable).
|
||||
* Also give an error message, using "name" or _("name") when use_gettext is
|
||||
* TRUE.
|
||||
*/
|
||||
int
|
||||
tv_check_lock(int lock, char_u *name, int use_gettext)
|
||||
var_check_lock(int lock, char_u *name, int use_gettext)
|
||||
{
|
||||
if (lock & VAR_LOCKED)
|
||||
{
|
||||
@@ -8065,6 +8069,56 @@ tv_check_lock(int lock, char_u *name, int use_gettext)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return TRUE if typeval "tv" and its value are set to be locked (immutable).
|
||||
* Also give an error message, using "name" or _("name") when use_gettext is
|
||||
* TRUE.
|
||||
*/
|
||||
static int
|
||||
tv_check_lock(typval_T *tv, char_u *name, int use_gettext)
|
||||
{
|
||||
int lock = 0;
|
||||
|
||||
switch (tv->v_type)
|
||||
{
|
||||
case VAR_BLOB:
|
||||
if (tv->vval.v_blob != NULL)
|
||||
lock = tv->vval.v_blob->bv_lock;
|
||||
break;
|
||||
case VAR_LIST:
|
||||
if (tv->vval.v_list != NULL)
|
||||
lock = tv->vval.v_list->lv_lock;
|
||||
break;
|
||||
case VAR_DICT:
|
||||
if (tv->vval.v_dict != NULL)
|
||||
lock = tv->vval.v_dict->dv_lock;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return var_check_lock(tv->v_lock, name, use_gettext)
|
||||
|| (lock != 0 && var_check_lock(lock, name, use_gettext));
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if a variable name is valid.
|
||||
* Return FALSE and give an error if not.
|
||||
*/
|
||||
int
|
||||
valid_varname(char_u *varname)
|
||||
{
|
||||
char_u *p;
|
||||
|
||||
for (p = varname; *p != NUL; ++p)
|
||||
if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
|
||||
&& *p != AUTOLOAD_CHAR)
|
||||
{
|
||||
semsg(_(e_illvar), varname);
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Copy the values from typval_T "from" to typval_T "to".
|
||||
* When needed allocates string or increases reference count.
|
||||
@@ -8586,7 +8640,7 @@ find_win_by_nr_or_id(typval_T *vp)
|
||||
int nr = (int)tv_get_number_chk(vp, NULL);
|
||||
|
||||
if (nr >= LOWEST_WIN_ID)
|
||||
return win_id2wp(vp);
|
||||
return win_id2wp(tv_get_number(vp));
|
||||
return find_win_by_nr(vp, NULL);
|
||||
}
|
||||
|
||||
@@ -8718,7 +8772,7 @@ setwinvar(typval_T *argvars, typval_T *rettv UNUSED, int off)
|
||||
char_u nbuf[NUMBUFLEN];
|
||||
tabpage_T *tp = NULL;
|
||||
|
||||
if (check_restricted() || check_secure())
|
||||
if (check_secure())
|
||||
return;
|
||||
|
||||
if (off == 1)
|
||||
@@ -9902,7 +9956,7 @@ var_exists(char_u *var)
|
||||
|
||||
#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) || defined(PROTO)
|
||||
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
/*
|
||||
* Functions for ":8" filename modifier: get 8.3 version of a filename.
|
||||
*/
|
||||
@@ -10137,7 +10191,7 @@ shortpath_for_partial(
|
||||
|
||||
return OK;
|
||||
}
|
||||
#endif /* WIN3264 */
|
||||
#endif // MSWIN
|
||||
|
||||
/*
|
||||
* Adjust a filename, according to a string of modifiers.
|
||||
@@ -10161,7 +10215,7 @@ modify_fname(
|
||||
char_u dirname[MAXPATHL];
|
||||
int c;
|
||||
int has_fullname = 0;
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
char_u *fname_start = *fnamep;
|
||||
int has_shortname = 0;
|
||||
#endif
|
||||
@@ -10216,7 +10270,7 @@ repeat:
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
# if _WIN32_WINNT >= 0x0500
|
||||
if (vim_strchr(*fnamep, '~') != NULL)
|
||||
{
|
||||
@@ -10259,7 +10313,7 @@ repeat:
|
||||
*usedlen += 2;
|
||||
if (c == '8')
|
||||
{
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
has_shortname = 1; /* Postpone this. */
|
||||
#endif
|
||||
continue;
|
||||
@@ -10352,12 +10406,12 @@ repeat:
|
||||
if (src[*usedlen] == ':' && src[*usedlen + 1] == '8')
|
||||
{
|
||||
*usedlen += 2;
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
has_shortname = 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
/*
|
||||
* Handle ":8" after we have done 'heads' and before we do 'tails'.
|
||||
*/
|
||||
@@ -10401,7 +10455,7 @@ repeat:
|
||||
*fnamelen = l;
|
||||
}
|
||||
}
|
||||
#endif /* WIN3264 */
|
||||
#endif // MSWIN
|
||||
|
||||
/* ":t" - tail, just the basename */
|
||||
if (src[*usedlen] == ':' && src[*usedlen + 1] == 't')
|
||||
@@ -10710,13 +10764,13 @@ filter_map(typval_T *argvars, typval_T *rettv, int map)
|
||||
else if (argvars[0].v_type == VAR_LIST)
|
||||
{
|
||||
if ((l = argvars[0].vval.v_list) == NULL
|
||||
|| (!map && tv_check_lock(l->lv_lock, arg_errmsg, TRUE)))
|
||||
|| (!map && var_check_lock(l->lv_lock, arg_errmsg, TRUE)))
|
||||
return;
|
||||
}
|
||||
else if (argvars[0].v_type == VAR_DICT)
|
||||
{
|
||||
if ((d = argvars[0].vval.v_dict) == NULL
|
||||
|| (!map && tv_check_lock(d->dv_lock, arg_errmsg, TRUE)))
|
||||
|| (!map && var_check_lock(d->dv_lock, arg_errmsg, TRUE)))
|
||||
return;
|
||||
}
|
||||
else
|
||||
@@ -10754,9 +10808,10 @@ filter_map(typval_T *argvars, typval_T *rettv, int map)
|
||||
|
||||
--todo;
|
||||
di = HI2DI(hi);
|
||||
if (map &&
|
||||
(tv_check_lock(di->di_tv.v_lock, arg_errmsg, TRUE)
|
||||
|| var_check_ro(di->di_flags, arg_errmsg, TRUE)))
|
||||
if (map && (var_check_lock(di->di_tv.v_lock,
|
||||
arg_errmsg, TRUE)
|
||||
|| var_check_ro(di->di_flags,
|
||||
arg_errmsg, TRUE)))
|
||||
break;
|
||||
vimvars[VV_KEY].vv_str = vim_strsave(di->di_key);
|
||||
r = filter_map_one(&di->di_tv, expr, map, &rem);
|
||||
@@ -10812,7 +10867,7 @@ filter_map(typval_T *argvars, typval_T *rettv, int map)
|
||||
|
||||
for (li = l->lv_first; li != NULL; li = nli)
|
||||
{
|
||||
if (map && tv_check_lock(li->li_tv.v_lock, arg_errmsg, TRUE))
|
||||
if (map && var_check_lock(li->li_tv.v_lock, arg_errmsg, TRUE))
|
||||
break;
|
||||
nli = li->li_next;
|
||||
vimvars[VV_KEY].vv_nr = idx;
|
||||
|
||||
+58
-60
@@ -123,7 +123,7 @@ static void f_cosh(typval_T *argvars, typval_T *rettv);
|
||||
static void f_count(typval_T *argvars, typval_T *rettv);
|
||||
static void f_cscope_connection(typval_T *argvars, typval_T *rettv);
|
||||
static void f_cursor(typval_T *argsvars, typval_T *rettv);
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
static void f_debugbreak(typval_T *argvars, typval_T *rettv);
|
||||
#endif
|
||||
static void f_deepcopy(typval_T *argvars, typval_T *rettv);
|
||||
@@ -599,7 +599,7 @@ static struct fst
|
||||
{"count", 2, 4, f_count},
|
||||
{"cscope_connection",0,3, f_cscope_connection},
|
||||
{"cursor", 1, 3, f_cursor},
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
{"debugbreak", 1, 1, f_debugbreak},
|
||||
#endif
|
||||
{"deepcopy", 1, 2, f_deepcopy},
|
||||
@@ -1248,7 +1248,7 @@ f_add(typval_T *argvars, typval_T *rettv)
|
||||
if (argvars[0].v_type == VAR_LIST)
|
||||
{
|
||||
if ((l = argvars[0].vval.v_list) != NULL
|
||||
&& !tv_check_lock(l->lv_lock,
|
||||
&& !var_check_lock(l->lv_lock,
|
||||
(char_u *)N_("add() argument"), TRUE)
|
||||
&& list_append_tv(l, &argvars[1]) == OK)
|
||||
copy_tv(&argvars[0], rettv);
|
||||
@@ -1256,7 +1256,7 @@ f_add(typval_T *argvars, typval_T *rettv)
|
||||
else if (argvars[0].v_type == VAR_BLOB)
|
||||
{
|
||||
if ((b = argvars[0].vval.v_blob) != NULL
|
||||
&& !tv_check_lock(b->bv_lock,
|
||||
&& !var_check_lock(b->bv_lock,
|
||||
(char_u *)N_("add() argument"), TRUE))
|
||||
{
|
||||
int error = FALSE;
|
||||
@@ -2884,7 +2884,7 @@ f_cursor(typval_T *argvars, typval_T *rettv)
|
||||
rettv->vval.v_number = 0;
|
||||
}
|
||||
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
/*
|
||||
* "debugbreak()" function
|
||||
*/
|
||||
@@ -3579,7 +3579,7 @@ f_extend(typval_T *argvars, typval_T *rettv)
|
||||
|
||||
l1 = argvars[0].vval.v_list;
|
||||
l2 = argvars[1].vval.v_list;
|
||||
if (l1 != NULL && !tv_check_lock(l1->lv_lock, arg_errmsg, TRUE)
|
||||
if (l1 != NULL && !var_check_lock(l1->lv_lock, arg_errmsg, TRUE)
|
||||
&& l2 != NULL)
|
||||
{
|
||||
if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
@@ -3615,7 +3615,7 @@ f_extend(typval_T *argvars, typval_T *rettv)
|
||||
|
||||
d1 = argvars[0].vval.v_dict;
|
||||
d2 = argvars[1].vval.v_dict;
|
||||
if (d1 != NULL && !tv_check_lock(d1->dv_lock, arg_errmsg, TRUE)
|
||||
if (d1 != NULL && !var_check_lock(d1->dv_lock, arg_errmsg, TRUE)
|
||||
&& d2 != NULL)
|
||||
{
|
||||
/* Check the third argument. */
|
||||
@@ -4137,7 +4137,7 @@ f_foreground(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
|
||||
if (gui.in_use)
|
||||
gui_mch_set_foreground();
|
||||
#else
|
||||
# ifdef WIN32
|
||||
# ifdef MSWIN
|
||||
win32_set_foreground();
|
||||
# endif
|
||||
#endif
|
||||
@@ -5279,6 +5279,8 @@ f_getjumplist(typval_T *argvars, typval_T *rettv)
|
||||
if (wp == NULL)
|
||||
return;
|
||||
|
||||
cleanup_jumplist(wp, TRUE);
|
||||
|
||||
l = list_alloc();
|
||||
if (l == NULL)
|
||||
return;
|
||||
@@ -5287,8 +5289,6 @@ f_getjumplist(typval_T *argvars, typval_T *rettv)
|
||||
return;
|
||||
list_append_number(rettv->vval.v_list, (varnumber_T)wp->w_jumplistidx);
|
||||
|
||||
cleanup_jumplist(wp, TRUE);
|
||||
|
||||
for (i = 0; i < wp->w_jumplistlen; ++i)
|
||||
{
|
||||
if (wp->w_jumplist[i].fmark.mark.lnum == 0)
|
||||
@@ -5808,7 +5808,7 @@ f_getwininfo(typval_T *argvars, typval_T *rettv)
|
||||
|
||||
if (argvars[0].v_type != VAR_UNKNOWN)
|
||||
{
|
||||
wparg = win_id2wp(argvars);
|
||||
wparg = win_id2wp(tv_get_number(&argvars[0]));
|
||||
if (wparg == NULL)
|
||||
return;
|
||||
}
|
||||
@@ -6160,7 +6160,7 @@ f_has(typval_T *argvars, typval_T *rettv)
|
||||
#ifdef VMS
|
||||
"vms",
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
"win32",
|
||||
#endif
|
||||
#if defined(UNIX) && (defined(__CYGWIN32__) || defined(__CYGWIN__))
|
||||
@@ -6190,7 +6190,7 @@ f_has(typval_T *argvars, typval_T *rettv)
|
||||
#endif
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
"balloon_eval",
|
||||
# ifndef FEAT_GUI_W32 /* other GUIs always have multiline balloons */
|
||||
# ifndef FEAT_GUI_MSWIN /* other GUIs always have multiline balloons */
|
||||
"balloon_multiline",
|
||||
# endif
|
||||
#endif
|
||||
@@ -6204,7 +6204,7 @@ f_has(typval_T *argvars, typval_T *rettv)
|
||||
# endif
|
||||
#endif
|
||||
#if defined(FEAT_BROWSE) && (defined(USE_FILE_CHOOSER) \
|
||||
|| defined(FEAT_GUI_W32) \
|
||||
|| defined(FEAT_GUI_MSWIN) \
|
||||
|| defined(FEAT_GUI_MOTIF))
|
||||
"browsefilter",
|
||||
#endif
|
||||
@@ -6276,9 +6276,6 @@ f_has(typval_T *argvars, typval_T *rettv)
|
||||
#ifdef FEAT_SEARCH_EXTRA
|
||||
"extra_search",
|
||||
#endif
|
||||
#ifdef FEAT_FKMAP
|
||||
"farsi",
|
||||
#endif
|
||||
#ifdef FEAT_SEARCHPATH
|
||||
"file_in_path",
|
||||
#endif
|
||||
@@ -6339,7 +6336,7 @@ f_has(typval_T *argvars, typval_T *rettv)
|
||||
#ifdef FEAT_GUI_PHOTON
|
||||
"gui_photon",
|
||||
#endif
|
||||
#ifdef FEAT_GUI_W32
|
||||
#ifdef FEAT_GUI_MSWIN
|
||||
"gui_win32",
|
||||
#endif
|
||||
#ifdef FEAT_HANGULIN
|
||||
@@ -6546,7 +6543,7 @@ f_has(typval_T *argvars, typval_T *rettv)
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
"termguicolors",
|
||||
#endif
|
||||
#if defined(FEAT_TERMINAL) && !defined(WIN3264)
|
||||
#if defined(FEAT_TERMINAL) && !defined(MSWIN)
|
||||
"terminal",
|
||||
#endif
|
||||
#ifdef TERMINFO
|
||||
@@ -6684,7 +6681,7 @@ f_has(typval_T *argvars, typval_T *rettv)
|
||||
n = stdout_isatty;
|
||||
else if (STRICMP(name, "multi_byte_encoding") == 0)
|
||||
n = has_mbyte;
|
||||
#if defined(FEAT_BEVAL) && defined(FEAT_GUI_W32)
|
||||
#if defined(FEAT_BEVAL) && defined(FEAT_GUI_MSWIN)
|
||||
else if (STRICMP(name, "balloon_multiline") == 0)
|
||||
n = multiline_balloon_available();
|
||||
#endif
|
||||
@@ -6757,11 +6754,11 @@ f_has(typval_T *argvars, typval_T *rettv)
|
||||
else if (STRICMP(name, "netbeans_enabled") == 0)
|
||||
n = netbeans_active();
|
||||
#endif
|
||||
#if defined(FEAT_TERMINAL) && defined(WIN3264)
|
||||
#if defined(FEAT_TERMINAL) && defined(MSWIN)
|
||||
else if (STRICMP(name, "terminal") == 0)
|
||||
n = terminal_enabled();
|
||||
#endif
|
||||
#if defined(FEAT_TERMINAL) && defined(WIN3264)
|
||||
#if defined(FEAT_TERMINAL) && defined(MSWIN)
|
||||
else if (STRICMP(name, "conpty") == 0)
|
||||
n = use_conpty();
|
||||
#endif
|
||||
@@ -6840,7 +6837,7 @@ f_histadd(typval_T *argvars UNUSED, typval_T *rettv)
|
||||
#endif
|
||||
|
||||
rettv->vval.v_number = FALSE;
|
||||
if (check_restricted() || check_secure())
|
||||
if (check_secure())
|
||||
return;
|
||||
#ifdef FEAT_CMDHIST
|
||||
str = tv_get_string_chk(&argvars[0]); /* NULL on type error */
|
||||
@@ -7289,8 +7286,9 @@ f_insert(typval_T *argvars, typval_T *rettv)
|
||||
}
|
||||
else if (argvars[0].v_type != VAR_LIST)
|
||||
semsg(_(e_listblobarg), "insert()");
|
||||
else if ((l = argvars[0].vval.v_list) != NULL && !tv_check_lock(l->lv_lock,
|
||||
(char_u *)N_("insert() argument"), TRUE))
|
||||
else if ((l = argvars[0].vval.v_list) != NULL
|
||||
&& !var_check_lock(l->lv_lock,
|
||||
(char_u *)N_("insert() argument"), TRUE))
|
||||
{
|
||||
if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
before = (long)tv_get_number_chk(&argvars[2], &error);
|
||||
@@ -7921,6 +7919,9 @@ f_luaeval(typval_T *argvars, typval_T *rettv)
|
||||
char_u *str;
|
||||
char_u buf[NUMBUFLEN];
|
||||
|
||||
if (check_restricted() || check_secure())
|
||||
return;
|
||||
|
||||
str = tv_get_string_buf(&argvars[0], buf);
|
||||
do_luaeval(str, argvars + 1, rettv);
|
||||
}
|
||||
@@ -8667,6 +8668,8 @@ f_mzeval(typval_T *argvars, typval_T *rettv)
|
||||
char_u *str;
|
||||
char_u buf[NUMBUFLEN];
|
||||
|
||||
if (check_restricted() || check_secure())
|
||||
return;
|
||||
str = tv_get_string_buf(&argvars[0], buf);
|
||||
do_mzeval(str, rettv);
|
||||
}
|
||||
@@ -8955,6 +8958,9 @@ f_py3eval(typval_T *argvars, typval_T *rettv)
|
||||
char_u *str;
|
||||
char_u buf[NUMBUFLEN];
|
||||
|
||||
if (check_restricted() || check_secure())
|
||||
return;
|
||||
|
||||
if (p_pyx == 0)
|
||||
p_pyx = 3;
|
||||
|
||||
@@ -8973,6 +8979,9 @@ f_pyeval(typval_T *argvars, typval_T *rettv)
|
||||
char_u *str;
|
||||
char_u buf[NUMBUFLEN];
|
||||
|
||||
if (check_restricted() || check_secure())
|
||||
return;
|
||||
|
||||
if (p_pyx == 0)
|
||||
p_pyx = 2;
|
||||
|
||||
@@ -8988,6 +8997,9 @@ f_pyeval(typval_T *argvars, typval_T *rettv)
|
||||
static void
|
||||
f_pyxeval(typval_T *argvars, typval_T *rettv)
|
||||
{
|
||||
if (check_restricted() || check_secure())
|
||||
return;
|
||||
|
||||
# if defined(FEAT_PYTHON) && defined(FEAT_PYTHON3)
|
||||
init_pyxversion();
|
||||
if (p_pyx == 2)
|
||||
@@ -9320,7 +9332,7 @@ list2proftime(typval_T *arg, proftime_T *tm)
|
||||
return FAIL;
|
||||
n1 = list_find_nr(arg->vval.v_list, 0L, &error);
|
||||
n2 = list_find_nr(arg->vval.v_list, 1L, &error);
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
tm->HighPart = n1;
|
||||
tm->LowPart = n2;
|
||||
# else
|
||||
@@ -9365,7 +9377,7 @@ f_reltime(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
|
||||
{
|
||||
long n1, n2;
|
||||
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
n1 = res.HighPart;
|
||||
n2 = res.LowPart;
|
||||
# else
|
||||
@@ -9454,7 +9466,7 @@ remote_common(typval_T *argvars, typval_T *rettv, int expr)
|
||||
char_u *r = NULL;
|
||||
char_u buf[NUMBUFLEN];
|
||||
int timeout = 0;
|
||||
# ifdef WIN32
|
||||
# ifdef MSWIN
|
||||
HWND w;
|
||||
# elif defined(FEAT_X11)
|
||||
Window w;
|
||||
@@ -9477,7 +9489,7 @@ remote_common(typval_T *argvars, typval_T *rettv, int expr)
|
||||
if (server_name == NULL)
|
||||
return; /* type error; errmsg already given */
|
||||
keys = tv_get_string_buf(&argvars[1], buf);
|
||||
# if defined(WIN32) || defined(MAC_CLIENTSERVER)
|
||||
# if defined(MSWIN) || defined(MAC_CLIENTSERVER)
|
||||
if (serverSendToVim(server_name, keys, &r, &w, expr, timeout, TRUE) < 0)
|
||||
# else
|
||||
if (serverSendToVim(X_DISPLAY, server_name, keys, &r, &w, expr, timeout,
|
||||
@@ -9535,7 +9547,7 @@ f_remote_expr(typval_T *argvars UNUSED, typval_T *rettv)
|
||||
f_remote_foreground(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
|
||||
{
|
||||
#ifdef FEAT_CLIENTSERVER
|
||||
# ifdef WIN32
|
||||
# ifdef MSWIN
|
||||
/* On Win32 it's done in this application. */
|
||||
{
|
||||
char_u *server_name = tv_get_string_chk(&argvars[0]);
|
||||
@@ -9562,7 +9574,7 @@ f_remote_peek(typval_T *argvars UNUSED, typval_T *rettv)
|
||||
#ifdef FEAT_CLIENTSERVER
|
||||
dictitem_T v;
|
||||
char_u *s = NULL;
|
||||
# ifdef WIN32
|
||||
# ifdef MSWIN
|
||||
long_u n = 0;
|
||||
# endif
|
||||
char_u *serverid;
|
||||
@@ -9578,7 +9590,7 @@ f_remote_peek(typval_T *argvars UNUSED, typval_T *rettv)
|
||||
rettv->vval.v_number = -1;
|
||||
return; /* type error; errmsg already given */
|
||||
}
|
||||
# ifdef WIN32
|
||||
# ifdef MSWIN
|
||||
sscanf((const char *)serverid, SCANF_HEX_LONG_U, &n);
|
||||
if (n == 0)
|
||||
rettv->vval.v_number = -1;
|
||||
@@ -9624,7 +9636,7 @@ f_remote_read(typval_T *argvars UNUSED, typval_T *rettv)
|
||||
if (serverid != NULL && !check_restricted() && !check_secure())
|
||||
{
|
||||
int timeout = 0;
|
||||
# ifdef WIN32
|
||||
# ifdef MSWIN
|
||||
/* The server's HWND is encoded in the 'id' parameter */
|
||||
long_u n = 0;
|
||||
# endif
|
||||
@@ -9632,7 +9644,7 @@ f_remote_read(typval_T *argvars UNUSED, typval_T *rettv)
|
||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||
timeout = tv_get_number(&argvars[1]);
|
||||
|
||||
# ifdef WIN32
|
||||
# ifdef MSWIN
|
||||
sscanf((char *)serverid, SCANF_HEX_LONG_U, &n);
|
||||
if (n != 0)
|
||||
r = serverGetReply((HWND)n, FALSE, TRUE, TRUE, timeout);
|
||||
@@ -9715,7 +9727,7 @@ f_remove(typval_T *argvars, typval_T *rettv)
|
||||
if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
semsg(_(e_toomanyarg), "remove()");
|
||||
else if ((d = argvars[0].vval.v_dict) != NULL
|
||||
&& !tv_check_lock(d->dv_lock, arg_errmsg, TRUE))
|
||||
&& !var_check_lock(d->dv_lock, arg_errmsg, TRUE))
|
||||
{
|
||||
key = tv_get_string_chk(&argvars[1]);
|
||||
if (key != NULL)
|
||||
@@ -9798,7 +9810,7 @@ f_remove(typval_T *argvars, typval_T *rettv)
|
||||
else if (argvars[0].v_type != VAR_LIST)
|
||||
semsg(_(e_listdictblobarg), "remove()");
|
||||
else if ((l = argvars[0].vval.v_list) != NULL
|
||||
&& !tv_check_lock(l->lv_lock, arg_errmsg, TRUE))
|
||||
&& !var_check_lock(l->lv_lock, arg_errmsg, TRUE))
|
||||
{
|
||||
idx = (long)tv_get_number_chk(&argvars[1], &error);
|
||||
if (error)
|
||||
@@ -9929,7 +9941,7 @@ f_resolve(typval_T *argvars, typval_T *rettv)
|
||||
{
|
||||
char_u *v = NULL;
|
||||
|
||||
v = mch_resolve_shortcut(p);
|
||||
v = mch_resolve_path(p, TRUE);
|
||||
if (v != NULL)
|
||||
rettv->vval.v_string = v;
|
||||
else
|
||||
@@ -10145,7 +10157,7 @@ f_reverse(typval_T *argvars, typval_T *rettv)
|
||||
if (argvars[0].v_type != VAR_LIST)
|
||||
semsg(_(e_listblobarg), "reverse()");
|
||||
else if ((l = argvars[0].vval.v_list) != NULL
|
||||
&& !tv_check_lock(l->lv_lock,
|
||||
&& !var_check_lock(l->lv_lock,
|
||||
(char_u *)N_("reverse() argument"), TRUE))
|
||||
{
|
||||
li = l->lv_last;
|
||||
@@ -10808,7 +10820,7 @@ f_serverlist(typval_T *argvars UNUSED, typval_T *rettv)
|
||||
char_u *r = NULL;
|
||||
|
||||
#ifdef FEAT_CLIENTSERVER
|
||||
# if defined(WIN32) || defined(MAC_CLIENTSERVER)
|
||||
# if defined(MSWIN) || defined(MAC_CLIENTSERVER)
|
||||
r = serverGetVimNames();
|
||||
# elif defined(FEAT_X11)
|
||||
make_connection();
|
||||
@@ -10850,7 +10862,7 @@ f_setbufvar(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
typval_T *varp;
|
||||
char_u nbuf[NUMBUFLEN];
|
||||
|
||||
if (check_restricted() || check_secure())
|
||||
if (check_secure())
|
||||
return;
|
||||
(void)tv_get_number(&argvars[0]); /* issue errmsg if type error */
|
||||
varname = tv_get_string_chk(&argvars[1]);
|
||||
@@ -11372,7 +11384,7 @@ f_settabvar(typval_T *argvars, typval_T *rettv)
|
||||
|
||||
rettv->vval.v_number = 0;
|
||||
|
||||
if (check_restricted() || check_secure())
|
||||
if (check_secure())
|
||||
return;
|
||||
|
||||
tp = find_tabpage((int)tv_get_number_chk(&argvars[0], NULL));
|
||||
@@ -12129,7 +12141,7 @@ do_sort_uniq(typval_T *argvars, typval_T *rettv, int sort)
|
||||
else
|
||||
{
|
||||
l = argvars[0].vval.v_list;
|
||||
if (l == NULL || tv_check_lock(l->lv_lock,
|
||||
if (l == NULL || var_check_lock(l->lv_lock,
|
||||
(char_u *)(sort ? N_("sort() argument") : N_("uniq() argument")),
|
||||
TRUE))
|
||||
goto theend;
|
||||
@@ -13447,20 +13459,7 @@ get_cmd_output_as_rettv(
|
||||
else
|
||||
{
|
||||
res = get_cmd_output(tv_get_string(&argvars[0]), infile, flags, NULL);
|
||||
#ifdef USE_CR
|
||||
/* translate <CR> into <NL> */
|
||||
if (res != NULL)
|
||||
{
|
||||
char_u *s;
|
||||
|
||||
for (s = res; *s; ++s)
|
||||
{
|
||||
if (*s == CAR)
|
||||
*s = NL;
|
||||
}
|
||||
}
|
||||
#else
|
||||
# ifdef USE_CRNL
|
||||
#ifdef USE_CRNL
|
||||
/* translate <CR><NL> into <NL> */
|
||||
if (res != NULL)
|
||||
{
|
||||
@@ -13475,7 +13474,6 @@ get_cmd_output_as_rettv(
|
||||
}
|
||||
*d = NUL;
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
rettv->vval.v_string = res;
|
||||
res = NULL;
|
||||
@@ -14745,7 +14743,7 @@ f_writefile(typval_T *argvars, typval_T *rettv)
|
||||
blob_T *blob = NULL;
|
||||
|
||||
rettv->vval.v_number = -1;
|
||||
if (check_restricted() || check_secure())
|
||||
if (check_secure())
|
||||
return;
|
||||
|
||||
if (argvars[0].v_type == VAR_LIST)
|
||||
@@ -14807,7 +14805,7 @@ f_writefile(typval_T *argvars, typval_T *rettv)
|
||||
else if (do_fsync)
|
||||
// Ignore the error, the user wouldn't know what to do about it.
|
||||
// May happen for a device.
|
||||
vim_ignored = fsync(fileno(fd));
|
||||
vim_ignored = vim_fsync(fileno(fd));
|
||||
#endif
|
||||
fclose(fd);
|
||||
}
|
||||
@@ -14819,7 +14817,7 @@ f_writefile(typval_T *argvars, typval_T *rettv)
|
||||
else if (do_fsync)
|
||||
/* Ignore the error, the user wouldn't know what to do about it.
|
||||
* May happen for a device. */
|
||||
vim_ignored = fsync(fileno(fd));
|
||||
vim_ignored = vim_fsync(fileno(fd));
|
||||
#endif
|
||||
fclose(fd);
|
||||
}
|
||||
|
||||
+10
-21
@@ -1618,7 +1618,7 @@ do_shell(
|
||||
*/
|
||||
#ifndef FEAT_GUI_MSWIN
|
||||
if (cmd == NULL
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
|| (winstart && !need_wait_return)
|
||||
# endif
|
||||
)
|
||||
@@ -1643,7 +1643,7 @@ do_shell(
|
||||
# endif
|
||||
no_wait_return = save_nwr;
|
||||
}
|
||||
#endif /* FEAT_GUI_W32 */
|
||||
#endif /* FEAT_GUI_MSWIN */
|
||||
|
||||
#ifdef MSWIN
|
||||
if (!winstart) /* if winstart==TRUE, never stopped termcap! */
|
||||
@@ -1935,7 +1935,7 @@ write_viminfo(char_u *file, int forceit)
|
||||
int shortname = FALSE; /* use 8.3 file name */
|
||||
stat_T st_old; /* mch_stat() of existing viminfo file */
|
||||
#endif
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
int hidden = FALSE;
|
||||
#endif
|
||||
|
||||
@@ -1999,7 +1999,7 @@ write_viminfo(char_u *file, int forceit)
|
||||
goto end;
|
||||
}
|
||||
#endif
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
/* Get the file attributes of the existing viminfo file. */
|
||||
hidden = mch_ishidden(fname);
|
||||
#endif
|
||||
@@ -2098,7 +2098,7 @@ write_viminfo(char_u *file, int forceit)
|
||||
fp_out = NULL;
|
||||
# ifdef EEXIST
|
||||
/* Avoid trying lots of names while the problem is lack
|
||||
* of premission, only retry if the file already
|
||||
* of permission, only retry if the file already
|
||||
* exists. */
|
||||
if (errno != EEXIST)
|
||||
break;
|
||||
@@ -2195,7 +2195,7 @@ write_viminfo(char_u *file, int forceit)
|
||||
++viminfo_errcnt;
|
||||
semsg(_("E886: Can't rename viminfo file to %s!"), fname);
|
||||
}
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
/* If the viminfo file was hidden then also hide the new file. */
|
||||
else if (hidden)
|
||||
mch_hide(fname);
|
||||
@@ -3826,11 +3826,8 @@ do_ecmd(
|
||||
if (sfname == NULL)
|
||||
sfname = ffname;
|
||||
#ifdef USE_FNAME_CASE
|
||||
# ifdef USE_LONG_FNAME
|
||||
if (USE_LONG_FNAME)
|
||||
# endif
|
||||
if (sfname != NULL)
|
||||
fname_case(sfname, 0); /* set correct case for sfname */
|
||||
if (sfname != NULL)
|
||||
fname_case(sfname, 0); /* set correct case for sfname */
|
||||
#endif
|
||||
|
||||
if ((flags & ECMD_ADDBUF) && (ffname == NULL || *ffname == NUL))
|
||||
@@ -4775,7 +4772,7 @@ check_restricted(void)
|
||||
{
|
||||
if (restricted)
|
||||
{
|
||||
emsg(_("E145: Shell commands not allowed in rvim"));
|
||||
emsg(_("E145: Shell commands and some functionality not allowed in rvim"));
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
@@ -4914,10 +4911,6 @@ do_sub(exarg_T *eap)
|
||||
}
|
||||
else /* find the end of the regexp */
|
||||
{
|
||||
#ifdef FEAT_FKMAP /* reverse the flow of the Farsi characters */
|
||||
if (p_altkeymap && curwin->w_p_rl)
|
||||
lrF_sub(cmd);
|
||||
#endif
|
||||
which_pat = RE_LAST; /* use last used regexp */
|
||||
delimiter = *cmd++; /* remember delimiter character */
|
||||
pat = cmd; /* remember start of search pat */
|
||||
@@ -5040,6 +5033,7 @@ do_sub(exarg_T *eap)
|
||||
}
|
||||
subflags.do_error = TRUE;
|
||||
subflags.do_print = FALSE;
|
||||
subflags.do_list = FALSE;
|
||||
subflags.do_count = FALSE;
|
||||
subflags.do_number = FALSE;
|
||||
subflags.do_ic = 0;
|
||||
@@ -6072,11 +6066,6 @@ ex_global(exarg_T *eap)
|
||||
*cmd++ = NUL; /* replace it with a NUL */
|
||||
}
|
||||
|
||||
#ifdef FEAT_FKMAP /* when in Farsi mode, reverse the character flow */
|
||||
if (p_altkeymap && curwin->w_p_rl)
|
||||
lrFswap(pat,0);
|
||||
#endif
|
||||
|
||||
if (search_regcomp(pat, RE_BOTH, which_pat, SEARCH_HIS, ®match) == FAIL)
|
||||
{
|
||||
emsg(_(e_invcmd));
|
||||
|
||||
+23
-22
@@ -57,6 +57,7 @@
|
||||
* curbuf_lock is set */
|
||||
#define MODIFY 0x200000L /* forbidden in non-'modifiable' buffer */
|
||||
#define EXFLAGS 0x400000L /* allow flags after count in argument */
|
||||
#define RESTRICT 0x800000L /* forbidden in restricted mode */
|
||||
#define FILES (XFILE | EXTRA) /* multiple extra files allowed */
|
||||
#define WORD1 (EXTRA | NOSPC) /* one extra word allowed */
|
||||
#define FILE1 (FILES | NOSPC) /* 1 file allowed, defaults to current file */
|
||||
@@ -861,13 +862,13 @@ EX(CMD_lunmap, "lunmap", ex_unmap,
|
||||
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
|
||||
ADDR_LINES),
|
||||
EX(CMD_lua, "lua", ex_lua,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_luado, "luado", ex_luado,
|
||||
RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_luafile, "luafile", ex_luafile,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_lvimgrep, "lvimgrep", ex_vimgrep,
|
||||
RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
|
||||
@@ -936,10 +937,10 @@ EX(CMD_mode, "mode", ex_mode,
|
||||
WORD1|TRLBAR|CMDWIN,
|
||||
ADDR_LINES),
|
||||
EX(CMD_mzscheme, "mzscheme", ex_mzscheme,
|
||||
RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN|SBOXOK,
|
||||
RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN|SBOXOK|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_mzfile, "mzfile", ex_mzfile,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_next, "next", ex_next,
|
||||
RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
|
||||
@@ -1122,37 +1123,37 @@ EX(CMD_pwd, "pwd", ex_pwd,
|
||||
TRLBAR|CMDWIN,
|
||||
ADDR_LINES),
|
||||
EX(CMD_python, "python", ex_python,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_pydo, "pydo", ex_pydo,
|
||||
RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_pyfile, "pyfile", ex_pyfile,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_py3, "py3", ex_py3,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_py3do, "py3do", ex_py3do,
|
||||
RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_python3, "python3", ex_py3,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_py3file, "py3file", ex_py3file,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_pyx, "pyx", ex_pyx,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_pyxdo, "pyxdo", ex_pyxdo,
|
||||
RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_pythonx, "pythonx", ex_pyx,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_pyxfile, "pyxfile", ex_pyxfile,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_quit, "quit", ex_quit,
|
||||
BANG|RANGE|COUNT|NOTADR|TRLBAR|CMDWIN,
|
||||
@@ -1209,13 +1210,13 @@ EX(CMD_runtime, "runtime", ex_runtime,
|
||||
BANG|NEEDARG|FILES|TRLBAR|SBOXOK|CMDWIN,
|
||||
ADDR_LINES),
|
||||
EX(CMD_ruby, "ruby", ex_ruby,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_rubydo, "rubydo", ex_rubydo,
|
||||
RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_rubyfile, "rubyfile", ex_rubyfile,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_rundo, "rundo", ex_rundo,
|
||||
NEEDARG|FILE1,
|
||||
@@ -1482,13 +1483,13 @@ EX(CMD_tabs, "tabs", ex_tabs,
|
||||
TRLBAR|CMDWIN,
|
||||
ADDR_TABS),
|
||||
EX(CMD_tcl, "tcl", ex_tcl,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_tcldo, "tcldo", ex_tcldo,
|
||||
RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN,
|
||||
RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_tclfile, "tclfile", ex_tclfile,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
|
||||
ADDR_LINES),
|
||||
EX(CMD_tearoff, "tearoff", ex_tearoff,
|
||||
NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN,
|
||||
|
||||
+26
-129
@@ -1048,7 +1048,7 @@ dbg_breakpoint(char_u *name, linenr_T lnum)
|
||||
void
|
||||
profile_start(proftime_T *tm)
|
||||
{
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
QueryPerformanceCounter(tm);
|
||||
# else
|
||||
gettimeofday(tm, NULL);
|
||||
@@ -1063,7 +1063,7 @@ profile_end(proftime_T *tm)
|
||||
{
|
||||
proftime_T now;
|
||||
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
QueryPerformanceCounter(&now);
|
||||
tm->QuadPart = now.QuadPart - tm->QuadPart;
|
||||
# else
|
||||
@@ -1084,7 +1084,7 @@ profile_end(proftime_T *tm)
|
||||
void
|
||||
profile_sub(proftime_T *tm, proftime_T *tm2)
|
||||
{
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
tm->QuadPart -= tm2->QuadPart;
|
||||
# else
|
||||
tm->tv_usec -= tm2->tv_usec;
|
||||
@@ -1106,7 +1106,7 @@ profile_msg(proftime_T *tm)
|
||||
{
|
||||
static char buf[50];
|
||||
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
LARGE_INTEGER fr;
|
||||
|
||||
QueryPerformanceFrequency(&fr);
|
||||
@@ -1124,7 +1124,7 @@ profile_msg(proftime_T *tm)
|
||||
float_T
|
||||
profile_float(proftime_T *tm)
|
||||
{
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
LARGE_INTEGER fr;
|
||||
|
||||
QueryPerformanceFrequency(&fr);
|
||||
@@ -1145,7 +1145,7 @@ profile_setlimit(long msec, proftime_T *tm)
|
||||
profile_zero(tm);
|
||||
else
|
||||
{
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
LARGE_INTEGER fr;
|
||||
|
||||
QueryPerformanceCounter(tm);
|
||||
@@ -1170,7 +1170,7 @@ profile_passed_limit(proftime_T *tm)
|
||||
{
|
||||
proftime_T now;
|
||||
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
if (tm->QuadPart == 0) /* timer was not set */
|
||||
return FALSE;
|
||||
QueryPerformanceCounter(&now);
|
||||
@@ -1190,7 +1190,7 @@ profile_passed_limit(proftime_T *tm)
|
||||
void
|
||||
profile_zero(proftime_T *tm)
|
||||
{
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
tm->QuadPart = 0;
|
||||
# else
|
||||
tm->tv_usec = 0;
|
||||
@@ -1207,7 +1207,7 @@ static long last_timer_id = 0;
|
||||
long
|
||||
proftime_time_left(proftime_T *due, proftime_T *now)
|
||||
{
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
LARGE_INTEGER fr;
|
||||
|
||||
if (now->QuadPart > due->QuadPart)
|
||||
@@ -1359,7 +1359,6 @@ check_due_timer(void)
|
||||
did_throw = FALSE;
|
||||
current_exception = NULL;
|
||||
save_vimvars(&vvsave);
|
||||
|
||||
timer->tr_firing = TRUE;
|
||||
timer_callback(timer);
|
||||
timer->tr_firing = FALSE;
|
||||
@@ -1593,7 +1592,7 @@ profile_divide(proftime_T *tm, int count, proftime_T *tm2)
|
||||
profile_zero(tm2);
|
||||
else
|
||||
{
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
tm2->QuadPart = tm->QuadPart / count;
|
||||
# else
|
||||
double usec = (tm->tv_sec * 1000000.0 + tm->tv_usec) / count;
|
||||
@@ -1618,7 +1617,7 @@ static proftime_T prof_wait_time;
|
||||
void
|
||||
profile_add(proftime_T *tm, proftime_T *tm2)
|
||||
{
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
tm->QuadPart += tm2->QuadPart;
|
||||
# else
|
||||
tm->tv_usec += tm2->tv_usec;
|
||||
@@ -1639,7 +1638,7 @@ profile_self(proftime_T *self, proftime_T *total, proftime_T *children)
|
||||
{
|
||||
/* Check that the result won't be negative. Can happen with recursive
|
||||
* calls. */
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
if (total->QuadPart <= children->QuadPart)
|
||||
return;
|
||||
#else
|
||||
@@ -1679,7 +1678,7 @@ profile_sub_wait(proftime_T *tm, proftime_T *tma)
|
||||
int
|
||||
profile_equal(proftime_T *tm1, proftime_T *tm2)
|
||||
{
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
return (tm1->QuadPart == tm2->QuadPart);
|
||||
# else
|
||||
return (tm1->tv_usec == tm2->tv_usec && tm1->tv_sec == tm2->tv_sec);
|
||||
@@ -1692,7 +1691,7 @@ profile_equal(proftime_T *tm1, proftime_T *tm2)
|
||||
int
|
||||
profile_cmp(const proftime_T *tm1, const proftime_T *tm2)
|
||||
{
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
return (int)(tm2->QuadPart - tm1->QuadPart);
|
||||
# else
|
||||
if (tm1->tv_sec == tm2->tv_sec)
|
||||
@@ -4316,7 +4315,7 @@ struct source_cookie
|
||||
FILE *fp; /* opened file for sourcing */
|
||||
char_u *nextline; /* if not NULL: line that was read ahead */
|
||||
int finished; /* ":finish" used */
|
||||
#if defined(USE_CRNL) || defined(USE_CR)
|
||||
#ifdef USE_CRNL
|
||||
int fileformat; /* EOL_UNKNOWN, EOL_UNIX or EOL_DOS */
|
||||
int error; /* TRUE if LF found after CR-LF */
|
||||
#endif
|
||||
@@ -4360,7 +4359,7 @@ source_level(void *cookie)
|
||||
|
||||
static char_u *get_one_sourceline(struct source_cookie *sp);
|
||||
|
||||
#if (defined(WIN32) && defined(FEAT_CSCOPE)) || defined(HAVE_FD_CLOEXEC)
|
||||
#if (defined(MSWIN) && defined(FEAT_CSCOPE)) || defined(HAVE_FD_CLOEXEC)
|
||||
# define USE_FOPEN_NOINH
|
||||
/*
|
||||
* Special function to open a file without handle inheritance.
|
||||
@@ -4369,7 +4368,7 @@ static char_u *get_one_sourceline(struct source_cookie *sp);
|
||||
static FILE *
|
||||
fopen_noinh_readbin(char *filename)
|
||||
{
|
||||
# ifdef WIN32
|
||||
# ifdef MSWIN
|
||||
int fd_tmp = mch_open(filename, O_RDONLY | O_BINARY | O_NOINHERIT, 0);
|
||||
# else
|
||||
int fd_tmp = mch_open(filename, O_RDONLY, 0);
|
||||
@@ -4538,15 +4537,6 @@ do_source(
|
||||
cookie.error = FALSE;
|
||||
#endif
|
||||
|
||||
#ifdef USE_CR
|
||||
/* If no automatic file format: Set default to CR. */
|
||||
if (*p_ffs == NUL)
|
||||
cookie.fileformat = EOL_MAC;
|
||||
else
|
||||
cookie.fileformat = EOL_UNKNOWN;
|
||||
cookie.error = FALSE;
|
||||
#endif
|
||||
|
||||
cookie.nextline = NULL;
|
||||
cookie.finished = FALSE;
|
||||
|
||||
@@ -4841,59 +4831,6 @@ free_scriptnames(void)
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(USE_CR) || defined(PROTO)
|
||||
|
||||
# if defined(__MSL__) && (__MSL__ >= 22)
|
||||
/*
|
||||
* Newer version of the Metrowerks library handle DOS and UNIX files
|
||||
* without help.
|
||||
* Test with earlier versions, MSL 2.2 is the library supplied with
|
||||
* Codewarrior Pro 2.
|
||||
*/
|
||||
char *
|
||||
fgets_cr(char *s, int n, FILE *stream)
|
||||
{
|
||||
return fgets(s, n, stream);
|
||||
}
|
||||
# else
|
||||
/*
|
||||
* Version of fgets() which also works for lines ending in a <CR> only
|
||||
* (Macintosh format).
|
||||
* For older versions of the Metrowerks library.
|
||||
* At least CodeWarrior 9 needed this code.
|
||||
*/
|
||||
char *
|
||||
fgets_cr(char *s, int n, FILE *stream)
|
||||
{
|
||||
int c = 0;
|
||||
int char_read = 0;
|
||||
|
||||
while (!feof(stream) && c != '\r' && c != '\n' && char_read < n - 1)
|
||||
{
|
||||
c = fgetc(stream);
|
||||
s[char_read++] = c;
|
||||
/* If the file is in DOS format, we need to skip a NL after a CR. I
|
||||
* thought it was the other way around, but this appears to work... */
|
||||
if (c == '\n')
|
||||
{
|
||||
c = fgetc(stream);
|
||||
if (c != '\r')
|
||||
ungetc(c, stream);
|
||||
}
|
||||
}
|
||||
|
||||
s[char_read] = 0;
|
||||
if (char_read == 0)
|
||||
return NULL;
|
||||
|
||||
if (feof(stream) && char_read == 1)
|
||||
return NULL;
|
||||
|
||||
return s;
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Get one full line from a sourced file.
|
||||
* Called by do_cmdline() when it's called from do_source().
|
||||
@@ -5026,9 +4963,6 @@ get_one_sourceline(struct source_cookie *sp)
|
||||
char_u *buf;
|
||||
#ifdef USE_CRNL
|
||||
int has_cr; /* CR-LF found */
|
||||
#endif
|
||||
#ifdef USE_CR
|
||||
char_u *scan;
|
||||
#endif
|
||||
int have_read = FALSE;
|
||||
|
||||
@@ -5046,18 +4980,9 @@ get_one_sourceline(struct source_cookie *sp)
|
||||
break;
|
||||
buf = (char_u *)ga.ga_data;
|
||||
|
||||
#ifdef USE_CR
|
||||
if (sp->fileformat == EOL_MAC)
|
||||
{
|
||||
if (fgets_cr((char *)buf + ga.ga_len, ga.ga_maxlen - ga.ga_len,
|
||||
if (fgets((char *)buf + ga.ga_len, ga.ga_maxlen - ga.ga_len,
|
||||
sp->fp) == NULL)
|
||||
break;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
if (fgets((char *)buf + ga.ga_len, ga.ga_maxlen - ga.ga_len,
|
||||
sp->fp) == NULL)
|
||||
break;
|
||||
break;
|
||||
len = ga.ga_len + (int)STRLEN(buf + ga.ga_len);
|
||||
#ifdef USE_CRNL
|
||||
/* Ignore a trailing CTRL-Z, when in Dos mode. Only recognize the
|
||||
@@ -5071,34 +4996,6 @@ get_one_sourceline(struct source_cookie *sp)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef USE_CR
|
||||
/* If the read doesn't stop on a new line, and there's
|
||||
* some CR then we assume a Mac format */
|
||||
if (sp->fileformat == EOL_UNKNOWN)
|
||||
{
|
||||
if (buf[len - 1] != '\n' && vim_strchr(buf, '\r') != NULL)
|
||||
sp->fileformat = EOL_MAC;
|
||||
else
|
||||
sp->fileformat = EOL_UNIX;
|
||||
}
|
||||
|
||||
if (sp->fileformat == EOL_MAC)
|
||||
{
|
||||
scan = vim_strchr(buf, '\r');
|
||||
|
||||
if (scan != NULL)
|
||||
{
|
||||
*scan = '\n';
|
||||
if (*(scan + 1) != 0)
|
||||
{
|
||||
*(scan + 1) = 0;
|
||||
fseek(sp->fp, (long)(scan - buf - len + 1), SEEK_CUR);
|
||||
}
|
||||
}
|
||||
len = STRLEN(buf);
|
||||
}
|
||||
#endif
|
||||
|
||||
have_read = TRUE;
|
||||
ga.ga_len = len;
|
||||
|
||||
@@ -5377,7 +5274,7 @@ get_locale_val(int what)
|
||||
/* Obtain the locale value from the libraries. */
|
||||
loc = (char_u *)setlocale(what, NULL);
|
||||
|
||||
# ifdef WIN32
|
||||
# ifdef MSWIN
|
||||
if (loc != NULL)
|
||||
{
|
||||
char_u *p;
|
||||
@@ -5406,7 +5303,7 @@ get_locale_val(int what)
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
/*
|
||||
* On MS-Windows locale names are strings like "German_Germany.1252", but
|
||||
* gettext expects "de". Try to translate one into another here for a few
|
||||
@@ -5483,7 +5380,7 @@ get_mess_lang(void)
|
||||
p = mch_getenv((char_u *)"LANG");
|
||||
}
|
||||
# endif
|
||||
# ifdef WIN32
|
||||
# ifdef MSWIN
|
||||
p = gettext_lang(p);
|
||||
# endif
|
||||
return is_valid_mess_lang(p) ? p : NULL;
|
||||
@@ -5655,7 +5552,7 @@ ex_language(exarg_T *eap)
|
||||
|
||||
/* Clear $LANGUAGE because GNU gettext uses it. */
|
||||
vim_setenv((char_u *)"LANGUAGE", (char_u *)"");
|
||||
# ifdef WIN32
|
||||
# ifdef MSWIN
|
||||
/* Apparently MS-Windows printf() may cause a crash when
|
||||
* we give it 8-bit text while it's expecting text in the
|
||||
* current locale. This call avoids that. */
|
||||
@@ -5665,7 +5562,7 @@ ex_language(exarg_T *eap)
|
||||
if (what != LC_CTYPE)
|
||||
{
|
||||
char_u *mname;
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
mname = gettext_lang(name);
|
||||
#else
|
||||
mname = name;
|
||||
@@ -5692,7 +5589,7 @@ ex_language(exarg_T *eap)
|
||||
|
||||
static char_u **locales = NULL; /* Array of all available locales */
|
||||
|
||||
# ifndef WIN32
|
||||
# ifndef MSWIN
|
||||
static int did_init_locales = FALSE;
|
||||
|
||||
/* Return an array of strings for all available locales + NULL for the
|
||||
@@ -5743,7 +5640,7 @@ find_locales(void)
|
||||
static void
|
||||
init_locales(void)
|
||||
{
|
||||
# ifndef WIN32
|
||||
# ifndef MSWIN
|
||||
if (!did_init_locales)
|
||||
{
|
||||
did_init_locales = TRUE;
|
||||
|
||||
+11
-3
@@ -177,7 +177,7 @@ static void ex_edit(exarg_T *eap);
|
||||
# define ex_gui ex_nogui
|
||||
static void ex_nogui(exarg_T *eap);
|
||||
#endif
|
||||
#if defined(FEAT_GUI_W32) && defined(FEAT_MENU) && defined(FEAT_TEAROFF)
|
||||
#if defined(FEAT_GUI_MSWIN) && defined(FEAT_MENU) && defined(FEAT_TEAROFF)
|
||||
static void ex_tearoff(exarg_T *eap);
|
||||
#else
|
||||
# define ex_tearoff ex_ni
|
||||
@@ -2014,11 +2014,16 @@ do_one_cmd(
|
||||
#ifdef HAVE_SANDBOX
|
||||
if (sandbox != 0 && !(ea.argt & SBOXOK))
|
||||
{
|
||||
/* Command not allowed in sandbox. */
|
||||
// Command not allowed in sandbox.
|
||||
errormsg = _(e_sandbox);
|
||||
goto doend;
|
||||
}
|
||||
#endif
|
||||
if (restricted != 0 && (ea.argt & RESTRICT))
|
||||
{
|
||||
errormsg = _("E981: Command not allowed in rvim");
|
||||
goto doend;
|
||||
}
|
||||
if (!curbuf->b_p_ma && (ea.argt & MODIFY))
|
||||
{
|
||||
/* Command not allowed in non-'modifiable' buffer */
|
||||
@@ -8877,7 +8882,7 @@ ex_nogui(exarg_T *eap)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_GUI_W32) && defined(FEAT_MENU) && defined(FEAT_TEAROFF)
|
||||
#if defined(FEAT_GUI_MSWIN) && defined(FEAT_MENU) && defined(FEAT_TEAROFF)
|
||||
static void
|
||||
ex_tearoff(exarg_T *eap)
|
||||
{
|
||||
@@ -9865,6 +9870,9 @@ ex_redraw(exarg_T *eap)
|
||||
#ifdef FEAT_TITLE
|
||||
if (need_maketitle)
|
||||
maketitle();
|
||||
#endif
|
||||
#if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
|
||||
resize_console_buf();
|
||||
#endif
|
||||
RedrawingDisabled = r;
|
||||
p_lz = p;
|
||||
|
||||
+29
-99
@@ -81,10 +81,6 @@ static int hist_char2type(int c);
|
||||
static int cmd_hkmap = 0; /* Hebrew mapping during command line */
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_FKMAP
|
||||
static int cmd_fkmap = 0; /* Farsi mapping during command line */
|
||||
#endif
|
||||
|
||||
static char_u *getcmdline_int(int firstc, long count, int indent, int init_ccline);
|
||||
static int cmdline_charsize(int idx);
|
||||
static void set_cmdspos(void);
|
||||
@@ -1043,10 +1039,6 @@ getcmdline_int(
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (cmd_hkmap)
|
||||
c = hkmap(c);
|
||||
# ifdef FEAT_FKMAP
|
||||
if (cmd_fkmap)
|
||||
c = cmdl_fkmap(c);
|
||||
# endif
|
||||
if (cmdmsg_rl && !KeyStuffed)
|
||||
{
|
||||
/* Invert horizontal movements and operations. Only when
|
||||
@@ -1595,10 +1587,6 @@ getcmdline_int(
|
||||
case K_DEL:
|
||||
case K_KDEL:
|
||||
case Ctrl_W:
|
||||
#ifdef FEAT_FKMAP
|
||||
if (cmd_fkmap && c == K_BS)
|
||||
c = K_DEL;
|
||||
#endif
|
||||
if (c == K_KDEL)
|
||||
c = K_DEL;
|
||||
|
||||
@@ -1694,13 +1682,6 @@ getcmdline_int(
|
||||
|
||||
case K_INS:
|
||||
case K_KINS:
|
||||
#ifdef FEAT_FKMAP
|
||||
/* if Farsi mode set, we are in reverse insert mode -
|
||||
Do not change the mode */
|
||||
if (cmd_fkmap)
|
||||
beep_flush();
|
||||
else
|
||||
#endif
|
||||
ccline.overstrike = !ccline.overstrike;
|
||||
#ifdef CURSOR_SHAPE
|
||||
ui_cursor_shape(); /* may show different cursor shape */
|
||||
@@ -1918,9 +1899,9 @@ getcmdline_int(
|
||||
/* Ignore mouse event or open_cmdwin() result. */
|
||||
goto cmdline_not_changed;
|
||||
|
||||
#ifdef FEAT_GUI_W32
|
||||
/* On Win32 ignore <M-F4>, we get it when closing the window was
|
||||
* cancelled. */
|
||||
#ifdef FEAT_GUI_MSWIN
|
||||
/* On MS-Windows ignore <M-F4>, we get it when closing the window
|
||||
* was cancelled. */
|
||||
case K_F4:
|
||||
if (mod_mask == MOD_MASK_ALT)
|
||||
{
|
||||
@@ -2318,16 +2299,7 @@ getcmdline_int(
|
||||
case Ctrl__: /* CTRL-_: switch language mode */
|
||||
if (!p_ari)
|
||||
break;
|
||||
# ifdef FEAT_FKMAP
|
||||
if (p_altkeymap)
|
||||
{
|
||||
cmd_fkmap = !cmd_fkmap;
|
||||
if (cmd_fkmap) /* in Farsi always in Insert mode */
|
||||
ccline.overstrike = FALSE;
|
||||
}
|
||||
else /* Hebrew is default */
|
||||
# endif
|
||||
cmd_hkmap = !cmd_hkmap;
|
||||
cmd_hkmap = !cmd_hkmap;
|
||||
goto cmdline_not_changed;
|
||||
#endif
|
||||
|
||||
@@ -2430,10 +2402,6 @@ returncmd:
|
||||
cmdmsg_rl = FALSE;
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_FKMAP
|
||||
cmd_fkmap = 0;
|
||||
#endif
|
||||
|
||||
ExpandCleanup(&xpc);
|
||||
ccline.xpc = NULL;
|
||||
|
||||
@@ -3475,44 +3443,35 @@ put_on_cmdline(char_u *str, int len, int redraw)
|
||||
msg_clr_eos();
|
||||
msg_no_more = FALSE;
|
||||
}
|
||||
#ifdef FEAT_FKMAP
|
||||
/*
|
||||
* If we are in Farsi command mode, the character input must be in
|
||||
* Insert mode. So do not advance the cmdpos.
|
||||
*/
|
||||
if (!cmd_fkmap)
|
||||
#endif
|
||||
if (KeyTyped)
|
||||
{
|
||||
if (KeyTyped)
|
||||
{
|
||||
m = Columns * Rows;
|
||||
if (m < 0) /* overflow, Columns or Rows at weird value */
|
||||
m = MAXCOL;
|
||||
}
|
||||
else
|
||||
m = Columns * Rows;
|
||||
if (m < 0) /* overflow, Columns or Rows at weird value */
|
||||
m = MAXCOL;
|
||||
for (i = 0; i < len; ++i)
|
||||
{
|
||||
c = cmdline_charsize(ccline.cmdpos);
|
||||
/* count ">" for a double-wide char that doesn't fit. */
|
||||
if (has_mbyte)
|
||||
correct_cmdspos(ccline.cmdpos, c);
|
||||
/* Stop cursor at the end of the screen, but do increment the
|
||||
* insert position, so that entering a very long command
|
||||
* works, even though you can't see it. */
|
||||
if (ccline.cmdspos + c < m)
|
||||
ccline.cmdspos += c;
|
||||
}
|
||||
else
|
||||
m = MAXCOL;
|
||||
for (i = 0; i < len; ++i)
|
||||
{
|
||||
c = cmdline_charsize(ccline.cmdpos);
|
||||
/* count ">" for a double-wide char that doesn't fit. */
|
||||
if (has_mbyte)
|
||||
correct_cmdspos(ccline.cmdpos, c);
|
||||
/* Stop cursor at the end of the screen, but do increment the
|
||||
* insert position, so that entering a very long command
|
||||
* works, even though you can't see it. */
|
||||
if (ccline.cmdspos + c < m)
|
||||
ccline.cmdspos += c;
|
||||
|
||||
if (has_mbyte)
|
||||
{
|
||||
c = (*mb_ptr2len)(ccline.cmdbuff + ccline.cmdpos) - 1;
|
||||
if (c > len - i - 1)
|
||||
c = len - i - 1;
|
||||
ccline.cmdpos += c;
|
||||
i += c;
|
||||
}
|
||||
++ccline.cmdpos;
|
||||
if (has_mbyte)
|
||||
{
|
||||
c = (*mb_ptr2len)(ccline.cmdbuff + ccline.cmdpos) - 1;
|
||||
if (c > len - i - 1)
|
||||
c = len - i - 1;
|
||||
ccline.cmdpos += c;
|
||||
i += c;
|
||||
}
|
||||
++ccline.cmdpos;
|
||||
}
|
||||
}
|
||||
if (redraw)
|
||||
@@ -7141,35 +7100,6 @@ write_viminfo_history(FILE *fp, int merge)
|
||||
}
|
||||
#endif /* FEAT_VIMINFO */
|
||||
|
||||
#if defined(FEAT_FKMAP) || defined(PROTO)
|
||||
/*
|
||||
* Write a character at the current cursor+offset position.
|
||||
* It is directly written into the command buffer block.
|
||||
*/
|
||||
void
|
||||
cmd_pchar(int c, int offset)
|
||||
{
|
||||
if (ccline.cmdpos + offset >= ccline.cmdlen || ccline.cmdpos + offset < 0)
|
||||
{
|
||||
emsg(_("E198: cmd_pchar beyond the command length"));
|
||||
return;
|
||||
}
|
||||
ccline.cmdbuff[ccline.cmdpos + offset] = (char_u)c;
|
||||
ccline.cmdbuff[ccline.cmdlen] = NUL;
|
||||
}
|
||||
|
||||
int
|
||||
cmd_gchar(int offset)
|
||||
{
|
||||
if (ccline.cmdpos + offset >= ccline.cmdlen || ccline.cmdpos + offset < 0)
|
||||
{
|
||||
// emsg(_("cmd_gchar beyond the command length"));
|
||||
return NUL;
|
||||
}
|
||||
return (int)ccline.cmdbuff[ccline.cmdpos + offset];
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_CMDWIN) || defined(PROTO)
|
||||
/*
|
||||
* Open a window on the current command line and history. Allow editing in
|
||||
|
||||
-2179
File diff suppressed because it is too large
Load Diff
-234
@@ -1,234 +0,0 @@
|
||||
/* vi:set ts=8 sts=4 sw=4 noet:
|
||||
*
|
||||
* VIM - Vi IMproved by Bram Moolenaar
|
||||
*
|
||||
* Do ":help uganda" in Vim to read copying and usage conditions.
|
||||
* Do ":help credits" in Vim to see a list of people who contributed.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Farsi characters are categorized into following types:
|
||||
*
|
||||
* TyA (for capital letter representation)
|
||||
* TyB (for types that look like _X e.g. AYN)
|
||||
* TyC (for types that look like X_ e.g. YE_)
|
||||
* TyD (for types that look like _X_ e.g. _AYN_)
|
||||
* TyE (for types that look like X e.g. RE)
|
||||
*/
|
||||
|
||||
/*
|
||||
* Farsi character set definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Begin of the non-standard part
|
||||
*/
|
||||
|
||||
#define TEE_ 0x80
|
||||
#define ALEF_U_H_ 0x81
|
||||
#define ALEF_ 0x82
|
||||
#define _BE 0x83
|
||||
#define _PE 0x84
|
||||
#define _TE 0x85
|
||||
#define _SE 0x86
|
||||
#define _JIM 0x87
|
||||
#define _CHE 0x88
|
||||
#define _HE_J 0x89
|
||||
#define _XE 0x8a
|
||||
#define _SIN 0x8b
|
||||
#define _SHIN 0x8c
|
||||
#define _SAD 0x8d
|
||||
#define _ZAD 0x8e
|
||||
#define _AYN 0x8f
|
||||
#define _AYN_ 0x90
|
||||
#define AYN_ 0x91
|
||||
#define _GHAYN 0x92
|
||||
#define _GHAYN_ 0x93
|
||||
#define GHAYN_ 0x94
|
||||
#define _FE 0x95
|
||||
#define _GHAF 0x96
|
||||
#define _KAF 0x97
|
||||
#define _GAF 0x98
|
||||
#define _LAM 0x99
|
||||
#define LA 0x9a
|
||||
#define _MIM 0x9b
|
||||
#define _NOON 0x9c
|
||||
#define _HE 0x9d
|
||||
#define _HE_ 0x9e
|
||||
#define _YE 0x9f
|
||||
#define _IE 0xec
|
||||
#define IE_ 0xed
|
||||
#define IE 0xfb
|
||||
#define _YEE 0xee
|
||||
#define YEE_ 0xef
|
||||
#define YE_ 0xff
|
||||
|
||||
/*
|
||||
* End of the non-standard part
|
||||
*/
|
||||
|
||||
/*
|
||||
* Standard part
|
||||
*/
|
||||
|
||||
#define F_BLANK 0xa0 /* Farsi ' ' (SP) character */
|
||||
#define F_PSP 0xa1 /* PSP for capitalizing of a character */
|
||||
#define F_PCN 0xa2 /* PCN for redefining of the hamye meaning */
|
||||
#define F_EXCL 0xa3 /* Farsi ! character */
|
||||
#define F_CURRENCY 0xa4 /* Farsi Rial character */
|
||||
#define F_PERCENT 0xa5 /* Farsi % character */
|
||||
#define F_PERIOD 0xa6 /* Farsi '.' character */
|
||||
#define F_COMMA 0xa7 /* Farsi ',' character */
|
||||
#define F_LPARENT 0xa8 /* Farsi '(' character */
|
||||
#define F_RPARENT 0xa9 /* Farsi ')' character */
|
||||
#define F_MUL 0xaa /* Farsi 'x' character */
|
||||
#define F_PLUS 0xab /* Farsi '+' character */
|
||||
#define F_BCOMMA 0xac /* Farsi comma character */
|
||||
#define F_MINUS 0xad /* Farsi '-' character */
|
||||
#define F_DIVIDE 0xae /* Farsi divide (/) character */
|
||||
#define F_SLASH 0xaf /* Farsi '/' character */
|
||||
|
||||
#define FARSI_0 0xb0
|
||||
#define FARSI_1 0xb1
|
||||
#define FARSI_2 0xb2
|
||||
#define FARSI_3 0xb3
|
||||
#define FARSI_4 0xb4
|
||||
#define FARSI_5 0xb5
|
||||
#define FARSI_6 0xb6
|
||||
#define FARSI_7 0xb7
|
||||
#define FARSI_8 0xb8
|
||||
#define FARSI_9 0xb9
|
||||
|
||||
#define F_DCOLON 0xba /* Farsi ':' character */
|
||||
#define F_SEMICOLON 0xbb /* Farsi ';' character */
|
||||
#define F_GREATER 0xbc /* Farsi '>' character */
|
||||
#define F_EQUALS 0xbd /* Farsi '=' character */
|
||||
#define F_LESS 0xbe /* Farsi '<' character */
|
||||
#define F_QUESTION 0xbf /* Farsi ? character */
|
||||
|
||||
#define ALEF_A 0xc0
|
||||
#define ALEF 0xc1
|
||||
#define HAMZE 0xc2
|
||||
#define BE 0xc3
|
||||
#define PE 0xc4
|
||||
#define TE 0xc5
|
||||
#define SE 0xc6
|
||||
#define JIM 0xc7
|
||||
#define CHE 0xc8
|
||||
#define HE_J 0xc9
|
||||
#define XE 0xca
|
||||
#define DAL 0xcb
|
||||
#define ZAL 0xcc
|
||||
#define RE 0xcd
|
||||
#define ZE 0xce
|
||||
#define JE 0xcf
|
||||
#define SIN 0xd0
|
||||
#define SHIN 0xd1
|
||||
#define SAD 0xd2
|
||||
#define ZAD 0xd3
|
||||
#define _TA 0xd4
|
||||
#define _ZA 0xd5
|
||||
#define AYN 0xd6
|
||||
#define GHAYN 0xd7
|
||||
#define FE 0xd8
|
||||
#define GHAF 0xd9
|
||||
#define KAF 0xda
|
||||
#define GAF 0xdb
|
||||
#define LAM 0xdc
|
||||
#define MIM 0xdd
|
||||
#define NOON 0xde
|
||||
#define WAW 0xdf
|
||||
#define F_HE 0xe0 /* F_ added for name clash with Perl */
|
||||
#define YE 0xe1
|
||||
#define TEE 0xfc
|
||||
#define _KAF_H 0xfd
|
||||
#define YEE 0xfe
|
||||
|
||||
#define F_LBRACK 0xe2 /* Farsi '[' character */
|
||||
#define F_RBRACK 0xe3 /* Farsi ']' character */
|
||||
#define F_LBRACE 0xe4 /* Farsi '{' character */
|
||||
#define F_RBRACE 0xe5 /* Farsi '}' character */
|
||||
#define F_LQUOT 0xe6 /* Farsi left quotation character */
|
||||
#define F_RQUOT 0xe7 /* Farsi right quotation character */
|
||||
#define F_STAR 0xe8 /* Farsi '*' character */
|
||||
#define F_UNDERLINE 0xe9 /* Farsi '_' character */
|
||||
#define F_PIPE 0xea /* Farsi '|' character */
|
||||
#define F_BSLASH 0xeb /* Farsi '\' character */
|
||||
|
||||
#define MAD 0xf0
|
||||
#define JAZR 0xf1
|
||||
#define OW 0xf2
|
||||
#define MAD_N 0xf3
|
||||
#define JAZR_N 0xf4
|
||||
#define OW_OW 0xf5
|
||||
#define TASH 0xf6
|
||||
#define OO 0xf7
|
||||
#define ALEF_U_H 0xf8
|
||||
#define WAW_H 0xf9
|
||||
#define ALEF_D_H 0xfa
|
||||
|
||||
/*
|
||||
* global definitions
|
||||
* ==================
|
||||
*/
|
||||
|
||||
#define SRC_EDT 0
|
||||
#define SRC_CMD 1
|
||||
|
||||
#define AT_CURSOR 0
|
||||
|
||||
/*
|
||||
* definitions for the window dependent functions (w_farsi).
|
||||
*/
|
||||
#define W_CONV 0x1
|
||||
#define W_R_L 0x2
|
||||
|
||||
|
||||
/* special Farsi text messages */
|
||||
|
||||
EXTERN char farsi_text_1[]
|
||||
#ifdef DO_INIT
|
||||
= { YE_, _SIN, RE, ALEF_, _FE, ' ', 'V', 'I', 'M',
|
||||
' ', F_HE, _BE, ' ', SHIN, RE, _GAF, DAL,' ', NOON,
|
||||
ALEF_, _YE, ALEF_, _PE, '\0'}
|
||||
#endif
|
||||
;
|
||||
|
||||
EXTERN char farsi_text_2[]
|
||||
#ifdef DO_INIT
|
||||
= { YE_, _SIN, RE, ALEF_, _FE, ' ', FARSI_3, FARSI_3,
|
||||
FARSI_4, FARSI_2, ' ', DAL, RE, ALEF, DAL, _NOON,
|
||||
ALEF_, _TE, _SIN, ALEF, ' ', F_HE, _BE, ' ', SHIN,
|
||||
RE, _GAF, DAL, ' ', NOON, ALEF_, _YE, ALEF_, _PE, '\0'}
|
||||
#endif
|
||||
;
|
||||
|
||||
EXTERN char farsi_text_3[]
|
||||
#ifdef DO_INIT
|
||||
= { DAL, WAW, _SHIN, _YE, _MIM, _NOON, ' ', YE_, _NOON,
|
||||
ALEF_,_BE, _YE, _TE, _SHIN, _PE, ' ', 'R','E','P','L',
|
||||
'A','C','E', ' ', NOON, ALEF_, _MIM, RE, _FE, ZE, ALEF,
|
||||
' ', 'R', 'E', 'V', 'E', 'R', 'S', 'E', ' ', 'I', 'N',
|
||||
'S', 'E', 'R', 'T', ' ', SHIN, WAW, RE, ' ', ALEF_, _BE,
|
||||
' ', YE_, _SIN, RE, ALEF_, _FE, ' ', RE, DAL, ' ', RE,
|
||||
ALEF_, _KAF,' ', MIM, ALEF_, _GAF, _NOON, _HE, '\0'}
|
||||
#endif
|
||||
;
|
||||
|
||||
#if 0 /* not used */
|
||||
EXTERN char_u farsi_text_4[]
|
||||
#ifdef DO_INIT
|
||||
= { DAL, WAW, _SHIN, _YE, _MIM, _NOON, ' ', YE_, _NOON,
|
||||
ALEF_, _BE, _YE, _TE, _SHIN, _PE, ' ', '<', 'C','T','R',
|
||||
'L','-','B','>', ' ', NOON, ALEF_, _MIM, RE, _FE, ZE,
|
||||
ALEF, ' ', YE_, _SIN, RE, ALEF_, _FE, ' ', RE, DAL, ' ',
|
||||
RE, ALEF_, _KAF,' ', MIM, ALEF_, _GAF, _NOON, _HE, '\0'}
|
||||
#endif
|
||||
;
|
||||
#endif
|
||||
|
||||
EXTERN char farsi_text_5[]
|
||||
#ifdef DO_INIT
|
||||
= { ' ', YE_, _SIN, RE, ALEF_, _FE, '\0'}
|
||||
#endif
|
||||
;
|
||||
+27
-36
@@ -61,7 +61,7 @@
|
||||
*/
|
||||
#if !defined(FEAT_TINY) && !defined(FEAT_SMALL) && !defined(FEAT_NORMAL) \
|
||||
&& !defined(FEAT_BIG) && !defined(FEAT_HUGE)
|
||||
# if defined(UNIX) || defined(WIN3264) || defined(MACOS_X)
|
||||
# if defined(UNIX) || defined(MSWIN) || defined(MACOS_X)
|
||||
# define FEAT_HUGE
|
||||
# else
|
||||
# if defined(MSWIN) || defined(VMS) || defined(AMIGA)
|
||||
@@ -265,18 +265,8 @@
|
||||
|
||||
/*
|
||||
* +farsi Farsi (Persian language) Keymap support.
|
||||
* Requires FEAT_RIGHTLEFT.
|
||||
*
|
||||
* Disabled for EBCDIC as it requires multibyte.
|
||||
* Removed in patch 8.1.0932
|
||||
*/
|
||||
#if defined(FEAT_BIG) && !defined(DISABLE_FARSI) && !defined(EBCDIC)
|
||||
# define FEAT_FKMAP
|
||||
#endif
|
||||
#ifdef FEAT_FKMAP
|
||||
# ifndef FEAT_RIGHTLEFT
|
||||
# define FEAT_RIGHTLEFT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +arabic Arabic keymap and shaping support.
|
||||
@@ -343,10 +333,10 @@
|
||||
*/
|
||||
#ifdef FEAT_NORMAL
|
||||
# define FEAT_EVAL
|
||||
# if defined(HAVE_FLOAT_FUNCS) || defined(WIN3264) || defined(MACOS_X)
|
||||
# if defined(HAVE_FLOAT_FUNCS) || defined(MSWIN) || defined(MACOS_X)
|
||||
# define FEAT_FLOAT
|
||||
# endif
|
||||
# if defined(HAVE_STDINT_H) || defined(WIN3264) || (VIM_SIZEOF_LONG >= 8)
|
||||
# if defined(HAVE_STDINT_H) || defined(MSWIN) || (VIM_SIZEOF_LONG >= 8)
|
||||
# define FEAT_NUM64
|
||||
# endif
|
||||
#endif
|
||||
@@ -361,7 +351,7 @@
|
||||
#if defined(FEAT_HUGE) \
|
||||
&& defined(FEAT_EVAL) \
|
||||
&& ((defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H)) \
|
||||
|| defined(WIN3264))
|
||||
|| defined(MSWIN))
|
||||
# define FEAT_PROFILE
|
||||
#endif
|
||||
|
||||
@@ -371,14 +361,14 @@
|
||||
#if defined(FEAT_NORMAL) \
|
||||
&& defined(FEAT_EVAL) \
|
||||
&& ((defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H)) \
|
||||
|| defined(WIN3264))
|
||||
|| defined(MSWIN))
|
||||
# define FEAT_RELTIME
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +timers timer_start()
|
||||
*/
|
||||
#if defined(FEAT_RELTIME) && (defined(UNIX) || defined(WIN32) || defined(VMS) )
|
||||
#if defined(FEAT_RELTIME) && (defined(UNIX) || defined(MSWIN) || defined(VMS) )
|
||||
# define FEAT_TIMERS
|
||||
#endif
|
||||
|
||||
@@ -603,7 +593,7 @@
|
||||
* +multi_byte_ime Win32 IME input method. Only for far-east Windows, so
|
||||
* IME can be used to input chars. Not tested much!
|
||||
*/
|
||||
#if defined(FEAT_GUI_W32) && !defined(FEAT_MBYTE_IME)
|
||||
#if defined(FEAT_GUI_MSWIN) && !defined(FEAT_MBYTE_IME)
|
||||
/* #define FEAT_MBYTE_IME */
|
||||
# endif
|
||||
|
||||
@@ -662,7 +652,7 @@
|
||||
#if defined(HAVE_DLOPEN) && defined(HAVE_DLSYM)
|
||||
# define USE_DLOPEN
|
||||
#endif
|
||||
#if defined(FEAT_EVAL) && (defined(WIN3264) || ((defined(UNIX) || defined(VMS)) \
|
||||
#if defined(FEAT_EVAL) && (defined(MSWIN) || ((defined(UNIX) || defined(VMS)) \
|
||||
&& (defined(USE_DLOPEN) || defined(HAVE_SHL_LOAD))))
|
||||
# define FEAT_LIBCALL
|
||||
#endif
|
||||
@@ -672,7 +662,7 @@
|
||||
*/
|
||||
#ifdef FEAT_NORMAL
|
||||
# define FEAT_MENU
|
||||
# ifdef FEAT_GUI_W32
|
||||
# ifdef FEAT_GUI_MSWIN
|
||||
# define FEAT_TEAROFF
|
||||
# endif
|
||||
#endif
|
||||
@@ -767,7 +757,7 @@
|
||||
#endif
|
||||
#if !defined(FEAT_GUI_DIALOG) && (defined(FEAT_GUI_MOTIF) \
|
||||
|| defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) \
|
||||
|| defined(FEAT_GUI_W32))
|
||||
|| defined(FEAT_GUI_MSWIN))
|
||||
/* need a dialog to show error messages when starting from the desktop */
|
||||
# define FEAT_GUI_DIALOG
|
||||
#endif
|
||||
@@ -839,7 +829,7 @@
|
||||
*/
|
||||
#if defined(FEAT_NORMAL) \
|
||||
&& ((defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H)) \
|
||||
|| defined(WIN3264))
|
||||
|| defined(MSWIN))
|
||||
# define STARTUPTIME 1
|
||||
#endif
|
||||
|
||||
@@ -1050,7 +1040,7 @@
|
||||
# ifdef FEAT_BIG
|
||||
# define FEAT_MOUSE_SGR
|
||||
# endif
|
||||
# if defined(FEAT_NORMAL) && defined(WIN3264)
|
||||
# if defined(FEAT_NORMAL) && defined(MSWIN)
|
||||
# define DOS_MOUSE
|
||||
# endif
|
||||
# if defined(FEAT_NORMAL) && defined(__QNX__)
|
||||
@@ -1149,10 +1139,10 @@
|
||||
* and the --remote argument
|
||||
*/
|
||||
#if defined(FEAT_GUI_MACVIM)
|
||||
#define MAC_CLIENTSERVER
|
||||
# define MAC_CLIENTSERVER
|
||||
#endif
|
||||
|
||||
#if (defined(WIN32) || defined(FEAT_XCLIPBOARD) || defined(MAC_CLIENTSERVER)) \
|
||||
#if (defined(MSWIN) || defined(FEAT_XCLIPBOARD) || defined(MAC_CLIENTSERVER)) \
|
||||
&& defined(FEAT_EVAL)
|
||||
# define FEAT_CLIENTSERVER
|
||||
#endif
|
||||
@@ -1162,7 +1152,7 @@
|
||||
* when --servername is not passed on the command line.
|
||||
*/
|
||||
#if defined(FEAT_CLIENTSERVER) && !defined(FEAT_AUTOSERVERNAME)
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
/* Always enabled on MS-Windows. */
|
||||
# define FEAT_AUTOSERVERNAME
|
||||
# else
|
||||
@@ -1186,10 +1176,10 @@
|
||||
*/
|
||||
#ifdef FEAT_NORMAL
|
||||
/* MS-DOS console and Win32 console can change cursor shape */
|
||||
# if defined(WIN3264) && !defined(FEAT_GUI_W32)
|
||||
# if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
|
||||
# define MCH_CURSOR_SHAPE
|
||||
# endif
|
||||
# if defined(FEAT_GUI_W32) || defined(FEAT_GUI_MOTIF) \
|
||||
# if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) \
|
||||
|| defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) \
|
||||
|| defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MACVIM)
|
||||
# define FEAT_MOUSESHAPE
|
||||
@@ -1206,7 +1196,7 @@
|
||||
# define CURSOR_SHAPE
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_MZSCHEME) && (defined(FEAT_GUI_W32) || defined(FEAT_GUI_GTK) \
|
||||
#if defined(FEAT_MZSCHEME) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_GTK) \
|
||||
|| defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
|
||||
|| defined(FEAT_GUI_MAC))
|
||||
# define MZSCHEME_GUI_THREADS
|
||||
@@ -1281,7 +1271,7 @@
|
||||
&& defined(HAVE_X11_XPM_H)) \
|
||||
|| defined(FEAT_GUI_GTK) \
|
||||
|| defined(FEAT_GUI_MACVIM) \
|
||||
|| (defined(WIN32) && defined(FEAT_GUI))
|
||||
|| (defined(MSWIN) && defined(FEAT_GUI))
|
||||
# define FEAT_SIGN_ICONS
|
||||
# endif
|
||||
#endif
|
||||
@@ -1293,13 +1283,14 @@
|
||||
*/
|
||||
#if (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
|
||||
|| defined(FEAT_GUI_MACVIM) \
|
||||
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32)) \
|
||||
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN)) \
|
||||
&& ( ((defined(FEAT_TOOLBAR) || defined(FEAT_GUI_TABLINE)) \
|
||||
&& !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)) \
|
||||
&& !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MSWIN)) \
|
||||
|| defined(FEAT_NETBEANS_INTG) || defined(FEAT_EVAL))
|
||||
# define FEAT_BEVAL_GUI
|
||||
# if !defined(FEAT_XFONTSET) && !defined(FEAT_GUI_GTK) \
|
||||
&& !defined(FEAT_GUI_W32) && !defined(FEAT_GUI_MACVIM)
|
||||
&& !defined(FEAT_GUI_MACVIM) \
|
||||
&& !defined(FEAT_GUI_MSWIN)
|
||||
# define FEAT_XFONTSET
|
||||
# endif
|
||||
#endif
|
||||
@@ -1312,7 +1303,7 @@
|
||||
* +balloon_eval_term Allow balloon expression evaluation in the terminal.
|
||||
*/
|
||||
#if defined(FEAT_HUGE) && defined(FEAT_TIMERS) && \
|
||||
(defined(UNIX) || defined(VMS) || (defined(WIN32) && !defined(FEAT_GUI_W32)))
|
||||
(defined(UNIX) || defined(VMS) || (defined(MSWIN) && !defined(FEAT_GUI_MSWIN)))
|
||||
# define FEAT_BEVAL_TERM
|
||||
#endif
|
||||
|
||||
@@ -1359,14 +1350,14 @@
|
||||
* +filterpipe
|
||||
*/
|
||||
#if (defined(UNIX) && !defined(USE_SYSTEM)) \
|
||||
|| (defined(WIN3264) && defined(FEAT_GUI_W32))
|
||||
|| (defined(MSWIN) && defined(FEAT_GUI_MSWIN))
|
||||
# define FEAT_FILTERPIPE
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +vtp: Win32 virtual console.
|
||||
*/
|
||||
#if !defined(FEAT_GUI) && defined(WIN3264)
|
||||
#if !defined(FEAT_GUI) && defined(MSWIN)
|
||||
# define FEAT_VTP
|
||||
#endif
|
||||
|
||||
|
||||
+65
-109
@@ -49,7 +49,7 @@ static int time_differs(long t1, long t2);
|
||||
#define FIO_UCS2 0x04 /* convert UCS-2 */
|
||||
#define FIO_UCS4 0x08 /* convert UCS-4 */
|
||||
#define FIO_UTF16 0x10 /* convert UTF-16 */
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
# define FIO_CODEPAGE 0x20 /* convert MS-Windows codepage */
|
||||
# define FIO_PUT_CP(x) (((x) & 0xffff) << 16) /* put codepage in top word */
|
||||
# define FIO_GET_CP(x) (((x)>>16) & 0xffff) /* get codepage from top word */
|
||||
@@ -106,7 +106,7 @@ static int need_conversion(char_u *fenc);
|
||||
static int get_fio_flags(char_u *ptr);
|
||||
static char_u *check_for_bom(char_u *p, long size, int *lenp, int flags);
|
||||
static int make_bom(char_u *buf, char_u *name);
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
static int get_win_fio_flags(char_u *ptr);
|
||||
#endif
|
||||
#ifdef MACOS_CONVERT
|
||||
@@ -1038,7 +1038,7 @@ retry:
|
||||
else if (enc_utf8 || STRCMP(p_enc, "latin1") == 0)
|
||||
fio_flags = get_fio_flags(fenc);
|
||||
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
/*
|
||||
* Conversion from an MS-Windows codepage to UTF-8 or another codepage
|
||||
* is handled with MultiByteToWideChar().
|
||||
@@ -1229,7 +1229,7 @@ retry:
|
||||
size = (size * 2 / 3) & ~3;
|
||||
else if (fio_flags == FIO_UCSBOM)
|
||||
size = size / ICONV_MULT; /* worst case */
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
else if (fio_flags & FIO_CODEPAGE)
|
||||
size = size / ICONV_MULT; /* also worst case */
|
||||
#endif
|
||||
@@ -1590,7 +1590,7 @@ retry:
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
if (fio_flags & FIO_CODEPAGE)
|
||||
{
|
||||
char_u *src, *dst;
|
||||
@@ -2559,7 +2559,7 @@ failed:
|
||||
curbuf->b_op_end.lnum = from + linecnt;
|
||||
curbuf->b_op_end.col = 0;
|
||||
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
/*
|
||||
* Work around a weird problem: When a file has two links (only
|
||||
* possible on NTFS) and we write through one link, then stat() it
|
||||
@@ -3601,13 +3601,13 @@ buf_write(
|
||||
*/
|
||||
if (!(append && *p_pm == NUL) && !filtering && perm >= 0 && dobackup)
|
||||
{
|
||||
#if defined(UNIX) || defined(WIN32)
|
||||
#if defined(UNIX) || defined(MSWIN)
|
||||
stat_T st;
|
||||
#endif
|
||||
|
||||
if ((bkc & BKC_YES) || append) /* "yes" */
|
||||
backup_copy = TRUE;
|
||||
#if defined(UNIX) || defined(WIN32)
|
||||
#if defined(UNIX) || defined(MSWIN)
|
||||
else if ((bkc & BKC_AUTO)) /* "auto" */
|
||||
{
|
||||
int i;
|
||||
@@ -3632,7 +3632,7 @@ buf_write(
|
||||
backup_copy = TRUE;
|
||||
else
|
||||
# else
|
||||
# ifdef WIN32
|
||||
# ifdef MSWIN
|
||||
/* On NTFS file systems hard links are possible. */
|
||||
if (mch_is_linked(fname))
|
||||
backup_copy = TRUE;
|
||||
@@ -3715,7 +3715,7 @@ buf_write(
|
||||
&& (lstat_res != 0 || st.st_ino == st_old.st_ino))
|
||||
backup_copy = FALSE;
|
||||
# else
|
||||
# if defined(WIN32)
|
||||
# if defined(MSWIN)
|
||||
/* Symlinks. */
|
||||
if ((bkc & BKC_BREAKSYMLINK) && mch_is_symbolic_link(fname))
|
||||
backup_copy = FALSE;
|
||||
@@ -3744,7 +3744,7 @@ buf_write(
|
||||
stat_T st_new;
|
||||
char_u *dirp;
|
||||
char_u *rootname;
|
||||
#if defined(UNIX) || defined(WIN3264)
|
||||
#if defined(UNIX) || defined(MSWIN)
|
||||
char_u *p;
|
||||
#endif
|
||||
#if defined(UNIX)
|
||||
@@ -3785,7 +3785,7 @@ buf_write(
|
||||
*/
|
||||
(void)copy_option_part(&dirp, copybuf, BUFSIZE, ",");
|
||||
|
||||
#if defined(UNIX) || defined(WIN3264)
|
||||
#if defined(UNIX) || defined(MSWIN)
|
||||
p = copybuf + STRLEN(copybuf);
|
||||
if (after_pathsep(copybuf, p) && p[-1] == p[-2])
|
||||
// Ends with '//', use full path
|
||||
@@ -4018,7 +4018,7 @@ buf_write(
|
||||
*/
|
||||
(void)copy_option_part(&dirp, IObuff, IOSIZE, ",");
|
||||
|
||||
#if defined(UNIX) || defined(WIN3264)
|
||||
#if defined(UNIX) || defined(MSWIN)
|
||||
p = IObuff + STRLEN(IObuff);
|
||||
if (after_pathsep(IObuff, p) && p[-1] == p[-2])
|
||||
// path ends with '//', use full path
|
||||
@@ -4177,7 +4177,7 @@ buf_write(
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
if (converted && wb_flags == 0 && (wb_flags = get_win_fio_flags(fenc)) != 0)
|
||||
{
|
||||
/* Convert UTF-8 -> UCS-2 and UCS-2 -> DBCS. Worst-case * 4: */
|
||||
@@ -4416,7 +4416,7 @@ restore_backup:
|
||||
vim_ignored = ftruncate(fd, (off_t)0);
|
||||
#endif
|
||||
|
||||
#if defined(WIN3264)
|
||||
#if defined(MSWIN)
|
||||
if (backup != NULL && overwriting && !append)
|
||||
{
|
||||
if (backup_copy)
|
||||
@@ -4661,7 +4661,7 @@ restore_backup:
|
||||
* work (could be a pipe).
|
||||
* If the 'fsync' option is FALSE, don't fsync(). Useful for laptops.
|
||||
*/
|
||||
if (p_fs && fsync(fd) != 0 && !device)
|
||||
if (p_fs && vim_fsync(fd) != 0 && !device)
|
||||
{
|
||||
errmsg = (char_u *)_(e_fsync);
|
||||
end = 0;
|
||||
@@ -5127,6 +5127,25 @@ nofail:
|
||||
return retval;
|
||||
}
|
||||
|
||||
#if defined(HAVE_FSYNC) || defined(PROTO)
|
||||
/*
|
||||
* Call fsync() with Mac-specific exception.
|
||||
* Return fsync() result: zero for success.
|
||||
*/
|
||||
int
|
||||
vim_fsync(int fd)
|
||||
{
|
||||
int r;
|
||||
|
||||
# ifdef MACOS_X
|
||||
r = fcntl(fd, F_FULLFSYNC);
|
||||
if (r != 0 && errno == ENOTTY)
|
||||
# endif
|
||||
r = fsync(fd);
|
||||
return r;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Set the name of the current buffer. Use when the buffer doesn't have a
|
||||
* name and a ":r" or ":w" command with a file name is used.
|
||||
@@ -5201,14 +5220,12 @@ msg_add_fileformat(int eol_type)
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
#ifndef USE_CR
|
||||
if (eol_type == EOL_MAC)
|
||||
{
|
||||
STRCAT(IObuff, shortmess(SHM_TEXT) ? _("[mac]") : _("[mac format]"));
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
#if defined(USE_CRNL) || defined(USE_CR)
|
||||
#ifdef USE_CRNL
|
||||
if (eol_type == EOL_UNIX)
|
||||
{
|
||||
STRCAT(IObuff, shortmess(SHM_TEXT) ? _("[unix]") : _("[unix format]"));
|
||||
@@ -5417,7 +5434,7 @@ buf_write_bytes(struct bw_info *ip)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
else if (flags & FIO_CODEPAGE)
|
||||
{
|
||||
/*
|
||||
@@ -5856,7 +5873,7 @@ get_fio_flags(char_u *ptr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
/*
|
||||
* Check "ptr" for a MS-Windows codepage name and return the FIO_ flags needed
|
||||
* for the conversion MS-Windows can do for us. Also accept "utf-8".
|
||||
@@ -6028,9 +6045,9 @@ shorten_fname(char_u *full_path, char_u *dir_name)
|
||||
p = full_path + len;
|
||||
#if defined(MSWIN)
|
||||
/*
|
||||
* MSWIN: when a file is in the root directory, dir_name will end in a
|
||||
* slash, since C: by itself does not define a specific dir. In this
|
||||
* case p may already be correct. <negri>
|
||||
* MS-Windows: when a file is in the root directory, dir_name will end
|
||||
* in a slash, since C: by itself does not define a specific dir. In
|
||||
* this case p may already be correct. <negri>
|
||||
*/
|
||||
if (!((len > 2) && (*(p - 2) == ':')))
|
||||
#endif
|
||||
@@ -6229,13 +6246,7 @@ buf_modname(
|
||||
*/
|
||||
for (ptr = retval + fnamelen; ptr > retval; MB_PTR_BACK(retval, ptr))
|
||||
{
|
||||
if (*ext == '.'
|
||||
#ifdef USE_LONG_FNAME
|
||||
&& (!USE_LONG_FNAME || shortname)
|
||||
#else
|
||||
&& shortname
|
||||
#endif
|
||||
)
|
||||
if (*ext == '.' && shortname)
|
||||
if (*ptr == '.') /* replace '.' by '_' */
|
||||
*ptr = '_';
|
||||
if (vim_ispathsep(*ptr))
|
||||
@@ -6254,11 +6265,7 @@ buf_modname(
|
||||
/*
|
||||
* For 8.3 file names we may have to reduce the length.
|
||||
*/
|
||||
#ifdef USE_LONG_FNAME
|
||||
if (!USE_LONG_FNAME || shortname)
|
||||
#else
|
||||
if (shortname)
|
||||
#endif
|
||||
{
|
||||
/*
|
||||
* If there is no file name, or the file name ends in '/', and the
|
||||
@@ -6296,7 +6303,7 @@ buf_modname(
|
||||
else if ((int)STRLEN(e) + extlen > 4)
|
||||
s = e + 4 - extlen;
|
||||
}
|
||||
#if defined(USE_LONG_FNAME) || defined(WIN3264)
|
||||
#ifdef MSWIN
|
||||
/*
|
||||
* If there is no file name, and the extension starts with '.', put a
|
||||
* '_' before the dot, because just ".ext" may be invalid if it's on a
|
||||
@@ -6315,11 +6322,7 @@ buf_modname(
|
||||
/*
|
||||
* Prepend the dot.
|
||||
*/
|
||||
if (prepend_dot && !shortname && *(e = gettail(retval)) != '.'
|
||||
#ifdef USE_LONG_FNAME
|
||||
&& USE_LONG_FNAME
|
||||
#endif
|
||||
)
|
||||
if (prepend_dot && !shortname && *(e = gettail(retval)) != '.')
|
||||
{
|
||||
STRMOVE(e + 1, e);
|
||||
*e = '.';
|
||||
@@ -6359,11 +6362,7 @@ vim_fgets(char_u *buf, int size, FILE *fp)
|
||||
char tbuf[FGETS_SIZE];
|
||||
|
||||
buf[size - 2] = NUL;
|
||||
#ifdef USE_CR
|
||||
eof = fgets_cr((char *)buf, size, fp);
|
||||
#else
|
||||
eof = fgets((char *)buf, size, fp);
|
||||
#endif
|
||||
if (buf[size - 2] != NUL && buf[size - 2] != '\n')
|
||||
{
|
||||
buf[size - 1] = NUL; /* Truncate the line */
|
||||
@@ -6372,57 +6371,12 @@ vim_fgets(char_u *buf, int size, FILE *fp)
|
||||
do
|
||||
{
|
||||
tbuf[FGETS_SIZE - 2] = NUL;
|
||||
#ifdef USE_CR
|
||||
vim_ignoredp = fgets_cr((char *)tbuf, FGETS_SIZE, fp);
|
||||
#else
|
||||
vim_ignoredp = fgets((char *)tbuf, FGETS_SIZE, fp);
|
||||
#endif
|
||||
} while (tbuf[FGETS_SIZE - 2] != NUL && tbuf[FGETS_SIZE - 2] != '\n');
|
||||
}
|
||||
return (eof == NULL);
|
||||
}
|
||||
|
||||
#if defined(USE_CR) || defined(PROTO)
|
||||
/*
|
||||
* Like vim_fgets(), but accept any line terminator: CR, CR-LF or LF.
|
||||
* Returns TRUE for end-of-file.
|
||||
* Only used for the Mac, because it's much slower than vim_fgets().
|
||||
*/
|
||||
int
|
||||
tag_fgets(char_u *buf, int size, FILE *fp)
|
||||
{
|
||||
int i = 0;
|
||||
int c;
|
||||
int eof = FALSE;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
c = fgetc(fp);
|
||||
if (c == EOF)
|
||||
{
|
||||
eof = TRUE;
|
||||
break;
|
||||
}
|
||||
if (c == '\r')
|
||||
{
|
||||
/* Always store a NL for end-of-line. */
|
||||
if (i < size - 1)
|
||||
buf[i++] = '\n';
|
||||
c = fgetc(fp);
|
||||
if (c != '\n') /* Macintosh format: single CR. */
|
||||
ungetc(c, fp);
|
||||
break;
|
||||
}
|
||||
if (i < size - 1)
|
||||
buf[i++] = c;
|
||||
if (c == '\n')
|
||||
break;
|
||||
}
|
||||
buf[i] = NUL;
|
||||
return eof;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* rename() only works if both files are on the same file system, this
|
||||
* function will (attempts to?) copy the file across if rename fails -- webb
|
||||
@@ -6478,7 +6432,7 @@ vim_rename(char_u *from, char_u *to)
|
||||
use_tmp_file = TRUE;
|
||||
}
|
||||
#endif
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
{
|
||||
BY_HANDLE_FILE_INFORMATION info1, info2;
|
||||
|
||||
@@ -7274,7 +7228,7 @@ delete_recursive(char_u *name)
|
||||
/* A symbolic link to a directory itself is deleted, not the directory it
|
||||
* points to. */
|
||||
if (
|
||||
# if defined(UNIX) || defined(WIN32)
|
||||
# if defined(UNIX) || defined(MSWIN)
|
||||
mch_isrealdir(name)
|
||||
# else
|
||||
mch_isdir(name)
|
||||
@@ -7361,6 +7315,8 @@ vim_tempname(
|
||||
{
|
||||
#ifdef USE_TMPNAM
|
||||
char_u itmp[L_tmpnam]; /* use tmpnam() */
|
||||
#elif defined(MSWIN)
|
||||
WCHAR itmp[TEMPNAMELEN];
|
||||
#else
|
||||
char_u itmp[TEMPNAMELEN];
|
||||
#endif
|
||||
@@ -7481,37 +7437,37 @@ vim_tempname(
|
||||
|
||||
#else /* TEMPDIRNAMES */
|
||||
|
||||
# ifdef WIN3264
|
||||
char szTempFile[_MAX_PATH + 1];
|
||||
char buf4[4];
|
||||
# ifdef MSWIN
|
||||
WCHAR wszTempFile[_MAX_PATH + 1];
|
||||
WCHAR buf4[4];
|
||||
char_u *retval;
|
||||
char_u *p;
|
||||
|
||||
STRCPY(itmp, "");
|
||||
if (GetTempPath(_MAX_PATH, szTempFile) == 0)
|
||||
wcscpy(itmp, L"");
|
||||
if (GetTempPathW(_MAX_PATH, wszTempFile) == 0)
|
||||
{
|
||||
szTempFile[0] = '.'; /* GetTempPath() failed, use current dir */
|
||||
szTempFile[1] = NUL;
|
||||
wszTempFile[0] = L'.'; // GetTempPathW() failed, use current dir
|
||||
wszTempFile[1] = NUL;
|
||||
}
|
||||
strcpy(buf4, "VIM");
|
||||
wcscpy(buf4, L"VIM");
|
||||
buf4[2] = extra_char; /* make it "VIa", "VIb", etc. */
|
||||
if (GetTempFileName(szTempFile, buf4, 0, (LPSTR)itmp) == 0)
|
||||
if (GetTempFileNameW(wszTempFile, buf4, 0, itmp) == 0)
|
||||
return NULL;
|
||||
if (!keep)
|
||||
/* GetTempFileName() will create the file, we don't want that */
|
||||
(void)DeleteFile((LPSTR)itmp);
|
||||
// GetTempFileName() will create the file, we don't want that
|
||||
(void)DeleteFileW(itmp);
|
||||
|
||||
/* Backslashes in a temp file name cause problems when filtering with
|
||||
* "sh". NOTE: This also checks 'shellcmdflag' to help those people who
|
||||
* didn't set 'shellslash'. */
|
||||
retval = vim_strsave(itmp);
|
||||
// Backslashes in a temp file name cause problems when filtering with
|
||||
// "sh". NOTE: This also checks 'shellcmdflag' to help those people who
|
||||
// didn't set 'shellslash'.
|
||||
retval = utf16_to_enc(itmp, NULL);
|
||||
if (*p_shcf == '-' || p_ssl)
|
||||
for (p = retval; *p; ++p)
|
||||
if (*p == '\\')
|
||||
*p = '/';
|
||||
return retval;
|
||||
|
||||
# else /* WIN3264 */
|
||||
# else // MSWIN
|
||||
|
||||
# ifdef USE_TMPNAM
|
||||
char_u *p;
|
||||
@@ -7549,7 +7505,7 @@ vim_tempname(
|
||||
# endif
|
||||
|
||||
return vim_strsave(itmp);
|
||||
# endif /* WIN3264 */
|
||||
# endif // MSWIN
|
||||
#endif /* TEMPDIRNAMES */
|
||||
}
|
||||
|
||||
|
||||
+2607
File diff suppressed because it is too large
Load Diff
+3
-12
@@ -1623,7 +1623,7 @@ vgetc(void)
|
||||
}
|
||||
c = TO_SPECIAL(c2, c);
|
||||
|
||||
#if defined(FEAT_GUI_W32) && defined(FEAT_MENU) && defined(FEAT_TEAROFF)
|
||||
#if defined(FEAT_GUI_MSWIN) && defined(FEAT_MENU) && defined(FEAT_TEAROFF)
|
||||
/* Handle K_TEAROFF here, the caller of vgetc() doesn't need to
|
||||
* know that a menu was torn off */
|
||||
if (c == K_TEAROFF)
|
||||
@@ -1679,7 +1679,7 @@ vgetc(void)
|
||||
case K_KMULTIPLY: c = '*'; break;
|
||||
case K_KENTER: c = CAR; break;
|
||||
case K_KPOINT:
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
// Can be either '.' or a ',',
|
||||
// depending on the type of keypad.
|
||||
c = MapVirtualKey(VK_DECIMAL, 2); break;
|
||||
@@ -3107,7 +3107,7 @@ fix_input_buffer(char_u *buf, int len)
|
||||
if (p[0] == NUL || (p[0] == K_SPECIAL
|
||||
/* timeout may generate K_CURSORHOLD */
|
||||
&& (i < 2 || p[1] != KS_EXTRA || p[2] != (int)KE_CURSORHOLD)
|
||||
#if defined(WIN3264) && !defined(FEAT_GUI)
|
||||
#if defined(MSWIN) && !defined(FEAT_GUI)
|
||||
/* Win32 console passes modifiers */
|
||||
&& (i < 2 || p[1] != KS_MODIFIER)
|
||||
#endif
|
||||
@@ -3361,15 +3361,6 @@ do_map(
|
||||
rhs = replace_termcodes(rhs, &arg_buf, FALSE, TRUE, special);
|
||||
}
|
||||
|
||||
#ifdef FEAT_FKMAP
|
||||
/*
|
||||
* When in right-to-left mode and alternate keymap option set,
|
||||
* reverse the character flow in the rhs in Farsi.
|
||||
*/
|
||||
if (p_altkeymap && curwin->w_p_rl)
|
||||
lrswap(rhs);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* check arguments and translate function keys
|
||||
*/
|
||||
|
||||
+1
-1
@@ -134,7 +134,7 @@ global_ime_DefWindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
|
||||
if (pIApp == NULL || pIApp->OnDefWindowProc(hWnd, Msg,
|
||||
wParam, lParam, &lResult) != S_OK)
|
||||
{
|
||||
#if defined(WIN3264)
|
||||
#if defined(MSWIN)
|
||||
if (wide_WindowProc)
|
||||
lResult = DefWindowProcW(hWnd, Msg, wParam, lParam);
|
||||
else
|
||||
|
||||
+6
-15
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
EXTERN long Rows /* nr of rows in the screen */
|
||||
#ifdef DO_INIT
|
||||
# if defined(WIN3264)
|
||||
# if defined(MSWIN)
|
||||
= 25L
|
||||
# else
|
||||
= 24L
|
||||
@@ -818,7 +818,7 @@ EXTERN int enc_dbcs INIT(= 0); /* One of DBCS_xxx values if
|
||||
EXTERN int enc_unicode INIT(= 0); /* 2: UCS-2 or UTF-16, 4: UCS-4 */
|
||||
EXTERN int enc_utf8 INIT(= FALSE); /* UTF-8 encoded Unicode */
|
||||
EXTERN int enc_latin1like INIT(= TRUE); /* 'encoding' is latin1 comp. */
|
||||
#if defined(WIN3264) || defined(FEAT_CYGWIN_WIN32_CLIPBOARD)
|
||||
#if defined(MSWIN) || defined(FEAT_CYGWIN_WIN32_CLIPBOARD)
|
||||
/* Codepage nr of 'encoding'. Negative means it's not been set yet, zero
|
||||
* means 'encoding' is not a valid codepage. */
|
||||
EXTERN int enc_codepage INIT(= -1);
|
||||
@@ -826,7 +826,7 @@ EXTERN int enc_latin9 INIT(= FALSE); /* 'encoding' is latin9 */
|
||||
#endif
|
||||
EXTERN int has_mbyte INIT(= 0); /* any multi-byte encoding */
|
||||
|
||||
#if defined(WIN3264)
|
||||
#if defined(MSWIN)
|
||||
EXTERN int wide_WindowProc INIT(= FALSE); /* use wide WindowProc() */
|
||||
#endif
|
||||
|
||||
@@ -1298,7 +1298,7 @@ EXTERN guint32 gtk_socket_id INIT(= 0);
|
||||
EXTERN int echo_wid_arg INIT(= FALSE); /* --echo-wid argument */
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_GUI_W32
|
||||
#ifdef FEAT_GUI_MSWIN
|
||||
/*
|
||||
* The value of the --windowid argument.
|
||||
* For embedding gvim inside another application.
|
||||
@@ -1455,9 +1455,7 @@ EXTERN char e_nogvim[] INIT(= N_("E25: GUI cannot be used: Not enabled at compil
|
||||
#ifndef FEAT_RIGHTLEFT
|
||||
EXTERN char e_nohebrew[] INIT(= N_("E26: Hebrew cannot be used: Not enabled at compile time\n"));
|
||||
#endif
|
||||
#ifndef FEAT_FKMAP
|
||||
EXTERN char e_nofarsi[] INIT(= N_("E27: Farsi cannot be used: Not enabled at compile time\n"));
|
||||
#endif
|
||||
EXTERN char e_nofarsi[] INIT(= N_("E27: Farsi support has been removed\n"));
|
||||
#ifndef FEAT_ARABIC
|
||||
EXTERN char e_noarabic[] INIT(= N_("E800: Arabic cannot be used: Not enabled at compile time\n"));
|
||||
#endif
|
||||
@@ -1652,7 +1650,7 @@ EXTERN int did_echo_string_emsg INIT(= FALSE);
|
||||
EXTERN int *eval_lavars_used INIT(= NULL);
|
||||
#endif
|
||||
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
EXTERN int ctrl_break_was_pressed INIT(= FALSE);
|
||||
#endif
|
||||
|
||||
@@ -1660,13 +1658,6 @@ EXTERN int ctrl_break_was_pressed INIT(= FALSE);
|
||||
EXTERN int text_prop_frozen INIT(= 0);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Optional Farsi support. Include it here, so EXTERN and INIT are defined.
|
||||
*/
|
||||
#ifdef FEAT_FKMAP
|
||||
# include "farsi.h"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Optional Arabic support. Include it here, so EXTERN and INIT are defined.
|
||||
*/
|
||||
|
||||
@@ -758,7 +758,7 @@ gui_init(void)
|
||||
&general_beval_cb, NULL);
|
||||
}
|
||||
# else
|
||||
# ifdef FEAT_GUI_W32
|
||||
# ifdef FEAT_GUI_MSWIN
|
||||
balloonEval = gui_mch_create_beval_area(NULL, NULL,
|
||||
&general_beval_cb, NULL);
|
||||
# endif
|
||||
@@ -2468,7 +2468,7 @@ gui_outstr_nowrap(
|
||||
int curr_wide = FALSE; /* use 'guifontwide' */
|
||||
int prev_wide = FALSE;
|
||||
int wide_changed;
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
int sep_comp = FALSE; /* Don't separate composing chars. */
|
||||
# else
|
||||
int sep_comp = TRUE; /* Separate composing chars. */
|
||||
@@ -2604,7 +2604,7 @@ gui_outstr_nowrap(
|
||||
/* Draw the sign on top of the spaces. */
|
||||
gui_mch_drawsign(gui.row, col, gui.highlight_mask);
|
||||
# if defined(FEAT_NETBEANS_INTG) && (defined(FEAT_GUI_X11) \
|
||||
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32))
|
||||
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN))
|
||||
if (multi_sign)
|
||||
netbeans_draw_multisign_indicator(gui.row);
|
||||
# endif
|
||||
@@ -3597,7 +3597,7 @@ gui_init_which_components(char_u *oldval UNUSED)
|
||||
fix_size = TRUE;
|
||||
}
|
||||
#endif
|
||||
#if defined(FEAT_MENU) && !(defined(WIN3264) && !defined(FEAT_TEAROFF))
|
||||
#if defined(FEAT_MENU) && !(defined(MSWIN) && !defined(FEAT_TEAROFF))
|
||||
if (using_tearoff != prev_tearoff)
|
||||
{
|
||||
gui_mch_toggle_tearoffs(using_tearoff);
|
||||
@@ -4166,7 +4166,7 @@ gui_update_scrollbars(
|
||||
/* Update the horizontal scrollbar */
|
||||
gui_update_horiz_scrollbar(force);
|
||||
|
||||
#ifndef WIN3264
|
||||
#ifndef MSWIN
|
||||
/* Return straight away if there is neither a left nor right scrollbar.
|
||||
* On MS-Windows this is required anyway for scrollwheel messages. */
|
||||
if (!gui.which_scrollbars[SBAR_LEFT] && !gui.which_scrollbars[SBAR_RIGHT])
|
||||
@@ -4921,9 +4921,10 @@ gui_mouse_correct(void)
|
||||
|
||||
/*
|
||||
* Find window where the mouse pointer "x" / "y" coordinate is in.
|
||||
* As a side effect update the shape of the mouse pointer.
|
||||
*/
|
||||
static win_T *
|
||||
xy2win(int x UNUSED, int y UNUSED)
|
||||
xy2win(int x, int y)
|
||||
{
|
||||
int row;
|
||||
int col;
|
||||
@@ -5004,9 +5005,10 @@ ex_gui(exarg_T *eap)
|
||||
ex_next(eap);
|
||||
}
|
||||
|
||||
#if ((defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32) \
|
||||
|| defined(FEAT_GUI_PHOTON)) && defined(FEAT_TOOLBAR) \
|
||||
|| defined(FEAT_GUI_MACVIM)) || defined(PROTO)
|
||||
#if ((defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) \
|
||||
|| defined(FEAT_GUI_MACVIM) \
|
||||
|| defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_PHOTON)) \
|
||||
&& defined(FEAT_TOOLBAR)) || defined(PROTO)
|
||||
/*
|
||||
* This is shared between Athena, Motif and GTK.
|
||||
*/
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
* X_2_COL - Convert X pixel coord into character column.
|
||||
* Y_2_ROW - Convert Y pixel coord into character row.
|
||||
*/
|
||||
#ifdef FEAT_GUI_W32
|
||||
#ifdef FEAT_GUI_MSWIN
|
||||
# define TEXT_X(col) ((col) * gui.char_width)
|
||||
# define TEXT_Y(row) ((row) * gui.char_height + gui.char_ascent)
|
||||
# define FILL_X(col) ((col) * gui.char_width)
|
||||
@@ -415,7 +415,7 @@ typedef struct Gui
|
||||
#endif /* FEAT_GUI_GTK */
|
||||
|
||||
#if defined(FEAT_GUI_TABLINE) \
|
||||
&& (defined(FEAT_GUI_W32) || defined(FEAT_GUI_MOTIF) \
|
||||
&& (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) \
|
||||
|| defined(FEAT_GUI_MAC))
|
||||
int tabline_height;
|
||||
#endif
|
||||
|
||||
+6
-6
@@ -13,7 +13,7 @@
|
||||
#if defined(FEAT_BEVAL_GUI) || defined(PROTO)
|
||||
|
||||
/* on Win32 and MacVim only get_beval_info() is required */
|
||||
#if !(defined(FEAT_GUI_W32) || defined(FEAT_GUI_MACVIM)) || defined(PROTO)
|
||||
#if !(defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MACVIM)) || defined(PROTO)
|
||||
|
||||
#ifdef FEAT_GUI_GTK
|
||||
# if GTK_CHECK_VERSION(3,0,0)
|
||||
@@ -197,10 +197,10 @@ gui_mch_currently_showing_beval(void)
|
||||
return current_beval;
|
||||
}
|
||||
#endif
|
||||
#endif /* !(FEAT_GUI_W32 || FEAT_GUI_MACVIM) */
|
||||
#endif /* !(FEAT_GUI_MSWIN || FEAT_GUI_MACVIM) */
|
||||
|
||||
#if defined(FEAT_NETBEANS_INTG) || defined(FEAT_EVAL) || defined(PROTO)
|
||||
# if !(defined(FEAT_GUI_W32) || defined(FEAT_GUI_MACVIM)) || defined(PROTO)
|
||||
# if !(defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MACVIM)) || defined(PROTO)
|
||||
|
||||
/*
|
||||
* Show a balloon with "mesg".
|
||||
@@ -214,10 +214,10 @@ gui_mch_post_balloon(BalloonEval *beval, char_u *mesg)
|
||||
else
|
||||
undrawBalloon(beval);
|
||||
}
|
||||
# endif /* !(FEAT_GUI_W32 || FEAT_GUI_MACVIM) */
|
||||
# endif /* !(FEAT_GUI_MSWIN || FEAT_GUI_MACVIM) */
|
||||
#endif /* FEAT_NETBEANS_INTG || PROTO */
|
||||
|
||||
#if !(defined(FEAT_GUI_W32) || defined(FEAT_GUI_MACVIM)) || defined(PROTO)
|
||||
#if !(defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MACVIM)) || defined(PROTO)
|
||||
#if defined(FEAT_BEVAL_TIP) || defined(PROTO)
|
||||
/*
|
||||
* Hide the given balloon.
|
||||
@@ -1220,6 +1220,6 @@ createBalloonEvalWindow(BalloonEval *beval)
|
||||
}
|
||||
|
||||
#endif /* !FEAT_GUI_GTK */
|
||||
#endif /* !(FEAT_GUI_W32 || FEAT_GUI_MACVIM) */
|
||||
#endif /* !(FEAT_GUI_MSWIN || FEAT_GUI_MACVIM) */
|
||||
|
||||
#endif /* FEAT_BEVAL_GUI */
|
||||
|
||||
+1
-1
@@ -76,7 +76,7 @@
|
||||
# include <gdk/gdkkeysyms.h>
|
||||
# endif
|
||||
# include <gdk/gdk.h>
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
# include <gdk/gdkwin32.h>
|
||||
# else
|
||||
# include <gdk/gdkx.h>
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@
|
||||
#if !GTK_CHECK_VERSION(3,0,0)
|
||||
# include <gtk/gtksignal.h>
|
||||
#endif
|
||||
#ifdef WIN3264
|
||||
#ifdef MSWIN
|
||||
# include <gdk/gdkwin32.h>
|
||||
#else
|
||||
# include <gdk/gdkx.h>
|
||||
|
||||
+1
-1
@@ -86,7 +86,7 @@ extern void bonobo_dock_item_set_behavior(BonoboDockItem *dock_item, BonoboDockI
|
||||
# include <gdk/gdkkeysyms.h>
|
||||
# endif
|
||||
# include <gdk/gdk.h>
|
||||
# ifdef WIN3264
|
||||
# ifdef MSWIN
|
||||
# include <gdk/gdkwin32.h>
|
||||
# else
|
||||
# include <gdk/gdkx.h>
|
||||
|
||||
+12
-12
@@ -548,7 +548,7 @@ staterr:
|
||||
goto add_err;
|
||||
|
||||
while (fname[strlen(fname)-1] == '/'
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
|| fname[strlen(fname)-1] == '\\'
|
||||
#endif
|
||||
)
|
||||
@@ -790,7 +790,7 @@ cs_create_connection(int i)
|
||||
#endif
|
||||
int len;
|
||||
char *prog, *cmd, *ppath = NULL;
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
int fd;
|
||||
SECURITY_ATTRIBUTES sa;
|
||||
PROCESS_INFORMATION pi;
|
||||
@@ -844,7 +844,7 @@ err_closing:
|
||||
(void)close(to_cs[1]);
|
||||
(void)close(from_cs[0]);
|
||||
#else
|
||||
/* WIN32 */
|
||||
/* MSWIN */
|
||||
/* Create pipes to communicate with cscope */
|
||||
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
|
||||
sa.bInheritHandle = TRUE;
|
||||
@@ -874,7 +874,7 @@ err_closing:
|
||||
#ifdef UNIX
|
||||
return CSCOPE_FAILURE;
|
||||
#else
|
||||
/* WIN32 */
|
||||
/* MSWIN */
|
||||
goto err_closing;
|
||||
#endif
|
||||
}
|
||||
@@ -891,7 +891,7 @@ err_closing:
|
||||
#ifdef UNIX
|
||||
return CSCOPE_FAILURE;
|
||||
#else
|
||||
/* WIN32 */
|
||||
/* MSWIN */
|
||||
goto err_closing;
|
||||
#endif
|
||||
}
|
||||
@@ -910,7 +910,7 @@ err_closing:
|
||||
#ifdef UNIX
|
||||
return CSCOPE_FAILURE;
|
||||
#else
|
||||
/* WIN32 */
|
||||
/* MSWIN */
|
||||
goto err_closing;
|
||||
#endif
|
||||
}
|
||||
@@ -919,7 +919,7 @@ err_closing:
|
||||
#if defined(UNIX)
|
||||
(void)sprintf(cmd, "exec %s -dl -f %s", prog, csinfo[i].fname);
|
||||
#else
|
||||
/* WIN32 */
|
||||
/* MSWIN */
|
||||
(void)sprintf(cmd, "%s -dl -f %s", prog, csinfo[i].fname);
|
||||
#endif
|
||||
if (csinfo[i].ppath != NULL)
|
||||
@@ -971,7 +971,7 @@ err_closing:
|
||||
}
|
||||
|
||||
#else
|
||||
/* WIN32 */
|
||||
/* MSWIN */
|
||||
/* Create a new process to run cscope and use pipes to talk with it */
|
||||
GetStartupInfo(&si);
|
||||
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
|
||||
@@ -1330,7 +1330,7 @@ clear_csinfo(int i)
|
||||
csinfo[i].pid = 0;
|
||||
csinfo[i].fr_fp = NULL;
|
||||
csinfo[i].to_fp = NULL;
|
||||
#if defined(WIN32)
|
||||
#if defined(MSWIN)
|
||||
csinfo[i].hProc = NULL;
|
||||
#endif
|
||||
}
|
||||
@@ -1940,13 +1940,13 @@ cs_pathcomponents(char *path)
|
||||
s = path + strlen(path) - 1;
|
||||
for (i = 0; i < p_cspc; ++i)
|
||||
while (s > path && *--s != '/'
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
&& *--s != '\\'
|
||||
#endif
|
||||
)
|
||||
;
|
||||
if ((s > path && *s == '/')
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
|| (s > path && *s == '\\')
|
||||
#endif
|
||||
)
|
||||
@@ -2433,7 +2433,7 @@ cs_resolve_file(int i, char *name)
|
||||
if (csinfo[i].ppath != NULL
|
||||
&& (strncmp(name, csinfo[i].ppath, strlen(csinfo[i].ppath)) != 0)
|
||||
&& (name[0] != '/')
|
||||
#ifdef WIN32
|
||||
#ifdef MSWIN
|
||||
&& name[0] != '\\' && name[1] != ':'
|
||||
#endif
|
||||
)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user