Subject: pkg/36971: editors/vile: update to 9.5r, add ALTERNATIVES file and ncursesw option; fixes build error
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <lems@gmx.net>
List: pkgsrc-bugs
Date: 09/12/2007 14:15:00
>Number:         36971
>Category:       pkg
>Synopsis:       editors/vile: update to 9.5r, add ALTERNATIVES file and ncursesw option; fixes build error
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Wed Sep 12 14:15:00 +0000 2007
>Originator:     L. Schmidt
>Release:        
>Organization:
>Environment:
>Description:
This updates editors/vile from 9.5 to 9.5r and adds an ALTERNATIVES file.  There now is an option to build it against ncursesw.

This also fixes an error (at least on this Linux box) that prevented me from installing it:

[...]
gcc -c -I. -I.. -I../filters -I.. -DHAVE_CONFIG_H  -D_REENTRANT -DTHREADS_HAVE_PIDS -I/home/das/pkg/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/home/das/pkg/lib/perl5/5.8.0/i386-linux-thread-multi/CORE -I/usr/include -I/home/das/pkg/include -D_GNU_SOURCE -O2 -pipe -I/usr/include -I/home/das/pkg/include  -fno-strict-aliasing -pipe -Wdeclaration-after-statement  sql-filt.c
sql-filt.l:32: error: 'LEAD' undeclared here (not in a function)
*** Error code 1
[...]


Changes from 9.5 to 9.5r:

