Provided by Thomas Dickey in private email.
20181112 (t)
> Adam Denton:
+ fix a typo in tcap.h (Savannah #52872).
> Jeff Morriss:
+ use strncpy() rather than memcpy() for copying hashed key from
crypt(), to work with Fedora 28 which does not necessarily use a
fixed-size buffer.
> Wayne Cuddy:
+ modify x11.c to avoid clearing the window manager flags that control
focus behavior, to work with ctwm.
> Tom Dickey:
+ add WinVile64 package script for Inno Setup.
+ show "win64" for $os symbol if built for 64-bit Windows.
+ add ifdef in winvile.iss to accommodate changes with Inno Setup 5.6.1
+ use GetModuleFileNameEx() in preference to looking for winvile's
registry keys or the PATH when finding the executable path for
the "-Or" option.
+ improve coloring of "\f" font markers in the nroff filter.
+ fix a mis-setting in api.c from 9.8q cleanup.
+ document winvile registry settings in the help-file.
+ create symbolic links for the utility program's manual pages, point
to the base manpage.
+ document the utility programs and scripts which normally are packaged
in the manual page.
+ if $VILE_LIBDIR_PATH is set, prefer that in vile-libdir-path
+ corrected glob expression for vile-libdir-path
+ several fixes using Visual Studio 2017 code analysis, including
+ w32cmd.c, correct if-statement for IsDialogMessage call
+ w32misc.c, correct size of allocation for buffer
+ ensure no leak on failed realloc
+ modify casts to avoid truncation
Some parts of the analysis are false positives; it appears to have
problems in the flow analysis for reporting uninitialized values and
dereferencing null pointers. In particular, it does not understand
the idiom for reallocating an array of types.
+ build-fix for Visual Studio 2012 and later: the "FILE" struct is
opaque.
+ use registry value for PaddedBorderWidth in winvile to account for
misleading results from GetSystemMetrics introduced by Vista.
+ modify makefile.wnt to allow build with Visual Studio 2012 and later,
which omit the Win32.mak file.
+ fix a couple of unescaped "?" in suffixes for majormodes, e.g., in
mvmnmode.
+ add vcproj and vcxproj majormodes.
+ add a "report" target in makefile.wnt to show the symbols used in
a build to help troubleshoot upgrades to newer Visual Studio. For
instance, it is possible to build using Visual Studio Express 2012
with Windows SDK 7.1 by setting APPVER to "5.01".
+ reorder a comparison in regmatch() to avoid indexing past limits in
some cases of multibyte characters.
+ add a check in set_vattrs() to ensure loop limit is greater than zero
to handle a boundary case with double-width characters.
+ fix or work around gcc8 warnings.
+ improve initialization of hashed-key for crypt() using memset() on
the buffers rather than assuming the hash is the documented length.
Even with this, valgrind warns about buffer mismanagement within
libcrypt.so.
+ check for _nc_free_tinfo() for leak-checking with ncurses' tinfo
library.
+ modify perl/ruby filters to ensure the in-memory file ends with nul.
+ add filters for yaml, rust-modes to develop for a tutorial.
+ improve iss-filt.l, handling named constants such as {app}.
+ update iss.key, e.g., setup-directives and runtime functions.
+ compiler-warning fixes for gcc 7.2.1 with SuSE.
+ regenerate doc/*.doc from Debian 7 to Debian 8; the table-width
changed from links 2.7 to 2.8
+ add dummy "]]" in sh-filt.l to work around breakage with flex 2.6.1,
which insists on preprocessing C source using m4.
+ modify character class assumed for tags, to check for graphic
characters. Previously that used qident (cf: 9.7g), which did not
allow for dots in filenames which could be present in a ctags file if
it were generated using "ctags --extra=+f *" (Savannah #51774).
+ update ftp site url
+ improved configure macros:
CF_ADD_CFLAGS, CF_ADD_INCDIR, CF_BUILD_CC, CF_CC_ENV_FLAGS,
CF_CURSES_CPPFLAGS, CF_CURSES_FUNCS, CF_CURSES_LIBS, CF_FIND_LINKAGE,
CF_GCC_WARNINGS, CF_GNU_SOURCE, CF_LARGEFILE, CF_MAKEFLAGS,
CF_MKSTEMP, CF_NCURSES_CONFIG, CF_NCURSES_VERSION, CF_POSIX_C_SOURCE,
CF_PROG_EXT, CF_PROG_GROFF, CF_SIZECHANGE, CF_STRUCT_TERMIOS,
CF_TRY_XOPEN_SOURCE, CF_WITH_ICON_THEME, CF_WITH_MAN2HTML,
CF_XOPEN_CURSES, CF_XOPEN_SOURCE, CF_X_ATHENA_CPPFLAGS
+ modify ti-filt.l to allow hexadecimal, as per X/Open Curses
documentation. This is different from termcap, which (like terminfo)
supports octal and decimal numbers.
+ build-fixes for Visual Studio 2015
+ build-fixes to allow test-compile with ActiveState Perl 5.24.1, which
does not work with winvile because its DLL does not provide
COM entrypoints, e.g., CoTaskMemFree and CoRegisterClassObject
+ update config.guess, config.sub
20161217 (s)
> Brendan O'Dea:
+ add command-line parsing for "--" token, assumed by visudo in the
1.8.12 - 1.8.16 changes (report by Wayne Cuddy).
> Tom Dickey:
+ recompute majormode order when "after", "before" or "qualifiers" is
modified for a majormode.
+ add yamlmode (discussion with Steve Lembark)
+ modify DSTRING definition in lex-filter to handle continuation lines.
+ modify cfgmode to reduce false-matches with random ".cfg" files.
+ improve ps syntax filter
+ interpret %%BeginData / %%EndData keywords
+ interpret %%BeginPreview / %%EndPreview keywords
+ add ".mcrl2" as suffix for mcrlmode.
+ fixes from test-script: conf, hs, nr, rc, rcs, txt, xq, xml
+ improved regression test-script to check for places where the syntax
filter might have mixed buffered- and unbuffered-calls in the same
state, causing tokens in the markup to "move".
+ remove a statement from flt_putc in the standalone filters that
converted a bare ^A to ^A?.
+ remove escaping from digraphs.rc, since change in 9.7zg made that
both unnecessary and incorrect (reports by Marc Simpson, Brendan
O'Dea).
+ improve tcl syntax filter
+ color backslash-escapes in double-quotes.
+ add rules to handle regexp and regsub regular expressions. This
does not yet handle -regexp switch cases.
+ add call to flt_bfr_error to flag unbalanced quotes here and in
a few other filters.
+ modify newline patterns to allow for cr/lf endings in continuations
+ add special case for literals like "{\1}" and "{\\1}".
+ add special case for html entities such as "{{}" and "{&foo;}"
+ improve sh syntax filter
+ allow quoted strings within '${' parameter, a detail that can
happen with ksh brace groups (report by j. van den hoff).
+ handle ksh's "ANSI C quotes", i.e., "$'xxx'" using single quotes
after a dollar sign.
+ use the ksh ("-K") option for bashmode and zshmode syntax.
+ interpret "$name" within '${' parameter
+ don't warn for inline-here documents
+ handle special case where matching tag for a here-document is on
the same line as a closing ")" in $(xxx) command.
+ highlight ksh's "[[", "((", "$((" bracketing like "{".
+ handle ksh's "((" and "$((" arithmetic expressions.
+ handle ksh's base#value numbers
+ improve perl syntax highlighter:
+ fix state used to guess where a pattern might occur, e.g., after
an "if" keyword with no preceding operator to account for line
breaks.
+ correct a check for illegal numbers, which flagged hexadecimal
numbers containing "e".
+ distinguish special case of "format =" vs "format =>".
+ allow pod to begin without a preceding blank line, but warn.
+ allow for case where pod mode is turned on/off with only one blank
line between the directives.
+ check for simple patterns that may follow operators such as "map".
+ allow '$', '+' or '&' as a quote or substitution delimiter
+ allow angle brackets for quotes after 'q', etc.
+ fix highlighting when square-brackets are used as delimiters in a
perl substitution, e.g., s[foo[bar]xxx][yyy]
+ quiet some unnecessary compiler warnings with glibc > 2.20 by adding
_DEFAULT_SOURCE as needed.
+ improve version-comparison for "new" flex to allow for 2.6.0, and
accept that for built-in filters. Also modify filters/mk-2nd.awk
to work with "new" flex ifdef's to ignore yywrap (Debian #832973).
+ correct long-name for filename-ic mode (report Marc Simpson).
20160727 (r)
> Marc Simpson:
+ correct a typo in skipblanksb() which caused up-paragraph "{{" to
get stuck (Savannah #47211).
> Tom Dickey:
+ fix an off-by-one in argument list for wvwrap vs winvile that broke
edit-with operation from file explorer.
+ correct expression for QIDENT in rpm-filt.l, sh-filt.l, which could
match multiple tokens rather than a single one and interfere with
states for here-document.
+ use CF_PROG_LINT, which checks for cppcheck. Alternatively, this
works, though the "$(LIBS)" used in the lint-rule has to be removed:
export LINT=cppcheck
export LINT_OPTS="--enable=all"
+ add error-patterns for cppcheck.
+ updates for configure macros
+ CF_CC_ENV_FLAGS - don't limit the check to -I, -U and -D options,
since the added options can include various compiler options before
and after preprocessor options.
+ CF_FUNC_DLSYM add braces around calls to CF_ADD_LIB which follow a
test "&&" operator since the macro uses multiple statements
+ CF_LD_RPATH_OPT change FreeBSD to use -Wl,-rpath rather than -rpath
option. According to FreeBSD #178732, either works since FreeBSD
4.x; however scons does not accept anything except the -Wl,-rpath
form.
+ CF_LIB_PREFIX build-fixes for OS/2
+ CF_WITH_MAN2HTML use configured shell
+ CF_XOPEN_CURSES improve check, making it define NCURSES_WIDECHAR if
we happen to be building on a platform (such as OSX) where we do not
define _XOPEN_SOURCE or _XOPEN_SOURCE_EXTENDED
+ CF_XOPEN_SOURCE build-fixes for OS/2
+ modify configuration so that "--no-leaks" does not imply
"--with-trace", since that is not necessary when using valgrind.
+ add null-pointer checks in vile-manfilt for some unusual erasures.
+ promote $filename-ic to a global mode, using this to allow users to
do filename-completion on any system ignoring the case of filenames
(discussion on vile mailing list started by Marc Simpson).
+ modify noautobuffer mode to update the "last" buffer when the user
jumps around, e.g., using ":e" or the "historical-buffer" toggle
(discussion on vile mailing list started by Hymie).
+ add examples for which-exec and which-source to vile.hlp to show
what the popup-buffer might look like when a numeric parameter
precedes these commands.
+ modify parsing of VILE_STARTUP_PATH to accept colon-separated list
(report by Chris Green).
+ improve formatting of vile.hlp (report by Paul Fox).
+ add mode "keep-position" to allow changing the behavior after
applying a command to a range, to better match the nvi (BSD) and
vi (Solaris) flavors (prompted by report by Marc Simpson).
+ reset "$_" before executing each top-level command (report by Marc
Simpson).
+ improve workarounds for building with "new" flex, in particular the
change of return-type for yyget_leng() (report by Martin Ward).
+ make special case when locating the copy of vile which was run, to
not warn and skip because it was found in a group-writable
directory (discussion with Steve Lembark).
+ update config.guess, config.sub
20150907 (q)
> Brendan O'Dea:
+ corrected initialization for Vileserv in vileperl.rc (report by
Chris Green).
> Tom Dickey:
+ add command-line options -u and -U to set $system-crlf variable
before the "unnamed" buffer is initialized.
+ add $system-crlf to allow override of compiled-in default for "dos"
mode so that winvile can be told to create the "unnamed" buffer with
linefeed endings (Savannah #44773).
+ add variable $system-name to show the name used in version message
+ add checks after write-hook is run in case the script set $return to
anything except true or sortoftrue, or if the script set the buffer
to "view". In either case, do not proceed to write the buffer
(report by Matthew White).
+ modify prompts for register name to support name-completion, and
recognize "register" as a typed macro-parameter (prompted by
discussion with Wayne Cuddy).
+ modify configure macros to use the configured shell rather than just
/bin/sh, to accommodate deprecation of non-POSIX shells such as that
used in Solaris.
+ add configure option --with-man2html, use in generating vile-man.html
+ modify wvwrap to ensure that it does not pass options to winvile
as filenames (Savannah #44774).
+ update autoconf macros from ongoing work in lynx, ncurses and xterm
for testing ncurses6.
+ fix special case of ^G toggling in minibuffer versus '\' escaping
(report by Wayne Cuddy).
+ cleanup logic which sets DOT.o to the beginning of a line, to
ensure that the left-margin is used rather than just the first
position on a line.
+ changes in 9.8p for global substitutions with "^" exposed at least
one place, e.g., in oneliner.c where DOT was moved to the next line
without ensuring that its offset was reset. Review and amend several
other occurrences where DOT moves to next or previous line (report by
Jan Wells).
20150201 (p)
> from https://github.com/ricksladkey/vile (Rick Sladkey):
+ check in ntconio.c if running in ConEmu, e.g., ConEmuPID variable
is set, and if so, allow its bold/italic extensions.
+ modify ntconio.c to honor Unicode keyboard input.
+ amend GetCurrentDirectory() buffer size for Unicode.
> Tom Dickey:
+ add configure check for stricmp, omitted from recent Cygwin.
+ partial fix for recalling from history this command:
'a,.s/$/;/
With the fix, one can edit the previous command, and issue minor
variations.
+ improve suffix rules for mvn mode by allowing a version number in
the filename.
+ improve ant, mvn modes to highlight user-defined tags, e.g., within
"${" and "}".
+ update mvnmode keywords to maven 3.2.5
+ modify vile-xml-filt to color property names according to the new
"xmlprops" table.
+ update antmode keywords to ant 1.9.4, including a representative set
of property names. The updated table also attempts to distinguish
between tasks and subtasks.
+ add the more useful types/macros from c99 headers to c.key
+ repaint all windows on an "unnamed" buffer if told to reread and
discard changes (report by Hymie on mailing list).
+ modify logic used in global substitutions to ensure that "^" for
beginning of the line is matched only once (report by Wayne Cuddy).
+ fix a few build problems with --disable-extensions
+ modify configure macro CF_WITH_APP_DEFAULTS to check OSX-related
pathnames for MacPorts and Apple's variant.
+ improve configure macro CF_SUBDIR_PATH, changing it to a loop, adding
/usr/pkg (NetBSD) and /opt/local (Mac OSX)
+ update yacc.key for current byacc keywords.
+ modify yaccfilt.l to handle escaped newlines in quoted strings.
+ build-fix for xvile without multibyte support.
+ add error patterns for bison and byacc.
+ correct workaround in manfilt.c for bullet characters from 9.8g;
they were lost when using UTF-8 encoding.
+ improve tcl-filt.l handling of single character between curly braces,
showing that as string-attribute.
+ modify tcl-filt.l to handle square brackets quoted by curly braces
(report by Wayne Cuddy).
20141002 (o)
> Tom Dickey:
+ fix some leaks, etc., reported by valgrind and Coverity.
+ correct filtername setting for issmode, which used ini-filter.
+ add ":" and "#" to ini-filter as aliases for "=" and ";"
+ add desktop-mode, using ini-filter.
+ revise ldel_chars() function to restore feature of backspacelimit
to delete newlines while backspacing. This was lost in 9.5s changes
(Savannah #43291).
+ add case to CF_XOPEN_SOURCE for Unixware, from lynx.
+ modify configure script to define _NETBSD_SOURCE for Minix, because
its header files put the POSIX.1-2001 prototypes, such as isblank,
there.
+ add vile-to-html, vile-libdir-path to uninstall rule
+ modify configure script to supply default "-o" option for the install
program, since MINIX's does not provide a useful default.
+ other tweaks to work around deficiencies in Ash's parser, e.g., not
counting tokens until after dequoting.
+ modify configure script to avoid using "expr", fixing problem using
this with MINIX3.2, which uses Ash - a shell which omits the "<",
"<=", etc., comparison operators which POSIX specifies for "expr".
+ CF_ADD_LIBS workaround in CF_X_TOOLKIT uses pkgconfig, whose files
generally are using incomplete dependencies - in turn introducing
lots of duplication. filter out the duplicates.
+ CF_CURSES_FUNCS improve workaround for weak-linkage, seems to fix
tests with NetBSD 6.1
+ CF_X_ATHENA add --with-Xaw3dxft option
+ CF_X_TOOLKIT add workaround for breakage in XQuartz upgrades
+ update config.sub
20140706 (n)
> Brendan O'Dea:
+ use INT2PTR and PTR2IV macros rather than an explicit cast in perl.xs
and ptypemap.
> Tom Dickey:
+ improve description of search-list for syntax filter keywords in
vile.hlp; add links/anchors to improve navigation in vile-hlp.html,
config.html and macros.html
+ modify error-pattern to work with the GNU make 4.0 change to
quotes
+ modify makemode mode-filename pattern to match BSDMakefile and
GNUMakefile
+ add vile-to-html, vile-libdir-path
+ modify manfilt.c to recognize aixterm-style SGR 90-97 as colors 8-15.
+ correct off-by-one count in decoding "meta" markup from 9.8l changes
which did not work with external filters.
+ add note in config.doc recommending ncursesw for screen option over
curses/ncurses, for UTF-8 support.
+ modify DisableHook/EnableHook to let their return-value be usable as
the latch condition.
+ if configure check for gcc -rdynamic option fails, fallback to the
built-in filter configuration.
+ suppress -rdynamic option-check for clang, because its error
reporting is unreliable.
+ correct logic in nextbuffer() when autobuffer mode is unset. Similar
fix for prevbuffer() (report by Hymie on mailing list).
+ modify test for stuttering in vile_op(), to check if a count precedes
the final letter in a command. With this change,
^All
stutters as before, making the command in terms of lines. However
^Al5l
will act on the next 5 characters. Note that
^Al1l
will act on a single character (Savannah #42147).
+ fix a double-free in bclear(), when the buffer is marked noundoable
(report by Paul Fox).
+ update config.guess, config.sub
20140330 (m)
> Kevin Buettner:
+ add missing "break" in DATA() macro in x11.c from 9.8j changes.
> Tom Dickey:
+ fix configure check if curses.h is needed, by suppressing external
reference to vl_strncpy.
+ build-fix for --disable-extensions by providing dummy set_tagsmode()
+ modify [ShowFormatted] to also handle logmode the same as
typescript files
+ modify makefile.wnt to show version-details in wvwrap.exe
+ minor fix to make-hlp.pl, to complete underlining of project
hierarchy section of vile.hlp
+ clarify in vile.hlp how to suppress "press any key to continue"
message in winvile when running external shell-commands.
+ build-fix when configuring --with-external-filters when only flex
2.5.35 / 2.5.37 is available (report by Kevin Buettner).
+ fix crash in winvile in "select-all" command (Savannah #41943).
+ update gnreight.h from Debian/testing libc6 2.17-97
+ update xvile.desktop with improvements from Fedora package.
20140131 (l)
> Derek Woolverton:
+ add new keywords for C++11
> Rick Sladkey:
+ change initialization in ntconio.c to improve use with ConEmu, e.g.,
when the window is resized.
> Tom Dickey:
+ add version details to win32 executables.
+ improve rpm spec-file filter:
+ add checks for "%" markers in unexpected places, e.g., in comments.
+ change %package to not begin quoted text; it should be a one-liner
+ modify ^X-n to filter typescript files like vile-pager.
+ fill in pod descriptions for undocumented perl modules.
+ additional change for Savannah #37988 to update screen when removing
a newline which was inserted initially by the "o" command.
+ modify mode-pathname for makemode to work with arbitrary level of
directory; it assumed something like "/usr/lib/pkgconfig".
+ minor fix to tcap.c to restore colors after completing a loop which
turns off attributes. The directory.pm script caused the driver to
reset reverse-video and bold, but the driver was restoring colors
only after the first reset.
+ minor fixes for perl modules:
+ correct off-by-one position of highlighting for spell.pm
+ modify spell.pm to remember the last replacement made for a given
word and offer that as the first choice on followup changes.
+ modify dirlist.pm to reposition the window on completion so that
the last lines written to the buffer will always be visible.
+ modify hgrep.pm to set $search so that for instance, visual-matches
works.
+ modify perl modules to use strict feature.
+ add ".pp" to pasmode / Pascal and ".shtml" to htmlmode (suggested by
Radek Liboska).
+ add requires/provides for Perl modules in vile.spec (suggested by
Radek Liboska).
+ correct a sign-extension bug in column_sizes(), which caused
incorrect cursor-movement for some 8-bit encodings (report by Radek
Liboska).
+ add still more keywords for C++11
+ fix for 9.8j change to manfilt.c; reset the overstrike link to null
in erase_cell(), to avoid freeing memory twice.
+ modify internal links of html documentation to fix linklint warnings
+ fix most issues reported by rpmlint for package/vile.spec:
+ add configure option "--disable-stripping"
+ strip executables during install by adding "-s" normally
+ make the wmconfig files non-executable
+ update FSF address in several files
+ modify -F option to ensure that output uses \n consistently for the
line-separator verus \r\n.
+ minor fix to sh-filt.l's stripping of leading blanks in a here-
document.
+ updated ftp-mirror to http://invisible-mirror.net/archives/vile
+ add a new attribute markup, "M" for "meta" which is ignored by vile.
Modified filters to emit their command-line using this markup so
that applications can determine which filter was invoked when the -F
option is used to provided marked-up files.
+ build-fixes to allow "new" flex 2.5.35 to be used to build the
various filter configurations, noting that the recommended
tool is still "reflex" (report by Joran Ahlback).
+ add convile.nsi and minvile.nsi scripts to use for creating
installers from convile and minvile via cross-compiling. NSIS is far
less capable than Inno Setup, so the latter still gives the
recommended packages.
+ move ignoresuffix setting from cmode to global settings, i.e., to
use for other filetypes.
+ modify tags logic to set "tagsmode" if it is defined, and assuming
that, to test the local check-modtime value, i.e., that managed via
the majormode to allow tags files to be selectively reloaded when
their content changes (discussion with Wayne Cuddy).
+ modify sh-filt.l to recognize ksh93/bash here-strings, noting that
they are not standardized.
+ review/improve tcl syntax highlighter (report by Wayne Cuddy):
+ do not treat single-quote specially
+ allow newlines in double-quotes
+ recognize square brackets in double-quotes to denote nested
commands.
+ fix ambiguity between "-option" and "-number".
+ show sprintf-codes with string color.
+ highlight "#" prefixing hexadecimal digits as a number.
+ do not color args for unknown verbs.
+ update keywords to tcl/tk 8.6.0
+ add ".nsh" suffix to nsis mode.
+ fix for "-F" option when filtered file has no syntax highlighting;
the MK variable was not set, causing getregion() to fail.
+ update config.guess, config.sub
20130707 (k)
> Brendan O'Dea:
+ correct a couple of places in api.c which used characters rather
than bytes, which made
:%perldo s/^/X/
do the wrong thing for UTF-8 encoding.
+ change perl.xs to use bullets in a few cases to work with newer
Perl's POD parser. Also add a "back" tag (Debian #708027).
+ improve configure script for perl by locating xsubpp by the same
process as the module is loaded, e.g., using @INC (prompted by
discussion of Gentoo #380741).
> Tom Dickey:
+ add "®ex-escape" function to allow a literal string to be assigned
to "$search" without confusion (discussion with Wayne Cuddy).
+ add ".tmac" suffix to nrmode
+ modify ins_anytime() to request a screen update on completion so that
temporary changes to the screen such as empty lines for the "o"
command will be undone if needed (Savannah #37988).
+ add powershell mode
+ convert non-generated html documentation to HTML4-strict; change
font-coloring to use css.
+ amend change for Savannah #37806 to exclude buffers where the file
encoding is 8bit, fixing a mispositioning of the cursor, e.g., for
ISO-8859-2 encoding (report by Radek Liboska).
+ add json mode
20130414 (j)
> Brendan O'Dea:
+ correct warnings from pod2text
> Tom Dickey:
+ add configure options --enable-freetype and --enable-fontsets, to
support proposed refactoring of x11.c
+ modify manfilt.c to interpret ANSI erase-line, insert/delete
character and inline cursor-movement controls.
+ modify manfilt.c to improve parsing of SGR sequences, allowing for
expansion to simple cursor movement as would be used in line-editing
for bash and tcsh (prompted by discussion with Joel Winteregg).
+ improve/fix ruby syntax highlighter:
+ add missing logic needed to make binary numbers parse
+ track curly-brace level in var_embedded().
+ improve parsing/highlighting of %r{pattern}
+ handle special token :`
+ stop highlighting after __END__
+ interpret extended mode for regular expressions, showing comments
in different color.
+ corrected logic for here-document delimiter when it happens to be a
quoted string.
+ recognize ruby 1.8's ?a syntax for ASCII character.
+ accept floating point constant without decimal point.
+ handle CR/LF endings for lines with here-document tags.
+ improve parsing of embedded expressions in strings, e.g., "#{1+2}".
+ improve parsing of extended-quoting, e.g., %|foo|
+ add ruby.key as alias for rb.key, to simplify use of the filter
as a standalone program.
+ add mode for special case of embedded-ruby used in Rails, call that
"erb" mode, activated by the "-e" option of the filter.
+ apply consistent stylesheet and website links to html documentation.
+ add commands to show bound commands ordered by the key to which they
are bound:
describe-all-keys,
describe-all-cmdmode-keys,
describe-all-insmode-keys,
describe-all-selmode-keys
(prompted by discussion with Chris Green).
+ modify htmlfilt.l to highlight embedded php, improve its parsing
of embedded css.
+ modify definition of istype() to ensure that it returns true only if
the character parameter is actually in the range 0..255 (Savannah
#38342).
+ amend change made to alt-tabpos in 9.7u for multibyte characters to
make tab and other control characters work as they did before
(Savannah #37806).
+ fixes for issues reported by Coverity:
+ modify ctype-tables to allow for -1 as a character value, since
that may be used in CharAtDot().
+ use setjmp/longjmp for recovering from fatal errors in lexers.
+ undo change to wrap-word from 5.6t, allowing a parameter which is
interpreted as a number of spaces to append after the cursor when
the line is split.
+ various minor resource leaks.
+ start refactoring x11.c, making the current text-drawer x11plain.c
+ merge/adapt Brendan's current scripts to add perl documentation
to the vile-common Debian package for test-builds. This also makes
the ".xpm" file consistent with the desktop icons.
+ add "divert" to m4 preamble to work with sendmail's ".mc" files.
+ use shape-mask and correct visual depth for window-decoration icon
in xvile.
+ the "-i" option is available in most filters now. Ignore it when
checking for unknown options in the wrapper for external filters
(report by Wayne Cuddy).
+ updates for configure script macros:
+ add 3rd parameter to AC_DEFINE's to allow autoheader to run
+ remove unused macros
+ update config.guess, config.sub
20120923 (i)
> Tom Dickey:
+ fix build for minvile, whose icon path was broken in 9.8h
+ amend fix for Savannah #36801 to make a special case for the calls
via "execute-named-command" which limits the quoting to search
commands and shell-commands by testing the first character of the
command-line (report by Wayne Cuddy).
+ update configure script to support --datarootdir option.
+ improve dependencies for rpm package by adding extra patterns for
vile's mime.pl and plugins.pl scripts.
+ improve ToggleMode macro, making it set the local value as ToggleList
does (report by Wayne Cuddy).
20120807 (h)
> Tom Dickey:
+ document icon options in config.doc
NOTE: the meaning of the --with-icondir option changes with this
version; --with-pixmapdir replaces that usage, while --with-icondir
is used to support icon themes.
+ update vile.mini.xpm to add 32x32 and 48x48 sizes.
+ add configure --with-icon-name option.
+ add iconName resource, which can override the compiled-in pixmap.
+ revise xvile configure options with improved versions from xterm.
+ add .png and .svg icons, for use in icon-themes.
+ add fences to rpmmode.
+ restore highlighting of xpmmode, lost in 9.8g changes.
+ modify vile.spec to conditionally incorporate the perl features.
NOTE: this omits dict.pm due to limitations of the rpm program.
+ improve pattern used for regular expressions in awk-filt.l
+ improve check in c-filt.c for quoted strings to ensure that a
backslash is given for continuation-lines.
+ modify ecrypt.c to reset seed/salt before each file, so that a set
of files can be decrypted with a wildcard.
+ improved lex-filt.l:
+ do not treat a line consisting only of whitespace as indented-code.
+ amend CODE1 state to handle indented comments between patterns.
+ modify initialization of [vileinit] to quote parameters passed from
the command-line, e.g., for the "-s" option so that embedded blanks
are retained (report by Greg McFarlane, Savannah #36801).
+ modify hist_show() to return correct index for "#" buffer when
autobuffer mode is turned off (Savannah #36739).
+ correct logic in special_formatter() for L_CURL case so that
expressions such as
setv $modeline-format "%{&cat 'ignorecase is ' $ignorecase}"
work (patch by Adam Denton, Savannah #35288).
+ corrected highlighting of continuation-lines for double-quoted
strings in awk, tcl filters (prompted by report by Wayne Cuddy).
+ reduce sh.key to POSIX shell keywords and utilities.
+ add zshmode and bashmode, for consistency.
+ add kshmode, to address slight syntax differences between Korn
(ksh93) and Bourne shell scripts.
+ add new command "derive-majormode", which is used to make a new
mode initially copying another mode's settings.
+ improved sh-filt.l:
+ "<<<" short-form here-document.
+ add "-K" option to support Korn shell's "vnames", which allows one
to define a variable containing "." if there already exists a
variable consisting of the part before the ".".
+ exclude backtic from a pattern in here-documents, which prevented
embedded backtic's from being recognized.
+ extend the list of operators for brace substitution.
+ use autoconf 2.52.20120310, to work around Intel 12.x compiler.
+ add configure check for clang, to improve compiler warnings.
+ build-fix for HP-UX 10.20 lex, which prototyped main() without params
20120309 (g)
> Tom Dickey:
+ relax conditions for displaying saved message just before starting
full screen mode, to allow the default help-summary to show (report
by Paul Fox).
+ modify logic for [vileinit] and [vileopts] buffers which are used
during startup, to first close their window if possible, eliminating
a message that interfered with other startup messages (report by
Paul Fox).
+ improve insert-exec mode by filtering out characters which have
special meaning in insert-mode.
+ add ToggleMode macro (prompted by question by Wayne).
+ add complete.rc GetCompletion macro as an example of how to do
insert-completion.
+ add "show-user-variables" command.
+ implement "describe-$variables" command.
+ add alias "describe-user-functions" for "describe-&functions"
+ add alias "describe-state-variables" for "describe-$variables"
+ add variables $get-at-dot, $get-it-all, $get-length and $get-offset
to simplify scripting of &get-completion and similar features.
+ modify vilefilt.l to highlight functions using "-" character.
+ add aliases &get-key, &get-motion, &get-sequence as more readable
names for >key, >motion and >sequence.
+ add &get-completion function to support macros that can handle
name-completion in insert mode (prompted by mailing list discussion).
+ reset video-attributes for linebreak when computing the left/right
scrolling offset, fixing a case from 9.8f which left stray highlights
+ updated nsis.key
+ modify conffilt.l to match leading keywords that may begin with a
leading punctuation mark, other than the existing comment markers or
brackets.
+ modify nsis mode to ignore case of keywords.
+ add -i option to most syntax filters to control whether keyword
matching is done ignoring case. The exceptions are html, imake and
make, which use special logic for deciding which to use.
NOTE: this is an incompatible change which can affect user-defined
majormodes that use the affected filters. However, presetting the
-i option on about a third of the syntax filters would be more
confusing than making this explicit in filters.rc
+ modify configure script to support cross-compiling, tested with
cross-compiler to mingw using convile and minvile targets.
+ add null-pointer checks for "nohl" fix in 9.8f, needed for the case
when no majormode is in effect.
+ modify vile-manfilt to accept 0xb7 bullet character used in some
manpages.
+ updates for configure macros CF_NCURSES_CONFIG, CF_XOPEN_SOURCE
20111127 (f)
> Tom Dickey:
+ trim unneeded loader flags added in Mandriva 2010.2's rpmbuild, since
those prevent the loadable filters from linking.
+ modify symlinking of manpages in vile.spec to avoid using absolute
links, since those may be removed in rpmbuild.
+ change makefile.wnt to add WIDE knob to define UNICODE, and also for
the OLE configuration to use comsuppw.lib rather than comsupp.lib
+ drop -G4 option from makefile.wnt, which was an optmization to favor
486 processors phased out in Visual C++ 5.0, and with 9.0 produces
a warning.
+ change return type of TERM.setpal from void to int, since the return
value is used with the win32 platform.
+ modify special case for "dos" setting in a submode introduced in
8.3q, recognizing "nodos" also. This allows overriding a submode
that is previously defined, e.g., in modes.rc, by a user's .vilerc
(report by Wayne).
+ correct "nohl" when used in a submode. As a side-effect, vile frees
video attributes for the buffers, but in this special case it did not
limit the freeing to buffers using the majormode whose highlight
submode was turned off (report by Wayne).
+ add force-empty-lines operator.
+ add delete-empty-lines operator (request by Wayne).
+ change tabstop within [Printable Chars] to keep the result within
80 columns.
+ improved rpm syntax highlighter:
+ modify number pattern to add dots and dashes for version numbers.
+ match keywords in more places by checking for the name in %name and
%{name} patterns when the first match fails.
+ add keywords %exclude, %makeinstall and %run_ldconfig
+ add vile-pager to dpkg package script for vile.
+ add ".pod" files to perlmode.
+ change default in basic.key to Keyword for consistency.
+ modify xresfilt.l to check for continuation-lines of comments.
+ add "YI" capability to tc.key, per ncurses fix.
+ add extra-colors settings for linenumber and linebreak, as well
as the normal "<" and ">" markers.
+ modify makemode to use tabinsert, allowing notabinsert to be a
default in other mode (patch by Anthony Shipman).
+ add erlang syntax highlighter and majormode (patch by Anthony
Shipman).
+ add linebreak mode, like vim (request by Paul Van Tilburg).
This does NOT yet work with color highlighting, but does work with
wide-characters.
+ fill in a missing chunk of logic for wrapping double-width characters
(report by Sukegawa Shigeyuki).
+ modify debian/rules to work around a quoting problem in Brendan
O'Dea's build environment.
+ fix a typo in help-file description of modeline (report by Wayne).
+ adapt/use multi-package feature of Fedora rpm script.
+ modify dpkg and rpm scripts to install lxvile.
+ add build-dependency for dpkg test-script against libperl-dev
+ several configure macro updates, from lynx/ncurses/tctest/xterm:
+ CF_ANSI_CC_CHECK - do a sanity check on $CC; occasional users add
options directly to it rather than follow the standards by setting
$CFLAGS and/or $CPPFLAGS.
+ CF_CURSES_CPPFLAGS - make checks for special libraries on hpux10
and sunos4 optional
+ CF_CURSES_FUNCS - workaround for bug in gcc 4.2.1 (FreeBSD 8.1)
which caused part of test program to be omitted, i.e., when it saw
two return-statements in a row it omitted the _first_ one. Also
add expression to pointer check to help FreeBSD's linker decide it
should be validated. Just an assignment was not enough.
+ CF_CURSES_LIBS - add check for NetBSD's otermcap
+ CF_CURSES_HEADER - change order for curses.h / ncurses.h pairs to
put ncurses.h first, which will tend to provide the same #define's
as in CF_NCURSES_HEADER (report by Dennis Preiser).
+ CF_CURSES_LIBS - make checks for special libraries on hpux10 and
sunos4 optional
+ CF_CURSES_TERM_H - modify to avoid spurious check for
<curses.hterm.h> if there is no ncurses version. Look for
ncurses's term.h anyway, to work around breakage by packagers who
separate ncurses' header files.
+ CF_DISABLE_RPATH_HACK - fix garbled message
+ CF_LD_RPATH_OPT - add cases for DragonFlyBSD and MirBSD
+ CF_MAKEFLAGS - filter out GNU make's entering/leaving messages.
This only appeared when using the macro in a dpkg script, though it
should have in other cases.
+ CF_PKG_CONFIG - modify to allow autoconf-2.13 or autoconf-2.52
configurations.
+ CF_RPATH_HACK - add a check for libraries not found, e.g., from
suppressed functionality of gcc in linking from /usr/local/lib, and
add a -L option to help work around this.
+ CF_STRUCT_TERMIOS - relax ncurses-oriented change to make this work
as fixup after CF_XOPEN_SOURCE
+ CF_TERMCAP_LIBS - modify the workaround for old AIX system (e.g.,
from 1997 or before) to not set $cf_cv_termlib if it succeeds in
finding initscr in libcurses. Doing that confused a check in tin's
configure.in which looks at that variable to decide if
termcap/terminfo library was found. The check for tgoto in
libtermcap on the next line is the actual check which is needed,
and should fail if there is no termcap library installed.
+ CF_XOPEN_CURSES - fix typo in the workaround for
_XOPEN_SOURCE_EXTENDED
+ CF_XOPEN_SOURCE - extend aix case to aix 7.x, modify checks to
prefer _XOPEN_SOURCE vs _XOPEN_SOURCE_EXTENDED.
+ CF_X_ATHENA_LIBS - DragonFlyBSD's pkgsrc combines Xaw6 and Xaw7
into a single package, and doesn't provide a plain "libXaw.so"
symlink. Work around by testing for the 6/7 versions.
+ restore delphi keyword file.
+ amend change from 9.7w to install rule for vileget, making it use
the normal INSTALL_SCRIPT symbol. Some platforms' "strip" utility
do not error if the file happens to be a shell script.
+ amend build-fix for cygwin to fix winvile OLE.
20110411 (e)
> Tom Dickey:
+ improve ada syntax highlighter by parsing attributes, adding a list
of the predefined attributes to its keyword file.
+ fix character-type initialization to allow built-in locales in 9.7d
to work (report by Ramil Farkhshatov).
+ amend a change from 9.7zd which lost the repeat-count for single-byte
characters in "r" and other uses of lins_chars() (report by Hymie on
mailing list).
+ build-fixes for --disable-extensions
+ add tables, modify functions, to support name-completion for the
":g" global commands. Previously, name-completion used the entire
table, which is about 7 times longer.
+ add "describe-globals" command.
+ add the "pp" operator to documentation of :g in help-file (report by
Wayne on mailing list)
+ change backup-style from universal to buffer-mode (request by Wayne
on mailing list).
+ add a check in bytes_at0() to ensure that the offset is positive.
+ modify logic used when cursor-tokens is set, to extract the token
from the screen. It was only searching for the first token which
began on or after the current position. Now it searches for tokens
which may begin before the current position (report by Ian Watson).
+ build-fix for xvile with cygwin, broken in 9.8a changes to
consolidate w32vile.h includes.
20101228 (d)
> Tom Dickey:
+ modify expression used for "path" type in regexp.c to avoid matching
non-ASCII punctuation characters.
+ merge changes from Debian package script for 9.8c
+ add preamble patterns for Emacs "text" and "Autotest" modes.
+ minor improvements to performance by inlining as macros some
frequently used functions.
+ apply the same improvement for line-deletion to these functions:
attributereqion(), find_release_attr(), update_window_attrs().
+ improve performance of line-deletion by eliminating a search for
region-pointer, using data already collected (report by Gary
Jennejohn).
+ modify CAPNAME expression in tc-filt.l to accept "#2", etc.
+ extend generate set of single-byte encodings to include those listed
by iconv for which there is no predefined locale, e.g., the Windows
codepages.
+ modify several places which check for special characters, e.g., when
parsing repeat-counts in normal mode, to also exclude multibyte
characters (report by Ramil Farkhshatov).
+ use the generated single-byte encodings from 9.8c to improve UTF-8
support for platforms without iconv, i.e., by relating the narrow
and wide encodings.
+ add $kbd-encoding variable, to control whether the keyboard uses the
same encoding as the display and/or locale.
20101206 (c)
> Rick Sladkey
+ add Unicode support to the vile Win32 console driver.
> Tom Dickey:
+ add generated set of single-byte encodings, to replace the ASCII and
ISO-8859-1 fallbacks used when no suitable 8-bit "narrow" locale can
be setup. The tables also have the corresponding set of locale names,
which provides a fallback for cases when the locale support is
incomplete (prompted by report by Ramil Farkhshatov).
+ modify CF_WITH_CURSES_DIR and related macros so the --with-curses-dir
option applies to both ncurses and curses.
+ modify CF_X_ATHENA and CF_X_TOOLKIT autoconf macros to accomodate
changes in xorg package scripts.
+ modify several autoconf macros to lessen use of legacy
"${name-value}" feature in favor of standard "${name:-value}", since
it is broken in recent version of bash.
+ remove a spurious '\' in backreference for sed in CF_LEX_VERSION
macro (report by Mark McKinstry)
+ add ".yy" suffix to yaccmode.
+ add ".gperf" and ".ll" suffixes to lexmode.
+ ncu-indent is now provided by "cindent" at
http://invisible-island.net/cindent/
+ set pointsize in output from atr2html.
+ use cindent to format the ".c"-files.
+ use cindent to format the lex-files.
+ correct description of "copy-to-clipboard" in cmdtbl.
+ update config.guess, config.sub
20100915 (b)
> Tom Dickey:
+ correct a check in the combination of showchar mode with the
:show-printable command when the global file-encoding mode is set to
locale. Also make this combination apply whether or not the ruler
mode is set.
+ correct setting of reg_utf8flag when the global file-encoding mode is
set to locale, e.g., for UTF-8 encoding.
+ add "%" to syntax highlighting of makefile target patterns.
+ add configure --enable-link-prefix, which is used to trim unneeded
libraries from link-commands, to reduce package dependencies.
+ build-fix for Ubuntu package, which must ensure that -lcrypt is
added when building vile-crypt due to weak-linkage issues.
20100908 (a)
> Tom Dickey:
+ modify configure check for gcc's -r dynamic option to include the
message from QNX's gcc 2.95.2, which simply ignores the "dynamic".
+ modify RPM spec-file to remove the doc-directories' scripts at build
time, since rpmbuild 4.4.2.3 on Centos 5.5 automatically adds unwanted
dependencies on the Perl scripts found there as part of the package's
requirements for installing.
+ fix many strict gcc compiler warnings.
+ remove support for OpenLook.
+ add configure --enable-colored-menus option (discussion with Chris
Green).
+ modify makefiles for winvile so that it supports unix-style
encryption.
+ modify vile-crypt to accept a "-u" option for unix-style encryption.
+ add Jochen Obalek's unix-style crypt function for platforms without
that, e.g., win32 and OS/2.
+ modify perl.xs to build/work with perl 5.004 (cf: 9.7e).
+ add configure workaround for perl 5.004's prototype for main().
+ drop two symbols from embedded-Perl configure check, since they did
not appear in 5.004, and are not used by perl.xs
+ build-fix for OS/2 EMX:
+ remove a '/' after $(DESTDIR), to work with DOS devices.
+ suppress unsupported "inline" definition for icc compiler.
+ build/runtime fixes for DJGPP:
+ provide fallback for intptr_t type.
+ amend a change from 9.7h which assigned a non-malloc'd pointer to
context where it was later freed.
Unsorted entries in PLIST files have generated a pkglint warning for at
least 12 years. Somewhat more recently, pkglint has learned to sort
PLIST files automatically. Since pkglint 5.4.23, the sorting is only
done in obvious, simple cases. These have been applied by running:
pkglint -Cnone,PLIST -Wnone,plist-sort -r -F
Problems found with existing distfiles:
distfiles/javascript-2.1b1.el
distfiles/yEd-3.14.2.zip
No changes made to the javascript-mode or yEd distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
yyget_leng() from returning int to returning size_t, since it was
apparently somewhere between the flex I have and the flex Joerg's
build machine has, skip the declaration, since it's apparently no
longer necessary to provide it for flex. This should fix the build on
netbsd-6.
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
Please see CHANGES for complete list of changes (almost 900 lines since
version 9.7 was released 14 June 2008). Unlike version 9.7, version 9.8
builds on DragonFly.
From README (condensed: over 350 lines by itself)
August 2010
vile 9.8 is released. The goal of this release is to fill in the remainder
of the UTF-8 support.
General changes:
+ many improvements to UTF-8, for regular expressions and input.
+ implement user-definable operators
+ vile.hlp and all ".doc" plain-text files are generated from html.
http://invisible-island.net/vile/vile-toc.html
+ highlight matches in which-keywords, etc., and put a hyperlink on the
highlighted text to view the corresponding file.
+ add a brief mode format "%M" for modeline-format
+ improve checks for insecure file permissions.
+ improve which-source and which-exec commands, showing which files
fail the checks for insecure permissions.
+ new configure script options:
+ --with-symlink, which augments --program-suffix to make it
simple(r) to install versioned binaries.
+ options for transforming program name upon install:
-- program-prefix, --program-suffix, --program-transform-name
Locale Improvements: (too many too list)
New Commands:
+ new command-line option "-F" tells vile to only run the syntax
filters for the given files, writing the attributed text to the
standard output. Used this option to highlight the code-examples in
vile's html and documentation.
+ added several "list-XXX" aliases to match "show-XXX" commands, for
consistency.
+ "append-number", "insert-number", "overwrite-number" commands work
with characters entered as numbers.
+ "define-menu-entry" modifies xvile menu entries.
+ "set-extra-colors" allows setting extra colors for special buffers
such as [Settings].
+ "show-filtercolors" macro shows the class names and their colors for
the current majormode.
+ "show-extra-colors" shows classes and colors modified by
"set-extra-colors".
+ "show-local-modes" is an easier-to-remember variation for the
count+"show-modes" combination.
+ "show-undo-stack" shows the contents of the undo-stack.
+ "show-wide-printable" provides a way to see details for other "pages"
than the ASCII/Latin-1 0-255 code.
+ "store-operator" stores a macro which is treated as an operator.
New Modes:
+ "spaces-after-sentence" is now a buffer mode, to allow it to be part
of a majormode.
+ "check-access" makes the check for insecure file-permissions
configurable by the user.
+ "percent-autocolor" can be used to override the autocolor mode for
very large files.
+ "reuse-position" allows users to specify that vile should restore the
current line/column position when (re)displaying a scratch buffer
built with liststuff.
New Variables and Functions:
+ &bchanged, &fchanged and state variables $bchanged (same as
$modified) and $fchanged make it simpler for scripts to check if
buffer/file timestamps differ.
+ $cfgopts now shows drivers (ansi, borland, ntcons, ntwin, os2vio,
vmsvt) and other useful settings (iconv, multibyte).
+ $cmd-encoding variable allows control of minibuffer's encoding
+ $cmd-motion variable is used in user-defined operators.
+ $font is always available, but readonly for non-GUI configurations.
+ $kill-size and $kill-limit variables to improve scripting with the
$kill variable.
+ $latin1-expr variable specifies whether a derived narrow locale
really has Latin1 (ISO-8859-1) encoding.
+ $modeline-limit limits the offset into each line that vile scans for
modelines.
+ $term-cols, $term-lines and $term-resizes give the terminal
dimensions, and tell if it is in a resizable window.
+ $title-encoding controls whether vile 8-bit or UTF-8 encoding is used
when setting xterm title.
Syntax Filters: (too many too list)
Other Portability: (not listed)
Performance: (not listed)
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
feature improvements (remove obsolete filters, improve ruby filter,
improved syntax highlighting, some locale/encoding fixes, etc.)
In pkgsrc, add DESTDIR support to xvile. While here, include
libXt and libXmu so that xvile will build if XAW_TYPE=xpm.
under NetBSD-current without actually needing ncursesw.
+ It's not necessary to use ncurses for narrow curses support. The native
BSD curses on NetBSD is enough.
+ Add full DESTDIR support.
Bump the PKGREVISION to 1.
Changes from the previous version:
Changes for vile 9.6 (released Thu Dec 27 2007)
> Tom Dickey:
+ update makefile.blc, adding charsets.c, eightbit.c and wcwidth.c
+ build-fix for OS/2 IBM CSet (define a delay function for catnap).
+ minor build-fixes for VMS:
+ modify vmsbuild.com to simplify workaround for broken MMS 3.8
+ provide dummy variables for xvile to reflect modularization changes
with respect to vmsvt.c
+ documentation updates.
+ minor fix to manfilt.c to pass-through UTF-8 codes by testing with
both iswprint() and isprint().
20071224 (u)
> Tom Dickey:
+ separate vile's ttputc from termcap prototype to pass integer param
rather than just a char on Solaris.
+ fix computation of columns needed to show UTF-8 codes in POSIX
locale.
+ modify manfilt.c to provide UTF-8 output in a UTF-8 locale.
+ minor fix to CF_FUNC_ICONV to link iconv on cygwin (noting that
cygwin has no useful locale support, it may someday).
20071202 (t)
> Tom Dickey:
+ modify filters makefile "clean" rule to accommodate OSF/1 4.0D
whose make program leaves intermediate ".c" files for each lexer.
+ change order of restore-flags and switch-buffer in
restore_buffer_state, avoiding an unnecessary prompt to discard
changes when attempting to read a buffer that cannot be read.
+ increase a few table sizes to work with AIX 5.1 lex.
+ modify check for lex version to avoid hanging on older platforms
where it would try to read from standard input even if it does not
recognize the option.
20071125 (s)
> Tom Dickey:
+ several changes to provide usable Unicode support:
+ add mode percent-utf8 to set a threshold for file-encoding mode
"auto" detection of UTF-16/UTF-32 files.
+ file-encoding mode can be set to "auto", to detect UTF-16 files,
which are loaded as UTF-8.
+ UTF-8 files are detected based on the file-encoding mode as well.
+ Unicode values are displayed (where no locale controls) as "\uXXXX"
in 4 hexadecimal digits.
+ add unicode-as-hex mode to override locale, forcing Unicode values
to display as "\uXXXX".
+ for buffers with UTF-8 encoding, show illegal bytes as "\?XX".
+ Unicode values can be inserted into buffers using ^VuXXXX form.
Limitations:
+ terminal drivers support Unicode display in varying degrees:
+ winvile - multicolumn characters, depends on font selection
+ termcap/terminfo - relies on terminal emulator, knows about
multicolumn characters
+ xvile - displays only single-column characters
+ curses - depends on the curses library, e.g., ncursesw
+ win32 console - not yet implemented
+ combining characters are not combined.
+ registers hold byte data, will show the UTF-8 encoding for data
rather than a \uXXXX (unless the file-encoding for [Registers]
is changed).
+ some "characters" such as the report for yanked text is still
really a byte-count.
+ inserting a \uXXXX into the minibuffer will display the UTF-8
encoding.
+ regular expressions are not wide-character aware.
+ UTF-16 and UTF-32 files are detected based on BOM and/or the
contents of the first line of the file.
+ external syntax filters do not handle BOM or UTF-16, UTF-32.
+ improve name-completion by saving/restoring the original window and
buffer when [Completions] closes, rather than the closest window.
+ add output from rcshist to diffmode.
+ add ".vbp" files to inimode.
+ modify configure script to omit lex-filt.l from build if lex is not
really flex, since the tables are too large for the older program.
+ modify spell.pm to use a temporary file to work with newer Perl's
that do not handle tied variables exactly as filehandles.
+ update Kevin Buettner's email address.
+ add -class option to xvile.
+ remove a redundant XtDestroyWidget() from x_close() to quiet a
warning from XtRemoveGrab() when doing a ":q" from Xm-vile
(report by Chris Green).
+ use va_copy() in dofmt() to work with Linux on powerpc
(report by Paul van Tilburg).
+ add docbookmode
+ improve 9.5m/9.5q check for file ownership, adding a warning message
for files which are ignored (report by Chris Green).
+ change default for --with-locale configure option to mesh with
--disable-extensions.
+ improve paste-performance in winvile by passing whole-line chunks
to the insert-function.
+ improved cppmode's identifier-expr (report by Gerry Fredette).
+ correct order of evaluation from 9.4w when setting record-separator,
which was setting "crlf" ending temporarily when computing the buffer
size, even when "lf" was intended. That would cause an immediate
write from winvile (without change) for a buffer to write too many
characters.
+ add syntax filter conffilt.l, for "ordinary" config-files.
+ add "rectangle-insert-mode".
+ fill in several omitted items in init_mode_value().
+ add "describe-&functions" and "describe-$variables" commands.
(The latter is a stub for later).
+ improve repainting in winvile while processing external command.
also modify keyboard handling to provide type-ahead while processing
external command.
+ remove obsolete $tpause variable.
+ modify majormode inferencing to check preamble for [Standard Input]
and [Output] buffers.
+ add ">motion" function for scripts.
+ improve handling of enumerated values by forcing all to lowercase,
e.g., to eliminate the need for the special case in 9.1x to handle
"TRUE" and "true".
+ revise lstrinsert() and associated logic which implements changes
to rectangles, e.g., with c^Aq, to ensure that it pads the change
with blanks rather than nulls (report by Paul van Tilburg).
+ improve modeline support by ignoring strict "vi" modeline options
that are not recognized by vile, rather than reporting an error.
+ use new module blist (binary search of lists) to reduce linear
searches in the places where btree is not already used.
+ change rename-other-buffer command to other-buffer-rename, to avoid
name-completion conflict with rename-command (feedback from Steve
Lembark).
+ remove obsolete check for ANSI qsort.
+ improve vilefilt.l, highlighting mode names and displaying error
for unknown mode, function and state variables.
+ fix typo in manpage.rc which broke use of pod2man in 9.5m
+ add &pquote in manpage.rc, to allow it to format html output when
vile-manfilt, etc., reside in directories containing spaces in their
name.
+ add ".reg" filetypes to inimode.
+ add several package-related suffixes to sqlmode.
+ add xpmmode
Based on patch provided by L. Schmidt in PR 36971.
pkgsrc chages:
Add ALTERNATIVES support, ncursesw option.
Changes from 9.5 to 9.5r:
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.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
curses.buildlink2.mk. This was wrong because we _really_ do want to
express that we want _n_curses when we include the buildlink2.mk file.
We should have a better way to say that the NetBSD curses doesn't
quite work well enough. In fact, it's far better to depend on ncurses
by default, and exceptionally note when it's okay to use NetBSD curses
for specific packages. We will look into this again in the future.
Changes for vile 9.4 (released Mon Aug 04 2003)
Various bug fixes and some new functionality:
+ modify vilefilt.l to highlight shell commands.
+ add cases for 'u', 'U', 'x' and 'X' to RegStrChr2(), making the
[:upper:] and [:xdigit:] regular expression character classes work.
+ tested with gcc 3.3 and g++ 3.3, modifying several interfaces to use
'const'. gcc 3.x also introduces more nonstandard name-pollution.
+ modify manpage.rc to check if the current buffer is perl, and if so,
to render contents using pod2man or pod2text.
+ add un-filters (atr2ansi, atr2html, atr2text) which convert encoded
control/A text to different forms.
+ modify support for ^X-e to make it use the whole line if the current
buffer is a directory.
+ increase output- and state transitions-limits for latexflt.l,
rpm-filt.l, sh-filt.l and vilefilt.l to compile with Solaris and HPUX
lex programs (report by Adam Denton).
+ modify vile-manfilt to decode UTF-8 emitted by groff 1.18
+ add Ruby syntax filter (rb-filt.l, rb.key).
+ fix: java has no 'operator' keyword.
+ add texmode, as a variation of latexmode.
+ add .ltx, .sty suffixes for latexmode.
+ implement xml-filter based on html-filter.
+ implement xterm-title mode.
+ add syntax filter for rpm ".spec" files.
+ add syntax filter for PostScript ".ps" files.
+ add syntax filter for enscript ".st" files.
+ make cursor-movement on a yank command match vi's, tested for various
left/up motions such as yk, yh, yH, y1G, y0, y-, yb (report by
George Eccles).
+ updates to allow vile to build with perl 5.8.0 (ifdef's checked for
5.6.1, 5.5.3 and 5.4.5).
+ rewrote spell.rc to make it work properly if the spell-filter is
built-in (reported by Clark Morgan).