9b2a66d7f2
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.
2 lines
55 B
Text
2 lines
55 B
Text
bin/vi @PREFIX@/bin/vile
|
|
bin/view @PREFIX@/bin/vile -v
|