# vile 9.4m - patch 2004/12/15 - Thomas Dickey # ------------------------------------------------------------------------------ # $Header: | 1 # CHANGES | 58 # MANIFEST | 3 # buffer.c | 208 ++- # buglist | 7 # builtflt.c | 68 + # cmdtbl | 15 # configure | 2652 ++++++++++++++++++++--------------------- # configure.in | 16 # display.c | 80 - # doc/filters.doc | 34 # doc/macros.doc | 67 - # edef.h | 5 # estruct.h | 13 # eval.c | 196 ++- # filters/as-filt.l | 6 # filters/asm-filt.l | 8 # filters/au3-filt.l | 8 # filters/bat-filt.l | 6 # filters/c-filt.c | 20 # filters/filterio.c | 33 # filters/filters.c | 3 # filters/filters.h | 7 # filters/filters.rc | 40 # filters/htmlfilt.l | 9 # filters/imakeflt.l | 19 # filters/key-filt.c | 11 # filters/m4-filt.c | 3 # filters/makefilt.l | 19 # filters/pl-filt.c | 24 # filters/pot-filt.l | 5 # filters/ps-filt.l | 5 # filters/rb-filt.l | 3 # filters/rpm-filt.l | 16 # filters/rubyfilt.c | 30 # filters/sccsfilt.l | 5 # filters/sed-filt.c | 3 # filters/sh-filt.l | 16 # filters/spell.rc | 36 # filters/spellflt.l | 8 # filters/sql-filt.l | 9 # filters/tc-filt.l | 12 # filters/tcl-filt.l | 4 # filters/vilefilt.l | 10 # filters/vl-filt.l | 20 # filters/xml-filt.l | 50 # filters/xresfilt.l | 11 # input.c | 4 # macros/gnugpg.rc | 8 # macros/which.rc | 107 + # main.c | 5 # makefile.in | 17 # makefile.wnt | 3 # modes.c | 358 +++-- # modetbl | 22 # ntconio.c | 51 # ntwinio.c | 53 # patchlev.h | 2 # proto.h | 19 # revlist | 129 + # statevar.c | 8 # tbuff.c | 14 # tcap.c | 3 # vile-9.4.spec | 9 # vile-9.4m/macros/showeach.rc | 78 + # vile.hlp | 16 # x11.c | 370 ++--- # 67 files changed, 3017 insertions(+), 2141 deletions(-) # ------------------------------------------------------------------------------ Index: CHANGES --- vile-9.4l+/CHANGES 2004-12-08 01:01:53.000000000 +0000 +++ vile-9.4m/CHANGES 2004-12-15 23:56:47.000000000 +0000 @@ -1,5 +1,63 @@ Changes for vile 9.5 (released ??? ??? ?? ????) + 20041215 (m) + > Tom Dickey: + + modify x11.c, ntconio.c and ntwinio.c to make modifiers work with tab + key, e.g., to add shift-key as a back-tab key. + + add macro show-each-buffer (file showeach.rc), which splits up the + screen into equal chunks to display as many of the non-scratch + buffers as possible. + + modify macro parameter evaluation so it does not attempt to compute + a value for function tokens or goto-labels. Otherwise pathnames such + as "~\foo" look like macro directives and produce an error. + + correct slash/backslash translation (win32, etc) for some of the + built-in functions; the translated result was not actually the return + value: &path and &pcat. + + correct flags in modetbl used to annotate trace of &seq and a few + other operators. + + correct length computed for $bflags variable; an empty string was + returned. + + add a section on command-line options to doc/filters.doc + + add macro which-filter to show which locations would be checked for + an external filter. If the filter happens to be built-in, this is + also noted, in the message line. + + improve 'eval' command, provide for mixture of functions and other + tokens which are passed to the script interpreter. + + modify SpellFilter macro to use the results from [Filter Messages] + with the error-finder to step through the misspellings. + + add macro show-filtermsgs to show syntax filter messages, setting the + list to the error-buffer to provide simple stepping through the + errors which are found. + + add commands popup-buffer and popdown-buffer, which open/close + windows for the given buffer rather than changing the current window + to show a different buffer. The popup-buffer command is a wrapper + for the existing logic used for help and similar commands. The + popdown-buffer command differs from delete-window by closing all + windows for the given buffer. + + remove the pre-9.4e workarounds for set-highlighting and + which-keywords macros. + + modify kdb_reply() to shift the minibuffer left/right as needed after + doing the initial tab of a name-completion, in case that left the + cursor position past the end of the line (report by Paul Fox). + + add new operators to make it simpler for macros to check for + features: &isa, &classof and &mclass. + + modify historical-buffer to allow tab/back-tab to cycle through the + first 9 buffers, solves the problem of seeing more than the first + few possibilities on the message line. Toggling with the repeated + '_' selects the first buffer shown. + + add back-tab to termcap/terminfo driver as a bindable key. + + modify configure script to make builtflt.h part of $(BUILTHDRS) to + simplify "make sources" rule. + + modify htmlfilt.l to match in the middle of a line to + accommodate pages where the script is given by a "src=". + + add filtermsgs mode, for built-in filters to report syntax errors + into [Filter Messages] buffer so that one may use the error finder to + locate these (motivated by a 200,000 line xml file). + + correct state manipulation in xml-filt.l, which was confused by + CDATA pattern. + + correct $CPPFLAGS for linting configurations with built-in filters. + + correct typo in configure script from 9.4k fixes for iconv_open(). + 20041207 (l) > Clark Morgan: + modify special treatment of "#" which prevents it from being shifted Index: MANIFEST --- vile-9.4l+/MANIFEST 2004-12-08 01:48:52.000000000 +0000 +++ vile-9.4m/MANIFEST 2004-12-16 00:53:14.000000000 +0000 @@ -1,4 +1,4 @@ -MANIFEST for vile, version v9_4l +MANIFEST for vile, version v9_4m -------------------------------------------------------------------------------- MANIFEST this file CHANGES Change-log for VILE @@ -332,6 +332,7 @@ macros/pictmode.rc macros to support "picture-mode" editing macros/search.rc find a file in one of several locations macros/shifts.rc macros to shift words left/right +macros/showeach.rc show-each-buffer macros/vile-pager use vile as a pager macros/vileinit.rc sample initialization file macros/vilemenu.rc sample menu for xvile Index: cmdtbl Prereq: 1.230 --- vile-9.4l+/cmdtbl 2004-12-07 01:28:55.000000000 +0000 +++ vile-9.4m/cmdtbl 2004-12-14 20:18:42.000000000 +0000 @@ -97,7 +97,7 @@ # in '!' listed, then the flag does nothing, and should be # viewed simply as documentation. # -# @Header: /usr/build/vile/vile/RCS/cmdtbl,v 1.230 2004/12/07 01:28:55 tom Exp @ +# @Header: /usr/build/vile/vile/RCS/cmdtbl,v 1.233 2004/12/14 20:18:42 tom Exp @ # # @@ -625,7 +625,7 @@ firstbuffer NONE "rewind" "rew!" - + firstnonwhite MOTION|MINIBUF "first-nonwhite" !FEWNAMES '^' @@ -1686,13 +1686,22 @@ edit_buffer NONE "B" "edit-buffer" !FEWNAMES - + +popup_buffer NONE !SMALLER + "popup-buffer" + "open-window" !FEWNAMES + +popdown_buffer NONE !SMALLER + "popdown-buffer" + "close-windows" !FEWNAMES + usekreg REDO "use-register" !FEWNAMES '"' userbeep NONE !SMALLER "beep" + 'FN-b' KEY_BackTab visual NONE "visual" Index: configure.in Prereq: 1.211 --- vile-9.4l+/configure.in 2004-12-04 00:42:49.000000000 +0000 +++ vile-9.4m/configure.in 2004-12-10 22:52:59.000000000 +0000 @@ -1,12 +1,12 @@ dnl Process this file with autoconf to produce a configure script. -AC_REVISION(@Revision: 1.211 @) +AC_REVISION(@Revision: 1.214 @) AC_PREREQ(2.13.20030927) rm -f config.cache ### Use "configure -with-screen" to override the default configuration, which is ### termcap-based on unix systems. -dnl @Header: /usr/build/vile/vile/RCS/configure.in,v 1.211 2004/12/04 00:42:49 tom Exp @ +dnl @Header: /usr/build/vile/vile/RCS/configure.in,v 1.214 2004/12/10 22:52:59 tom Exp @ define(MAKELIST, sh $srcdir/filters/makelist.sh $srcdir/filters/genmake.mak) @@ -52,6 +52,10 @@ CF_LIB_PREFIX ### options to control how much we build +BUILTHDRS="nebind.h neproto.h neexec.h nefunc.h nemode.h nename.h nevars.h nefkeys.h nefsms.h" +BUILTLIBS= +BUILTSRCS= + AC_MSG_CHECKING(if you wish to build only core functions) CF_ARG_DISABLE(extensions, [ --disable-extensions test: build only core functions], @@ -287,6 +291,7 @@ perl_lib_path=`$PERL -MConfig -e 'print $Config{privlib}'` AC_DEFINE(OPT_PERL) EXTRAOBJS="$EXTRAOBJS perl.o" + BUILTSRCS="$BUILTSRCS perl.c" LINK_PREFIX=`$PERL -MConfig -e 'print $Config{shrpenv}'` ac_link="$LINK_PREFIX $ac_link" CF_CHECK_CFLAGS(`$PERL -MExtUtils::Embed -e ccopts`) @@ -672,7 +677,7 @@ [cf_func_iconv="$withval"], [cf_func_iconv=yes]) AC_MSG_RESULT($cf_func_iconv) -if test "$cf_func_iconv" == yes ; then +if test "$cf_func_iconv" = yes ; then AC_DEFINE(OPT_ICONV_FUNCS) test "$cf_cv_func_iconv" != yes && LIBS="$cf_cv_func_iconv $LIBS" fi # test $cf_func_iconv" = yes @@ -834,9 +839,10 @@ if test "$cf_filter_libs" = yes ; then EXTRAOBJS="$EXTRAOBJS builtflt.o" - CFLAGS="-I\$(srcdir)/filters $CFLAGS" + CPPFLAGS="-I\$(srcdir)/filters $CPPFLAGS" FILTER_LIBS="-Lfilters -lvlflt" LIBBUILTFLT="${LIB_PREFIX}vlflt.a" + BUILTHDRS="$BUILTHDRS builtflt.h" BUILTLIBS="$BUILTLIBS filters/$LIBBUILTFLT" AC_DEFINE(OPT_FILTER) else @@ -846,7 +852,9 @@ fi AC_SUBST(EXTRAOBJS) +AC_SUBST(BUILTHDRS) AC_SUBST(BUILTLIBS) +AC_SUBST(BUILTSRCS) AC_SUBST(FILTER_LIBS) AC_SUBST(LIBBUILTFLT) Index: doc/filters.doc Prereq: 1.32 --- vile-9.4l+/doc/filters.doc 2004-11-11 00:47:06.000000000 +0000 +++ vile-9.4m/doc/filters.doc 2004-12-14 00:47:49.000000000 +0000 @@ -33,7 +33,7 @@ [ If $VILE_STARTUP_PATH is not defined, the filter checks the "prefix" directory specified when all filters were compiled - (default path is /usr/local/share/vile/vile.keyords). ] + (default path is /usr/local/share/vile/vile.keywords). ] and then here: @@ -146,6 +146,38 @@ language keywords, if any. +OPTIONS +------- + +A few options are common to all filters: + + -d is recognized when the filters have been compiled with "DEBUG" defined. + This is used in the more complicated filters such as perl and ruby to + show the parsing. + + -k FILE + + -q exits the filter before writing the marked-up output. This happens + after processing the class definitions, so it is useful in combination + with the -v option to simply obtain the class information. + + -t holds the tabstop setting, which can be used in a filter for column + computations. + + -v verbose, turns on extra output which can be used for troubleshooting + configuration problems. + +The C syntax filter recognizes additional options to customize it for Java and +JavaScript: + + -j Extend name- and literal-syntax to include Java. + + -p Disallow preprocessor lines. + + -s for JavaScript (to support jsmode). This controls whether to allow + regular expressions in certain cases. + + PROGRAMS -------- @@ -230,4 +262,4 @@ The lex filters have been well tested only with flex, which treats newlines differently. Older versions of lex may not support the %x states. --- @Header: /usr/build/vile/vile/doc/RCS/filters.doc,v 1.32 2004/11/11 00:47:06 tom Exp @ +-- @Header: /usr/build/vile/vile/doc/RCS/filters.doc,v 1.33 2004/12/14 00:47:49 tom Exp @ Index: doc/macros.doc Prereq: 1.93 --- vile-9.4l+/doc/macros.doc 2004-10-20 22:47:38.000000000 +0000 +++ vile-9.4m/doc/macros.doc 2004-12-12 20:29:24.000000000 +0000 @@ -774,7 +774,7 @@ &mod "N1" "N2" Divide the "N1" by "N2", return remainder. &negate "N" Return -(N). &ascii "S" Return the ASCII code of the first - character in "S" + character in "S" &random "N" &rnd "N" Random number between 1 and N &abs "N" Absolute value of "N" @@ -791,12 +791,12 @@ The rest return strings: &bind "S" Return the function name bound to the - key sequence "S". + key sequence "S". &cat "S1" "S2" Concatenate S1 and string "S". &chr "N" Converts numeric "N" to an ASCII character. &cclass "S" Character class (see "show-printable") &env "S" Return the value of the user's environment - variable named "S". + variable named "S". >key Get a single raw keystroke from the user. >sequence Get a complete vile key sequence from user. &left "S" "N" Extract first "N" characters from "S" @@ -805,8 +805,8 @@ &middle "S" "N1" "N2" Extract "N2" chars at position "N1". &upper "S" Return uppercase version of "S". &trim "S" Remove whitespace at either end of "S", - reduce multiple spaces within "S" - to just one space each. + reduce multiple spaces within "S" + to just one space each. Boolean/logical functions -- @@ -820,6 +820,9 @@ &geq "N1" "N2" Is "N1" numerically not less than "N2"? &greater "N1" "N2" Is "N1" numerically greater than "N2"? > "N1" "N2" (same as &greater) + &isa "C" "N" Is "N" a member of class "C". Classes + include: buffer, color, mode, submode, + Majormode. &leq "N1" "N2" Is "N1" numerically not greater than "N2"? &lessthan "N1" "N2" Is "N1" numerically less than "N2"? < "N1" "N2" (same as &lessthan) @@ -860,19 +863,26 @@ These all return string values: + &classof "N" Retrieves the class(es) to which the given + name may return. Usually this is a single + name, e.g., one of those checked by &isa. + If multiple matches are found, the result + contains each classname separated by a + space. + &default "MODENAME" Retrieves initial/default value for the - given mode or state variable. + given mode or state variable. &global "MODENAME" Retrieves universal/global mode setting. - &indirect "S" Evaluate value of "S" as a - macro language variable itself. - Thus if %foo has value "HOME", - then &env &indirect %foo will - return the home directory pathname. + &indirect "S" Evaluate value of "S" as a macro language + variable itself. Thus if %foo has value + "HOME", then + &env &indirect %foo + will return the home directory pathname. &local "MODENAME" Retrieves local mode setting (for - current buffer). + current buffer). &lookup "N" "P" The "N" keyword tells which field to use looking for the file "P": @@ -890,25 +900,31 @@ bin, startup, path, libdir. Note that the directory lists may overlap. + &mclass "M" Retrieve the class to which the given + mode belongs. This is different from + &mclass since it distinguishes the modes + Return values include: universal buffer + window submode Majormode. + &qpasswd "S" Present "S" to the user and return their - response. Each typed character is - echoed as '*'. The response is not - recallable via the editor's history - mechanism. + response. Each typed character is + echoed as '*'. The response is not + recallable via the editor's history + mechanism. &query "S" Present "S" to the user, and return - their typed response. + their typed response. &date "F" "T" If strftime() is found, format the time "T" - using the "F" format. Otherwise, use - ctime() to format the time. Times are - numbers (see &ftime and &stime). + using the "F" format. Otherwise, use + ctime() to format the time. Times are + numbers (see &ftime and &stime). &dquery "S" "D" Present "S" to the user, and return - their typed response. If "D" is given, - use that as the default response. - Otherwise use the previous response - as the default. + their typed response. If "D" is given, + use that as the default response. + Otherwise use the previous response + as the default. &path "N" "P" The "N" keyword tells which field to extract from the pathname "P": @@ -1056,7 +1072,6 @@ The ~break directive allows early termination of an enclosing while-loop. Extending the above example: - ; count the occurrences of a pattern in all buffers set nowrapscan set noautobuffer @@ -1465,6 +1480,6 @@ ========================= end vile.rc ======================= ----------------------------------- - @Header: /usr/build/vile/vile/doc/RCS/macros.doc,v 1.93 2004/10/20 22:47:38 tom Exp @ + @Header: /usr/build/vile/vile/doc/RCS/macros.doc,v 1.94 2004/12/12 20:29:24 tom Exp @ -----------------------------------