Changes for vile 9.6 (released ??? ??? ?? ????)

 20070603 (r)
	+ amend makefile.in change for $(SRC) to use a translation rule that
	  works with IRIX64 (and some broken BSD) make programs.
	+ correct parsing/removal of "-i" option in winvile, taking into
	  account double-quoting of parameters and also options which have
	  parameters.
	+ make configure --with-no-leaks work for external filters, e.g., using
	  valgrind.
	+ add configure script check for tdelete(), provide a replacement if
	  not found (report by Gary Jennejohn).

 20070528 (q)
	+ change configure script to check for ispell before aspell; Fedora 5's
	  problem with aspell was eventually fixed.
	+ make cursor-adjustment after paste in xvile dependent on whether the
	  pasted text ended with a newline (request by Eric Krohn).
	+ cleanup the bottom line on the screen when exiting the curses driver,
	  to match the termcap/terminfo driver (report by Chris Green).
	+ fixes for pl-filt.c (perl highlighter):
	  + allow blanks before tag for here-document, e.g.,
		cat << 'TAG'
	  + allow '~' as a quote-delimiter (this is used by linklint).
	+ modify CF_IMAKE_CFLAGS to work with Solaris sed, which (unlike a
	  standard UNIX implementation) does not honor nested subexpressions.
	+ add rename-other-buffer command, use that to modify spell.rc so it
	  can work with scratch buffers which otherwise would be lost, e.g.,
	  "[Help]".
	+ add modelines for winvile.rc and w32ole.rc to set the majormode to
	  rcmode, and modify a special case in main.c to make "vile winvile.rc"
	  get the corresponding majormode.
	+ add some null-pointer checks in filters for result from flt_alloc().
	+ add a check in flt_alloc() in case the pointer has not been
	  allocated.
	+ derive $(SRC) from $(OBJ) in makefile.in, to avoid losing trace.c
	  in tags rule.
	+ check for empty/default "put" in line.c's PutChar() to avoid
	  attempting to remove a trailing newline from that, since the
	  corresponding line has already been freed as part of the undo process
	  (report by Paul Fox).
	+ use O_NONBLOCK if O_NDELAY is undefined, needed for a few platforms
	  which have the POSIX definition but not the legacy, e.g., Minix and
	  OS X.
	+ make autocolor work for curses-driver, e.g., --with-screen=ncurses
	  (report by Chris Green).
	+ widen the check for "winvile" in vileinit's initialization for win32
	  shifted cursor bind-key's.
	+ modify spell filter so that it can get VILE_SPELL_FILT from the
	  registry on win32.
	+ improve spell filter camelcasing that when parsing things like
	  "UXTerm" it splits off the "Term" as a possible word.
	+ amend 9.5m change to check for file ownership to ensure this is
	  only done for files that might be source'd.  It was checking files
	  for read/write too.
	+ correct syntax highlighting for end of JavaScript embedded in HTML,
	  which did not allow for the marker in an inline comment.
 	+ modify "filename" shown in :show-filtermsgs to use the buffer name
	  if no filename is available.
	+ modify preamble patterns for shell modes such as awk, etc., to allow
	  for programs without an absolute pathname, e.g., "#! awk".
	+ modify the symbol-table lookup in filters.c to use tsearch() when
	  available.  For an 8Mb rtf file this improved performance by about
	  a factor of two (on Linux - Visual C++ has no tsearch).
	+ add configure check for getc_unlocked(), putc_unlocked() and
	  tsearch() to use in performance improvements for syntax filters.
	+ add syntax filter for RTF files.
	+ improve autocolor on win32 by not allowing the cursor to be repainted
	  while autocoloring is in progress.
	+ modify winvile's command-line parsing, adding "-i" option to perform
	  the case used for "Send To": use the part of the command line after
	  options as the filename and change working directory to match
	  (request by Larry Gensch).

 20070425 (p)
	> Tom Dickey:
	+ modify spell- and txt-filters to allow users to add words to their
	  respective ".keywords" files to override the builtin highlighting.
	+ correct check of return of ffread() in spellflt.l's workaround for
	  platforms such as win32 which have no usable popen().  That made
	  spelling checks require two ^X-i presses.
	+ modify spellflt.l to chop words according to Camel-case, so
	  tokens such as "ChopWords" are treated by the spell checker as
	  multiple words.
	+ fix a limit check in argc/argv[] parsing for winvile (report by
	  Larry Gensch).
	+ modify wvwrap.exe to work with pathnames containing "$", "&" and "'".
	+ change OPT_MULTIBYTE definition to depend on OPT_LOCALE.

 20070115 (o)
	> Tom Dickey:
	+ change Inno Setup script to not put version numbers on the SendTo
	  and context-menu entries.
	+ start adding support for UTF-8 (modes "byteorder-mark" and
	  "file-encoding").  The byteorder-mark is workable, but the
	  file-encoding is a stub.  This works to strip the BOM from files
	  as they are loaded, making syntax highlighting work for XML files.
	+ correct two places in exec.c which used skip_blanks() rather than
	  skip_space_tab() from 9.5l changes.  This caused the command
	  parser to treat ^K as a blank, breaking digraph.rc which uses
	  that character (report by Gary Jennejohn).

 20070108 (n)
	> Tom Dickey:
	+ add a character-class check to find_b_file() to prevent names such
	  as "<vile.1>" from being canonicalized into "vile.1" on win32 via
	  FindFirstFile().  This fixes a problem where ^X-n would sometimes
	  display the wrong buffer.
	+ add shifted-cursor-key bindings for winvile, like xterm.
	+ amend cursor-tokens mode so that ^X-e in a directory-buffer always
	  uses the whole line (no regular expressions).
	+ fix a null-pointer dereference in the cursor-tokens mode.
	+ minor fix to sh-filt.l to handle lines like
		: ${BUILD_CC:='${CC}'}
	+ improve iss-flt.l to highlight preprocessor lines.
	+ improve winvile.iss (Inno Setup):
	  + use values in patchlev.h to set the package version information.
	  + add context menu and Send To shortcuts
	  + install the keyword files
	+ add configure --with-valgrind option.

 20061212 (m)
	> Tom Dickey:
	+ add showvariables mode, for testing expressions used in [Variables].
	+ correct comparisons used for handling bounds in regular expressions,
	  e.g., the "2" in "\(this\|[l-m]\)\{2\}".
	+ change behavior of regular expression OR'd alternatives - only the
	  first match was used rather than the longest one.
	+ fix configure script macros which omitted X_EXTRA_LIBS in one case,
	  and repeated libs in another.
	+ fill in complete list of event names for xres.key from Xt/TMParse.c
	+ make ShowFormatted macro more configurable by allowing environment
	  variables $VILE_NROFF_FILT and $VILE_TABLE_FILT to override the
	  choice of programs therein.
	+ disallow source'ing from the current directory if the source'd file
	  might be writable by other users.
	+ improve fences in vbs- and vbmode.
	+ fix xresfilt.l; X resource files do not have embedded comments.
	+ minor improvements/fixes to &default, to allow it to assume that
	  '$' is implied for modes.
	+ modify locale initialization to work with koi8rxterm.
	+ add character classes [:ident:], [:octal:] and [:path:], and change
	  the association of \w and \W to [:ident:], making [:alnum:] no longer
	  include "_".
	+ add cursor-tokens mode to control whether vile uses regular
	  expressions, character classes or a combination to obtain tokens
	  from the screen.
	+ add $buf-fname-expr to show the combined bufname-expr, pathname-expr
	  used to interpret ^X-e.
	+ add bufname-expr, identifier-expr and pathname-expr buffer modes to
	  provide regular expression parsing of $bufname, $identifier and
	  $pathname in the show-variables command as well as for the related
	  expansion of tokens from the cursor position.  If the expressions are
	  empty, the code falls through to use the corresponding older
	  character-class parsing.  Default values are provided for each *-expr
	  mode.
	+ fix a case where set-window might remove the only window before
	  attempting to put a file in it.
	+ quote "$HOME" in CF_SUBDIR_PATH, for cygwin users.

 20061107 (l)
	> Tom Dickey:
	+ modify ":describe-bindings" to show whether the command accepts a
	  range, and whether it is undoable.
	+ add ":goto-percent" function.
	+ add (nvi/vim) ex-commands: a!, c!, i!
	+ add ":c" as alias for ":change-til" (nvi/vim).
	+ change unimplemented ":c" to ":co" (reference O'Reilly vi-book)
	+ fix makefile dependency for tags
	+ review/update use of "CNT" in describe-bindings
	+ revised command-line option parsing to use scripting more effectively:
	  + multiple startup files are allowed.
	  + most command-line options are translated to their equivalent script
	    and executed, rather than saving state for the most recent of each
	    option.  This makes the -s, -S, -g, -G options obsolete (but still
	    accepted).
	  + add "-c" option (the POSIX form of "+").
	+ modify configure script to use ncurses5-config, etc., if found when
	  handling the --with-screen=ncurses or --with-screen=ncursesw options.
	  It also is checked when handling the --with-ncurses option for the
	  termcap/terminfo driver.
	+ add suffix/name rules for "Jam" files.
	+ fix preamble pattern for pymode so it does not match a ":" line
	  which should be shmode.
	+ implement patterns as line-specifiers in ex-mode.
	  (this does not work with history-scrolling yet).
	+ remove incorrect check for empty parameter from which-menu from 9.4m
	  changes.
	+ check xvile menu to ensure that "C" header is given, adding a
	  dummy one if not (report by Chris Green).
	+ add checks to ensure that neither modelines nor majormodes can alter
	  these modes: all, crypt, readonly, viewonly.
	+ implement vi-style modeline, limited to setting buffer- and window-
	  modes, or majormodes.
	+ add "#" as an alias for number-lines-til
	+ improve highlighting of comment-lines (denoted by "--") in txtmode.
	+ fixes for termcap syntax highlighter (tcmode):
	  + allow description field to be empty
	  + color the "|" between aliases.
	  + improve string- and escape-parsing
	+ fixes for terminfo syntax highlighter (timode):
	  + allow description field to be empty
	  + color the "|" between aliases.
	  + allow aliases to contain blanks.

 20060924 (k)
	> Paul van Tilburg
	+ add syntax filter (mcrl) for mCRL/mCRL2 modeling language.
	> Tom Dickey:
	+ modify fileread() to ensure that the error-buffer is reset after
	  reading (or re-reading) a shell/pipe command, e.g., using ":e!".
	+ fix configure --disable-largefile option (from ncurses).
	+ minor fixes for nroff filter to improve rendition of groff's macros. 
	+ add configure check for ncurses 5.2(sic) on FreeBSD, which was broken
	  by an incomplete set of changes to wchar.h (report by Chris Green).
	+ add configure check for aspell, whose attempt at a compatibility
	  script for ispell does not recognize ispell's options.
	+ workaround for breakage in FreeBSD's header files: updates to wchar.h
	  were not reflected in updates to curses.h (report by Chris Green).
	+ remove reference to obsolete http://www.vile.cx from README (report
	  by Paul Fox).
	+ update config.guess, config.sub

 20060625 (j)
	> Tom Dickey:
	+ fix expression for shmode $mode-filename to match ".profile".
	+ various small build-fixes (prompted by reports by Paul Fox, Clark
	  Morgan).
	+ amend 20050214 change to set_files_to_edit(), which caused partly-
	  read buffer to be discarded if ffgetline() was interrupted, e.g.,
	  by a ^C during a slow pipe read.  Now the buffer contents are
	  retained.
	+ update config.guess, config.sub

 20060531 (i)
	> Tom Dickey:
	+ fix error-reporting for a "~break" without a preceding "~while"
	  (report by Clark Morgan).
	+ minor fixes for tc-filt.l (termcap mode).
	+ fix x11.c for Motif broken in 9.5f cleanup (reported by Paul Fox).
	+ improve bas-filt.l by not highlighting incidental matches in the
	  attribute section of a Visual Basic form-file.
	+ correct parsing of hexadecimal constants in bas-filt.l
	+ add .ctl suffix for vbmode
	+ fix a case in bsizes() which subtracted line-ending from zero-sized
	  buffer when nonewline mode was set (Debian #368007).

 20060521 (h)
	> Clark Morgan:
	+ document write-all-buffers command.
	+ add echo-to-clipboard mode for Win32 hosts:
	  all text selected with the mouse is automatically
	  copied to the Windows clipboard. (U)
 	> Paul Fox:
	+ updated contact information in README, vile.1 and vile.hlp
	> Tom Dickey:
	+ allow a version number in rbmode (ruby) preamble.
	+ add check in m4-filt.c for unbalanced quote, show the affected area
	  as an error.
	+ add ".ddl" suffix to sqlmode.
	+ add ".dsr" suffix to vbmode.
	+ fix makefile.blc, broken in 9.5f cleanup.
	+ fixes for 64-bit warnings of Visual Studio .NET 2003:
	  + modify Member_Offset() macro to cast the difference between
	    addresses to a long rather than casting a pointer to a long.
	    Use this flavor for Visual C++.
	  + size_t is not necessarily the same size as unsigned - modify code
	    to use size_t where it is consistent, otherwise cast as needed.
	+ updated for python keywords
	+ modify some lex filters, e.g., sql, to exclude \r in the places that
	  exclude \n, since \r should not be colored.
	+ fix for tb_enquote(); a value pointed to memory that had been
	  reallocated.
	+ make OBJEXT configure feature work for optional objects such as api.o
	+ updated configure macros CF_CURSES_CPPFLAGS, CF_CURSES_LIBS,
	  CF_NCURSES_CPPFLAGS, CF_PATH_SYNTAX, CF_WITH_IMAKE_CFLAGS,
	  CF_XOPEN_SOURCE.
	+ update config.guess, config.sub

 20060402 (g)
	> Tom Dickey:
	+ minor fixes to make most of the lex filters build with "old" lex,
	  e.g.,
		http://heirloom.sourceforge.net/devtools.html
	  Note: the lex-filt.l file is too complex for some older lex's.
	+ add lua mode
	+ save/restore curgoal variable in b2vprintf() to avoid side effects
	  when invoking "backward-row" or "forward-row" commands (report
	  by Chris Green).
	+ add delphi mode
	+ add "*.cs" files to grep macros on win32 platform
	+ improve csmode by making the section macros look for function
	  headers.

 20060219 (f)
	> Clark Morgan:
	+ update vile.hlp for %n and %N title format changes.
	> Tom Dickey:
	+ fix sh-filt.l for parameter substitutions containing an escaped
	  quote, e.g.,
		VERSION=${VERSION#*VERSION \"}
		VERSION=${VERSION%\"*}
	+ add csmode (for C# ".cs" files) and cs.key, using vile-c-filter for
	  parsing.
	+ modify ntwinio.c to invoke build_recent_file_and_folder_menus() in
	  the WM_INITMENUPOPUP event rather than WM_SYSCOMMAND.  This makes
	  winvile initialize the recent-folders and recent-files if one uses a
	  right-click on the title of the window.
	+ change winvile's registry subkey for recent-folders and recent-files
	  to match environment variable settings from 9.4r, e.g., change
		"Software\winvile\MRUFiles"
	  to
		"Software\VI Like Emacs\MRUFiles"
	+ add new symbols $return and $_ which can be used to implement simple
	  functions (request by William James).
	+ fix filters/makefile.2nd to allow build for gcov
	+ improve majormodes for complex fences by initializing the (non-string)
	  buffer mode values for submode groups according to the values in
	  the submode.  This makes ignorecase work as expected in the complex
	  fence matching for vbmode.
	+ add complex fences to vbmode.
	+ minor fix to bat-filt.l to avoid highlighting ".bat" as a string in
		call foo.bat
	+ change htmlfilt.l to highlight character- and URI-references as
	  numbers to make them distinct from strings with ordinary text.
	+ add makefile rules for installing/uninstalling files from doc
	  directory:
		install-doc
		uninstall-doc
	  as well as installing/uninstalling macros
		install-macros
		uninstall-macros
		uninstall-perl
	+ correct logic for goto-char, broken in 9.4za (report by William
	  James).
	+ fix change to cpp.key in 9.5e, which put the C keywords in the wrong
	  table.
	+ add spell.rc to makefile.wnt install rule.
	+ add test_io.exe rule to vmsbuild.com
	+ add TERM.clean(), TERM.unclean(), TERM.openup() to help move diverse
	  code out of termio.c
	+ modify var_TITLEFORMAT() only call set_editor_title() when setting
	  $title-format, and modify get_statevar_val() to handle some limited
	  recursion just in case there are other cases where it could be called
	  from the statevar.c module while retrieving a value.  This fixes a
	  bug introduced in 9.5e (report by Clark Morgan).
	+ update title when doing a "cd", in case it uses %r substitution.
	+ change %n in modeline substitutions to use file name (pathleaf)
	  rather than relative path (shorten_path).  Use %r for the latter.
	  (request by Clark Morgan).
	+ move VMS-specific code from termio.c to vmsvt.c
	+ remove unused start_debug_log() and mallocdbg() from main.c
	+ correct typo in ifdef for Visual Studio C++ 6.0 ifdef in w32ole.cpp
	  from 9.5e changes.
	+ move 9.5c check for stdout not a tty on startup to allow "vile -V"
	  to pipe to other programs.
	+ split-out nullterm.c
	+ add test_io stub, to help isolate dependencies of the I/O drivers.

 20060109 (e)
	> Clark Morgan:
	+ improved winvile's "flash".
	+ several changes to w32reg.c:
	  + if at all possible, don't register ole-enabled winvile using the
	    path ".\winvile.exe" (obscure cygwin corner case).
	  + remove use of toUpper(), which is not legit for winvile in this
	    context because the underlying mapping array is apparently _not_
	    initialized.  With this fix, "winvile -Ou" now displays the
	    editor's name in MessageBox text (rather than "").
	  + fixed lots of misuses of registry APIs (not properly testing return
	    code).  With fixes in place, winvile -Ou/-Or now properly reports
	    an error when registration/unregistration is attempted by an
	    account with insufficient privileges.
	+ add section definitions to vbmode.
	+ fix:  wvwrap caused winvile to show an 8.3 folder name in Recent
	  Folders list.
	+ fix:  when CD'ing to a directory stored in winvile's "recent folders"
	  list, the cursor stayed in the mini-buffer following a call to pwd().
	> Tom Dickey:
	+ adjust makefile dependencies to allow "make -j4" when building the
	  loadable filter configuration (report by Ciaran McCreesh).
	+ add "+", ",", "&", "@" and ";" to URL patterns in filters.
	+ modify nr-filt.l to allow for optional blanks between the leading
	  "." and the command.  This is common in nroff library macros, not
	  in manpages, etc.
	+ improve lex-filt.l, allowing for some flex extensions:
	  + allow code in action rules to not have curly braces
	  + allow curly-braces to surround chunks of flex actions
	  + "*" as a state name.
	+ add named marks for decimal digits (request by George Eccles).
	+ fix stray ^@'s on the winvile popup menu resulting from changes to
	  kcod2prc() for xterm-fkeys mode (report by Clark Morgan).
	+ add a call to set_editor_title() at the end of swbuffer_lfl() to
	  make title updates work properly with termcap configuration.
	+ add %n and %N substitutions for $title-format (prompted by Clark
	  Morgan comments).
	+ modify FreeBuffer() to clear window's buffer-pointers that point to
	  the freed buffer, e.g., to prevent reference to free memory in title
	  updates (report by Clark Morgan).
	+ check file descriptors in stdin_data_available() to avoid doing a
	  fdopen() on an invalid descriptor.
	+ add "#import" in cpp.key
	+ modify preamble for xml- and html-modes to ensure that the first
	  tag determines the type.
	+ fixes to makefile.wnt and mkprlenv.wnt to work with Visual C++ 7.
	+ correct padding of subtitle line for "Temporary variables" in
	  [Variables] buffer, which was applied to all temporary variable
	  lines.

 20051129 (d)
	> Tom Dickey:
	+ fix vl_ctype.h to avoid redefinition of UCHAR (reports by Clark
	  Morgan, Mark Robinson).
	+ fix lex-filt.l to build with lex (report by Dave Rolfe).
	+ fix include-path in makefile.wnt, makefile.djg makefile.icc to work
	  with split-out headers for regexp.c
	+ remove code for DISP_IBMPC
	+ remove makefile.emx and config.emx (obsolete).
	+ remove makefile.wat and makefile.tbc, since they used ibmpc.c

 20051123 (c)
	> Clark Morgan:
	+ remove an obsolete comment in macros.doc regarding underscore in
	  macro names.
 	> Paul Fox:
	+ correct logic for check_percent_crlf(), ensuring that empty buffers
	  are not counted as having CRLF endings.
	> Tom Dickey:
	+ fix to_tabstop() function used for :describe-bindings to ensure that
	  a binding that happens to be 8 columns will still have a tab after
	  it.
	+ add a fflush() to ensure that the control string to reset xterm mouse
	  mode is written during ^Z handling (report by Fabien Coutant).
	+ add a call to term.kopen() in rtfrmshell(), making ^Z/resume work
	  properly with the curses driver (report by Fabien Coutant).
	+ make mouse work for curses driver just like the termcap/terminfo
	  driver.
	+ split xterm-specific code out of tcap.c as xterm.c, to share with
	  curses.c
	+ indent'd borland.c
	+ remove ibmpc.c (obsolete)
	+ check if stdout is not a tty on startup, print error message and
	  exit (request by Paul Fox).
	+ add mode xterm-fkeys, to allow termcap driver to generate
	  shift/control/alt modifiers for function keys.
	+ modify regexp.c so tab is not matched by \p or [[:print:]] for
	  consistency with POSIX regular expressions.
	+ modified regexp.c, add headers vl_regex.h, vl_alloc.h and vl_ctype.h
	  to allow it to be easily built outside vile (request by Adrian Kole).
	+ add KEY_BackTab to the output of show-key-names
	+ fix kcod2prc() so that a shifted-tab is converted to "Shift+^I"
	  rather than emitting a literal tab in the result.
	+ update vilemenu.rc fonts to work on Debian/testing.
	+ improve scrollbar/cursor tracking in winvile by calling
	  gui_update_scrollbar() when WFMOVE flag is set (report by Deraj
	  Puma).
	+ add a simple csvmode for ".csv" files.
	+ add ".ebuild" suffix for shmode.
	+ improve mode-pathname for xresmode to handle things like KOI8Term.

 20051002 (b)
	> Tom Dickey:
	+ update config.guess, config.sub
	+ improve os2vio.c, adding a check to distinguish between fullscreen
	  and VIO to allow using bright background colors in the latter (report
	  by George Eccles).
	+ add KEY_xxx definitions to OS/2 and Win32 drivers, defining up to
	  KEY_F35 for the former and KEY_F24 for the latter (report by George
	  Eccles).
	+ several improvements and fixes to lex-filt.l
	  + expressions for regular expression parsing are more complete, which
	    allows separating patterns from state lists.  That allows some
	    error-checking in the rules section to flag spurious whitespace
	    after a regular expression.  The more-complete regular expressions
	    make the parser much larger (about 5 times the original size).
	    A rewrite in C might be shorter.
	  + ignore case of "%s" vs "%S" or "%state", etc.
	  + parse the pattern names, applying highlighting to the names where
	    they are embedded in regular expressions.
	  + parse the "%s" (state) lists, applying highlighting to the states.
	  + handle flex's <<EOF>> token.
	  + handle character classes in the RANGE pattern.
	+ remove an update() call from the logic in input.c which decodes
	  hex/octal input after a ^V.  That caused the screen to move the view
	  according to the address in the command, e.g.,
		:%s/^Vx12
	  would scroll to the bottom on entry of the "x" (report by Daniel L
	  Ashbrook).
	+ correct behavior of set-dos command, which did not recompute the
	  buffer-size.
	+ make end-of-token test for store-proc consistent with bind-key,
	  i.e., alphanumerics and hyphen.  Amend that test to allow underscore
	  (report by George Eccles).

 20050905 (a)
	> Tom Dickey:
	+ review/improve vl-filt.l based on Verilog LRM draft
	+ add configure check for lex's which support character classes, and
	  add filters/noclass.sh to work around those which do not.
	+ improvements to configure script from ncurses:
	  + improve check for Intel compiler warnings
	  + improve check for gcc version
	  + define _QNX_SOURCE for QNX
	+ revert part of 9.4n, which caused readin() to return false if there
	  was no filename associated with the buffer.  Doing this broke some
	  macros such as which-keywords (using buffer constructed by the
	  macro).  Previously it returned true, indicating success.
	+ improve parsing of range expressions in lex-filt.l, fixes a case
	  exposed by css-filt.l
	+ correct a case where slowread() in dosmode would compute a correct
	  buffer size.
	+ modify bat-filt.l to highlight "echo." consistently with M$ usage.
	+ modify bat-filt.l to highlight "%*".
	+ add syntax filters for bnf, css, midl, php and wbt (WinBatch).
	+ modify syntax filters to use flex's character classes.


>How-To-Repeat:

>Fix:
--- /dev/null	2007-04-15 13:49:35.000000000 +0200
+++ ALTERNATIVES	2007-09-12 11:34:10.000000000 +0200
@@ -0,0 +1,2 @@
+bin/vi @PREFIX@/bin/vile
+bin/view @PREFIX@/bin/vile -v
--- /dev/null	2007-04-15 13:49:35.000000000 +0200
+++ options.mk	2007-09-12 11:34:10.000000000 +0200
@@ -0,0 +1,13 @@
+# $NetBSD: options.mk,v 1.1 2007/09/05 23:05:13 wiz Exp $
+
+PKG_OPTIONS_VAR=	PKG_OPTIONS.vile
+PKG_SUPPORTED_OPTIONS=	ncursesw
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mncursesw)
+.  include "../../devel/ncursesw/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-screen=ncursesw
+.else
+.  include "../../devel/ncurses/buildlink3.mk"
+.endif
? ALTERNATIVES
? ALTERNATIVES.diff
? BIGDIFF
? options.mk
? options.mk.diff
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/editors/vile/Makefile,v
retrieving revision 1.48
diff -u -p -r1.48 Makefile
--- Makefile	5 Aug 2007 16:44:52 -0000	1.48
+++ Makefile	12 Sep 2007 09:50:54 -0000
@@ -1,16 +1,29 @@
 # $NetBSD: Makefile,v 1.48 2007/08/05 16:44:52 joerg Exp $
 
 DISTNAME=		vile-9.5
-PKGREVISION=		1
+PKGNAME=		${DISTNAME}r
 CATEGORIES=		editors
 MASTER_SITES=		ftp://dickey.his.com/vile/ \
-			ftp://invisible-island.net/vile/
+			ftp://invisible-island.net/vile/ \
+			ftp://ftp.phred.org/pub/vile/
+DIST_SUBDIR=		vile
 EXTRACT_SUFX=		.tgz
 
+PATCH_SITES=		${MASTER_SITES:S,vile/,vile/patches/,g}
+PATCHFILES+=		vile-9.5a.patch.gz vile-9.5b.patch.gz vile-9.5c.patch.gz
+PATCHFILES+=		vile-9.5d.patch.gz vile-9.5e.patch.gz vile-9.5f.patch.gz
+PATCHFILES+=		vile-9.5g.patch.gz vile-9.5h.patch.gz vile-9.5i.patch.gz
+PATCHFILES+=		vile-9.5j.patch.gz vile-9.5k.patch.gz vile-9.5l.patch.gz
+PATCHFILES+=		vile-9.5m.patch.gz vile-9.5n.patch.gz vile-9.5o.patch.gz
+PATCHFILES+=		vile-9.5p.patch.gz vile-9.5q.patch.gz vile-9.5r.patch.gz
+PATCH_DIST_STRIP=	-p1
+
 MAINTAINER=		pkgsrc-users@NetBSD.org
-HOMEPAGE=		http://dickey.his.com/vile/vile.html
+HOMEPAGE=		http://invisible-island.net/vile/
 COMMENT=		VI Like Emacs.  a vi "workalike", with many additional features
 
+.include "options.mk"
+
 GNU_CONFIGURE=		yes
 CONFIGURE_ARGS+=	--with-perl
 CONFIGURE_ARGS+=	--datadir=${DATADIR:Q}
@@ -37,6 +50,5 @@ post-install:
 		${INSTALL_DATA} ${WRKSRC}/$$f ${EGDIR};		\
 	done
 
-.include "../../devel/ncurses/buildlink3.mk"
 .include "../../lang/perl5/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/editors/vile/PLIST,v
retrieving revision 1.4
diff -u -p -r1.4 PLIST
--- PLIST	27 Sep 2005 22:49:27 -0000	1.4
+++ PLIST	12 Sep 2007 09:50:54 -0000
@@ -1,7 +1,7 @@
-@comment $NetBSD: PLIST,v 1.4 2005/09/27 22:49:27 agc Exp $
+@comment $NetBSD$
 bin/vile
-bin/vile-pager
 bin/vileget
+bin/vile-pager
 libexec/vile/atr2ansi
 libexec/vile/atr2html
 libexec/vile/atr2text
@@ -12,9 +12,11 @@ libexec/vile/vile-au3-filt
 libexec/vile/vile-awk-filt
 libexec/vile/vile-basic-filt
 libexec/vile/vile-bat-filt
-libexec/vile/vile-c-filt
+libexec/vile/vile-bnf-filt
 libexec/vile/vile-cfg-filt
+libexec/vile/vile-c-filt
 libexec/vile/vile-crypt
+libexec/vile/vile-css-filt
 libexec/vile/vile-cweb-filt
 libexec/vile/vile-dcl-filt
 libexec/vile/vile-def-filt
@@ -32,14 +34,18 @@ libexec/vile/vile-key-filt
 libexec/vile/vile-latex-filt
 libexec/vile/vile-lex-filt
 libexec/vile/vile-lisp-filt
+libexec/vile/vile-lua-filt
 libexec/vile/vile-m4-filt
 libexec/vile/vile-mail-filt
 libexec/vile/vile-make-filt
 libexec/vile/vile-manfilt
+libexec/vile/vile-mcrl-filt
+libexec/vile/vile-midl-filt
 libexec/vile/vile-mms-filt
 libexec/vile/vile-nr-filt
 libexec/vile/vile-pas-filt
 libexec/vile/vile-perl-filt
+libexec/vile/vile-php-filt
 libexec/vile/vile-pl-filt
 libexec/vile/vile-pot-filt
 libexec/vile/vile-ps-filt
@@ -49,6 +55,7 @@ libexec/vile/vile-rc-filt
 libexec/vile/vile-rcs-filt
 libexec/vile/vile-rexx-filt
 libexec/vile/vile-rpm-filt
+libexec/vile/vile-rtf-filt
 libexec/vile/vile-ruby-filt
 libexec/vile/vile-sccs-filt
 libexec/vile/vile-sed-filt
@@ -65,6 +72,7 @@ libexec/vile/vile-ti-filt
 libexec/vile/vile-txt-filt
 libexec/vile/vile-vile-filt
 libexec/vile/vile-vlog-filt
+libexec/vile/vile-wbt-filt
 libexec/vile/vile-xml-filt
 libexec/vile/vile-xres-filt
 libexec/vile/vile-xs-filt
@@ -77,17 +85,20 @@ share/examples/vile/pictmode.rc
 share/examples/vile/spell.rc
 share/examples/vile/visvile.rc
 share/vile/ada.keywords
-share/vile/as.keywords
 share/vile/as386.keywords
+share/vile/as.keywords
 share/vile/asm.keywords
 share/vile/au3.keywords
 share/vile/awk.keywords
 share/vile/basic.keywords
 share/vile/bat.keywords
+share/vile/bnf.keywords
 share/vile/c.keywords
 share/vile/color-ls.rc
 share/vile/cpp.keywords
 share/vile/csh.keywords
+share/vile/cs.keywords
+share/vile/css.keywords
 share/vile/cweb.keywords
 share/vile/dates.rc
 share/vile/dcl.keywords
@@ -101,8 +112,8 @@ share/vile/fdl.keywords
 share/vile/filters.rc
 share/vile/gnugpg.rc
 share/vile/html.keywords
-share/vile/ini.keywords
 share/vile/imake.keywords
+share/vile/ini.keywords
 share/vile/iss.keywords
 share/vile/java.keywords
 share/vile/js.keywords
@@ -110,32 +121,30 @@ share/vile/latex.keywords
 share/vile/lex.keywords
 share/vile/lisp.keywords
 share/vile/loaderrs.rc
+share/vile/lua.keywords
 share/vile/m4.keywords
 share/vile/mail.keywords
 share/vile/make.keywords
 share/vile/manpage.rc
+share/vile/mcrl.keywords
+share/vile/midl.keywords
 share/vile/modes.rc
 share/vile/nr.keywords
 share/vile/nsis.keywords
 share/vile/palettes.rc
 share/vile/pas.keywords
 share/vile/pc.keywords
-share/vile/perl.keywords
 share/vile/perl/Breadcrumbs.pm
 share/vile/perl/CaptHook.pm
-share/vile/perl/Glob2re.pm
-share/vile/perl/Help.pm
-share/vile/perl/Vile.pm
-share/vile/perl/Vile/Exporter.pm
-share/vile/perl/Vile/Manual.pm
-share/vile/perl/Vileserv.pm
-share/vile/perl/Visit.pm
 share/vile/perl/capture.pm
 share/vile/perl/dict.pm
 share/vile/perl/directory.pm
 share/vile/perl/dirlist.pm
 share/vile/perl/gdb.pm
+share/vile/perl/Glob2re.pm
+share/vile/perl/Help.pm
 share/vile/perl/hgrep.pm
+share/vile/perl.keywords
 share/vile/perl/lock.pm
 share/vile/perl/man.pm
 share/vile/perl/mime.pl
@@ -143,7 +152,13 @@ share/vile/perl/plugins.pl
 share/vile/perl/search.pm
 share/vile/perl/shell.pm
 share/vile/perl/spell.pm
+share/vile/perl/Vile/Exporter.pm
+share/vile/perl/Vile/Manual.pm
+share/vile/perl/Vile.pm
+share/vile/perl/Vileserv.pm
+share/vile/perl/Visit.pm
 share/vile/perl/winops.pm
+share/vile/php.keywords
 share/vile/pictmode.rc
 share/vile/pot.keywords
 share/vile/ps.keywords
@@ -153,10 +168,11 @@ share/vile/rc.keywords
 share/vile/rcs.keywords
 share/vile/rexx.keywords
 share/vile/rpm.keywords
+share/vile/rtf.keywords
 share/vile/sccs.keywords
 share/vile/search.rc
-share/vile/sh.keywords
 share/vile/shifts.rc
+share/vile/sh.keywords
 share/vile/showeach.rc
 share/vile/sml.keywords
 share/vile/spell.rc
@@ -166,21 +182,23 @@ share/vile/tags.keywords
 share/vile/tbl.keywords
 share/vile/tc.keywords
 share/vile/tcl.keywords
-share/vile/tex.keywords
 share/vile/texi.keywords
+share/vile/tex.keywords
 share/vile/ti.keywords
 share/vile/vb.keywords
 share/vile/vile.hlp
-share/vile/vile.keywords
 share/vile/vileinit.rc
+share/vile/vile.keywords
 share/vile/vileperl.rc
 share/vile/vim.keywords
 share/vile/vlog.keywords
+share/vile/wbt.keywords
 share/vile/which.rc
 share/vile/xml.keywords
 share/vile/xres.keywords
 share/vile/xs.keywords
 share/vile/yacc.keywords
+@dirrm share/vile/doc
 @dirrm share/vile/perl/Vile
 @dirrm share/vile/perl
 @dirrm share/vile
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/editors/vile/distinfo,v
retrieving revision 1.7
diff -u -p -r1.7 distinfo
--- distinfo	27 Sep 2005 22:49:27 -0000	1.7
+++ distinfo	12 Sep 2007 09:50:54 -0000
@@ -1,7 +1,61 @@
-$NetBSD: distinfo,v 1.7 2005/09/27 22:49:27 agc Exp $
+$NetBSD$
 
-SHA1 (vile-9.5.tgz) = 3862bf082ccb4afca4d08bc6a26448556200b483
-RMD160 (vile-9.5.tgz) = 3e7f0dd9eb75782c2fb32a92debfb63ae741ae49
-Size (vile-9.5.tgz) = 1656429 bytes
-SHA1 (patch-aa) = 4b008d7420626a30c743839a750338dd688f7208
-SHA1 (patch-ab) = 6ec9232a2b42e95f5a2b5c724deb3323d0a63cf3
+SHA1 (vile/vile-9.5.tgz) = 3862bf082ccb4afca4d08bc6a26448556200b483
+RMD160 (vile/vile-9.5.tgz) = 3e7f0dd9eb75782c2fb32a92debfb63ae741ae49
+Size (vile/vile-9.5.tgz) = 1656429 bytes
+SHA1 (vile/vile-9.5a.patch.gz) = a0fbc470a054fa8066d111592c9366d85df1ae92
+RMD160 (vile/vile-9.5a.patch.gz) = d6e10a70fd8128ff60c304b0b9dc786dbafda3ae
+Size (vile/vile-9.5a.patch.gz) = 89872 bytes
+SHA1 (vile/vile-9.5b.patch.gz) = 5230aed00906644fa902c64202dc12dfb37a52b1
+RMD160 (vile/vile-9.5b.patch.gz) = c9b3c7814608f17f1cd82fb7596674f8127fb0c8
+Size (vile/vile-9.5b.patch.gz) = 12662 bytes
+SHA1 (vile/vile-9.5c.patch.gz) = 8c69ed6552fd760f6a259605ef103a34af35f1d5
+RMD160 (vile/vile-9.5c.patch.gz) = 16858d91b9b395a3ce0c72af310d910f091f7431
+Size (vile/vile-9.5c.patch.gz) = 40916 bytes
+SHA1 (vile/vile-9.5d.patch.gz) = a56b0034b314f280fc6fb77982dca4d66f43fd18
+RMD160 (vile/vile-9.5d.patch.gz) = ac798eba061ccd477ff2149982a9b07d8641ce82
+Size (vile/vile-9.5d.patch.gz) = 10843 bytes
+SHA1 (vile/vile-9.5e.patch.gz) = c7a8f35f5d60eafaae9fd6167bdbae446c415801
+RMD160 (vile/vile-9.5e.patch.gz) = c2df18bce6ee02ba7891a95d08bd07a96153b1c9
+Size (vile/vile-9.5e.patch.gz) = 20892 bytes
+SHA1 (vile/vile-9.5f.patch.gz) = a492c9d1af69c35ae54e88985399ccc85bc7ab20
+RMD160 (vile/vile-9.5f.patch.gz) = 8e583a464046ef2ace5112f599bab036e4d29bb5
+Size (vile/vile-9.5f.patch.gz) = 38678 bytes
+SHA1 (vile/vile-9.5g.patch.gz) = 155108c319c38a72b100d05e4a3081a074348724
+RMD160 (vile/vile-9.5g.patch.gz) = f38cf6a5763caee2212c8ff03730afd98e625a8a
+Size (vile/vile-9.5g.patch.gz) = 5986 bytes
+SHA1 (vile/vile-9.5h.patch.gz) = 4da6908efd8026edd0d2906fb4e3f2a56386ef67
+RMD160 (vile/vile-9.5h.patch.gz) = 468555c218132a6b36fe1106ad203db24a581c1d
+Size (vile/vile-9.5h.patch.gz) = 106810 bytes
+SHA1 (vile/vile-9.5i.patch.gz) = 630bee24995d67ac0132cb2dd8fc62888b9db356
+RMD160 (vile/vile-9.5i.patch.gz) = a672c8d95e5e2252882103b695c63a85989dd430
+Size (vile/vile-9.5i.patch.gz) = 6280 bytes
+SHA1 (vile/vile-9.5j.patch.gz) = 80142b5839cc6a730060b5209aceb330f5ab4645
+RMD160 (vile/vile-9.5j.patch.gz) = ac799e5c70ebed964a980eba1ff24bb0ef52b201
+Size (vile/vile-9.5j.patch.gz) = 51371 bytes
+SHA1 (vile/vile-9.5k.patch.gz) = fb63f363474dabc0839d60e3871257285cf840a4
+RMD160 (vile/vile-9.5k.patch.gz) = 10a25334f6343e690f95fbf973e1599648093db1
+Size (vile/vile-9.5k.patch.gz) = 54579 bytes
+SHA1 (vile/vile-9.5l.patch.gz) = 9cad74b03d4fbd57226c357db399482d7b17fefb
+RMD160 (vile/vile-9.5l.patch.gz) = 81960469fae9223fb3511f065a6e7b7c10f58bd6
+Size (vile/vile-9.5l.patch.gz) = 72311 bytes
+SHA1 (vile/vile-9.5m.patch.gz) = 06324852077d2ea6882d7922a0c6f95e0c03a4f2
+RMD160 (vile/vile-9.5m.patch.gz) = 29bc68d609098d8514594890e3d755835cf093a8
+Size (vile/vile-9.5m.patch.gz) = 68864 bytes
+SHA1 (vile/vile-9.5n.patch.gz) = 374a9993f9654b8de2d1d55f41f39031ddb78791
+RMD160 (vile/vile-9.5n.patch.gz) = 216270c6f1791387cbe713b34c4b75c3ef05cbc6
+Size (vile/vile-9.5n.patch.gz) = 72458 bytes
+SHA1 (vile/vile-9.5o.patch.gz) = f82189aa639993756667f301ade369d71ebaf55b
+RMD160 (vile/vile-9.5o.patch.gz) = eef08c4a6a99add003822d9fb539a3a2c817c246
+Size (vile/vile-9.5o.patch.gz) = 18113 bytes
+SHA1 (vile/vile-9.5p.patch.gz) = 713a45a39c75026b2bd5657eb1de30502decb55b
+RMD160 (vile/vile-9.5p.patch.gz) = d5cfbd0005080bcbed58173b9f76b2d7b07f49bd
+Size (vile/vile-9.5p.patch.gz) = 10993 bytes
+SHA1 (vile/vile-9.5q.patch.gz) = c1ec7753396d4b3cb4c5e06e9120246f93b1172e
+RMD160 (vile/vile-9.5q.patch.gz) = c38a2cbd91cda25065c346c7da3706b0a73186f3
+Size (vile/vile-9.5q.patch.gz) = 107182 bytes
+SHA1 (vile/vile-9.5r.patch.gz) = 0cd770452ef074cfcf6fa7e6320d7cb7ad6a7e9e
+RMD160 (vile/vile-9.5r.patch.gz) = 23b6fdb05c000b617ad52f0e440389e9d2e84421
+Size (vile/vile-9.5r.patch.gz) = 61798 bytes
+SHA1 (patch-aa) = 90ea8d0e9cdde45c1708562a54009e2064c4886d
+SHA1 (patch-ab) = 795c377290028995d0909148c3584dd821102b8a
Index: patches/patch-aa
===================================================================
RCS file: /cvsroot/pkgsrc/editors/vile/patches/patch-aa,v
retrieving revision 1.7
diff -u -p -r1.7 patch-aa
--- patches/patch-aa	8 Aug 2003 13:31:06 -0000	1.7
+++ patches/patch-aa	12 Sep 2007 09:50:54 -0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-aa,v 1.7 2003/08/08 13:31:06 agc Exp $
+$NetBSD$
 
---- makefile.in.orig	2003-05-25 20:34:47.000000000 +0100
-+++ makefile.in	2003-08-08 13:58:43.000000000 +0100
-@@ -52,8 +52,8 @@
+--- makefile.in.orig	2007-09-12 08:02:08.000000000 +0200
++++ makefile.in
+@@ -54,8 +54,8 @@ TARGET		= @TARGET@$x
  AWK		= @AWK@
  PERL		= @PERL@
  PERLLIB		= @perl_lib_path@
@@ -13,16 +13,16 @@ $NetBSD: patch-aa,v 1.7 2003/08/08 13:31
  
  prefix		= @prefix@
  exec_prefix	= @exec_prefix@
-@@ -61,7 +61,7 @@
+@@ -63,7 +63,7 @@ exec_prefix	= @exec_prefix@
  manext		= 1
  libdir		= @libdir@
  bindir		= @bindir@
 -datadir		= @datadir@/vile
 +datadir		= @datadir@
+ docdir		= $(datadir)/doc
  perldir		= $(datadir)/perl
  mandir		= @mandir@/man$(manext)
- 
-@@ -356,7 +356,6 @@
+@@ -371,7 +371,6 @@ INSTALL_MACRO_FILES = \
  
  INSTALL_PERL_DIRS = $(PERLDIR) $(PERLDIR)/Vile
  INSTALL_PERL_FILES = \
@@ -30,7 +30,7 @@ $NetBSD: patch-aa,v 1.7 2003/08/08 13:31
  	$(PERLDIR)/Breadcrumbs.pm \
  	$(PERLDIR)/CaptHook.pm \
  	$(PERLDIR)/Glob2re.pm \
-@@ -635,7 +634,7 @@
+@@ -661,7 +660,7 @@ $(BINDIR)/$(TARGET):		$(TARGET)
  	$(INSTALL_PROGRAM)	$(TARGET) $@
  
  $(BINDIR)/xshell.sh:		$(srcdir)/xshell.sh
@@ -39,7 +39,7 @@ $NetBSD: patch-aa,v 1.7 2003/08/08 13:31
  $(BINDIR)/vileget:		$(srcdir)/perl/vileget
  	$(INSTALL_SCRIPT)	$(srcdir)/perl/vileget $@
  
-@@ -731,6 +730,9 @@
+@@ -782,6 +781,9 @@ $(PERLDIR)/winops.pm:		$(srcdir)/perl/wi
  $(INSTALL_DIRS):
  	$(SHELL) ${srcdir}/mkdirs.sh $@
  
Index: patches/patch-ab
===================================================================
RCS file: /cvsroot/pkgsrc/editors/vile/patches/patch-ab,v
retrieving revision 1.2
diff -u -p -r1.2 patch-ab
--- patches/patch-ab	27 Nov 2002 10:45:04 -0000	1.2
+++ patches/patch-ab	12 Sep 2007 09:50:54 -0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-ab,v 1.2 2002/11/27 10:45:04 agc Exp $
+$NetBSD$
 
---- filters/makefile.in.orig	Sun Oct 10 21:06:52 1999
-+++ filters/makefile.in	Wed Sep  6 03:52:09 2000
-@@ -38,7 +38,7 @@
+--- filters/makefile.in.orig	2005-06-10 00:53:05.000000000 +0200
++++ filters/makefile.in
+@@ -43,7 +43,7 @@ exec_prefix	= @exec_prefix@
  
  libdir		= @libdir@
  bindir		= @filters_bindir@