*engspchk.txt*	English Spelling Checker			Oct 16, 2012

Author:  Charles E. Campbell  <NcampObell@SdrPchip.AorgM-NOSPAM>
	(elide NOSPAM from my email before using)
Copyright: (c) 2004-2012 by Charles E. Campbell		*engspchk-copyright*
           The VIM LICENSE applies to engspchk.vim and engspchk.txt
           (see |copyright|) except use "engspchk" instead of "Vim"
	   No warranty, express or implied.  Use At-Your-Own-Risk.

1. Contents					*engspchk* *engspchk-contents*

	1. Contents...................................: |engspchk-contents|
	2. English Spelling Checker Manual............: |engspchk-manual|
	   2.1 Getting Started Under Unix.............: |engspchk-start|
	   2.2 Getting Started Under Win32............: |engspchk-win32|
	   2.3 Variables Controlling Usage............: |engspchk-var|
	     g:spchkaltright..........................: |spchkaltright|
	     g:spchkacronym...........................: |spchkacronym|
	     g:cvimsyn................................: |cvimsyn|
	     g:DrChipTopLvlMenu.......................: |DrChipTopLvlMenu|
	     g:spchkautonext..........................: |spchkautonext|
	     g:spchkdialect...........................: |spchkdialect|
	     g:spchklang..............................: |spchklang|
	     g:spchknonhl.............................: |spchknonhl|
	     g:spchkmouse.............................: |spchkmouse|
	     g:spchkpunc..............................: |spchkpunc|
	     g:spchksilent............................: |spchksilent|
	     g:spchkhlgroups..........................: |spchkhlgroups|
	   2.4 Using Engspchk.........................: |engspchk-use|
	   2.5 Click-N-Fix Maps.......................: |engspchk-clicknfix|
	   2.6 Maps For Alternatives Window Only......: |engspchk-alt|
	   2.7 Commands...............................: |engspchk-cmd|
	   2.8 Usage..................................: |engspchk-usage|
	   2.9 Filetype Enabled Engspchk..............: |engspchk-mail|
	   2.10 Checking Spelling In Comments.........: |engspchk-comment|
	   2.11 Engspchk Dictionaries.................: |engspchk-dict|
	3. More Languages.............................: |engspchk-language|
	   3.1 Creating A New Version of Engspchk.....: |engspchk-newversion|
	   3.2 Current Language Support...............: |engspchk-curlang|
	   3.3 Earlier Language Support...............: |engspchk-earlylang|
	4. History....................................: |engspchk-history|

2. English Spelling Checker Manual			*engspchk-manual*

2.1 GETTING STARTED UNDER UNIX				*engspchk-start*

	1. Put <engspchk.tar.bz2> into your .vim directory
	2. bunzip2 engspchk.tar.bz2
	   mv engspchk.tar $HOME/.vim
	   cd $HOME/.vim
	   tar -oxvf engspchk.tar
	   (optional) rm engspchk.tar
	3. Put into your <.vimrc>:
	   set nocp
	   if version >= 600
	     filetype plugin indent on
	4. Obtain agrep  (see |engspchk-alt| for where to get it)
	   Put it into your path  (see |engspchk-clicknfix|)
	5. For Click-N-Fix:
	   * Put into your <.vimrc>:
	     set mouse=n                  (or set mouse=a)
	     let g:spchkmouse   = 1
	     let g:spchkautonext= 1
	     let g:spchkdialect = "usa"   (or "can" or "uk")
	   * Get agrep if you don't already have it (see |engspchk-agrep|)
	   * use <leftmouse> in text window to go to the next spelling error
	     irrespective of where the mouse was (allows one to skip over
	     spelling errors)
	   * use <leftmouse> in the alternative spelling window to choose
	     the correct spelling and fix the word
	   * use <middlemouse> in text window to go to next spelling error
	     based on where the mouse is
	   * use <rightmouse> in text window to back up to the preceding
	     spelling error
	   * use <rightmouse> in the alternative spelling window to fix all
	     such misspelled words
	6. vim somefile      (typical, you may have to modify the path used)
	   :helptags $HOME/.vim/doc
	   \ec               (engspchk's startup map)
	   \en               (jump to next spelling error)
	   \ee               (end engspchk)
	7. If you want the alternate-spellings window on the right hand side,
	    let g:spchkaltright=20  (or some other number specifying the
	                             quantity of columns to use)
	8. If you're spellchecking English, choose a dialect:
	   g:spchkdialect  = "usa"  United States
	                   = "uk"   United Kingdom
			   = "can"  Canadian


	1. Download <engspchk.tar.bz2>
	2. Rename the downloaded file as needed to: engspchk.tar.bz2
	   (some Win32 tools rename the file, substituting
	   underscores for periods, adding .php suffix, etc)
	3. Get at least the following two windows tools if you don't
	   already have them from http://gnuwin32.sourceforge.net/packages.html
	4. dos   : move tarball to "somewhere"\vimfiles
	   cygwin: move tarball to "somewhere"/vimfiles
	   change directory to that directory
	   ("somewhere" is the path where you want these files to go)
	5. bzip2 -d engspchk.tar.bz2
	   tar -oxvf engspchk.tar
	   (optional) delete engspchk.tar
	6. Generate help tags:
	   	:helptags somewhere/vimfiles/doc
	   where "somewhere" is the path used in step 4
	7. Put into your <.vimrc>:
	   set nocp
	   if version >= 600
	     filetype plugin indent on
	8. For Click-N-Fix:
	   * right click on the icon you're using to start
	     dos, cygwin, and/or gvim:
	       Select Properties:Options
	       Turn QuickEdit off
	   * Put into your <.vimrc>:
	     set mouse=n                  (or set mouse=a)
	     let g:spchkmouse   = 1
	     let g:spchkautonext= 1
	     let g:spchkdialect = "usa"   (or "can" or "uk")
	   * Get agrep if you don't already have it (see |engspchk-agrep|)
	   * use <leftmouse> in text window to go to the next spelling error
	     irrespective of where the mouse was (allows one to skip over
	     spelling errors)
	   * use <leftmouse> in the alternative spelling window to choose
	     the correct spelling and fix the word
	   * use <middlemouse> in text window to go to next spelling error
	     based on where the mouse is
	   * use <rightmouse> in text window to back up to the preceding
	     spelling error
	   * use <rightmouse> in the alternative spelling window to fix all
	     such misspelled words
	9. vim somefile
	   \ec               (engspchk's startup map)
	   \en               (jump to next spelling error)
	   \ee               (end engspchk)
	10. If you want the alternate-spellings window on the right hand side,
	    let g:spchkaltright=20  (or some other number specifying the
	                             quantity of columns to use)
	11. If you're spellchecking English, choose a dialect:
	    g:spchkdialect  = "usa"  United States
	                    = "uk"   United Kingdom
			    = "can"  Canadian

2.3 VARIABLES CONTROLLING USAGE		*engspchk-var* *engspchk-variable*
					*engspchk-variables* *engspchk-options*

	g:spchkaltright=width : If this variable exists and holds a value
	    greater than zero, then the alternate spellings window will
	    be placed on the far right with "width" columns.  Typically
	    this takes more screen space but usually allows display of
	    more alternate spellings.

	g:spchkacronym: If this variable exists, then two or more capital
	    letters will not highlight as a spelling error; instead such a
	    word will be assumed to be an acronym.

	g:cvimsyn : If this vim variable is set, then it is expected to hold
	    the path to the user word dictionary and database, nominally
	    <engspchk.dict> and <engspchk.usr>.  If it doesn't exist, then
	    engspchk will consider using a system environment variable called
	    CVIMSYN (see below); and then search along the runtimepath.
	    Frequently the runtimepath search is adequate, but if your
	    CVIMSYN directory with dictionaries isn't on that path, you
	    should set g:cvimsyn (or use the CVIMSYN environment variable).

	    For example, under a Windows operating system, one might
	    have in one's <.vimrc> file: >
		let g:cvimsyn= 'c:\vim\vimfiles\CVIMSYN'
<	    or >
		let g:cvimsyn= 'c:\vim\vimfiles\plugin\CVIMSYN'
<	    Note the use of single quotes!  If you use double-quotes,
	    ie. '"', you'll also need to double up the backslashes.

	    Under Unix/Linux, one might have >
		let g:cvimsyn= expand('${HOME}/.vim/CVIMSYN')
<	    or >
		let g:cvimsyn= expand('${HOME}/.vim/plugin/CVIMSYN')
	CVIMSYN   : (a system environment variable) points to a directory
	    holding the dictionary and the user word database <engspchk.usr>.
	    The optional file <engspchk.wb>, which contains words from
	    Webster's 1913 Dictionary that aren't in <engspchk.dict> itself,
	    if present in the CVIMSYN directory, will also be loaded.

	    If the dictionary files cannot be found using g:cvimsyn or
	    $CVIMSYN, then <engspchk> will search all the paths specified by
	    the runtimepath (to see your runtimepath, :echo &rtp) for a
	    subdirectory called CVIMSYN which holds the dictionaries.

	g:DrChipTopLvlMenu: by default its "DrChip"; you may set this to
	    whatever you like in your <.vimrc>.  This variable controls
	    where engspchk's menu items are placed.

	g:spchkautonext =0: no new behavior
	                =1: \es and \et (and \ea, if a word is selected) will
			    automatically advance the cursor to the next
			    spelling error.  (also needed for Click-N-Fix)

	g:spchkdialect  = "usa"  United States
	                = "uk"   United Kingdom
			= "can"  Canadian
	    This variable allows the user to specify the dialect he or she
	    prefers: color vs. colour, etc.  Alternate dialect spellings
	    are flagged with Warning colors.

	g:spchklang : specifies which language/dictionaries are to be used.
	    By default it will be the prefix of the <---spchk.vim> file
	    (engspchk.vim -> eng, gerspchk.vim -> ger, frspchk.vim -> fr,
	    etc).  You may override that with a different prefix in your
	    <.vimrc>.  When you load <engspchk.vim> (via \ec) the prefix will
	    be used to load the dictionaries: <engspchk.dict>, <engspchk.usr>,
	    <gerspchk.dict>, <gerspchk.usr>, etc.

	    For example, one may put into one's <.vimrc> file:

	    	let g:spchklang= "eng"   (will load <engspchk.dict>)
	    	let g:spchklang= "fr"    (will load <frspchk.dict>)
	    	let g:spchklang= "ger"   (will load <gerspchk.dict>)
	    	let g:spchklang= "span"  (will load <spanspchk.dict>)

	g:spchkmouse    =0 : default
	                =1 : include mouse maps.  These mouse maps are optional
		             because mouse maps are popular and obviously can
		             interfere with other plugins' use of them.

	g:spchknonhl       : if it exists, forces application of engspchk to all
	                     non-syntax-highlighted text.

	g:spchkpunc     =0 : no new behavior
	                =1 : check for some simple English punctuation problems
	                     non-capitalized word after ellipse (... a)
	                     non-capitalized word after sentence ending
			     character ([.?!])

	g:spchksilent   =0 : informative messages are allowed
	                =1 : Sourcing... and Loading... messages are suppressed

	BadWord            : a highlighting group rather than a variable,
	                     words flagged as "BadWord" show up using the
			     Error highlighting group.
			      Default: black foreground on red background.

	Dialect            : a highlighting group rather than a variable,
	                     words flagged as "Dialect" show up using this
			      Default: black foreground on yellow background.
			     If you wish to have dialect words show up as
			     Error, see \ed under |engspchk-maps|.

	RareWord           : a highlighting group rather than a variable,
	                     words flagged as "RareWord" show up using this
			      Default: black foreground on cyan background.
			     If you wish to have rare words show up as Error,
			     see \er under |engspchk-maps|.

2.4 USING ENGSPCHK	*engspchk-use* *engspchk-using* *engspchk-map*

	Although the maps as discussed here show a backslash, the actual
	maps for 6.0 and above use <Leader> (ie. see :help mapleader for more)
	which allows you to customize the map leader character sequence.  By
	default, of course, the <Leader> is a backslash.

       				*engspchk-ea* *engspchk-ec* *engspchk-ed*
				*engspchk-ee* *engspchk-en* *engspchk-ep*
	    \ea : look for alternative spellings of word under cursor
	    \ec : engspchk's startup map (loads engspchk and dictionaries)
	    \ed : toggles between Dialect<>Error highlighting for dialect words
	    \ee : end engspchk
	    \en : move cursor to the next     spelling error
	    \ep : move cursor to the previous spelling error
	    \er : toggles between RareWord<>Error highlighting for rare words

       						*engspchk-es* *engspchk-eS*
	    \es : save   word under cursor into user dictionary (permanently)
	    \et : add    word under cursor into user dictionary (temporarily)
	    \eS : remove word under cursor from user dictionary (permanently)
	    \eT : remove word under cursor from user dictionary (temporarily)

       						*engspchk-ej* *engspchk-eJ*
	    \ej : save   word under cursor into proj dictionary (permanently)
	    \eJ : remove word under cursor from proj dictionary (permanently)

	    					*engspchk-ev* *engspchk-eV*
	    \ev : restrict spell checking to a visual-block selected
	          region of text.  Use V, v, or ctrl-v, then press \ev
	    \eV : turn visual-block spell-checking off

2.5 Click-N-Fix Maps					*engspchk-clicknfix*

	    To enable Click-N-Fix, your mouse must be enabled (ex. :set
	    mouse=n).  In addition, there are several variables that
	    you'll want to set:

	     set mouse=n                  (or set mouse=a)
	     let g:spchkmouse   = 1       (enables spchk use of mouse)
	     let g:spchkautonext= 1       (automates going to next misspelling)
	     let g:spchkdialect = "usa"   (or "can" or "uk")

	    Unfortunately not all console terminals' mouse handling
	    will let Vim see the mouse events.  See  :he mouse  for more on
	    this topic.  To make the mouse work under Windows, see
	    |engspchk-win32| and |win32-mouse|.

	    When the mouse is in...
	                 The Text Window             Alternative Spellings
	                 -------------------------   ---------------------
	   <leftmouse>   Moves cursor to next        Selects the alternate
	                 spelling error, doesn't     spelling and uses it
	                 matter where the mouse is.  for just the one

	   <middlemouse> Moves cursor to next        Enter word temporarily
	                 spelling error based        into dictionary (\et),
	                 on current position of      then skip to next
	                 mouse.                      spelling error.

	   <rightmouse>  Moves cursor to previous    Selects the alternate
	                 spelling error, doesn't     spelling and uses it for
	                 matter where the mouse is.  all such misspelled words

	The \es map will store <engspchk.usr> in the directory where
	<engspchk.dict> is.  To do so it must be able to find the directory;
	ie. typically g:cvimsyn must be set to the correct path or the
	environment variable CVIMSYN must be appropriately set.  For vim 6.0
	or later, the CVIMSYN directory under the first directory in the
	|'runtimepath'| may be used.

	The \et map adds the word under the cursor into the spelling
	database only for the current session.  It acts by adding
	the word to the GoodWord keyword list but doesn't save the
	word to the user's <engspchk.usr> database.  The \es map
	both adds the word to the GoodWord keyword list and adds
	a line to the <engspchk.usr> database for future use.

	The \eS and \eT maps remove words from the user's dictionary;
	the \eS map's action is permanent (actually removes the word
	from the <engspchk.usr> file) whereas the \eT map affects only
	the current session.

	The \ej and \eJ maps add/remove words from the user's project
	dictionary, which allows one to customize a dictionary for a
	specific project (the <engspchk.proj> dictionary normally
	resides in the current directory).

	The \ee map ends the engspchk operation by turning syntax off
	and then turning it back on, which should do automatic filetype
	detection, etc.  Engspchk now saves any previous mappings that
	would conflict with engspchk and restores them when engspchk is


	<cr>   : when on alternatives line, will put word under cursor in
	         misspelled word's stead
	<tab>  : like <cr>, but also does a global substitute to change
	         all instances of the misspelled word to the selected
	:      : will quit the alternate-word window
	q      : will quit the alternate-word window
	<c-w>c : will quit the alternate-word window

	In order to generate alternative spellings engspchk uses agrep.
	Source code for agrep can be found at:

	Windows binaries:


	To use this feature, assuming one has an agrep executable, put the
	cursor on a misspelled word, then type "\ea".  A list of alternative
	spellings will appear on one line on the bottom of the screen.  Use
	regular vim motions to put the cursor on the word that you want and
	hit the <return> key.  This action should put the new word in the
	stead of the misspelled word.  A ":q" will abort the alternative-word
	spellings window.

	Engspchk will build a list of words from its dictionaries, including
	the user's wordlist.  It will separate them with __END_..._DICTIONARY__
	lines, thus making it simple for folks to remove unwanted portions
	the of the wordlist.

2.7 COMMANDS			*engspchk-cmd* *engspchk-com* *engspchk-command*

	Engspchk checks your ${CVIMSYN} directory and constructs commands to
	start up engspchk using the appropriate dictionary for each such
	language.  If, for example, you happen to have a Russian (Rus) and
	a Spanish (Span) dictionary, Engspchk will construct two commands:
	:Russpchk and :Spanspchk.  Unless you delete the <engspchk.dict>
	dictionary, you're likely to have :Engspchk, too.

2.8 USAGE						*engspchk-usage*

	Press "\ec" or select "Load Engspchk" from the menu (gvim).  This will
	finish loading <engspchk.vim>, load <engspchk.dict>, and optionally
	load <engspchk.wb> (if present) and <engspchk.usr> (if present).
	Spelling errors will then show up in Error highlighting.  Of course
	you'll need to have "syntax on" for this to work (put that statement
	into your <.vimrc> if it isn't already there!).

	If you come across a word that's mistakenly highlighted as a
	spelling error, put the cursor on it and tap "\et" or "\es" while in
	Normal mode.

	The first command will inform Engspchk that the word is spelled
	right, but only for the duration of this particular session.  If you
	want the word to be permanently remembered, use the second command
	"\es" (for engspchk save).

	To go to the next or previous spelling error, use "\en" or "\ep"
	commands respectively.  If upon inspection of a word that's spelled
	incorrectly you're not sure of the correct spelling, you can use the
	alternative spellings feature (see |engspchk-alt|).

	Engspchk does _not_ do a "syntax clear", so that means that you can
	usually just source it in on top of other highlighting.

	Most syntax highlighting files, however, _do_ use "syntax clear" so
	that means that resetting syntax (:set ft=..., changing buffers, etc)
	will clear out engspchk.  One way to avoid this is to use

		:0r (filename)

	The user dictionary <engspchk.usr> is generated in the directory
	specified by path specified by the g:cvimsyn variable (or CVIMSYN
	environment variable).  Merely place the cursor on a word that's
	currently not in your dictionary and press "\es".

2.9 FILETYPE ENABLED ENGSPCHK					*engspchk-mail*

	If you want to always use engspchk for spellchecking *.eml
	files as mail:

	a) put into (home)/.vim/filetype.vim:
		au BufNewFile,BufReadPost  *.eml setf mail

	b) put into (home)/.vim/after/syntax/mail.vim:
    	    if (expand("%") != "") && !&diff && (v:progname !~ "vimdiff")
     	     normal \ec

	Similarly one may have engspchk immediately available for other
	filetypes, too.

