Merge upstream/hg/vim73 into macvim73

Conflicts:
	runtime/doc/tags
	src/auto/configure
This commit is contained in:
Bjorn Winckler
2010-06-05 21:33:03 +02:00
28 changed files with 799 additions and 736 deletions
+55 -68
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!!!
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.
+1
View File
@@ -37,6 +37,7 @@ DOCS = \
hangulin.txt \
hebrew.txt \
help.txt \
helphelp.txt \
howto.txt \
if_cscop.txt \
if_mzsch.txt \
+3 -1
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 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.
+5 -2
View File
@@ -26,6 +26,7 @@ Get specific help: It is possible to go directly to whatever you want help
Option ' :help 'textwidth'
Search for help: Type ":help word", then hit CTRL-D to see matching
help entries for "word".
Or use ":helpgrep word". |:helpgrep|
VIM stands for Vi IMproved. Most of VIM was made by Bram Moolenaar, but only
through the help of many others. See |credits|.
@@ -90,6 +91,7 @@ REFERENCE MANUAL: These files explain every detail of Vim. *reference_toc*
General subjects ~
|intro.txt| general introduction to Vim; notation used in help files
|help.txt| overview and quick reference (this file)
|helphelp.txt| about using the help files
|index.txt| alphabetical index of all commands
|help-tags| all the tags you can jump to (index of tags)
|howto.txt| how to do the most common editing tasks
@@ -209,10 +211,11 @@ Now that you've jumped here with CTRL-] or a double mouse click, you can use
CTRL-T, CTRL-O, g<RightMouse>, or <C-RightMouse> to go back to where you were.
Note that tags are within | characters, but when highlighting is enabled these
are hidden. That makes it easier to read a command.
characters are hidden. That makes it easier to read a command.
Anyway, you can use CTRL-] on any word, also when it is not within |, and Vim
will try to find help for it.
will try to find help for it. Especially for options in single quotes, e.g.
'compatible'.
------------------------------------------------------------------------------
vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl:
+340
View File
@@ -0,0 +1,340 @@
*helphelp.txt* For Vim version 7.3a. Last change: 2008 Jul 21
VIM REFERENCE MANUAL by Bram Moolenaar
Help on help files *helphelp*
1. Help commands |online-help|
2. Translating help files |help-translated|
3. Writing help files |help-writing|
==============================================================================
1. Help commands *online-help*
*help* *<Help>* *:h* *:help* *<F1>* *i_<F1>* *i_<Help>*
<Help> or
:h[elp] Open a window and display the help file in read-only
mode. If there is a help window open already, use
that one. Otherwise, if the current window uses the
full width of the screen or is at least 80 characters
wide, the help window will appear just above the
current window. Otherwise the new window is put at
the very top.
The 'helplang' option is used to select a language, if
the main help file is available in several languages.
{not in Vi}
*{subject}* *E149* *E661*
:h[elp] {subject} Like ":help", additionally jump to the tag {subject}.
{subject} can include wildcards like "*", "?" and
"[a-z]":
:help z? jump to help for any "z" command
:help z. jump to the help for "z."
If there is no full match for the pattern, or there
are several matches, the "best" match will be used.
A sophisticated algorithm is used to decide which
match is better than another one. These items are
considered in the computation:
- A match with same case is much better than a match
with different case.
- A match that starts after a non-alphanumeric
character is better than a match in the middle of a
word.
- A match at or near the beginning of the tag is
better than a match further on.
- The more alphanumeric characters match, the better.
- The shorter the length of the match, the better.
The 'helplang' option is used to select a language, if
the {subject} is available in several languages.
To find a tag in a specific language, append "@ab",
where "ab" is the two-letter language code. See
|help-translated|.
Note that the longer the {subject} you give, the less
matches will be found. You can get an idea how this
all works by using commandline completion (type CTRL-D
after ":help subject" |c_CTRL-D|).
If there are several matches, you can have them listed
by hitting CTRL-D. Example: >
:help cont<Ctrl-D>
< To use a regexp |pattern|, first do ":help" and then
use ":tag {pattern}" in the help window. The
":tnext" command can then be used to jump to other
matches, "tselect" to list matches and choose one. >
:help index| :tse z.
< When there is no argument you will see matches for
"help", to avoid listing all possible matches (that
would be very slow).
The number of matches displayed is limited to 300.
This command can be followed by '|' and another
command, but you don't need to escape the '|' inside a
help command. So these both work: >
:help |
:help k| only
< Note that a space before the '|' is seen as part of
the ":help" argument.
You can also use <LF> or <CR> to separate the help
command from a following command. You need to type
CTRL-V first to insert the <LF> or <CR>. Example: >
:help so<C-V><CR>only
< {not in Vi}
:h[elp]! [subject] Like ":help", but in non-English help files prefer to
find a tag in a file with the same language as the
current file. See |help-translated|.
*:helpg* *:helpgrep*
:helpg[rep] {pattern}[@xx]
Search all help text files and make a list of lines
in which {pattern} matches. Jumps to the first match.
The optional [@xx] specifies that only matches in the
"xx" language are to be found.
You can navigate through the matches with the
|quickfix| commands, e.g., |:cnext| to jump to the
next one. Or use |:cwindow| to get the list of
matches in the quickfix window.
{pattern} is used as a Vim regexp |pattern|.
'ignorecase' is not used, add "\c" to ignore case.
Example for case sensitive search: >
:helpgrep Uganda
< Example for case ignoring search: >
:helpgrep uganda\c
< Example for searching in French help: >
:helpgrep backspace@fr
< The pattern does not support line breaks, it must
match within one line. You can use |:grep| instead,
but then you need to get the list of help files in a
complicated way.
Cannot be followed by another command, everything is
used as part of the pattern. But you can use
|:execute| when needed.
Compressed help files will not be searched (Fedora
compresses the help files).
{not in Vi}
*:lh* *:lhelpgrep*
:lh[elpgrep] {pattern}[@xx]
Same as ":helpgrep", except the location list is used
instead of the quickfix list. If the help window is
already opened, then the location list for that window
is used. Otherwise, a new help window is opened and
the location list for that window is set. The
location list for the current window is not changed.
*:exu* *:exusage*
:exu[sage] Show help on Ex commands. Added to simulate the Nvi
command. {not in Vi}
*:viu* *:viusage*
:viu[sage] Show help on Normal mode commands. Added to simulate
the Nvi command. {not in Vi}
When no argument is given to |:help| the file given with the 'helpfile' option
will be opened. Otherwise the specified tag is searched for in all "doc/tags"
files in the directories specified in the 'runtimepath' option.
The initial height of the help window can be set with the 'helpheight' option
(default 20).
Jump to specific subjects by using tags. This can be done in two ways:
- Use the "CTRL-]" command while standing on the name of a command or option.
This only works when the tag is a keyword. "<C-Leftmouse>" and
"g<LeftMouse>" work just like "CTRL-]".
- use the ":ta {subject}" command. This also works with non-keyword
characters.
Use CTRL-T or CTRL-O to jump back.
Use ":q" to close the help window.
If there are several matches for an item you are looking for, this is how you
can jump to each one of them:
1. Open a help window
2. Use the ":tag" command with a slash prepended to the tag. E.g.: >
:tag /min
3. Use ":tnext" to jump to the next matching tag.
It is possible to add help files for plugins and other items. You don't need
to change the distributed help files for that. See |add-local-help|.
To write a local help file, see |write-local-help|.
Note that the title lines from the local help files are automagically added to
the "LOCAL ADDITIONS" section in the "help.txt" help file |local-additions|.
This is done when viewing the file in Vim, the file itself is not changed. It
is done by going through all help files and obtaining the first line of each
file. The files in $VIMRUNTIME/doc are skipped.
*help-xterm-window*
If you want to have the help in another xterm window, you could use this
command: >
:!xterm -e vim +help &
<
*:helpfind* *:helpf*
:helpf[ind] Like |:help|, but use a dialog to enter the argument.
Only for backwards compatibility. It now executes the
ToolBar.FindHelp menu entry instead of using a builtin
dialog. {only when compiled with |+GUI_GTK|}
< {not in Vi}
*:helpt* *:helptags*
*E154* *E150* *E151* *E152* *E153* *E670*
:helpt[ags] [++t] {dir}
Generate the help tags file(s) for directory {dir}.
All "*.txt" and "*.??x" files in the directory are
scanned for a help tag definition in between stars.
The "*.??x" files are for translated docs, they
generate the "tags-??" file, see |help-translated|.
The generated tags files are sorted.
When there are duplicates an error message is given.
An existing tags file is silently overwritten.
The optional "++t" argument forces adding the
"help-tags" tag. This is also done when the {dir} is
equal to $VIMRUNTIME/doc.
To rebuild the help tags in the runtime directory
(requires write permission there): >
:helptags $VIMRUNTIME/doc
< {not in Vi}
==============================================================================
2. Translated help files *help-translated*
It is possible to add translated help files, next to the original English help
files. Vim will search for all help in "doc" directories in 'runtimepath'.
This is only available when compiled with the |+multi_lang| feature.
At this moment translations are available for:
Chinese - multiple authors
French - translated by David Blanchet
Italian - translated by Antonio Colombo
Polish - translated by Mikolaj Machowski
Russian - translated by Vassily Ragosin
See the Vim website to find them: http://www.vim.org/translations.php
A set of translated help files consists of these files:
help.abx
howto.abx
...
tags-ab
"ab" is the two-letter language code. Thus for Italian the names are:
help.itx
howto.itx
...
tags-it
The 'helplang' option can be set to the preferred language(s). The default is
set according to the environment. Vim will first try to find a matching tag
in the preferred language(s). English is used when it cannot be found.
To find a tag in a specific language, append "@ab" to a tag, where "ab" is the
two-letter language code. Example: >
:he user-manual@it
:he user-manual@en
The first one finds the Italian user manual, even when 'helplang' is empty.
The second one finds the English user manual, even when 'helplang' is set to
"it".
When using command-line completion for the ":help" command, the "@en"
extension is only shown when a tag exists for multiple languages. When the
tag only exists for English "@en" is omitted.
When using |CTRL-]| or ":help!" in a non-English help file Vim will try to
find the tag in the same language. If not found then 'helplang' will be used
to select a language.
Help files must use latin1 or utf-8 encoding. Vim assumes the encoding is
utf-8 when finding non-ASCII characters in the first line. Thus you must
translate the header with "For Vim version".
The same encoding must be used for the help files of one language in one
directory. You can use a different encoding for different languages and use
a different encoding for help files of the same language but in a different
directory.
Hints for translators:
- Do not translate the tags. This makes it possible to use 'helplang' to
specify the preferred language. You may add new tags in your language.
- When you do not translate a part of a file, add tags to the English version,
using the "tag@en" notation.
- Make a package with all the files and the tags file available for download.
Users can drop it in one of the "doc" directories and start use it.
Report this to Bram, so that he can add a link on www.vim.org.
- Use the |:helptags| command to generate the tags files. It will find all
languages in the specified directory.
==============================================================================
3. Writing help files *help-writing*
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:
+1 -1
View File
@@ -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.
==============================================================================
+3 -2
View File
@@ -194,6 +194,7 @@ patches, suggestions and giving feedback about what is good and bad in Vim.
Vim would never have become what it is now, without the help of these people!
Ron Aaron Win32 GUI changes
Mohsin Ahmed encryption
Zoltan Arpadffy work on VMS port
Tony Andrews Stevie
Gert van Antwerpen changes for DJGPP on MS-DOS
@@ -226,13 +227,13 @@ Vim would never have become what it is now, without the help of these people!
David Leonard Port of Python extensions to Unix
Avner Lottem Edit in right-to-left windows
Flemming Madsen X11 client-server, various features and patches
Microsoft Gave me a copy of DevStudio to compile Vim with
Tony Mechelynck answers many user questions
Paul Moore Python interface extensions, many patches
Katsuhito Nagano Work on multi-byte versions
Sung-Hyun Nam Work on multi-byte versions
Vince Negri Win32 GUI and generic console enhancements
Steve Oualline Author of the first Vim book |frombook|
Dominique Pelle figuring out valgrind reports and fixes
Dominique Pelle valgrind reports and many fixes
A.Politz Many bug reports and some fixes
George V. Reilly Win32 port, Win32 GUI start-off
Stephen Riehm bug collector
+2 -1
View File
@@ -7391,10 +7391,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)
+45 -250
View File
@@ -1,4 +1,4 @@
*os_390.txt* For Vim version 7.3a. Last change: 2008 Dec 17
*os_390.txt* For Vim version 7.3a. Last change: 2010 May 30
VIM REFERENCE MANUAL by Ralf Schandl
@@ -6,24 +6,12 @@
*zOS* *z/OS* *OS390* *os390* *MVS*
This file contains the particulars for the z/OS UNIX version of Vim.
1. Open source on z/OS UNIX |zOS-open-source|
2. Your feedback is needed |zOS-feedback|
3. Building VIM for z/OS UNIX |zOS-building|
4. ASCII/EBCDIC dependent scripts |zOS-has-ebcdic|
5. XTerm Problems |zOS-xterm|
6. Motif Problems |zOS-Motif|
7. Bugs |zOS-Bugs|
8. Known weaknesses |zOS-weaknesses|
9. Changes |zOS-changes|
DISCLAIMER: ~
We are IBM employees, but IBM is not responsible for this port. This is our
private fun, and is provided in the hopes that it may be useful to others.
Please note that this software has NOT been submitted to any formal IBM
testing and is published AS IS. Please do not contact IBM for support for this
software, as it is not an official component of any IBM product. IT IS NOT
SUPPORTED, GUARANTEED, OR RELATED WHATSOEVER TO IBM.
1. ASCII/EBCDIC dependent scripts |zOS-has-ebcdic|
2. Putty and Colors |zOS-PuTTY|
3. Motif Problems |zOS-Motif|
4. Bugs |zOS-Bugs|
5. Limitations |zOS-limitations|
6. Open source on z/OS UNIX |zOS-open-source|
Contributors: ~
The port to z/OS UNIX was done by Ralf Schandl for the Redbook mentioned
@@ -32,128 +20,11 @@ below.
Changes, bug-reports, or both by:
David Moore
Anthony Giorgio <agiorgio@fastmail.fm>
Anthony Giorgio
and others
This document was written by Ralf Schandl and revised by Anthony Giorgio.
==============================================================================
1. Open source on z/OS UNIX *OS390-open-source* *zOS-open-source*
If you are interested in other Open Source Software on z/OS UNIX, have a
look at the following Redbook:
Mike MacIsaac et al
"Open Source Software for z/OS and OS/390 UNIX"
IBM Form Number: SG24-5944-01
ISBN: 0738424633
You can find out more information, order a hard copy, or download a PDF
version of these Redbooks at:
http://www.redbooks.ibm.com
==============================================================================
2. Your feedback is needed *OS390-feedback* *zOS-feedback*
Vim should compile, link, and run right out of the box on a standard IBM z/OS
UNIX mainframe. I've personally run it on z/OS V1R2 and V1R3 machines without
problems.
Many changes had to be done to the code to port Vim to z/OS UNIX. As like
most UNIX programs, Vim contained heavy ASCII dependencies. I might have
missed an ASCII dependency, or it is possible that a new one has been added
with a feature or bug fix. Most programmers are simply not aware of possible
ASCII/EBCDIC conversion issues. If you hit a problem that seems related to
this, feel free to contact us at the email addresses above.
One indication of ASCII/EBCDIC conversion problems is screen corruption with
"unprintable" characters. For example, at one point the errorbell was broken
in Vim. Any time Vim tried to ring the terminal bell an ASCII character 0x07
would be printed. This works fine on most terminals, but is broken on an
EBCDIC one. The correct solution was to define a different value for the bell
character on EBCDIC systems.
Remember, it's only possible to fix a bug if the community knows about it.
Don't rely on someone else to report it! See the section |bug-reports|.
==============================================================================
3. Building VIM for z/OS UNIX *OS390-building* *zOS-building*
A word on debugging code first: ~
The normal run of configure adds the flag '-g' to the compiler options,
to include debugging information into the executable. This information
are normally removed from the executable with the strip command during
installation. On z/OS UNIX, it is not possible to remove this from
the executable. The strip command exists on z/OS UNIX and is called
during the installation, but it does nothing. It is equivalent to the
'touch' command. This is due to the way debug symbols are stored in the
objects generated by the compiler.
If you want to build Vim without debugging code, export the environment
variable CFLAGS set to an empty string before you call the configure script.
>
export CFLAGS=""
Building without X11: ~
Note: Use cc to build Vim. The c89 compiler has stricter syntax checking
and will not compile Vim cleanly.
If you build VIM without X11 support, compiling and building is
straightforward. Don't forget to export _CC_CCMODE=1 before calling
configure and make.
>
$ export _CC_CCMODE=1
$./configure --with-features=big --without-x --enable-gui=no
$ make
$ make test
<
Test notes:
Test 11 will fail if you do not have gzip installed.
Test 42 will fail, as VIM on z/OS UNIX doesn't support the multibyte
feature. (David Moore: "Doesn't work _yet_! :-) I'll see what I
can do.")
>
$ make install
Building with X11: ~
There are two ways for building Vim with X11 support. You can link it
statically with the X11 libraries or can bind it with the X11 DLLs. The
statically linked version results in a huge executable (~13MB), while the
dynamically linked executable is much smaller (~4.5MB).
Here is what you do, if you want Motif:
a) Static link >
$ configure --with-features=big --enable-gui=motif
$ make
<
VIM is now linked statically with the X11 libraries.
b) Dynamic link:
Make VIM as described for the static link. Then change the contents of
the 'auto/link.sed' file by appending: >
s%-lXm *%/usr/lib/Xm.x %g
s%-lX11 *%/usr/lib/X11.x %g
s%-lSM *%/usr/lib/SM.x %g
s%-lICE *%/usr/lib/ICE.x %g
<
Then do: >
$ rm vim
$ make
<
Now Vim is linked with the X11-DLLs.
See the Makefile and the file link.sh on how link.sed is used.
==============================================================================
4. ASCII/EBCDIC dependent scripts *OS390-has-ebcdic* *zOS-has-ebcdic*
1. ASCII/EBCDIC dependent scripts *OS390-has-ebcdic* *zOS-has-ebcdic*
For the internal script language the feature "ebcdic" was added. With this
you can fix ASCII dependent scripts like this:
@@ -164,24 +35,28 @@ you can fix ASCII dependent scripts like this:
let space = 32
endif
<
==============================================================================
5. XTerm problems *OS390-xterm* *zOS-xterm*
2. PuTTY and Colors *OS390-PuTTY* *zOS-PuTTY*
Note: This problem was resolved in version 6.1b. ~
If you see problems with syntax highlighting or screen corruptions when you
connect to z/OS using Putty, try the following:
I saw one problem with XTerm on z/OS UNIX. The terminal code for moving the
cursor to the left is wrong in the termlib database. Perhaps not wrong, but
it didn't work with VIM syntax highlighting and command line cursor movement.
- Configure Putty as "vt220" terminal (Connection->Data)
- Add the following 3 lines to your vimrc:
If the highlighting is messed up while you type, but is okay after you refreshed
the screen with <C-L> or if you can't move to the left with the cursor key on
the command line, try adding >
:set t_le=^H
>
set t_AB=[4%p1%dm
set t_AF=[3%p1%dm
set t_CO=8
<
to your .vimrc. Note: '^H' is one character, hit <C-V><C-H> to get it.
Note:  is one character use <C-V><Esc> to enter it.
==============================================================================
6. Motif Problems *OS390-Motif* *zOS-Motif*
3. Motif Problems *OS390-Motif* *zOS-Motif*
Note: Seen with Vim 6.*, never tested since.
It seems that in porting the Motif library to z/OS, a translation from EBCDIC
to ASCII for the accelerator characters of the pull-down menus was forgotten.
@@ -193,14 +68,14 @@ the file browser).
There is no solution for this yet.
==============================================================================
7. Bugs *OS390-bugs* *zOS-Bugs*
4. Bugs *OS390-bugs* *zOS-Bugs*
- Vim will consistently hang when a large amount of text is selected in
visual block mode. This may be due to a memory corruption issue. Note that
this occurs in both the terminal and gui versions.
==============================================================================
8. Known weaknesses *OS390-weaknesses* *zOS-weaknesses*
5. Limitations *OS390-limitations* *zOS-limitations*
- No binary search in tag files.
The program /bin/sort sorts by ASCII value by default. This program is
@@ -208,9 +83,6 @@ There is no solution for this yet.
ctags out there, that does it right, but we can't be sure. So this seems to
be a permanent restriction.
- Multibyte support (utf-8) doesn't work, it's disabled at compile time.
(|multibyte|)
- The cscope interface (|cscope|) doesn't work for the version of cscope
that we use on our mainframe. We have a copy of version 15.0b12, and it
causes Vim to hang when using the "cscope add" command. I'm guessing that
@@ -221,6 +93,13 @@ There is no solution for this yet.
- No glib/gtk support. I have not been able to successfully compile glib on
z/OS UNIX. This means you'll have to live without the pretty gtk toolbar.
Disabled at compile time:
- Multibyte support (|multibyte|)
- Right-to-left mode (|rileft|)
- Farsi key map (|Farsi|)
- Arabic language support (|Arabic|)
- Spell checking (|spell|)
Never tested:
- Perl interface (|perl|)
@@ -233,108 +112,24 @@ Never tested:
- TCL interface (|tcl|)
...
If you try any of these features and they work, drop us a note!
==============================================================================
9. Changes *OS390-changes* *zOS-changes*
6. Open source on z/OS UNIX *OS390-open-source* *zOS-open-source*
This is a small reference of the changes made to the z/OS port of Vim. It is
not an exhaustive summary of all the modifications made to the code base.
If you are interested in other Open Source Software on z/OS UNIX, have a
look at the following Redbook:
6.1b (beta):
Changed KS_LE in term.c to be "\b" instead of "\010" This fixed the
screen corruption problems in gVim reported by Anthony Giorgio.
Mike MacIsaac et al
"Open Source Software for z/OS and OS/390 UNIX"
IBM Form Number: SG24-5944-01
ISBN: 0738424633
http://www-03.ibm.com/systems/resources/servers_eserver_zseries_zos_unix_redbook_sg245944.pdf
Anthony Giorgio updated this document:
- Changed OS/390 to z/OS where appropriate. IBM decided to rename
all of its servers and operating systems. z/OS and OS/390
are the same product, but the version numbering system was
reset for the name change (e.g. OS/390 V2R11 == z/OS V1R1).
- Added information about second edition of the Open Source Redbook.
- Moved Redbook information to a separate section.
- Various tweaks and changes.
- Updated testing section.
6.0au:
Changed configure.in
Changed documentation.
Anthony Giorgio fixed the errorbell.
David Moore found some problems, which were fixed by Bram and/or David for
6.0au.
6.0q (alpha):
Minor changes for nrformats=alpha (see |'nrformats'|).
Problem with hard-coded keycode for the English pound sign. Added a define in
ascii.h
Disabled multibyte for EBCDIC in feature.h
6.0f (alpha):
First compile of Vim 6 on z/OS UNIX. Some minor changes were needed.
Finally found the reason why make from the top level didn't work (I must have
been blind before!). The Makefile contained a list of targets in one target
line. On all other UNIX's the macro $@ evaluates to the first target in this
list, only on z/OS UNIX it evaluates to the last one :-(.
5.6-390d:
Cleaned up some hacks.
5.6-390c:
I grepped through the source and examined every spot with a character
involved in an operation (+-). I hope I now found all EBCDIC/ASCII
stuff, but ....
Fixed:
- fixed warning message in do_fixdel()
- fixed translation from Ctrl-Char to symbolic name (like ^h to CTRL-H)
for :help
- fixed yank/delete/... into register
- fixed :register command
- fixed viminfo register storing
- fixed quick-access table in findoptions()
- fixed 'g^H' select mode
- fixed tgetstr() 'get terminal capability string', ESC and
Ctrl chars where wrong. (Not used on OS/390 UNIX)
Also look at:
http://www.redbooks.ibm.com
http://www-03.ibm.com/systems/z/os/zos/features/unix/
http://www-03.ibm.com/systems/z/os/zos/features/unix/library/IBM+Redbooks/index.html
ctags:
- added trigraphs support (used in prolog of system header files)
(get.c)
- fixed sorting order with LC_COLLATE=S390 to force EBCDIC sorting.
(sort.c)
5.6-390b:
Changed:
- configure.in:
- added test for OS/390 UNIX
- added special compiler and linker options if building with X11
- configure:
- after created via autoconf hand-edited it to make the test for
ICEConnectionNumber work. This is an autoconf problem. OS/390 UNIX
needs -lX11 for this.
- Makefile
- Don't include the lib directories ('-L...') into the variable
ALL_LIBS. Use own variable ALL_LIB_DIRS instead. A fully POSIX
compliant compiler must not accept objects/libraries and options
mixed. Now we can call the linker like this:
$(CC) $(LDFLAGS) $(ALL_LIB_DIRS) $(OBJ) $(ALL_LIBS)
Fixed:
- Double quote couldn't be entered
Missed ASCII dependencies while setting up terminal
In ASCII 127 is the delete char, in EBCDIC codepage 1047 the value 127
is the double quote.
- fixed ':fixdel'
5.6-390a:
first alpha release for OS/390 UNIX.
Addition:
- For the internal script language I added the feature "ebcdic".
This can be queried with the has()-function of the internal
script language.
------------------------------------------------------------------------------
vim:tw=78:fo=tcq2:ts=8:ft=help:norl:
+2 -2
View File
@@ -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:
>
+1 -1
View File
@@ -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
+40 -41
View File
@@ -2143,8 +2143,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:execute eval.txt /*:execute*
:exi editing.txt /*:exi*
:exit editing.txt /*:exit*
:exu various.txt /*:exu*
:exusage various.txt /*:exusage*
:exu helphelp.txt /*:exu*
:exusage helphelp.txt /*:exusage*
:f editing.txt /*:f*
:fi editing.txt /*:fi*
:file editing.txt /*:file*
@@ -2195,16 +2195,16 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:gui gui_x11.txt /*:gui*
:gv gui_x11.txt /*:gv*
:gvim gui_x11.txt /*:gvim*
:h various.txt /*:h*
:h helphelp.txt /*:h*
:ha print.txt /*:ha*
:hardcopy print.txt /*:hardcopy*
:help various.txt /*:help*
:helpf various.txt /*:helpf*
:helpfind various.txt /*:helpfind*
:helpg various.txt /*:helpg*
:helpgrep various.txt /*:helpgrep*
:helpt various.txt /*:helpt*
:helptags various.txt /*:helptags*
:help helphelp.txt /*:help*
:helpf helphelp.txt /*:helpf*
:helpfind helphelp.txt /*:helpfind*
:helpg helphelp.txt /*:helpg*
:helpgrep helphelp.txt /*:helpgrep*
:helpt helphelp.txt /*:helpt*
:helptags helphelp.txt /*:helptags*
:hi syntax.txt /*:hi*
:hi-default syntax.txt /*:hi-default*
:hi-link syntax.txt /*:hi-link*
@@ -2326,8 +2326,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:lgrep quickfix.txt /*:lgrep*
:lgrepa quickfix.txt /*:lgrepa*
:lgrepadd quickfix.txt /*:lgrepadd*
:lh various.txt /*:lh*
:lhelpgrep various.txt /*:lhelpgrep*
:lh helphelp.txt /*:lh*
:lhelpgrep helphelp.txt /*:lhelpgrep*
:list various.txt /*:list*
:ll quickfix.txt /*:ll*
:lla quickfix.txt /*:lla*
@@ -2949,8 +2949,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:vimgrepadd quickfix.txt /*:vimgrepadd*
:visual editing.txt /*:visual*
:visual_example visual.txt /*:visual_example*
:viu various.txt /*:viu*
:viusage various.txt /*:viusage*
:viu helphelp.txt /*:viu*
:viusage helphelp.txt /*:viusage*
:vm map.txt /*:vm*
:vmap map.txt /*:vmap*
:vmap_l map.txt /*:vmap_l*
@@ -3082,7 +3082,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
<F17> term.txt /*<F17>*
<F18> term.txt /*<F18>*
<F19> term.txt /*<F19>*
<F1> various.txt /*<F1>*
<F1> helphelp.txt /*<F1>*
<F2> term.txt /*<F2>*
<F3> term.txt /*<F3>*
<F4> term.txt /*<F4>*
@@ -3091,7 +3091,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
<F7> term.txt /*<F7>*
<F8> term.txt /*<F8>*
<F9> term.txt /*<F9>*
<Help> various.txt /*<Help>*
<Help> helphelp.txt /*<Help>*
<Home> motion.txt /*<Home>*
<Insert> insert.txt /*<Insert>*
<Leader> map.txt /*<Leader>*
@@ -3473,13 +3473,13 @@ E145 starting.txt /*E145*
E146 change.txt /*E146*
E147 repeat.txt /*E147*
E148 repeat.txt /*E148*
E149 various.txt /*E149*
E149 helphelp.txt /*E149*
E15 eval.txt /*E15*
E150 various.txt /*E150*
E151 various.txt /*E151*
E152 various.txt /*E152*
E153 various.txt /*E153*
E154 various.txt /*E154*
E150 helphelp.txt /*E150*
E151 helphelp.txt /*E151*
E152 helphelp.txt /*E152*
E153 helphelp.txt /*E153*
E154 helphelp.txt /*E154*
E155 sign.txt /*E155*
E156 sign.txt /*E156*
E157 sign.txt /*E157*
@@ -4032,7 +4032,7 @@ E658 netbeans.txt /*E658*
E659 if_pyth.txt /*E659*
E66 syntax.txt /*E66*
E660 netbeans.txt /*E660*
E661 various.txt /*E661*
E661 helphelp.txt /*E661*
E662 motion.txt /*E662*
E663 motion.txt /*E663*
E664 motion.txt /*E664*
@@ -4042,7 +4042,7 @@ E667 editing.txt /*E667*
E668 netbeans.txt /*E668*
E669 syntax.txt /*E669*
E67 syntax.txt /*E67*
E670 various.txt /*E670*
E670 helphelp.txt /*E670*
E671 starting.txt /*E671*
E672 starting.txt /*E672*
E673 print.txt /*E673*
@@ -4336,14 +4336,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*
@@ -4936,6 +4933,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*
@@ -6027,12 +6025,16 @@ haslocaldir() eval.txt /*haslocaldir()*
hasmapto() eval.txt /*hasmapto()*
hebrew hebrew.txt /*hebrew*
hebrew.txt hebrew.txt /*hebrew.txt*
help various.txt /*help*
help helphelp.txt /*help*
help-context help.txt /*help-context*
help-summary usr_02.txt /*help-summary*
help-translated various.txt /*help-translated*
help-xterm-window various.txt /*help-xterm-window*
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*
hidden-buffer windows.txt /*hidden-buffer*
hidden-changed version5.txt /*hidden-changed*
@@ -6155,8 +6157,8 @@ i_<Del> insert.txt /*i_<Del>*
i_<Down> insert.txt /*i_<Down>*
i_<End> insert.txt /*i_<End>*
i_<Esc> insert.txt /*i_<Esc>*
i_<F1> various.txt /*i_<F1>*
i_<Help> various.txt /*i_<Help>*
i_<F1> helphelp.txt /*i_<F1>*
i_<Help> helphelp.txt /*i_<Help>*
i_<Home> insert.txt /*i_<Home>*
i_<Insert> insert.txt /*i_<Insert>*
i_<Left> insert.txt /*i_<Left>*
@@ -6950,7 +6952,7 @@ ole-sendkeys if_ole.txt /*ole-sendkeys*
ole-setforeground if_ole.txt /*ole-setforeground*
omap-info map.txt /*omap-info*
omni-sql-completion ft_sql.txt /*omni-sql-completion*
online-help various.txt /*online-help*
online-help helphelp.txt /*online-help*
opening-window windows.txt /*opening-window*
operator motion.txt /*operator*
operator-variable eval.txt /*operator-variable*
@@ -8439,13 +8441,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*
@@ -8497,7 +8496,7 @@ zz scroll.txt /*zz*
{offset} pattern.txt /*{offset}*
{pat} autocmd.txt /*{pat}*
{rhs} map.txt /*{rhs}*
{subject} various.txt /*{subject}*
{subject} helphelp.txt /*{subject}*
{} intro.txt /*{}*
} motion.txt /*}*
~ change.txt /*~*
+21 -9
View File
@@ -1082,24 +1082,36 @@ restored. (Luc St-Louis)
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 1file"?
- using NSIS 2.46: install on Windows 7 works, but no "Edit with Vim" menu.
Use register_shell_extension()? (George Reilly, 2010 May 26)
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?
Generate seed for each block, store in pointer block. Block 1 is not
encrypted.
When changing the password need to read back with the old password and
write again with the new one.
Verify recovery works.
mf_read().
- 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.
Make the strengthen_key value configurable and store it in the header?
Or just use 10000, equivalent to crypting 10 Kbyte of text.
- 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:
- Include conceal patch?
http://vince.negri.googlepages.com/
http://vim.wikia.com/wiki/Patch_to_conceal_parts_of_lines
http://sites.google.com/site/vincenegri/conceal-ownsyntax.diff?attredirects=0
- Patch for Lisp support with ECL (Mikael Jansson, 2008 Oct 25)
- Minor patches from Dominique Pelle, 2010 May 15
- Gvimext patch to support wide file names. (Szabolcs Horvat 2008 Sep 10)
+10
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
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}
+1 -261
View File
@@ -7,8 +7,7 @@
Various commands *various*
1. Various commands |various-cmds|
2. Online help |online-help|
3. Using Vim like less or more |less|
2. Using Vim like less or more |less|
==============================================================================
1. Various commands *various-cmds*
@@ -605,265 +604,6 @@ g CTRL-A Only when Vim was compiled with MEM_PROFILING defined
(which is very rare): print memory usage statistics.
Only useful for debugging Vim.
==============================================================================
2. Online help *online-help*
*help* *<Help>* *:h* *:help* *<F1>* *i_<F1>* *i_<Help>*
<Help> or
:h[elp] Open a window and display the help file in read-only
mode. If there is a help window open already, use
that one. Otherwise, if the current window uses the
full width of the screen or is at least 80 characters
wide, the help window will appear just above the
current window. Otherwise the new window is put at
the very top.
The 'helplang' option is used to select a language, if
the main help file is available in several languages.
{not in Vi}
*{subject}* *E149* *E661*
:h[elp] {subject} Like ":help", additionally jump to the tag {subject}.
{subject} can include wildcards like "*", "?" and
"[a-z]":
:help z? jump to help for any "z" command
:help z. jump to the help for "z."
If there is no full match for the pattern, or there
are several matches, the "best" match will be used.
A sophisticated algorithm is used to decide which
match is better than another one. These items are
considered in the computation:
- A match with same case is much better than a match
with different case.
- A match that starts after a non-alphanumeric
character is better than a match in the middle of a
word.
- A match at or near the beginning of the tag is
better than a match further on.
- The more alphanumeric characters match, the better.
- The shorter the length of the match, the better.
The 'helplang' option is used to select a language, if
the {subject} is available in several languages.
To find a tag in a specific language, append "@ab",
where "ab" is the two-letter language code. See
|help-translated|.
Note that the longer the {subject} you give, the less
matches will be found. You can get an idea how this
all works by using commandline completion (type CTRL-D
after ":help subject" |c_CTRL-D|).
If there are several matches, you can have them listed
by hitting CTRL-D. Example: >
:help cont<Ctrl-D>
< To use a regexp |pattern|, first do ":help" and then
use ":tag {pattern}" in the help window. The
":tnext" command can then be used to jump to other
matches, "tselect" to list matches and choose one. >
:help index| :tse z.
< When there is no argument you will see matches for
"help", to avoid listing all possible matches (that
would be very slow).
The number of matches displayed is limited to 300.
This command can be followed by '|' and another
command, but you don't need to escape the '|' inside a
help command. So these both work: >
:help |
:help k| only
< Note that a space before the '|' is seen as part of
the ":help" argument.
You can also use <LF> or <CR> to separate the help
command from a following command. You need to type
CTRL-V first to insert the <LF> or <CR>. Example: >
:help so<C-V><CR>only
< {not in Vi}
:h[elp]! [subject] Like ":help", but in non-English help files prefer to
find a tag in a file with the same language as the
current file. See |help-translated|.
*:helpg* *:helpgrep*
:helpg[rep] {pattern}[@xx]
Search all help text files and make a list of lines
in which {pattern} matches. Jumps to the first match.
The optional [@xx] specifies that only matches in the
"xx" language are to be found.
You can navigate through the matches with the
|quickfix| commands, e.g., |:cnext| to jump to the
next one. Or use |:cwindow| to get the list of
matches in the quickfix window.
{pattern} is used as a Vim regexp |pattern|.
'ignorecase' is not used, add "\c" to ignore case.
Example for case sensitive search: >
:helpgrep Uganda
< Example for case ignoring search: >
:helpgrep uganda\c
< Example for searching in French help: >
:helpgrep backspace@fr
< The pattern does not support line breaks, it must
match within one line. You can use |:grep| instead,
but then you need to get the list of help files in a
complicated way.
Cannot be followed by another command, everything is
used as part of the pattern. But you can use
|:execute| when needed.
Compressed help files will not be searched (Fedora
compresses the help files).
{not in Vi}
*:lh* *:lhelpgrep*
:lh[elpgrep] {pattern}[@xx]
Same as ":helpgrep", except the location list is used
instead of the quickfix list. If the help window is
already opened, then the location list for that window
is used. Otherwise, a new help window is opened and
the location list for that window is set. The
location list for the current window is not changed.
*:exu* *:exusage*
:exu[sage] Show help on Ex commands. Added to simulate the Nvi
command. {not in Vi}
*:viu* *:viusage*
:viu[sage] Show help on Normal mode commands. Added to simulate
the Nvi command. {not in Vi}
When no argument is given to |:help| the file given with the 'helpfile' option
will be opened. Otherwise the specified tag is searched for in all "doc/tags"
files in the directories specified in the 'runtimepath' option.
The initial height of the help window can be set with the 'helpheight' option
(default 20).
Jump to specific subjects by using tags. This can be done in two ways:
- Use the "CTRL-]" command while standing on the name of a command or option.
This only works when the tag is a keyword. "<C-Leftmouse>" and
"g<LeftMouse>" work just like "CTRL-]".
- use the ":ta {subject}" command. This also works with non-keyword
characters.
Use CTRL-T or CTRL-O to jump back.
Use ":q" to close the help window.
If there are several matches for an item you are looking for, this is how you
can jump to each one of them:
1. Open a help window
2. Use the ":tag" command with a slash prepended to the tag. E.g.: >
:tag /min
3. Use ":tnext" to jump to the next matching tag.
It is possible to add help files for plugins and other items. You don't need
to change the distributed help files for that. See |add-local-help|.
To write a local help file, see |write-local-help|.
Note that the title lines from the local help files are automagically added to
the "LOCAL ADDITIONS" section in the "help.txt" help file |local-additions|.
This is done when viewing the file in Vim, the file itself is not changed. It
is done by going through all help files and obtaining the first line of each
file. The files in $VIMRUNTIME/doc are skipped.
*help-xterm-window*
If you want to have the help in another xterm window, you could use this
command: >
:!xterm -e vim +help &
<
*:helpfind* *:helpf*
:helpf[ind] Like |:help|, but use a dialog to enter the argument.
Only for backwards compatibility. It now executes the
ToolBar.FindHelp menu entry instead of using a builtin
dialog. {only when compiled with |+GUI_GTK|}
< {not in Vi}
*:helpt* *:helptags*
*E154* *E150* *E151* *E152* *E153* *E670*
:helpt[ags] [++t] {dir}
Generate the help tags file(s) for directory {dir}.
All "*.txt" and "*.??x" files in the directory are
scanned for a help tag definition in between stars.
The "*.??x" files are for translated docs, they
generate the "tags-??" file, see |help-translated|.
The generated tags files are sorted.
When there are duplicates an error message is given.
An existing tags file is silently overwritten.
The optional "++t" argument forces adding the
"help-tags" tag. This is also done when the {dir} is
equal to $VIMRUNTIME/doc.
To rebuild the help tags in the runtime directory
(requires write permission there): >
:helptags $VIMRUNTIME/doc
< {not in Vi}
TRANSLATED HELP *help-translated*
It is possible to add translated help files, next to the original English help
files. Vim will search for all help in "doc" directories in 'runtimepath'.
This is only available when compiled with the |+multi_lang| feature.
At this moment translations are available for:
Chinese - multiple authors
French - translated by David Blanchet
Italian - translated by Antonio Colombo
Polish - translated by Mikolaj Machowski
Russian - translated by Vassily Ragosin
See the Vim website to find them: http://www.vim.org/translations.php
A set of translated help files consists of these files:
help.abx
howto.abx
...
tags-ab
"ab" is the two-letter language code. Thus for Italian the names are:
help.itx
howto.itx
...
tags-it
The 'helplang' option can be set to the preferred language(s). The default is
set according to the environment. Vim will first try to find a matching tag
in the preferred language(s). English is used when it cannot be found.
To find a tag in a specific language, append "@ab" to a tag, where "ab" is the
two-letter language code. Example: >
:he user-manual@it
:he user-manual@en
The first one finds the Italian user manual, even when 'helplang' is empty.
The second one finds the English user manual, even when 'helplang' is set to
"it".
When using command-line completion for the ":help" command, the "@en"
extension is only shown when a tag exists for multiple languages. When the
tag only exists for English "@en" is omitted.
When using |CTRL-]| or ":help!" in a non-English help file Vim will try to
find the tag in the same language. If not found then 'helplang' will be used
to select a language.
Help files must use latin1 or utf-8 encoding. Vim assumes the encoding is
utf-8 when finding non-ASCII characters in the first line. Thus you must
translate the header with "For Vim version".
The same encoding must be used for the help files of one language in one
directory. You can use a different encoding for different languages and use
a different encoding for help files of the same language but in a different
directory.
Hints for translators:
- Do not translate the tags. This makes it possible to use 'helplang' to
specify the preferred language. You may add new tags in your language.
- When you do not translate a part of a file, add tags to the English version,
using the "tag@en" notation.
- Make a package with all the files and the tags file available for download.
Users can drop it in one of the "doc" directories and start use it.
Report this to Bram, so that he can add a link on www.vim.org.
- Use the |:helptags| command to generate the tags files. It will find all
languages in the specified directory.
==============================================================================
3. Using Vim like less or more *less*
+8 -15
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
" 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
+31 -35
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
" 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
+1 -1
View File
@@ -15,7 +15,7 @@ See INSTALLmac.txt for Macintosh
See INSTALLpc.txt for PC (MS-DOS, Windows 95/98/NT/XP)
See INSTALLvms.txt for VMS
See INSTALLx.txt for cross-compiling on Unix
See ../runtime/doc/os_390.txt for OS/390 Unix
See ../README_390.txt for OS/390 Unix
See ../runtime/doc/os_beos.txt for BeBox
+20 -9
View File
@@ -671,6 +671,7 @@ VIMNAME
EXNAME
VIEWNAME
line_break
QUOTESED
dovimdiff
dogvimdiff
compiledby
@@ -4445,10 +4446,10 @@ esac
if test "$cf_cv_ebcdic" = "yes"; then
{ echo "$as_me:$LINENO: checking for OS/390 Unix" >&5
echo $ECHO_N "checking for OS/390 Unix... $ECHO_C" >&6; }
{ echo "$as_me:$LINENO: checking for z/OS Unix" >&5
echo $ECHO_N "checking for z/OS Unix... $ECHO_C" >&6; }
case `uname` in
OS/390) OS390Unix="yes";
OS/390) zOSUnix="yes";
if test "$CC" = "cc"; then
ccm="$_CC_CCMODE"
ccn="CC"
@@ -4463,7 +4464,7 @@ case `uname` in
if test "$ccm" != "1"; then
echo ""
echo "------------------------------------------"
echo " On OS/390 Unix, the environment variable"
echo " On z/OS Unix, the environment variable"
echo " __CC_${ccn}MODE must be set to \"1\"!"
echo " Do:"
echo " export _CC_${ccn}MODE=1"
@@ -4471,17 +4472,26 @@ case `uname` in
echo "------------------------------------------"
exit 1
fi
CFLAGS="$CFLAGS -D_ALL_SOURCE"; LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
CFLAGS="$CFLAGS -D_ALL_SOURCE -Wc,float\\(IEEE\\)";
LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
{ echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6; }
;;
*) OS390Unix="no";
*) zOSUnix="no";
{ echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; }
;;
esac
fi
if test "$zOSUnix" = "yes"; then
QUOTESED="sed -e 's/[\\\\\"]/\\\\\\\\&/g' -e 's/\\\\\\\\\"/\"/' -e 's/\\\\\\\\\";\$\$/\";/'"
else
QUOTESED="sed -e 's/[\\\\\"]/\\\\&/g' -e 's/\\\\\"/\"/' -e 's/\\\\\";\$\$/\";/'"
fi
{ echo "$as_me:$LINENO: checking --disable-selinux argument" >&5
echo $ECHO_N "checking --disable-selinux argument... $ECHO_C" >&6; }
# Check whether --enable-selinux was given.
@@ -7617,7 +7627,7 @@ fi
fi
if test "$OS390Unix" = "yes"; then
if test "$zOSUnix" = "yes"; then
CFLAGS="$CFLAGS -W c,dll"
LDFLAGS="$LDFLAGS -W l,dll"
X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE -lXmu"
@@ -19773,6 +19783,7 @@ VIMNAME!$VIMNAME$ac_delim
EXNAME!$EXNAME$ac_delim
VIEWNAME!$VIEWNAME$ac_delim
line_break!$line_break$ac_delim
QUOTESED!$QUOTESED$ac_delim
dovimdiff!$dovimdiff$ac_delim
dogvimdiff!$dogvimdiff$ac_delim
compiledby!$compiledby$ac_delim
@@ -19811,7 +19822,6 @@ RUBY_SRC!$RUBY_SRC$ac_delim
RUBY_OBJ!$RUBY_OBJ$ac_delim
RUBY_PRO!$RUBY_PRO$ac_delim
RUBY_CFLAGS!$RUBY_CFLAGS$ac_delim
RUBY_LIBS!$RUBY_LIBS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -19853,6 +19863,7 @@ _ACEOF
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
RUBY_LIBS!$RUBY_LIBS$ac_delim
WORKSHOP_SRC!$WORKSHOP_SRC$ac_delim
WORKSHOP_OBJ!$WORKSHOP_OBJ$ac_delim
NETBEANS_SRC!$NETBEANS_SRC$ac_delim
@@ -19895,7 +19906,7 @@ LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 40; then
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 41; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+3
View File
@@ -101,6 +101,9 @@ INSTALLGVIMDIFF = @dogvimdiff@
INSTALL_LANGS = @INSTALL_LANGS@
INSTALL_TOOL_LANGS = @INSTALL_TOOL_LANGS@
### sed command to fix quotes while creating pathdef.c
QUOTESED = @QUOTESED@
### Line break character as octal number for "tr"
NL = @line_break@
+19 -9
View File
@@ -284,7 +284,7 @@ AC_ARG_WITH(modified-by, [ --with-modified-by=NAME name of who modified a
AC_MSG_RESULT($withval); AC_DEFINE_UNQUOTED(MODIFIED_BY, "$withval"),
AC_MSG_RESULT(no))
dnl Check for EBCDIC stolen from the LYNX port to OS390 Unix
dnl Check for EBCDIC stolen from the LYNX port to z/OS Unix
AC_MSG_CHECKING(if character set is EBCDIC)
AC_TRY_COMPILE([ ],
[ /* TryCompile function for CharSet.
@@ -310,10 +310,10 @@ esac
AC_SUBST(line_break)
if test "$cf_cv_ebcdic" = "yes"; then
dnl If we have EBCDIC we most likley have OS390 Unix, let's test it!
AC_MSG_CHECKING(for OS/390 Unix)
dnl If we have EBCDIC we most likley have z/OS Unix, let's test it!
AC_MSG_CHECKING(for z/OS Unix)
case `uname` in
OS/390) OS390Unix="yes";
OS/390) zOSUnix="yes";
dnl If using cc the environment variable _CC_CCMODE must be
dnl set to "1", so that some compiler extensions are enabled.
dnl If using c89 the environment variable is named _CC_C89MODE.
@@ -332,7 +332,7 @@ case `uname` in
if test "$ccm" != "1"; then
echo ""
echo "------------------------------------------"
echo " On OS/390 Unix, the environment variable"
echo " On z/OS Unix, the environment variable"
echo " __CC_${ccn}MODE must be set to \"1\"!"
echo " Do:"
echo " export _CC_${ccn}MODE=1"
@@ -340,15 +340,25 @@ case `uname` in
echo "------------------------------------------"
exit 1
fi
CFLAGS="$CFLAGS -D_ALL_SOURCE"; LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
CFLAGS="$CFLAGS -D_ALL_SOURCE -Wc,float\\(IEEE\\)";
LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
AC_MSG_RESULT(yes)
;;
*) OS390Unix="no";
*) zOSUnix="no";
AC_MSG_RESULT(no)
;;
esac
fi
dnl Set QUOTESED. Needs additional backslashes on zOS
if test "$zOSUnix" = "yes"; then
QUOTESED="sed -e 's/[[\\\\\"]]/\\\\\\\\&/g' -e 's/\\\\\\\\\"/\"/' -e 's/\\\\\\\\\";\$\$/\";/'"
else
QUOTESED="sed -e 's/[[\\\\\"]]/\\\\&/g' -e 's/\\\\\"/\"/' -e 's/\\\\\";\$\$/\";/'"
fi
AC_SUBST(QUOTESED)
dnl Link with -lselinux for SELinux stuff; if not found
AC_MSG_CHECKING(--disable-selinux argument)
AC_ARG_ENABLE(selinux,
@@ -1200,10 +1210,10 @@ else
AC_PATH_XTRA
dnl On OS390Unix the X libraries are DLLs. To use them the code must
dnl On z/OS Unix the X libraries are DLLs. To use them the code must
dnl be compiled with a special option.
dnl Also add SM, ICE and Xmu to X_EXTRA_LIBS.
if test "$OS390Unix" = "yes"; then
if test "$zOSUnix" = "yes"; then
CFLAGS="$CFLAGS -W c,dll"
LDFLAGS="$LDFLAGS -W l,dll"
X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE -lXmu"
+53 -4
View File
@@ -820,6 +820,13 @@ static int searchpair_cmn __ARGS((typval_T *argvars, pos_T *match_pos));
static int search_cmn __ARGS((typval_T *argvars, pos_T *match_pos, int *flagsp));
static void setwinvar __ARGS((typval_T *argvars, typval_T *rettv, int off));
#ifdef EBCDIC
static int compare_func_name __ARGS((const void *s1, const void *s2));
static void sortFunctions __ARGS(());
#endif
/* Character used as separated in autoload function/variable names. */
#define AUTOLOAD_CHAR '#'
@@ -856,6 +863,13 @@ eval_init()
hash_add(&compat_hashtab, p->vv_di.di_key);
}
set_vim_var_nr(VV_SEARCHFORWARD, 1L);
#ifdef EBCDIC
/*
* Sort the function table, to enable binary sort.
*/
sortFunctions();
#endif
}
#if defined(EXITFREE) || defined(PROTO)
@@ -7901,6 +7915,36 @@ get_expr_name(xp, idx)
#endif /* FEAT_CMDL_COMPL */
#if defined(EBCDIC) || defined(PROTO)
/*
* Compare struct fst by function name.
*/
static int
compare_func_name(s1, s2)
const void *s1;
const void *s2;
{
struct fst *p1 = (struct fst *)s1;
struct fst *p2 = (struct fst *)s2;
return STRCMP(p1->f_name, p2->f_name);
}
/*
* Sort the function table by function name.
* The sorting of the table above is ASCII dependant.
* On machines using EBCDIC we have to sort it.
*/
static void
sortFunctions()
{
int funcCnt = (int)(sizeof(functions) / sizeof(struct fst)) - 1;
qsort(functions, (size_t)funcCnt, sizeof(struct fst), compare_func_name);
}
#endif
/*
* Find internal function in table above.
* Return index, or -1 if not found
@@ -17615,8 +17659,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
@@ -19263,7 +19312,7 @@ new_script_vars(id)
while (ga_scripts.ga_len < id)
{
sv = SCRIPT_SV(ga_scripts.ga_len + 1) =
sv = SCRIPT_SV(ga_scripts.ga_len + 1) =
(scriptvar_T *)alloc_clear(sizeof(scriptvar_T));
init_var_dict(&sv->sv_dict, &sv->sv_var);
++ga_scripts.ga_len;
@@ -22501,7 +22550,7 @@ get_short_pathname(fnamep, bufp, fnamelen)
* append the remaining non-existing path.
*
* fname - Pointer to the filename to shorten. On return, contains the
* pointer to the shortened pathname
* pointer to the shortened pathname
* bufp - Pointer to an allocated buffer for the filename.
* fnamelen - Length of the filename pointed to by fname
*
+14 -5
View File
@@ -300,16 +300,20 @@
/*
* +rightleft Right-to-left editing/typing support.
*
* Disabled for EBCDIC as it requires multibyte.
*/
#ifdef FEAT_BIG
#if defined(FEAT_BIG) && !defined(EBCDIC)
# define FEAT_RIGHTLEFT
#endif
/*
* +farsi Farsi (Persian language) Keymap support.
* Requires FEAT_RIGHTLEFT.
*
* Disabled for EBCDIC as it requires multibyte.
*/
#ifdef FEAT_BIG
#if defined(FEAT_BIG) && !defined(EBCDIC)
# define FEAT_FKMAP
#endif
#ifdef FEAT_FKMAP
@@ -321,6 +325,8 @@
/*
* +arabic Arabic keymap and shaping support.
* Requires FEAT_RIGHTLEFT and FEAT_MBYTE.
*
* Disabled for EBCDIC as it requires multibyte.
*/
#if defined(FEAT_BIG) && !defined(WIN16) && SIZEOF_INT >= 4 && !defined(EBCDIC)
# define FEAT_ARABIC
@@ -343,7 +349,7 @@
* +tag_binary Can use a binary search for the tags file.
*
* Disabled for EBCDIC:
* On OS/390 Unix we have the problem that /bin/sort sorts ASCII instead of
* On z/OS Unix we have the problem that /bin/sort sorts ASCII instead of
* EBCDIC. With this binary search doesn't work, as VIM expects a tag file
* sorted by character values. I'm not sure how to fix this. Should we really
* do a EBCDIC to ASCII conversion for this??
@@ -530,8 +536,11 @@
/*
* +spell spell checking
*
* Disabled for EBCDIC:
* Doesn't work (SIGSEGV).
*/
#if defined(FEAT_NORMAL) || defined(PROTO)
#if (defined(FEAT_NORMAL) || defined(PROTO)) && !defined(EBCDIC)
# define FEAT_SPELL
#endif
@@ -622,7 +631,7 @@
* with 16 bit ints. Required for GTK+ 2.
*
* Disabled for EBCDIC:
* Multibyte support doesn't work on OS390 Unix currently.
* Multibyte support doesn't work on z/OS Unix currently.
*/
#if (defined(FEAT_BIG) || defined(HAVE_GTK2) || defined(FEAT_ARABIC) \
|| defined(FEAT_GUI_MACVIM)) \
+67 -17
View File
@@ -1444,6 +1444,10 @@ selection_received_cb(GtkWidget *widget UNUSED,
}
#endif /* !HAVE_GTK2 */
/* Chop off any traiing NUL bytes. OpenOffice sends these. */
while (len > 0 && text[len - 1] == NUL)
--len;
clip_yank_selection(motion_type, text, (long)len, cbd);
received_selection = RS_OK;
vim_free(tmpbuf);
@@ -3473,6 +3477,66 @@ gui_mch_set_curtab(nr)
#endif /* FEAT_GUI_TABLINE */
/*
* Add selection targets for PRIMARY and CLIPBOARD selections.
*/
void
gui_gtk_set_selection_targets(void)
{
int i, j = 0;
int n_targets = N_SELECTION_TARGETS;
GtkTargetEntry targets[N_SELECTION_TARGETS];
for (i = 0; i < (int)N_SELECTION_TARGETS; ++i)
{
#ifdef FEAT_MBYTE
/* OpenOffice tries to use TARGET_HTML and fails when it doesn't
* return something, instead of trying another target. Therefore only
* offer TARGET_HTML when it works. */
if (!clip_html && selection_targets[i].info == TARGET_HTML)
n_targets--;
else
#endif
targets[j++] = selection_targets[i];
}
gtk_selection_clear_targets(gui.drawarea, (GdkAtom)GDK_SELECTION_PRIMARY);
gtk_selection_clear_targets(gui.drawarea, (GdkAtom)clip_plus.gtk_sel_atom);
gtk_selection_add_targets(gui.drawarea,
(GdkAtom)GDK_SELECTION_PRIMARY,
targets, n_targets);
gtk_selection_add_targets(gui.drawarea,
(GdkAtom)clip_plus.gtk_sel_atom,
targets, n_targets);
}
/*
* Set up for receiving DND items.
*/
void
gui_gtk_set_dnd_targets(void)
{
int i, j = 0;
int n_targets = N_DND_TARGETS;
GtkTargetEntry targets[N_DND_TARGETS];
for (i = 0; i < (int)N_DND_TARGETS; ++i)
{
#ifdef FEAT_MBYTE
if (!clip_html && selection_targets[i].info == TARGET_HTML)
n_targets--;
else
#endif
targets[j++] = dnd_targets[i];
}
gtk_drag_dest_unset(gui.drawarea);
gtk_drag_dest_set(gui.drawarea,
GTK_DEST_DEFAULT_ALL,
targets, n_targets,
GDK_ACTION_COPY);
}
/*
* Initialize the GUI. Create all the windows, set up all the callbacks etc.
* Returns OK for success, FAIL when the GUI can't be started.
@@ -3936,15 +4000,7 @@ gui_mch_init(void)
gtk_signal_connect(GTK_OBJECT(gui.drawarea), "selection_received",
GTK_SIGNAL_FUNC(selection_received_cb), NULL);
/*
* Add selection targets for PRIMARY and CLIPBOARD selections.
*/
gtk_selection_add_targets(gui.drawarea,
(GdkAtom)GDK_SELECTION_PRIMARY,
selection_targets, N_SELECTION_TARGETS);
gtk_selection_add_targets(gui.drawarea,
(GdkAtom)clip_plus.gtk_sel_atom,
selection_targets, N_SELECTION_TARGETS);
gui_gtk_set_selection_targets();
gtk_signal_connect(GTK_OBJECT(gui.drawarea), "selection_get",
GTK_SIGNAL_FUNC(selection_get_cb), NULL);
@@ -4068,7 +4124,6 @@ check_startup_plug_hints(gpointer data UNUSED)
return TRUE;
}
/*
* Open the GUI window which was created by a call to gui_mch_init().
*/
@@ -4236,13 +4291,8 @@ gui_mch_open(void)
GTK_SIGNAL_FUNC(form_configure_event), NULL);
#ifdef FEAT_DND
/*
* Set up for receiving DND items.
*/
gtk_drag_dest_set(gui.drawarea,
GTK_DEST_DEFAULT_ALL,
dnd_targets, N_DND_TARGETS,
GDK_ACTION_COPY);
/* Set up for receiving DND items. */
gui_gtk_set_dnd_targets();
gtk_signal_connect(GTK_OBJECT(gui.drawarea), "drag_data_received",
GTK_SIGNAL_FUNC(drag_data_received_cb), NULL);
+3 -2
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
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;
}
+7
View File
@@ -7237,6 +7237,13 @@ check_clipboard_option()
clip_html = new_html;
vim_free(clip_exclude_prog);
clip_exclude_prog = new_exclude_prog;
#ifdef FEAT_GUI_GTK
if (gui.in_use)
{
gui_gtk_set_selection_targets();
gui_gtk_set_dnd_targets();
}
#endif
}
else
vim_free(new_exclude_prog);
+2
View File
@@ -9,6 +9,8 @@ void gui_mch_show_tabline __ARGS((int showit));
int gui_mch_showing_tabline __ARGS((void));
void gui_mch_update_tabline __ARGS((void));
void gui_mch_set_curtab __ARGS((int nr));
void gui_gtk_set_selection_targets __ARGS((void));
void gui_gtk_set_dnd_targets __ARGS((void));
int gui_mch_init __ARGS((void));
void gui_mch_forked __ARGS((void));
void gui_mch_new_colors __ARGS((void));
+41
View File
@@ -731,6 +731,30 @@ get_equi_class(pp)
return 0;
}
#ifdef EBCDIC
/*
* Table for equivalence class "c". (IBM-1047)
*/
char *EQUIVAL_CLASS_C[16] = {
"A\x62\x63\x64\x65\x66\x67",
"C\x68",
"E\x71\x72\x73\x74",
"I\x75\x76\x77\x78",
"N\x69",
"O\xEB\xEC\xED\xEE\xEF",
"U\xFB\xFC\xFD\xFE",
"Y\xBA",
"a\x42\x43\x44\x45\x46\x47",
"c\x48",
"e\x51\x52\x53\x54",
"i\x55\x56\x57\x58",
"n\x49",
"o\xCB\xCC\xCD\xCE\xCF",
"u\xDB\xDC\xDD\xDE",
"y\x8D\xDF",
};
#endif
/*
* Produce the bytes for equivalence class "c".
* Currently only handles latin1, latin9 and utf-8.
@@ -744,6 +768,22 @@ reg_equi_class(c)
|| STRCMP(p_enc, "iso-8859-15") == 0)
#endif
{
#ifdef EBCDIC
int i;
/* This might be slower than switch/case below. */
for (i = 0; i < 16; i++)
{
if (vim_strchr(EQUIVAL_CLASS_C[i], c) != NULL)
{
char *p = EQUIVAL_CLASS_C[i];
while (*p != 0)
regmbc(*p++);
return;
}
}
#else
switch (c)
{
case 'A': case '\300': case '\301': case '\302':
@@ -811,6 +851,7 @@ reg_equi_class(c)
regmbc('y'); regmbc('\375'); regmbc('\377');
return;
}
#endif
}
regmbc(c);
}