diff --git a/runtime/doc/os_390.txt b/runtime/doc/os_390.txt
index a0a7155..5a9d368 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 @@
 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 @@
 	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 @@
 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 @@
   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 @@
 
 - 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 @@
     - 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:
