0
0
mirror of https://github.com/vim/vim.git synced 2025-09-27 04:14:06 -04:00

Use full path in undofile(). Updated docs.

This commit is contained in:
Bram Moolenaar
2010-06-05 17:43:32 +02:00
parent a76638f47d
commit 945e2dbb63
15 changed files with 200 additions and 141 deletions

View File

@@ -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!!! Most likley there are not many users out there using Vim on z/OS. So chances
I expect you to know how to handle alpha software! are good, that some bugs are still undiscovered.
This port was done by Ralf Schandl <schandl@de.ibm.com>. Getting the source to z/OS:
This port is not maintained or supported by IBM!! ==========================
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: Compiling:
---------- ==========
Note: After the file configure was created via autoconf, it had been Vim can be compiled with or without GUI support. For 7.3 only the compilation
handedited, to make the test for ICEConnectionNumber work. without GUI was tested. Below is a section about compiling with X11 but this
DO NOT run autoconf again! is from an earlier version of Vim.
Without X11: Console only:
-------------
If you build VIM without X11 support, compiling and building is nearly 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 straightforward.
VIM toplevel directory. Change to the src directory first and call make from
there. Here is a what to do: Change to the vim directory and do:
# Don't use c89! # Don't use c89!
# Make additional symbols visible.
# Allow intermixing of compiler options and files. # Allow intermixing of compiler options and files.
$ export CC=cc $ export CC=cc
$ export CFLAGS=-D_ALL_SOURCE
$ export _CC_CCMODE=1 $ export _CC_CCMODE=1
$./configure --enable-max-features --without-x --enable-gui=no $./configure --with-features=big --without-x --enable-gui=no
$ cd src $ cd src
$ make $ make
There may be warnings:
- include files not found (libc, sys/param.h, ...)
- Redeclaration of ... differs from ...
-- just ignore them.
$ make test $ make test
Note: Test 28 will be reported as failed. This is because diff can't This will produce lots of garbage on your screen (including error
compare files containing '\0' characters. Test 11 will fail if you messages). Don't worry.
don't have gzip.
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 $ make install
With X11: 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 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 and results in a big executable (~13 Mb), the second needs a few additional
@@ -54,8 +87,6 @@ you want Motif.
The easy way: The easy way:
$ export CC=cc $ export CC=cc
$ export CFLAGS="-D_ALL_SOURCE -W c,dll"
$ export LDFLAGS="-W l,dll"
$ export _CC_CCMODE=1 $ export _CC_CCMODE=1
$ ./configure --enable-max-features --enable-gui=motif $ ./configure --enable-max-features --enable-gui=motif
$ cd src $ cd src
@@ -65,7 +96,7 @@ you want Motif.
The smarter way: The smarter way:
Make VIM as described above. Then create a file named 'link.sed' with the 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/-lXext *//g
s/-lXmu *//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. 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.

View File

@@ -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* *char-variable*
v:char Argument for evaluating 'formatexpr' and used for the typed 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* *charconvert_from-variable*
v:charconvert_from v:charconvert_from
@@ -5773,6 +5773,8 @@ undofile({name}) *undofile()*
with name {name} when writing. This uses the 'undodir' with name {name} when writing. This uses the 'undodir'
option, finding directories that exist. It does not check if option, finding directories that exist. It does not check if
the undo file exist. 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|. Useful in combination with |:wundo| and |:rundo|.
When compiled without the +persistent_undo option this always When compiled without the +persistent_undo option this always
returns an empty string. returns an empty string.

View File

@@ -273,6 +273,68 @@ Hints for translators:
============================================================================== ==============================================================================
3. Writing help files *help-writing* 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: vim:tw=78:ts=8:ft=help:norl:

View File

@@ -233,7 +233,7 @@ Windows *mzscheme-window*
============================================================================== ==============================================================================
5. mzeval() Vim function *mzscheme-mzeval* 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. evaluate MzScheme expressions and pass their values to VimL.
============================================================================== ==============================================================================

