[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vile] vile-9.7

From: Thomas Dickey
Subject: [vile] vile-9.7
Date: Sat, 14 Jun 2008 20:56:02 -0400
User-agent: Mutt/1.5.17+20080114 (2008-01-14)

hello --

I've just put vile 9.7 up for ftp at:

and it is mirrored at

PC binaries are also available for DOS and WinNT.

Vile is a text editor which is extremely compatible with vi.  It has
extended capabilities in many areas, including:  multi-file editing and
viewing, mouse support, infinite undo, additional operators, rectangular
operations.  Vile has an optional Perl interface for UNIX and NT.  It
can also be built as "xvile", which is fully X-aware, or "winvile" for
Win32, with scrollbars, menus, etc.  It runs under VMS, BeOS, QNX, OS/2,
DOS, Win95 or NT.  Binaries for some PC operating systems are available.
(OS/2 is currently native or EMX console mode port, NT is both console
and GUI).


Highlights since 9.7:

    + Bug fixes, lots.  See the CHANGES file for details.

General changes

    + modify prompt for new mode value to consistently show the mode's full

    + modify wrapmargin mode to use negative values as a count from the
      left of the screen.

    + modify behavior of ":ww!" to act like ":w!", allowing it to write
      all files.

    + trim trailing blanks from text handled in modelines in case there
      was a ^M.

    + modify treatment of ":setl dos" to behave the same as ":set-dos".
      That makes it possible to put a "vile:dos" in a modeline and make
      vile convert the line-endings.

    + flush the standard output before writing version message using the
      standard error, in case there was some output pending.

    + modify curses-driver to avoid a curses-refresh (repainting the
      whole screen) between a shell command and the "Press return to
      continue" message.

    + improved scripting, making it simpler to save a boolean mode-value in
      a variable and restore it by assignment.

Locale Improvements

    + improve locale initialization, checking if there is no installed
      narrow locale corresponding to the given (wide) locale.  In that
      case, default to either ISO-8859-1 or ASCII, depending on whether
      there was actually a wide locale whose encoding is UTF-8 or
      ISO-8859-1, or neither.

    + force the [Printable Chars] buffer to use file-encoding=8bit,
      makes it display consistently legal codes in the second column.

    + make ISO-8859-1 data display consistently in UTF-8 buffer as "\?xx".

    + provide workaround for systems without nl_langinfo(CODESET)).

    + make transpose-characters work for wide-characters.

    + make "~" (flip-character) and related case-conversion work for
      Unicode in 0..255 range.

New Commands


New Modes

    + modify mktbls to allow special-case alias for modes which have no
      convenient abbreviation.

    + add "fk" alias for file-encoding mode.

    + add a "locale" value for file-encoding, use that as the default.

New Variables and Functions

    + add $buf-encoding symbol, to show the actual encoding used by the
      current buffer vs the file-encoding which is one of vile's internal
      names such as "8bit" or "locale".

Syntax Filters

    + modify parsing of keyword files to accept an empty parameter for
      "abbrev" and "brief", to disable the "*" and "?" feature.

    + remove obsolete lex-filters for perl and ruby (only the C versions
      have been supported).

    + improved lisp filter:

      + change class color of parentheses to "Action" to make them easier
        to distinguish from "String".

      + color binary, octal and hexadecimal constants, as well as parse
        the "#\" patterns.

    + improved perl syntax filter:

      + make perlpod sections more readable by highlighting the control

      + add double-quote to quote-delimitors.

      + show interpreted symbols in double-quoted regular expressions.

      + if "/e" modifier is set for regular expression, show interpreted
        symbols for that.

      + show regular expression modifiers in keyword-attribute, not string

      + color &foo as a variable.

      + color both class and member in variables such as $foo::bar

      + add ".t" to perlmode, using $mode-pathname

    + improved ruby syntax filter:

      + match keywords containing '!' '?' and '=' depending on the context.

      + remove unmatchable characters from the list of those matched
        following $. 

      + change the instance variable matching to @@?{KEYWORD} instead of

      + highlight constants (keywords beginning with a capital) with    
        the Type attribute. 

      + highlight binary integers (such as 0b10101).

      + disable "*" and "?" abbreviation feature in ruby.key, allowing
        match of "defined?", etc.

    Other improvements to filters:

      + make vile's symbol-tables accessible to vilemode in winvile.

      + minor improvement to vbmode's fence-if to ignore lines with

      + improve here-document parsing in sh-filt.l to work with "words"
        which contain blanks.

Other improvements to majormodes

    + strip redundant "mode" from majormode names, avoiding the potential
      for creating foomodemode when the script says
              define-majormode foomode

    + remove ".scm" from c-suffixes pattern.

    + add schememode.

X11 changes

    + update input-method code, from xterm.

    + add xvile resource setting "openIm" to control whether it tries to
      open input-method.

    + improved handling of runtime X errors, xvile will attempt to save

Win32 changes

    + simplify wvlwrap.exe by disabling globbing temporarily.  This allows
      opening files whose names contain square brackets. 

    + suppress part of wildcard expansion in call to expand_wild_args(),
      e.g., for command-line of winvile, since that interferes with
      reading files whose names contain square brackets.

VMS changes


Other portability

    + improve configure checks for iconv.



Thomas E. Dickey <address@hidden>

Attachment: signature.asc
Description: Digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]