diff options
author | Bram Moolenaar <Bram@vim.org> | 2010-06-03 21:17:25 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2010-06-03 21:17:25 +0200 |
commit | 2c704a77c1e3a6eb20e273503bc23a4e2fb4d506 (patch) | |
tree | ad6f922872dc6dbddf305cd26cd5693565b44386 /runtime/doc/os_390.txt | |
parent | 9160441955bc6aae91bc2d3ca415b410bad36403 (diff) |
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Diffstat (limited to 'runtime/doc/os_390.txt')
-rw-r--r-- | runtime/doc/os_390.txt | 305 |
1 files changed, 50 insertions, 255 deletions
diff --git a/runtime/doc/os_390.txt b/runtime/doc/os_390.txt index a0a715549f..5a9d36814a 100644 --- a/runtime/doc/os_390.txt +++ b/runtime/doc/os_390.txt @@ -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* - -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. - -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. - - 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) - - - 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. +6. 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 + http://www-03.ibm.com/systems/resources/servers_eserver_zseries_zos_unix_redbook_sg245944.pdf + +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 + + ------------------------------------------------------------------------------ vim:tw=78:fo=tcq2:ts=8:ft=help:norl: |