View File

@@ -7265,10 +7265,11 @@ A jump table for the options with a short description can be found at |Q_op|.
set ul=0 set ul=0
< But you can also get Vi compatibility by including the 'u' flag in < 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. '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 to a negative number for no undo at all: >
set ul=-1 set ul=-1
< This helps when you run out of memory for a single change. < 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'*
'updatecount' 'uc' number (default: 200) 'updatecount' 'uc' number (default: 200)

View File

@@ -7,7 +7,7 @@
This file contains the particulars for the z/OS UNIX version of Vim. This file contains the particulars for the z/OS UNIX version of Vim.
1. ASCII/EBCDIC dependent scripts |zOS-has-ebcdic| 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| 3. Motif Problems |zOS-Motif|
4. Bugs |zOS-Bugs| 4. Bugs |zOS-Bugs|
5. Limitations |zOS-limitations| 5. Limitations |zOS-limitations|

View File

@@ -589,7 +589,7 @@ password.
PASSWORD *netrw-passwd* PASSWORD *netrw-passwd*
The script attempts to get passwords for ftp invisibly using |inputsecret()|, 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. after one has set it.
Unfortunately there doesn't appear to be a way for netrw to feed a password to 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 > 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: Netrw then executes the lines above by use of a filter:
> >

View File

@@ -197,7 +197,7 @@ WINDOWS *vimball-windows*
Apr 18, 2008 * RmVimball command is now protected by saving and Apr 18, 2008 * RmVimball command is now protected by saving and
restoring settings -- in particular, acd was restoring settings -- in particular, acd was
causing problems as reported by Zhang Shuhan 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 prevent certain characters from causing trouble
22 : Mar 21, 2007 * uses setlocal instead of set during BufEnter 22 : Mar 21, 2007 * uses setlocal instead of set during BufEnter
21 : Nov 27, 2006 * (tnx to Bill McCarthy) vimball had a header 21 : Nov 27, 2006 * (tnx to Bill McCarthy) vimball had a header

View File

