summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README_os390.txt123
-rw-r--r--runtime/doc/eval.txt4
-rw-r--r--runtime/doc/helphelp.txt64
-rw-r--r--runtime/doc/if_mzsch.txt2
-rw-r--r--runtime/doc/options.txt3
-rw-r--r--runtime/doc/os_390.txt2
-rw-r--r--runtime/doc/pi_netrw.txt4
-rw-r--r--runtime/doc/pi_vimball.txt2
-rw-r--r--runtime/doc/tags16
-rw-r--r--runtime/doc/todo.txt8
-rw-r--r--runtime/doc/undo.txt10
-rw-r--r--runtime/indent/cmake.vim23
-rw-r--r--runtime/syntax/cmake.vim66
-rw-r--r--src/eval.c9
-rw-r--r--src/memfile.c5
15 files changed, 200 insertions, 141 deletions
diff --git a/README_os390.txt b/README_os390.txt
index b03eb140be..f4e673610d 100644
--- a/README_os390.txt
+++ b/README_os390.txt
@@ -1,51 +1,84 @@
-README_os_390.txt for version 7.3a of Vim: Vi IMproved.
+README_zOS.txt for version 7.3 of Vim: Vi IMproved.
-Welcome to the OS/390 Unix port of VIM.
+This readme explains how to build Vim on z/OS. Formerly called OS/390.
+See "README.txt" for general information about Vim.
-ATTENTION: THIS IS AN _ALPHA_ VERSION!!!
-I expect you to know how to handle alpha software!
+Most likley there are not many users out there using Vim on z/OS. So chances
+are good, that some bugs are still undiscovered.
-This port was done by Ralf Schandl <schandl@de.ibm.com>.
-This port is not maintained or supported by IBM!!
+Getting the source to z/OS:
+==========================
+First get the source code in one big tar file and ftp it a binary to z/OS. If
+the tar file is initially compressed with gzip (tar.gz) or bzip2 (tar.bz2)
+uncompress it on your PC, as this tools are (most likely) not available on the
+mainframe.
-For the list of changes see runtime/doc/os_390.txt.
+To reduce the size of the tar file you might compress it into a zip file. On
+z/OS Unix you might have the command "jar" from java to uncompress a zip. Use:
+ jar xvf <zip file name>
+
+Unpack the tar file on z/OS with
+ pax -o from=ISO8859-1,to=IBM-1047 -rf vim.tar
+
+Note: The Vim source contains a few bitmaps etc which will be destroyed by
+this command, but these files are not needed on zOS (at least not for the
+console version).
Compiling:
-----------
+==========
-Note: After the file configure was created via autoconf, it had been
- handedited, to make the test for ICEConnectionNumber work.
- DO NOT run autoconf again!
+Vim can be compiled with or without GUI support. For 7.3 only the compilation
+without GUI was tested. Below is a section about compiling with X11 but this
+is from an earlier version of Vim.
-Without X11:
+Console only:
+-------------
If you build VIM without X11 support, compiling and building is nearly
-straightforward. The only restriction is, that you can't call make from the
-VIM toplevel directory. Change to the src directory first and call make from
-there. Here is a what to do:
+straightforward.
+
+Change to the vim directory and do:
# Don't use c89!
- # Make additional symbols visible.
# Allow intermixing of compiler options and files.
$ export CC=cc
- $ export CFLAGS=-D_ALL_SOURCE
$ export _CC_CCMODE=1
- $./configure --enable-max-features --without-x --enable-gui=no
+ $./configure --with-features=big --without-x --enable-gui=no
$ cd src
$ make
+
+ There may be warnings:
+ - include files not found (libc, sys/param.h, ...)
+ - Redeclaration of ... differs from ...
+ -- just ignore them.
+
$ make test
- Note: Test 28 will be reported as failed. This is because diff can't
- compare files containing '\0' characters. Test 11 will fail if you
- don't have gzip.
+ This will produce lots of garbage on your screen (including error
+ messages). Don't worry.
+
+ If the test stops at one point in vim (might happen in test 11), just
+ press :q!
+
+ Expected test failures:
+ 11: If you don't have gzip installed
+ 24: test of backslash sequences in regexp are ASCII dependent
+ 42: Multibyte is not supported on z/OS
+ 55: ASCII<->EBCDIC sorting
+ 57: ASCII<->EBCDIC sorting
+ 58: Spell checking is not supported with EBCDIC
+ 71: Blowfish encryption doesn't work
$ make install
With X11:
+---------
+
+WARNING: This instruction was not tested with Vim 7.3.
There are two ways for building VIM with X11 support. The first way is simple
and results in a big executable (~13 Mb), the second needs a few additional
@@ -54,8 +87,6 @@ you want Motif.
The easy way:
$ export CC=cc
- $ export CFLAGS="-D_ALL_SOURCE -W c,dll"
- $ export LDFLAGS="-W l,dll"
$ export _CC_CCMODE=1
$ ./configure --enable-max-features --enable-gui=motif
$ cd src
@@ -65,7 +96,7 @@ you want Motif.
The smarter way:
Make VIM as described above. Then create a file named 'link.sed' with the
- following content:
+ following content (see src/link.390):
s/-lXext *//g
s/-lXmu *//g
@@ -84,47 +115,3 @@ you want Motif.
See the Makefile and the file link.sh on how link.sed is used.
-Hint:
------
-Use the online help! (See weaknesses below.)
-
-Example:
-Enter ':help syntax' and then press <TAB> several times, you will switch
-through all help items containing 'syntax'. Press <ENTER> on the one you are
-interested at. Or press <Ctrl-D> and you will get a list of all items printed
-that contain 'syntax'.
-
-The helpfiles contains cross-references. Links are between '|'. Position the
-cursor on them and press <Ctrl-]> to follow this link. Use <Ctrl-T> to jump
-back.
-
-Known weaknesses:
------------------
-
-- You can't call make from the toplevel directory, you have to do a 'cd src'
- first. If you do it, make will call configure again. I don't know why and
- didn't investigate it, there were more important things to do. If you can
- make it work drop me a note.
-
-- The documentation was not updated for this alpha release. It contains lot of
- ASCII dependencies, especially in examples.
-
-- Digraphs are dependent on code page 1047. Digraphs are used to enter
- characters that normally cannot be entered by an ordinary keyboard.
- See ":help digraphs".
-
-- Using 'ga' to show the code of the character under the cursor shows the
- correct dec/hex/oct values, but the other informations might be missing or
- wrong.
-
-- The sed syntax file doesn't work, it is ASCII dependent.
-
-Bugs:
------
-If you find a bug please inform me (schandl@de.ibm.com), don't disturb Bram
-Moolenaar. It's most likely a bug I introduced during porting or some ASCII
-dependency I didn't notice.
-
-Feedback:
----------
-Feedback welcome! Just drop me a note.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 4d983bfba3..7d5e6d6e0b 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1286,7 +1286,7 @@ v:beval_winnr The number of the window, over which the mouse pointer is. Only
*v:char* *char-variable*
v:char Argument for evaluating 'formatexpr' and used for the typed
- character when using <expr> in an abbreviation |map-<expr>|.
+ character when using <expr> in an abbreviation |:map-<expr>|.
*v:charconvert_from* *charconvert_from-variable*
v:charconvert_from
@@ -5773,6 +5773,8 @@ undofile({name}) *undofile()*
with name {name} when writing. This uses the 'undodir'
option, finding directories that exist. It does not check if
the undo file exist.
+ {name} is always expanded to the full path, since that is what
+ is used internally.
Useful in combination with |:wundo| and |:rundo|.
When compiled without the +persistent_undo option this always
returns an empty string.
diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt
index 1787659c15..eea639fd21 100644
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -273,6 +273,68 @@ Hints for translators:
==============================================================================
3. Writing help files *help-writing*
-TODO
+For ease of use, a Vim help file for a plugin should follow the format of the
+standard Vim help files. If you are writing a new help file it's best to copy
+one of the existing files and use it as a template.
+
+The first line in a help file should have the following format:
+
+*helpfile_name.txt* For Vim version 7.3 Last change: 2010 June 4
+
+The first field is a link to the help file name. The second field describes
+the applicable Vim version. The last field specifies the last modification
+date of the file. Each field is separated by a tab.
+
+At the bottom of the help file, place a Vim modeline to set the 'textwidth'
+and 'tabstop' options and the 'filetype' to 'help'. Never set a global option
+in such a modeline, that can have consequences undesired by whoever reads that
+help.
+
+
+TAGS
+
+To define a help tag, place the name between asterisks (*tag-name*). The
+tag-name should be different from all the Vim help tag names and ideally
+should begin with the name of the Vim plugin. The tag name is usually right
+aligned on a line.
+
+When referring to an existing help tag and to create a hot-link, place the
+name between two bars (|) eg. |help-writing|.
+
+When referring to a Vim option in the help file, place the option name between
+two single quotes. eg. 'statusline'
+
+
+HIGHLIGHTING
+
+To define a column heading, use a tilde character at the end of the line. This
+will highlight the column heading in a different color. E.g.
+
+Column heading~
+
+To separate sections in a help file, place a series of '=' characters in a
+line starting from the first column. The section separator line is highlighted
+differently.
+
+To quote a block of ex-commands verbatim, place a greater than (>) character
+at the end of the line before the block and a less than (<) character as the
+first non-blank on a line following the block. Any line starting in column 1
+also implicitly stops the block of ex-commands before it. E.g. >
+ function Example_Func()
+ echo "Example"
+ endfunction
+<
+
+The following are highlighted differently in a Vim help file:
+ - a special key name expressed either in <> notation as in <PageDown>, or
+ as a Ctrl character as in CTRL-X
+ - anything between {braces}, e.g. {lhs} and {rhs}
+
+The word "Note", "Notes" and similar automagically receive distinctive
+highlighting. So do these:
+ *Todo something to do
+ *Error something wrong
+
+You can find the details in $VIMRUNTIME/syntax/help.vim
vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt
index ca384cf72f..599552fe21 100644
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -233,7 +233,7 @@ Windows *mzscheme-window*
==============================================================================
5. mzeval() Vim function *mzscheme-mzeval*
-To facilitate bi-directional interface, you can use |mzeval| function to
+To facilitate bi-directional interface, you can use |mzeval()| function to
evaluate MzScheme expressions and pass their values to VimL.
==============================================================================
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 498df7febe..63efd1c24b 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -7265,10 +7265,11 @@ A jump table for the options with a short description can be found at |Q_op|.
set ul=0
< But you can also get Vi compatibility by including the 'u' flag in
'cpoptions', and still be able to use CTRL-R to repeat undo.
+ Also see |undo-two-ways|.
Set to a negative number for no undo at all: >
set ul=-1
< This helps when you run out of memory for a single change.
- Also see |undo-two-ways|.
+ Also see |clear-undo|.
*'updatecount'* *'uc'*
'updatecount' 'uc' number (default: 200)
diff --git a/runtime/doc/os_390.txt b/runtime/doc/os_390.txt
index 5a9d36814a..c39f3badab 100644
--- a/runtime/doc/os_390.txt
+++ b/runtime/doc/os_390.txt
@@ -7,7 +7,7 @@
This file contains the particulars for the z/OS UNIX version of Vim.
1. ASCII/EBCDIC dependent scripts |zOS-has-ebcdic|
-2. Putty and Colors |zOS-Putty|
+2. Putty and Colors |zOS-PuTTY|
3. Motif Problems |zOS-Motif|
4. Bugs |zOS-Bugs|
5. Limitations |zOS-limitations|
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index b57585be22..e3032df3cf 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -589,7 +589,7 @@ password.
PASSWORD *netrw-passwd*
The script attempts to get passwords for ftp invisibly using |inputsecret()|,
-a built-in Vim function. See |netrw-uidpass| for how to change the password
+a built-in Vim function. See |NetUserPass()| for how to change the password
after one has set it.
Unfortunately there doesn't appear to be a way for netrw to feed a password to
@@ -803,7 +803,7 @@ temporary file:
get filename tempfile >
---------------------------------------------------------------------
<
-The |g:netrw_ftpmode| and |g:netrw_extracmd| are optional.
+The |g:netrw_ftpmode| and g:netrw_extracmd are optional.
Netrw then executes the lines above by use of a filter:
>
diff --git a/runtime/doc/pi_vimball.txt b/runtime/doc/pi_vimball.txt
index 4928d1153b..8eaa838a89 100644
--- a/runtime/doc/pi_vimball.txt
+++ b/runtime/doc/pi_vimball.txt
@@ -197,7 +197,7 @@ WINDOWS *vimball-windows*
Apr 18, 2008 * RmVimball command is now protected by saving and
restoring settings -- in particular, acd was
causing problems as reported by Zhang Shuhan
- 24 : Nov 15, 2007 * |g:vimball_path_escape| used by s:Path() to
+ 24 : Nov 15, 2007 * g:vimball_path_escape used by s:Path() to
prevent certain characters from causing trouble
22 : Mar 21, 2007 * uses setlocal instead of set during BufEnter
21 : Nov 27, 2006 * (tnx to Bill McCarthy) vimball had a header
diff --git a/runtime/doc/tags b/runtime/doc/tags
index f2bf7315e8..632f288458 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4293,14 +4293,11 @@ OS/2 os_os2.txt /*OS\/2*
OS2 os_os2.txt /*OS2*
OS390 os_390.txt /*OS390*
OS390-Motif os_390.txt /*OS390-Motif*
+OS390-PuTTY os_390.txt /*OS390-PuTTY*
OS390-bugs os_390.txt /*OS390-bugs*
-OS390-building os_390.txt /*OS390-building*
-OS390-changes os_390.txt /*OS390-changes*
-OS390-feedback os_390.txt /*OS390-feedback*
OS390-has-ebcdic os_390.txt /*OS390-has-ebcdic*
+OS390-limitations os_390.txt /*OS390-limitations*
OS390-open-source os_390.txt /*OS390-open-source*
-OS390-weaknesses os_390.txt /*OS390-weaknesses*
-OS390-xterm os_390.txt /*OS390-xterm*
OffTheSpot mbyte.txt /*OffTheSpot*
OnTheSpot mbyte.txt /*OnTheSpot*
Operator-pending intro.txt /*Operator-pending*
@@ -4890,6 +4887,7 @@ chill.vim syntax.txt /*chill.vim*
cindent() eval.txt /*cindent()*
cinkeys-format indent.txt /*cinkeys-format*
cinoptions-values indent.txt /*cinoptions-values*
+clear-undo undo.txt /*clear-undo*
clearmatches() eval.txt /*clearmatches()*
client-server remote.txt /*client-server*
clientserver remote.txt /*clientserver*
@@ -5984,6 +5982,7 @@ help-translated helphelp.txt /*help-translated*
help-writing helphelp.txt /*help-writing*
help-xterm-window helphelp.txt /*help-xterm-window*
help.txt help.txt /*help.txt*
+helpfile_name.txt helphelp.txt /*helpfile_name.txt*
helphelp helphelp.txt /*helphelp*
helphelp.txt helphelp.txt /*helphelp.txt*
hex-editing tips.txt /*hex-editing*
@@ -8356,13 +8355,10 @@ zO fold.txt /*zO*
zOS os_390.txt /*zOS*
zOS-Bugs os_390.txt /*zOS-Bugs*
zOS-Motif os_390.txt /*zOS-Motif*
-zOS-building os_390.txt /*zOS-building*
-zOS-changes os_390.txt /*zOS-changes*
-zOS-feedback os_390.txt /*zOS-feedback*
+zOS-PuTTY os_390.txt /*zOS-PuTTY*
zOS-has-ebcdic os_390.txt /*zOS-has-ebcdic*
+zOS-limitations os_390.txt /*zOS-limitations*
zOS-open-source os_390.txt /*zOS-open-source*
-zOS-weaknesses os_390.txt /*zOS-weaknesses*
-zOS-xterm os_390.txt /*zOS-xterm*
zR fold.txt /*zR*
zW spell.txt /*zW*
zX fold.txt /*zX*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 6f82a6834f..27039a2492 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1087,11 +1087,13 @@ Vim 7.3:
Ron's version: http://dev.ronware.org/p/vim/finfo?name=gvim.nsi
- Also crypt the swap file, each block separately. Change mf_write() and
mf_read().
- - How to get b_p_key to these functions? Store it in mfp?
+ - How to get b_p_key to these functions? -> Store buf_T pointer in mfp.
- Generate a seed for the swapfile, put it in block 0.
- For each block, use password + seed + byte offset to crypt/decrypt.
- When changing the password need to read back with the old password and
write again with the new one.
+ - Fill the gaps in the block with random bytes, otherwise it's easy to
+ check for correct password by finding NUL bytes.
- Verify recovery works.
- Update for crypt code to use salt. (Mohsin May 30)
Make the strengthen_key value configurable and store it in the header?
@@ -1099,6 +1101,10 @@ Vim 7.3:
- undofile: keep markers where the file was written/read, so that it's easy to
go back to a saved version of the file: ":earlier 1f" (f for file)?
Also add ":earlier 1d" (d for day).
+ Something like changenr() to see the "file saved" marker?
+ Show "file saved" marker in :undolist
+ Function to get undo tree: undotree(). List of lists. Each entry is a
+ dictionary: {'nr': 2, 'time': 1234, 'saved': 1}
- Create a helphelp.txt file, move instructions there to write help files from
various.txt and list by Tony.
Patches to include:
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index e8fed4f067..6e2308ff1b 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -314,6 +314,16 @@ The number of changes that are remembered is set with the 'undolevels' option.
If it is zero, the Vi-compatible way is always used. If it is negative no
undo is possible. Use this if you are running out of memory.
+ *clear-undo*
+When you set 'undolevels' to -1 the undo information is not immediately
+cleared, this happens at the next change. To force clearing the undo
+information you can use these commands: >
+ :let old_undolevels = &undolevels
+ :set undolevels=-1
+ :exe "normal a \<BS>\<Esc>"
+ :let &undolevels = old_undolevels
+ :unlet old_undolevels
+
Marks for the buffer ('a to 'z) are also saved and restored, together with the
text. {Vi does this a little bit different}
diff --git a/runtime/indent/cmake.vim b/runtime/indent/cmake.vim
index 4315ad23af..8c408fb1ec 100644
--- a/runtime/indent/cmake.vim
+++ b/runtime/indent/cmake.vim
@@ -1,19 +1,11 @@
-" =============================================================================
-"
-" Program: CMake - Cross-Platform Makefile Generator
-" Module: $RCSfile: cmake-indent.vim,v $
-" Language: VIM
-" Date: $Date: 2006/09/23 21:09:08 $
-" Version: $Revision: 1.7 $
-"
-" =============================================================================
-
" Vim indent file
+" Program: CMake - Cross-Platform Makefile Generator
+" Module: $RCSfile: cmake-indent.vim,v $
" Language: CMake (ft=cmake)
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
-" Maintainer: Andy Cedilnik <andy.cedilnik@kitware.com>
-" Last Change: $Date: 2006/09/23 21:09:08 $
-" Version: $Revision: 1.7 $
+" Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
+" Last Change: $Date: 2008-01-16 16:53:53 $
+" Version: $Revision: 1.9 $
"
" Licence: The CMake license applies to this file. See
" http://www.cmake.org/HTML/Copyright.html
@@ -25,6 +17,7 @@ endif
let b:did_indent = 1
setlocal indentexpr=CMakeGetIndent(v:lnum)
+setlocal indentkeys+==ENDIF(,ENDFOREACH(,ENDMACRO(,ELSE(,ELSEIF(,ENDWHILE(
" Only define the function once.
if exists("*CMakeGetIndent")
@@ -65,8 +58,8 @@ fun! CMakeGetIndent(lnum)
\ ')\s*' .
\ '\(' . cmake_regex_comment . '\)\?$'
- let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\|ELSEIF\|WHILE\)\s*('
- let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ELSEIF\|ENDWHILE\)\s*('
+ let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\|ELSEIF\|WHILE\|FUNCTION\)\s*('
+ let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ELSEIF\|ENDWHILE\|ENDFUNCTION\)\s*('
" Add
if previous_line =~? cmake_indent_comment_line " Handle comments
diff --git a/runtime/syntax/cmake.vim b/runtime/syntax/cmake.vim
index ab96329446..d6e8cb45a9 100644
--- a/runtime/syntax/cmake.vim
+++ b/runtime/syntax/cmake.vim
@@ -1,19 +1,11 @@
-" =============================================================================
-"
-" Program: CMake - Cross-Platform Makefile Generator
-" Module: $RCSfile: cmake-syntax.vim,v $
-" Language: VIM
-" Date: $Date: 2006/09/23 21:09:08 $
-" Version: $Revision: 1.6 $
-"
-" =============================================================================
-
" Vim syntax file
+" Program: CMake - Cross-Platform Makefile Generator
+" Module: $RCSfile: cmake-syntax.vim,v $
" Language: CMake
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
-" Maintainer: Andy Cedilnik <andy.cedilnik@kitware.com>
-" Last Change: $Date: 2006/09/23 21:09:08 $
-" Version: $Revision: 1.6 $
+" Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
+" Last Change: $Date: 2008-08-25 14:31:28 $
+" Version: $Revision: 1.10 $
"
" Licence: The CMake license applies to this file. See
" http://www.cmake.org/HTML/Copyright.html
@@ -28,31 +20,33 @@ elseif exists("b:current_syntax")
endif
syn case ignore
-syn match cmakeComment /#.*$/
-syn region cmakeRegistry start=/\[/ end=/\]/ skip=/\\[\[\]]/
- \ contained
-syn match cmakeArgument /[^()"]+/
- \ contained
-syn match cmakeVariableValue /\${[^}]*}/
- \ contained oneline
-syn match cmakeEnvironment /\$ENV{.*}/
- \ contained
+syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained
+syn region cmakeComment start="#" end="$" contains=cmakeTodo
+syn region cmakeRegistry start=/\[/ end=/]/
+ \ contained oneline contains=CONTAINED,cmakeTodo,cmakeEscaped
+syn region cmakeVariableValue start=/\${/ end=/}/
+ \ contained oneline contains=CONTAINED,cmakeTodo
+syn region cmakeEnvironment start=/\$ENV{/ end=/}/
+ \ contained oneline contains=CONTAINED,cmakeTodo
+syn region cmakeString start=/"/ end=/"/
+ \ contains=CONTAINED,cmakeTodo,cmakeOperators
+syn region cmakeArguments start=/(/ end=/)/
+ \ contains=ALLBUT,cmakeArguments,cmakeTodo
syn keyword cmakeSystemVariables
- \ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80
+ \ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80 MSVC90
syn keyword cmakeOperators
- \ AND BOOL CACHE COMMAND DEFINED DOC EQUAL EXISTS FALSE GREATER INTERNAL LESS MATCHES NAME NAMES NAME_WE NOT OFF ON OR PATH PATHS PROGRAM STREQUAL STRGREATER STRING STRLESS TRUE
-" \ contained
-syn region cmakeString start=/"/ end=/"/ skip=/\\"/
- \ contains=ALLBUT,cmakeString
-syn region cmakeArguments start=/\s*(/ end=/)/
- \ contains=ALLBUT,cmakeArguments
+ \ ABSOLUTE AND BOOL CACHE COMMAND DEFINED DOC EQUAL EXISTS EXT FALSE GREATER INTERNAL LESS MATCHES NAME NAMES NAME_WE NOT OFF ON OR PATH PATHS PROGRAM STREQUAL STRGREATER STRING STRLESS TRUE
+ \ contained
syn keyword cmakeDeprecated ABSTRACT_FILES BUILD_NAME SOURCE_FILES SOURCE_FILES_REMOVE VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WRAP_EXCLUDE_FILES
- \ nextgroup=cmakeArgument
-syn keyword cmakeStatement
- \ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ELSEIF ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDIF ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE ENDMACRO
- \ nextgroup=cmakeArgumnts
+ \ nextgroup=cmakeArguments
-"syn match cmakeMacro /^\s*[A-Z_]\+/ nextgroup=cmakeArgumnts
+" The keywords are generated as: cmake --help-command-list | tr "\n" " "
+syn keyword cmakeStatement
+ \ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ELSEIF ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDFUNCTION ENDIF ENDMACRO ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH FUNCTION GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN UNSET USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE
+ \ nextgroup=cmakeArguments
+syn keyword cmakeTodo
+ \ TODO FIXME XXX
+ \ contained
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
@@ -75,7 +69,9 @@ if version >= 508 || !exists("did_cmake_syntax_inits")
HiLink cmakeEnvironment Special
HiLink cmakeOperators Operator
HiLink cmakeMacro PreProc
- HiLink cmakeError Error
+ HiLink cmakeError Error
+ HiLink cmakeTodo TODO
+ HiLink cmakeEscaped Special
delcommand HiLink
endif
diff --git a/src/eval.c b/src/eval.c
index 6ad71d5ae7..e777d32558 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -17639,8 +17639,13 @@ f_undofile(argvars, rettv)
{
rettv->v_type = VAR_STRING;
#ifdef FEAT_PERSISTENT_UNDO
- rettv->vval.v_string = u_get_undo_file_name(get_tv_string(&argvars[0]),
- FALSE);
+ {
+ char_u *ffname = FullName_save(get_tv_string(&argvars[0]), FALSE);
+
+ if (ffname != NULL)
+ rettv->vval.v_string = u_get_undo_file_name(ffname, FALSE);
+ vim_free(ffname);
+ }
#else
rettv->vval.v_string = NULL;
#endif
diff --git a/src/memfile.c b/src/memfile.c
index bd03e65a6d..5412a61456 100644
--- a/src/memfile.c
+++ b/src/memfile.c
@@ -234,7 +234,7 @@ mf_open_file(mfp, fname)
}
/*
- * close a memory file and delete the associated file if 'del_file' is TRUE
+ * Close a memory file and delete the associated file if 'del_file' is TRUE.
*/
void
mf_close(mfp, del_file)
@@ -415,7 +415,8 @@ mf_new(mfp, negative, page_count)
* Init the data to all zero, to avoid reading uninitialized data.
* This also avoids that the passwd file ends up in the swap file!
*/
- (void)vim_memset((char *)(hp->bh_data), 0, (size_t)mfp->mf_page_size);
+ (void)vim_memset((char *)(hp->bh_data), 0,
+ (size_t)mfp->mf_page_size * page_count);
return hp;
}