From 945e2dbb633ed29b697a8d4eea51672e3c11143b Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 5 Jun 2010 17:43:32 +0200 Subject: Use full path in undofile(). Updated docs. --- README_os390.txt | 123 ++++++++++++++++++++------------------------- runtime/doc/eval.txt | 4 +- runtime/doc/helphelp.txt | 64 ++++++++++++++++++++++- runtime/doc/if_mzsch.txt | 2 +- runtime/doc/options.txt | 3 +- runtime/doc/os_390.txt | 2 +- runtime/doc/pi_netrw.txt | 4 +- runtime/doc/pi_vimball.txt | 2 +- runtime/doc/tags | 16 +++--- runtime/doc/todo.txt | 8 ++- runtime/doc/undo.txt | 10 ++++ runtime/indent/cmake.vim | 23 +++------ runtime/syntax/cmake.vim | 66 ++++++++++++------------ src/eval.c | 9 +++- src/memfile.c | 5 +- 15 files changed, 200 insertions(+), 141 deletions(-) diff --git a/README_os390.txt b/README_os390.txt index b03eb140b..f4e673610 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 . -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 + +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 several times, you will switch -through all help items containing 'syntax'. Press on the one you are -interested at. Or press 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 to follow this link. Use 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 4d983bfba..7d5e6d6e0 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 in an abbreviation |map-|. + character when using in an abbreviation |:map-|. *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 1787659c1..eea639fd2 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 , 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 ca384cf72..599552fe2 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 498df7feb..63efd1c24 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 5a9d36814..c39f3bada 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 b57585be2..e3032df3c 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 4928d1153..8eaa838a8 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 f2bf7315e..632f28845 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 6f82a6834..27039a249 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 e8fed4f06..6e2308ff1 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 \\" + :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 4315ad23a..8c408fb1e 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 -" Maintainer: Andy Cedilnik -" Last Change: $Date: 2006/09/23 21:09:08 $ -" Version: $Revision: 1.7 $ +" Maintainer: Karthik Krishnan +" 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 ab9632944..d6e8cb45a 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 -" Maintainer: Andy Cedilnik -" Last Change: $Date: 2006/09/23 21:09:08 $ -" Version: $Revision: 1.6 $ +" Maintainer: Karthik Krishnan +" 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 6ad71d5ae..e777d3255 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 bd03e65a6..5412a6145 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; } -- cgit v1.2.1