@@ -4293,14 +4293,11 @@ OS/2 os_os2.txt /*OS\/2*
OS2 os_os2.txt /*OS2* OS2 os_os2.txt /*OS2*
OS390 os_390.txt /*OS390* OS390 os_390.txt /*OS390*
OS390-Motif os_390.txt /*OS390-Motif* OS390-Motif os_390.txt /*OS390-Motif*
OS390-PuTTY os_390.txt /*OS390-PuTTY*
OS390-bugs os_390.txt /*OS390-bugs* 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-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-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* OffTheSpot mbyte.txt /*OffTheSpot*
OnTheSpot mbyte.txt /*OnTheSpot* OnTheSpot mbyte.txt /*OnTheSpot*
Operator-pending intro.txt /*Operator-pending* Operator-pending intro.txt /*Operator-pending*
@@ -4890,6 +4887,7 @@ chill.vim syntax.txt /*chill.vim*
cindent() eval.txt /*cindent()* cindent() eval.txt /*cindent()*
cinkeys-format indent.txt /*cinkeys-format* cinkeys-format indent.txt /*cinkeys-format*
cinoptions-values indent.txt /*cinoptions-values* cinoptions-values indent.txt /*cinoptions-values*
clear-undo undo.txt /*clear-undo*
clearmatches() eval.txt /*clearmatches()* clearmatches() eval.txt /*clearmatches()*
client-server remote.txt /*client-server* client-server remote.txt /*client-server*
clientserver remote.txt /*clientserver* clientserver remote.txt /*clientserver*
@@ -5984,6 +5982,7 @@ help-translated helphelp.txt /*help-translated*
help-writing helphelp.txt /*help-writing* help-writing helphelp.txt /*help-writing*
help-xterm-window helphelp.txt /*help-xterm-window* help-xterm-window helphelp.txt /*help-xterm-window*
help.txt help.txt /*help.txt* help.txt help.txt /*help.txt*
helpfile_name.txt helphelp.txt /*helpfile_name.txt*
helphelp helphelp.txt /*helphelp* helphelp helphelp.txt /*helphelp*
helphelp.txt helphelp.txt /*helphelp.txt* helphelp.txt helphelp.txt /*helphelp.txt*
hex-editing tips.txt /*hex-editing* hex-editing tips.txt /*hex-editing*
@@ -8356,13 +8355,10 @@ zO fold.txt /*zO*
zOS os_390.txt /*zOS* zOS os_390.txt /*zOS*
zOS-Bugs os_390.txt /*zOS-Bugs* zOS-Bugs os_390.txt /*zOS-Bugs*
zOS-Motif os_390.txt /*zOS-Motif* zOS-Motif os_390.txt /*zOS-Motif*
zOS-building os_390.txt /*zOS-building* zOS-PuTTY os_390.txt /*zOS-PuTTY*
zOS-changes os_390.txt /*zOS-changes*
zOS-feedback os_390.txt /*zOS-feedback*
zOS-has-ebcdic os_390.txt /*zOS-has-ebcdic* 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-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* zR fold.txt /*zR*
zW spell.txt /*zW* zW spell.txt /*zW*
zX fold.txt /*zX* zX fold.txt /*zX*

View File

@@ -1087,11 +1087,13 @@ Vim 7.3:
Ron's version: http://dev.ronware.org/p/vim/finfo?name=gvim.nsi 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 - Also crypt the swap file, each block separately. Change mf_write() and
mf_read(). 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. - Generate a seed for the swapfile, put it in block 0.
- For each block, use password + seed + byte offset to crypt/decrypt. - For each block, use password + seed + byte offset to crypt/decrypt.
- When changing the password need to read back with the old password and - When changing the password need to read back with the old password and
write again with the new one. 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. - Verify recovery works.
- Update for crypt code to use salt. (Mohsin May 30) - Update for crypt code to use salt. (Mohsin May 30)
Make the strengthen_key value configurable and store it in the header? 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 - 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)? go back to a saved version of the file: ":earlier 1f" (f for file)?
Also add ":earlier 1d" (d for day). 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 - Create a helphelp.txt file, move instructions there to write help files from
various.txt and list by Tony. various.txt and list by Tony.
Patches to include: Patches to include:

View File

@@ -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 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. 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 Marks for the buffer ('a to 'z) are also saved and restored, together with the
text. {Vi does this a little bit different} text. {Vi does this a little bit different}

View File

@@ -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 " Vim indent file
" Program: CMake - Cross-Platform Makefile Generator
" Module: $RCSfile: cmake-indent.vim,v $
" Language: CMake (ft=cmake) " Language: CMake (ft=cmake)
" Author: Andy Cedilnik <andy.cedilnik@kitware.com> " Author: Andy Cedilnik <andy.cedilnik@kitware.com>
" Maintainer: Andy Cedilnik <andy.cedilnik@kitware.com> " Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
" Last Change: $Date: 2006/09/23 21:09:08 $ " Last Change: $Date: 2008-01-16 16:53:53 $
" Version: $Revision: 1.7 $ " Version: $Revision: 1.9 $
" "
" Licence: The CMake license applies to this file. See " Licence: The CMake license applies to this file. See
" http://www.cmake.org/HTML/Copyright.html " http://www.cmake.org/HTML/Copyright.html
@@ -25,6 +17,7 @@ endif
let b:did_indent = 1 let b:did_indent = 1
setlocal indentexpr=CMakeGetIndent(v:lnum) setlocal indentexpr=CMakeGetIndent(v:lnum)
setlocal indentkeys+==ENDIF(,ENDFOREACH(,ENDMACRO(,ELSE(,ELSEIF(,ENDWHILE(
" Only define the function once. " Only define the function once.
if exists("*CMakeGetIndent") if exists("*CMakeGetIndent")
@@ -65,8 +58,8 @@ fun! CMakeGetIndent(lnum)
\ ')\s*' . \ ')\s*' .
\ '\(' . cmake_regex_comment . '\)\?$' \ '\(' . cmake_regex_comment . '\)\?$'
let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\|ELSEIF\|WHILE\)\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\)\s*(' let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ELSEIF\|ENDWHILE\|ENDFUNCTION\)\s*('
" Add " Add
if previous_line =~? cmake_indent_comment_line " Handle comments if previous_line =~? cmake_indent_comment_line " Handle comments

View File

@@ -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 " Vim syntax file
" Program: CMake - Cross-Platform Makefile Generator
" Module: $RCSfile: cmake-syntax.vim,v $
" Language: CMake " Language: CMake
" Author: Andy Cedilnik <andy.cedilnik@kitware.com> " Author: Andy Cedilnik <andy.cedilnik@kitware.com>
" Maintainer: Andy Cedilnik <andy.cedilnik@kitware.com> " Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
" Last Change: $Date: 2006/09/23 21:09:08 $ " Last Change: $Date: 2008-08-25 14:31:28 $
" Version: $Revision: 1.6 $ " Version: $Revision: 1.10 $
" "
" Licence: The CMake license applies to this file. See " Licence: The CMake license applies to this file. See
" http://www.cmake.org/HTML/Copyright.html " http://www.cmake.org/HTML/Copyright.html
@@ -28,31 +20,33 @@ elseif exists("b:current_syntax")
endif endif
syn case ignore syn case ignore
syn match cmakeComment /#.*$/ syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained
syn region cmakeRegistry start=/\[/ end=/\]/ skip=/\\[\[\]]/ syn region cmakeComment start="#" end="$" contains=cmakeTodo
\ contained syn region cmakeRegistry start=/\[/ end=/]/
syn match cmakeArgument /[^()"]+/ \ contained oneline contains=CONTAINED,cmakeTodo,cmakeEscaped
\ contained syn region cmakeVariableValue start=/\${/ end=/}/
syn match cmakeVariableValue /\${[^}]*}/ \ contained oneline contains=CONTAINED,cmakeTodo
\ contained oneline syn region cmakeEnvironment start=/\$ENV{/ end=/}/
syn match cmakeEnvironment /\$ENV{.*}/ \ contained oneline contains=CONTAINED,cmakeTodo
\ contained syn region cmakeString start=/"/ end=/"/
\ contains=CONTAINED,cmakeTodo,cmakeOperators
syn region cmakeArguments start=/(/ end=/)/
\ contains=ALLBUT,cmakeArguments,cmakeTodo
syn keyword cmakeSystemVariables 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 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 \ 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 \ contained
syn region cmakeString start=/"/ end=/"/ skip=/\\"/
\ contains=ALLBUT,cmakeString
syn region cmakeArguments start=/\s*(/ end=/)/
\ contains=ALLBUT,cmakeArguments
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 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 \ nextgroup=cmakeArguments
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
"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. " Define the default highlighting.
" For version 5.7 and earlier: only when not done already " 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 cmakeEnvironment Special
HiLink cmakeOperators Operator HiLink cmakeOperators Operator
HiLink cmakeMacro PreProc HiLink cmakeMacro PreProc
HiLink cmakeError Error HiLink cmakeError Error
HiLink cmakeTodo TODO
HiLink cmakeEscaped Special
delcommand HiLink delcommand HiLink
endif endif

View File

@@ -17639,8 +17639,13 @@ f_undofile(argvars, rettv)
{ {
rettv->v_type = VAR_STRING; rettv->v_type = VAR_STRING;
#ifdef FEAT_PERSISTENT_UNDO #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 #else
rettv->vval.v_string = NULL; rettv->vval.v_string = NULL;
#endif #endif

View File

@@ -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 void
mf_close(mfp, del_file) 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. * Init the data to all zero, to avoid reading uninitialized data.
* This also avoids that the passwd file ends up in the swap file! * 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; return hp;
} }