2.10 CHECKING SPELLING IN COMMENTS			*engspchk-comment*

	In order to spell-check comments in various computer languages, the
	language's vim syntax file needs to have its comment syntax group
	contain a cluster.  Engspchk can then add itself to that cluster.
	The vim syntax languages that currently support this include:

	    amiga	c	dcl	latex	tex
	    bash	cpp	fortran	sh	vim
	    bib	csh	ksh

	If there's a language for which you'd like to have comments
	spelling-checked that isn't on the above list, please contact that
	vim syntax file's maintainer and ask for the support mentioned above.

2.11 ENGSPCHK DICTIONARIES				*engspchk-dict*

	Engspchk supports a number of dictionaries for a given language.
	The language selected is controlled by

		1. If g:spchklang exists, let it specify the language prefix
		   (see |spchklang|)
		2. Use the name of the script, less "spchk.vim", as the
		   language prefix

	Engspchk then loads a number of dictionary files for a given language.
	Assuming that the language prefix is "eng":

		engspchk.dict   : the primary dictionary-list (GoodWords)
		engspchk.dialect: a if-elseif chain based upon using
		                  b:spchkdialect which loads a set of
				  GoodWords/Dialect-flagged words.  The
				  engspchk.dialect file currently supports
				  "usa", "uk", and "can".
		engspchk.match  : this file is usually a set of GoodWord
		                  "syntax-matches" (see |:syn-match|) that the
				  user has set up.
		engspchk.proper : a dictionary-list of cities, people's names,
		                  and any other "proper" names (GoodWords)
		engspchk.rare   : a dictionary-list of unusual/rare words
		                  (these RareWords are highlighted differently)
		engspchk.usr    : a dictionary-list of words that the user
		                  controls via maps (\es, \et, \eS, \eT)
				  (see |engspchk-es|)
		engspchk.wordlist : this file is set up for agrep's benefit
		                  to use for alternative-spellings support
				  (see |engspchk-alt|

	Except for <engspchk.dict>, all engspchk's dictionaries are optional.

3. More Languages					*engspchk-language*

3.1 CREATING A NEW VERSION OF ENGSPCHK			*engspchk-newversion*

	The <engspchk.vim> file should be renamed to reflect the new language
	being supported: ex. gerspchk.vim  for German.  The prefix (ie. "ger")
	will be used in menus and for the user word database
	(ie., gerspchk.usr).

	Of course, the appropriate dictionary file (ie., gerspchk.dict) must
	also be present in the CVIMSYN subdirectory.

3.2 CURRENT LANGUAGE SUPPORT				*engspchk-curlang*

	Engspchk now supports modelines which allow individual documents
	to specify to engspchk/vim what language they're in.  Furthermore,
	by simply changing the name of engspchk.vim, one may make any
	language the default language.

	Check links under


	for any of the following dictionaries:

	  Dutch    : (utf8)
	  English  : (latin1)
	  German   : (latin1) (cp1252) (utf8)
	  Russian  : (koi8)

3.3 EARLIER LANGUAGE SUPPORT				*engspchk-earlylang*

	There are versions of this script for other languages.  If you come
	up with a version for another language, please let me know where on
	the web it is so that I can help make it known.  The following
	versions were based on earlier editions of <engspchk.vim>:

	 Dutch    : http://vim.sourceforge.net/tips/tip.php?tip_id=161
	 German   : http://jeanluc-picard.de/vim/gerspchk/gerspchk.vim.gz
	 Hungarian: http://vim.sourceforge.net/scripts/script.php?script_id=22
	 Polish   : http://strony.wp.pl/wp/kostoo/polspchk.tar.gz
	 Yiddish  : http://www.cs.uky.edu/~raphael/yiddish/vim.tar.gz

4. History						*engspchk-history*

	64    : Mar 03, 2006  * when filetype is mail, spell checking no
		                longer takes place in initial lines
		Mar 07, 2006  * noremap setting now elicits a warning
		Feb 29, 2008  * a bug in SpchkInCluster() was causing
		                vim errors when processing ft=mail
		                files -- fixed.
		Feb 22, 2011  * for menus, &go =~# used to insure correct case
	63    : Oct 24, 2005  * now includes CVIMSYN/engspchk.match
	        Dec 28, 2005  * now uses cecutil to save/restore user maps
		Jan 03, 2006  * CVIMSYN now handles spaces in path
		Jan 18, 2006  * cecutil now updated to use keepjumps
		Jan 25, 2006  * "syntax<> doesn't support spell-checking"
		                message suppressed (occurred when &ft=="")
	62    : Jul 12, 2005  * cpo workaround
	                      * visual-block only spellchecking support
	61    : Feb 14, 2005  * A check is now made for +clipboard before
				attempting to clear it.
	60    : Jan 07, 2005  * made a special-case for html to have spell
				checking both in the @Spell cluster and
				outside of it.
			      * before attempting to append/delete items from
				the menubar, an additional check is made
				that guioptions includes "m"
			      * added optional [lang]spchk.contraction loading
			      * moved English contractions to
			        <engspchk.contract> and cleared up a few
				problems with contractions not being recognized
			      * b:spchk_incluster now can be used to override
			        the spell checking in/out/both of the @Spell
	59    : Nov 10, 2004  * silenced all unmenu operations
			      * included more has("gui_running") tests for
				menu handling
	58    : Jun 18, 2004  * bugfix: modelines now have higher priority
				than g:... settings
			      * bugfix: modelines with multiple settings weren't
				being highlighted properly.
			      * :(lang)spchk commands for starting engspchk
				now available with both gvim and vim; ie.
				:Engspchk  :Nlspchk :Spanspchk :Gerspchk
				The set of commands you get are based on which
				dictionaries you have available in CVIMSYN.
			      * Saving/restoration of user maps wasn't complete
				Thanks to Ezekiel Burke for pointing this out!
			      * Error messages are now followed by a
				"Press <cr> to continue" message so they remain
	57    : Jun 16, 2004  * bugfix: (thanks to Sergey Markelov) variable-not
				found message when mapleader not explicitly set
				now eliminated
			      * \ev and \eV : enables spell checking just a
				visual-block selection of text
	56    : Jun 07, 2004  * \ej and \eJ : enables saving words to and from
				engspchk.proj (engspchk's project support)
			      * loading colorschemes usually wiped out RareWord
				and Dialect highlighting.  A CursorHold autocmd
				is now used to restore such highlighting.
			      * Usually (although not always), languages want
				spellchecking confined to certain regions
				(such as comments and strings).  The latest
				engspchk does that.  However, the dictionaries
				need to be changed to support the new feature.
				The engspchk.dict, etc, already support such
				changes, but you'll need to get new versions
				of other dictionaries if you use them.
	55    : Jun 07, 2004  * Uses "finish" where it used to "exit" in a
				few places (better error handling)
			      * <syntax/mail.vim> has mailSubject contain
				the @Spell cluster, which in turn caused
				engspchk to assume only Subjects should be
				spell checked.  An exception is now made.
	54    : May 25, 2004  * The "-" was removed from iskeyword for French
				If it should be removed from other languages,
				please let me know!
			      * Added <Plug> <unique> hasmapto() handling for
			      * A bug with wordlist generation caused some
				words to be dropped that should not have been.
				Fixed.  I suggest wiping out your old wordlist
				files (cd $CVIMSYN ; rm *.wordlist) and engspchk
				will regenerate them the next time they're
			      * Improved search for dictionaries
	53    : May 25, 2004  * bugfix: gvim (nofile), :e somefile
				was failing due to buffer-local
				variables.  Fixed
	52    : May 21, 2004  * loads user dictionary last to give it
				highest priority
	51    :	May 11,	2004  *	Modified modeline handling so that only
				supported options are accepted for modeline
			      *	A more robust decision process supports
				determining when a leftmouse click means
				go to the next spelling	error or open
				an alternates window on	the current word
			      *	gvim was behaving differently than vim
				with HLTest() -- fixed
	50    :	May 11,	2004  *	bugfixes: wordlist generation
			      *	German exceptions (thanks to Sergey Markelov)
	49    :	May 10,	2004  *	\er and	\ed now	cycle through three states
				 RareWord : gives notice of rare/unusual
					    word usage (default=black-on-cyan)
				 Error	  : enables SpchkNxt/Prv (and
				            click-n-fix) to jump to such words
					    (and apply alternate spelling
				 No highlighting : allows user to ignore
					    such words.
			      *	spchk: modelines supported; one	may set
				options	such as
				 acronym  cvimsyn	   mouse punc
				 altright dialect	   nonhl silent
				 autonext DrChipTopLvlMenu proj	 lang
			      *	Alternate dictionaries now available for
				all languages (ie. frspchk.proper,
				spanspchk.usr, etc).  Of course, someone
				has to make them first!	:)
			      *	Alternate dictionary use now integrated	into
				the menus
	48    :	May 02,	2004  *	bugfix:	inadvertently left Dfunc(), Decho(), and
				Dret() debugging enabled
	47    :	Apr 28,	2004  *	bugfix:	<engspchk.wordlist> generation somehow
				stopped	working.  Fixed.
			      *	colorschemes can define	BadWord	highlighting;
				engspchk depends on it being Error highlighted.
	46    :	Apr 20,	2004  *	bugfix:	clicknfix
				(g:spchkautonext enabled)+rightmouse
				+mouse in alternate-spelling window: cursor
				went to next spelling error but didn't
				automatically open the alternate-spellings
				window.	 Fixed
			      *	case now ignored for words from	the rare and
			       	dialect files
	45    :	Apr 19,	2004  *	bugfix:	Manual selection of an alternate
				spelling left PreProc highlighting in
				its wake.  Fixed
			      *	g:spchkaltright	variable allows	the
				alternate-spellings window to be placed
				on the right of	the screen.
				See |engspchk-variables|
	44    :	Apr 13,	2004: *	Click'N'Fix button support improved -
				see |engspchk-clicknfix| for details
			      *	PreProc	highlighting used to emphasize
				which word currently selected for alternates
	43    :	Feb 18,	2004: *	when mapleader wasn't the backslash, the
				menus didn't invoke the functions properly
				(problem reported by: Iouri Kloubakov) - fixed
			      *	\ec \ee	left RareWord submenu
				(problem reported by: Iouri Kloubakov) - fixed
			      *	help for engspchk improved for windows users
	42    :	Jan 22,	2004: *	acronym	support	now moved from tex-only
				to English.  Non-English languages can
				have this support if the variable
				g:spchk_acronym	exists.
	41    :	Dec 30,	2003: *	DrChip menus now work with console-menus
				(see |console-menus|)
	40    :	Nov 24,	2003: *	buffers	in which engspchk is active are	now
				made hidden to preserve	engspchk highlighting.
				* Upon \ee (ending engspchk), the previous
				  hidden setting is restored
			      *	RareWord, Dialect added	to @Spell cluster for
	39    :	Nov 04,	2003: *	disabled removal/restoration of	\ec menu entry
				upon use of \ee
			      *	b:engspchk_loaded now used to prevent
				double-loading of engspchk and attempts	to
				remove engspchk	from buffers where it hasn't
				been loaded
			      *	handles	multiple windows/buffers
			      *	g:spchknonhl forces spell-checking of
				non-highlighted	text
	38    :	Sep 02,	2003: *	@Spell cluster utilized.
			      *	Allow two or more sequential capitalized
				letters	to be ignored
				(English only, acronym support).
			      *	Yura Kloubakov's inclusion of the user's
				mapleader in the DrChip	menu and removal
				of \ec after use
			      *	Entered	dozens of city names into
	35    :	Aug 11,	2003: *	<engspchk.wb> merged into <engspchk.rare>
			      *	restored dictionaries to 1000 words/line,
				as that	reduced	<engspchk.rare>'s loading
				time (from 27 sec to 6 sec on my machine)
	34    :	May 06,	2003: *	checks for writable user dictionary
			      *	supports dialect and rareword differentiation
	33    :	Mar 19,	2003: *	saves/restores gdefault	(sets to nogd when
	32    :	Mar 13,	2003: *	consistency in use of <SID> vs s:
			      *	included dialects, thanks to Thakker
	31    :	Mar 12,	2003: *	works around "#" in isk	for SpchkChgWord()
			      *	SpchkEnd was missing s:	prefix
	30    :	Mar 10,	2003: *	restores undolevel if error detected during \ea
			      *	includes SaveMap, \ee, bugfix for Macs with ffs,
				<tab> action in	alternate-word window,
				left/right mouse actions.
			      *	Thanks for ideas, bug reports, etc go to
				Bill McCarthy and Peter	Karp
	29    :	Nov 27,	2002: *	checks "syntax_on" variable and	will
				error-message the user if syntax highlighting
				isn't on
			      *	Keeps and restores original settings that
				were intended to be local to the alternatives
				window anyway
	28    :	Nov 26,	2002: *	dropped	support	for Vim	versions 5.x
	27    :	Nov 21,	2002: *	\eT map	to make	a word a BadWord
			      *	\eS map	to make	a word a permanent BadWord
			      *	g:spchkautonext	implemented
	26    :	Nov 07,	2002: *	\en and	\ep were skipping over folds.
				They now will delve into folds,	opening
				them only if there's a spelling error within
			      *	Bug-fix: Alternative spellings now works for
				two-letter words.
	25    :	Oct 03,	2002:	Fixed bad bug (s:incomment code)
	23    :	Sep 11,	2002: *	BadWord	for English now	same as	non-English
			      *	Improvement made to loading procedure:
				one can	let g:spchklang="..." then \ec
				and get	the desired dictionary loaded.
	22    :	Sep 10,	2002: *	non-English languages' BadWord needed to be
				extended to more characters than \a
	21    :	Aug 28,	2002: *	removed	spurious syn-case-ignore/match pair
	20    :	Aug 21,	2002: *	removed	a superfluous <unique>
			      *	fixed \ea bug (invoking	twice caused problem)
	19    :	Aug 16,	2002: *	agrep-initialization bug fix
	18    :	Aug 05,	2002: *	g:spchkpunc added (tnx to Steve	Hall)
	17    :	Aug 02,	2002: *	more documentation, small fix to menus for
				non-English language support.
	16    :	Aug 02,	2002: *	For vim6.0 or later, uses filereadable() to
				check if <engspchk.vim>	is readable (and
				issues an error	message	if so)
	15    :	May 28,	2002: *	Included has("menu") with menu tests
			      *	<engspchk.dict>	broken out to a	separate file
			      *	most norm changed to norm!
			      *	Mats Bentsen : agrep's path now enclosed
				in ".."s. Helps	with Windows' directory names
				with embedded spaces
			      *	Renamed	: usr_engspchk.vim    -> engspchk.usr
			      *	Renamed	: wb1913_engspchk.vim -> engspchk.wb
	v2.13 :	Feb 27 2002 : *	One line alternates window now disappears after
	v2.12 :	Feb 26 2002 : *	Building the one-word dictionary for \ea will
				now include user dictionary words.  The
				building process has been speeded up by
				temporarily turning syntax highlighting
				off and	undo levels to -1.  Loading the
				Webster's 1913 dictionary words has been
				commented out because the words	therein
				are, in	my humble opinion, typically arcane
				and hence clutter up the alternatives window.
	v2.11 :	Feb 25 2002 : *	included note that 6.0 alphas may not work right
				(ie. 6.0z doesn't have <silent>) and engspchk
				has no way to test for them.
	v2.10 :	Feb 20 2002 : *	Included allowing g:cvimsyn to supercede
			      *	Engspchk now made into a quick-loading plugin
			      *	Alternatives supports first-letter case
	v2.07 :	Jul 17 2001 : *	fix to missing CVIMSYN environment variable
	v2.06 :	Jul 16 2001 : *	contains note about TK's "create" script
	v2.04 :	Mar 19 2001 : *	\%# is back with 6.0y
	v2.03 :	Feb 26 2001 : *	included automatic language detection/loading
	v2.02 :	Feb 13 2001 : *	commented out \%#-using	rule until CT gets it
			      *	Fixed some contractions	whose root word	got
				into the main dictionary
			      *	Fixed "extend",	a new Vim syntax-related keyword
	v2.01 :	Feb  9 2001 : *	includes <bib.vim> spell-checking
	v2.00 :	Feb  5 2001 : *	For 6.0v or later: words will no longer	flash
				in Error as they're being typed.
				Thank you Chase	Tingley	for \%#	!
	v1.28 :	Jan 29 2001 : *	shortened SpchkNxt and SpchkPrv
				(thanks, Benji Fisher!)
	v1.27 :	Jan 29 2001 : *	includes using agrep and \ea for alternative
	v1.26 :	Jan 25 2001 : *	removed	a number of two-letter abbreviations
				and "ain" from the dictionary (more leftovers
				from ispell)
	v1.25 :	Jan 22 2001 : *	included 12000 more words from various online
			      *	I've also culled out a few misspellings that
				crept in from the original ispell dictionary
				that was used.
	v1.24 :	Nov  1 2000 : *	included optional <engspchk2.vim> sourcing
	v1.22 :	Oct  3 2000 : *	added "transparent" keyword to all GoodWords
	v1.20 :	Sep 18 2000 : *	engspchk now saves using vim functions,
				avoiding any external program entanglements for
				versions 5.2 or	later
	v1.19 :	Apr  7 2000 : *	more contractions and words: couldn't've, etc.
	v1.18 :	Mar 28 2000 : *	included words from spelling bee and other
			      *	included "didn't" contraction, removed
				"didn didnt"
	v1.17 :	Aug 12 1999 : *	the epoch