home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / vile-src.zip / vile-8.1 / buglist < prev    next >
Text File  |  1998-09-29  |  66KB  |  1,754 lines

  1. ------------------------
  2. vile bug/enhancement/wish list (mostly wishes ;-)
  3. ------------------------
  4. $Header: /usr/build/vile/vile/RCS/buglist,v 1.347 1998/09/30 01:37:55 tom Exp $
  5. ----------------------
  6.     (E means enhancement, L,M,H are low, medium, high priority)
  7.  
  8. E    add ":n file"
  9.         (:n means go to the next file in a series of files.
  10.         :n file means go to that specific file - one can specify a
  11.         +<cmd> before file to indicate the vi command which should be
  12.         executed when entering the command.)
  13.  
  14. E    now that paragraphs, sections, and sentences are all selectable
  15.     with regexps, they (and the tabstop value) are prime candidates for
  16.     moving into a "mode-values" set of values.  A buffer would inherit
  17.     either the global normal-mode values, or the global c-mode values.
  18.  
  19. E    :k, to set a mark, won't work as ":ka" or ":kb".  Must use ":k a"
  20.  
  21. E    patterns as addresses do not work, e.g. ":/str1/,/str2/d".  They're
  22.     hard to parse the way things are set up right now.  We could accumulate
  23.     the whole commandline, and then parse it, the way real vi does, but we'd
  24.     lose the "prompt and display last response" behavior.
  25.  
  26. E    should add an option to support file locking, rather than the current
  27.     ifdef stuff.  (this is only useful if we match the GNU locking
  28.     protocol.) And it's not clear that in an NFS'ed environment that
  29.     it's all that easy to get that style of locking right anyway.
  30.  
  31. E    the scrsearch functions could become region based -- as in "search for
  32.     the next occurrence of the region", which would usually be a word.  And
  33.     the ^A/ version could become "a/ (search for the contents of buffer a),
  34.     if you know what I mean.
  35.  
  36. E    g should become a region command.  Then it could take ranges, as
  37.     it should, and could also become an operator command.
  38.  
  39. E    collapse command execution code to as few places as possible.
  40.     Its currently spread through execute(), operator(),
  41.     docmd(), and usekreg().
  42.  
  43. E    I haven't even come close to testing vile for
  44.     memory-full conditions.  Some malloc() packages give 95%
  45.     warnings -- perhaps something like that should be done for
  46.     safety.
  47.  
  48. E    marks should perhaps be linked onto lines.  this would make a lot
  49.         of things a lot easier, since a mark would travel with the
  50.         line, instead of having to be moved when the line is
  51.         reallocated etc.  the U line could be treated as a special
  52.         mark.  The "copied" flag needed by undo could be a special
  53.         sort of mark as well.  Implementation of the "tag stack"
  54.     would be aided by this as well.
  55.  
  56. L    vile really ought to use unix-crypt if it is available.
  57.  
  58. E    can't search for a NUL in a buffer.
  59.  
  60. E    ":e" and ":e!" should share the same prompt data, which should be
  61.     editable / history.  They both should default (like vi!) to the
  62.     current buffer.
  63.  
  64. E    for consistency, 'execute-macro-nn' should be 'execute-macro nn';
  65.     doing this would allow modification to eliminate a fixed number of
  66.     macro-buffers.
  67.  
  68. E    should ifdef the 'autobuffer' code for users who do not need vi-style
  69.     buffering.
  70.  
  71. --------------
  72.  
  73.     The ed 'transfer' and 'move' commands don't work.
  74.     (to copy and move text around.  e.g., :'a,'bt$.)
  75.  
  76. --------------------------------
  77.  
  78. Though I use it, I'm still not quite satisfied with the qident stuff.  It
  79. needs to be more flexible.  That is, I'd like to make it user defined.
  80. For example
  81.     find-tag $qidentifier
  82. should be expressable as a character class like
  83.     find-tag &anyof "a-zA-Z_0-9:"
  84. in a macro.  Or even more generally, as a regular expression:
  85.     find-tag &scan "[a-zA-Z_][a-zA-Z_0-9:]\\*"
  86. A leading ^ would root the search at the current cursor position.
  87. Absence of a leading ^ would start at the current cursor position but would
  88. scan ahead until it found a match.  That way I can redefine ^] to pick
  89. up the next word even if the cursor is before the start of the word (thus
  90. better mimicking vi's behavior).
  91.  
  92. [ This can almost be done with the $match variable, e.g.
  93.     7 store-macro
  94.         search-forward "[a-zA-Z_][a-zA-Z_0-9:]*"
  95.         find-tag $match
  96.     ~endm
  97.  
  98.     bind-key execute-macro-7 ^A-g
  99.  - pgf ]
  100. ----------------------------------------------------------------------
  101. Also, I encountered the following problem: I am editing foo.tex and
  102. call latex using ^X!latex foo.tex. There is an error, so latex waits for
  103. input -> vile sits waiting and nothing helps. I think this should
  104. be interruptable. I will agree with you that the ^X! command was not
  105. intended for this, but still...
  106.  
  107. But ok, the real problem is that after I kill latex and
  108. vile comes back to life I can no longer filter parts of text using
  109. !fmt. The text just gets deleted.
  110.  
  111. ----------------------------------------------------------------------
  112.  
  113. I just grabbed a copy of xvi.  I noted some interesting tidbits while
  114. reading the "differences between vi and xvi" document.  Some of these would
  115. be nice in vile.
  116.  
  117.  
  118.      As well as the normal named (conjugate) buffers, and the  default
  119.      one  named @, several extra buffers named :, /, ?  and ! contain
  120.      the last command lines entered for each of the command types.  So
  121.      for  instance,  @: will re-execute the last colon command, or you
  122.      can insert it into your buffer, edit it and  then re-execute  it
  123.      (e.g. with dd@@).
  124.  
  125.  
  126.      +    In insert and replace modes, ^A has the same meaning  as  ^@
  127.           in  vi,  except  that it works at any time, not just for the
  128.           first character.  Also, typing ^Bx, where x is the name of a
  129.           conjugate  buffer,  inserts the contents of that buffer into
  130.           the input stream at that point.  The buffer named  <  always
  131.           contains the last thing inserted, so that ^B< is the same as
  132.           ^A.
  133.  
  134.  
  135. ------------------------
  136. I wish ^X-!  could execute shell commands async'ly, i.e.  I should not have
  137. to wait/do nothing while waiting for the ouput of compiling.  I should be
  138. able to edit stuff in other buffers or even ^X-^X to edit src codes
  139. while compilation is still going on.
  140.  
  141. ------------
  142. similar to above -- sub-commands run from ^X-! or ":[erw] !cmd" should be
  143. "interactive" to the extent that user's input should be sent to the cmd
  144. at least on a line-by-line basis (i.e. we can't send raw keystrokes -- we
  145. have to do canonical processing.  of course, we should really use pty's, and
  146. reconnect input and capture output.)  some commands like latex prompt for
  147. more input when partway done.
  148.  
  149. ========(VMS-VILE)=============================================================
  150. Unfinished items on vax/vms (dickey@clark.net):
  151.  
  152.     + if the current directory has changed, offer to restore it on exit.
  153.       (Note that if the _device_ portion has changed, the original
  154.       directory should be restored anyway!).
  155.  
  156.     + add key bindings and other support to make the vt100 keypad work for
  157.       me (e.g., like EDT).
  158.  
  159.     + see if I can decode ".dia" files, if so connect it to finderr.c
  160.  
  161.     + catch exception/signals, and restore terminal settings.
  162.  
  163.     + make write-pipes work (actually, flesh out to use 'npopen' coding
  164.       scheme, like the MSDOS stuff).
  165.  
  166.     + I had a case in which I wanted to read the contents of one file into
  167.       another; they had the same buffer name; the target buffer got the
  168.       filename for the source, e.g.,
  169.  
  170.           :e []foo        - read and determined version # ok
  171.         :r [-.temp]foo        - current filename reset to [-.temp]foo
  172. ------------------------------------------------------------
  173.  
  174.  
  175. it would be nice if vile would fold text...
  176.  
  177.     This feature appeared in uEmacs version 3.10.23 and you can
  178. use archie/xarchie to file fue.tar.Z (fue - folding-micro-emacs).
  179.  
  180. [ someone said they were going to fold this in, so to speak.  i'm not
  181. real comfortable with the idea, since the uemacs code causes the LINE
  182. struct to grow _enormously_ ]
  183.  
  184.  
  185. -----------
  186.  
  187.     When I execute a keyboard macro using ^X-& I cannot repeat this
  188.     using the dot command. Instead, the last command in the macro
  189.     is repeated.
  190.     [ this is because '.' doesn't do @ macros either...]
  191.  
  192. ------------------------------
  193.  
  194.  
  195. Can you add the '>' character to the list of comment chars for paragraph
  196. reformatting?  I would live to be able to reformat mail quotes (like shown
  197. above).
  198.  
  199. [ pgf notes: I did this, as chris suggested, but formatregion should use
  200.   the comments regexp to match a comment delimiter at the beginning of
  201.   line, and should insert the comment delimiter of the _second_ line (so
  202.   that boxed C comments work right)in subsequent reformatted lines,
  203.   including leading but not trailing whitespace.  indentlen should be
  204.   counted _after_ the width of such a comment delimiter.  this would make
  205.   paragraphs that are indented way after the delimiter keep their indent.
  206.   commented paragraphs should end when exp->mlen for the comment regexp is
  207.   equal to llength(DOT), i.e.  it's the whole line.  (we'll need to take
  208.   the $ off the end of the comment regexp).  ]
  209.  
  210. ------------------------------
  211. Another enhancement.
  212. How about a history file.  say I have been using vile and
  213. quit and come back in later I can use the history file.
  214.  
  215. --------------------------
  216.  
  217. In a xterm window the down arrow (which sends ESC-O-B) works for individual
  218. presses.  If you hold down the key then letter Bs get peppered through out
  219. the file.  It appears that the ESC is occasionally being missed so that the
  220. following OB puts a B in the file.
  221.  
  222. In my case I'm on a workstation running 4.1.3 and xterm using rlogin to
  223. connect to a 690 server (lightly loaded) running 4.1.3 and running vile
  224. on the 690.
  225.  
  226. I just ran vile locally and didn't see the problem.
  227. -------------------------------
  228.  
  229.  
  230. I found a bug (new with 3.59) on our Pyramid SVR4 (but not Pyramid SVR3,
  231. SunOS 4.1.1, AIX 3.2) where
  232.     xvile tmp &
  233. pops up the xvile window briefly, the window dies, the xterm I started
  234. xvile from says
  235.     [1]  + suspended (tty input)  xvile3.59 tmp
  236. and then after a couple seconds the xterm itself vanishes!  However,
  237.     xvile tmp
  238. works fine, except that the process is in the foreground.
  239.  > The bug on the Pyramid SVR4 machine with xvile & suspending itself,
  240.  > committing suicide, and then blowing away the xterm still exists.
  241.  > For the time being I just remember to run xvile on a different
  242.  > machine.
  243.  
  244. -----------------------------
  245. apply Alistair's min/max regexp patch
  246.  
  247. -------------------------------------------------------------------------
  248.  
  249. With vim 1.27 you can configure its behaviour regarding backspace using
  250. the 'backspace' variable. From the help file:
  251.  
  252. backspace (bs)        number    0     0 standard Vi, 1 delete NL, 2 delete all
  253. i.e. if bs is non-zero, you can backup to the previous line, and if it's
  254. a 2, you can backup past the insertion point.
  255.  
  256. i don't think this is optimal -- i think you should be able to choose
  257. independently whether you backup past the newline or past the insertion point.
  258.  
  259. in any case, vile won't let you back up past the newline during an insert.
  260. when _not_ in insert, you can rebind ^H to backward-character.
  261.  
  262. ---------------------------
  263.  
  264. When you do a :b you should have line completion for the name.
  265.  
  266. ---------------------------
  267.  
  268. How can I read the status of a shell command when I execute a
  269. shell-command? Although the shell command has a $STATUS=1 the
  270. status of the status variable is TRUE.
  271.  
  272. ---------------------------
  273.  
  274. you can't use ! as a regular expression delimiter, as in:
  275.     :s!pat!replace!g
  276. because the parser treats ":s!" as if it's ":q!" or ":w!".
  277.  
  278. -------------------------
  279.  
  280. width of a region is kept in units of offset, not of columns.
  281. i think this will break rectangular inserts of non-rectangular regions,
  282. where the longest line may not extend to the furthest column, due to
  283. tabs in other lines.
  284.  
  285.  
  286. -------------------------
  287.  
  288. I'm using the DOS version and I prefer to use 80x28 or even higher res like
  289. 80x50 by setting set sres=80x50 in vile.rc.  The problem is that when a
  290. command is executed with :!<shell-command> the mode switches back to 80x25.
  291. It switches back to 80x25 permanently. I think it's acceptable that it
  292. switches to 80x25 when it's in shell command execution.  However, technically
  293. it should switch back to the preferred mode when it's done.
  294.  
  295. [ can anyone confirm or deny this is still true? ]
  296. [ I don't see it happening with ibmpc.c - dickey ]
  297.  
  298. ---------------------------
  299.  
  300. the borland console driver won't display the cursor on blank lines until
  301. after you've refreshed the screen at least once, e.g. with ^L.  must
  302. be something to do with color initialization, or something like that...
  303.  
  304. ---------------------------
  305.  
  306. running a SunOS4.1.3 binary of vile on Solaris2.3 causes the "interrupted
  307. system call" problem, no doubt due to the differing BSD/SysV signal()
  308. semantics.  [ probable workaround:  ":set noworking" ]
  309.  
  310. ----------------------
  311.  
  312. Another thing that would be really helpful would be a description of the
  313. $debug variable, and what it does, how it works.
  314.  
  315. -------------------------------
  316.  
  317. there should be better support in vile for reading bits of shell output
  318. into a buffer -- ":r !foo" is a little primitive when trying to insert a
  319. single word into a line.
  320.  
  321. ---------------------------------
  322.  
  323. autoindent skips blank lines when looking for the
  324. indent value.  apparently real vi doesn't?
  325.  
  326. ----------------------
  327.  
  328. currently can't pop/untag from within macro
  329. [really?  why is this?]
  330.  
  331. ------------------
  332.  
  333. are there still reentrancy problems in xvile when mousing around during
  334. long-running operations.
  335.  
  336. ----------------------
  337.  
  338. could the attribute selection logic be used to emulate vi's behavior
  339. of replacing the last char of a change operation to '$'?  (but only for
  340. text which does not span a line)
  341.  
  342. -------------------------
  343.  
  344. there should be a way to reference buffer attributes of the currently-
  345. executing macro (or stack of macros).
  346.  
  347. -------------------------
  348.  
  349. [ how do i test this? ]
  350. In xvile, when the load is high and the machine stalls for a while
  351. and I key in several keystrokes ahead, it takes the first of those keystrokes
  352. and replaces the later keys by it i.e. when several events simultaneously
  353. arrive, it doesn't do the right thing (process them in order).
  354.  
  355. -----------------
  356.  
  357. when motion keys or pasting is used during an insertion, we should
  358. break the insertion into multiple undoable chunks.
  359. -----------------
  360.  
  361. pasting to a view-only buffer does not generate an error message.
  362. ----------------------------
  363.  
  364.    XVILE BUG:
  365.  
  366.       - If I click on the "maximize" gadget, it gets _really_ big.
  367.         Like, many times bigger than the screen big; I suspect that
  368.         it is maximizing to a number of *characters* equal to the number
  369.         of *pixels* available or something.  If I click on the same
  370.         gadget (after dragging that part of the window onto the screen),
  371.         which does a normalize, it crashes.
  372.     I am use vile 4.5 and xvile on HP/UX 9.01.
  373.     I use vuewm as my window manager (a motif variant).
  374.  
  375.       [I would guess that the suspicion of the person reporting the bug
  376.        is correct concerning the behavior of the window manager during
  377.        maximization.  I don't have this problem with fvwm. pgf's changes
  378.        to eliminate the hardcoded maximum width and height will probably
  379.        fix the core dumps.  I'll look into seeing if there is some protocol
  380.        which we're not observing with regard to maximization.  -kev]
  381.  
  382. ------------------
  383.       - I would like an option whereby if I have more than one file on
  384.         the command line, the display opens with one window per buffer,
  385.         so I can visibly see all the files available.
  386. ----------------------
  387.  
  388.  
  389. if you have lines like
  390.     123
  391.     1234
  392.     12
  393. it's impossible to select them as a rectangle, since the middle line is
  394. longest.
  395.  
  396.  
  397. ----------------
  398.  
  399.  
  400. It would be useful to have a search that is constrained to a certain
  401. movment.  For example, I might want to look for the string "foo" over the
  402. next paragraph, not the whole document.  This would really be useful to
  403. programmers who want to look for the instance of a variable or a function
  404. call only within the current scope (or #if).
  405.  
  406. ----------------
  407. xvile:
  408.  Is it possible to have an optional horizontal scrollbars ?
  409.    (just for maniac users)
  410.  
  411. ----------------------------
  412.  
  413. under DOS, ^P character turns on the printer.   argh.
  414. actually, this only happens if compiled with borland.  it uses getch()
  415. instead of intdos() to get the char.  (see ttgetc())  that's probably
  416. at least part of the answer.
  417. [I also see this with djgpp, which uses borland.c - tom]
  418.  
  419. ---------------
  420. how about a mode that supports autosaving to the backup-file,
  421. instead of to the original file -- useful for system crashes.
  422.  
  423. -----------------
  424.  
  425. rectangular operations don't work right if there are control characters
  426. to the left of the rectangle.  (physically they work, but the visual
  427. effect is wrong.  i'm not sure what the right thing to do is.)
  428.  
  429. -------------------------
  430. double quote characters (and probably other special chars) are interpreted
  431. incorrectly on the lhs of a map command.  for instance:
  432.     map ^K" WBi"^[Ea"^[
  433. will result in
  434.     ^K WBi
  435. as the lhs, leaving
  436.     ^[Ea"^[
  437. as the rhs.  the workaround is to escape the " in the lhs:
  438.     map ^K\" WBi"^[Ea"^[
  439.  
  440. (this map surrounds the current word in double quotes)
  441.  
  442. -----------------------------
  443.  
  444. Would you please add another hook: modify-hook.  I thought this is useful,
  445. for example, if I attempt to insert, delete (in general, modify) text
  446. in a read-only file, I like it to prompt if the user wants to PVCS-lock it.
  447. A message would look something like this:
  448.     File is read-only, check out?
  449.  
  450. -----------------------------
  451.  
  452. contrary to the vile.hlp text, binding to the interrupt{} terminal
  453. character does not fully change intrc and the user's interrupt character.
  454.  
  455. -----------------------------------------------------------------
  456. VMS6.0 on VAXstation 4000/90.  DEC C for OpenVMS VAX compiler
  457. version V4.0-000.  Shared library (specified in VMSSHARE.OPT)
  458. is DECC$SHR.EXE instead of the default VAXCRTL.EXE.
  459.  
  460. symptoms:
  461.     vile can't read vile.rc, or vile.hlp.
  462.  
  463. reason:
  464.     on this setup, the access() library routine seems broken.
  465.     my test program showed that it returned -1 for existant
  466.     and non-existant files.
  467.  
  468. solution:
  469.     I had to add a
  470. #define HAVE_ACCESS 0
  471.     in estruct.h (actually, I just put it in fileio.c).
  472. [ there's a fix in estruct.h, but untested ]
  473.  
  474. -----------------------------------------------------------------
  475.  
  476. DOS:  wildcarding in the top directory:
  477.    c:
  478.    cd \
  479.    vile a*.bat             (will not open autoexec.bat)
  480. does not work, because Watcom's opendir() routine only succeeds on the root
  481. directory if it is specified as '\'.  no other name for it seems to work.
  482. stat won't work on it either.  (we try to open it as ".", not an unreasonable
  483. thing to do.)
  484.  
  485. sigh.  i hate DOS.
  486.  
  487. -----------------------------------------------------------------
  488.  
  489.  Mips RISCos5.0 machines:
  490.     Error: random.c, line 625: 'SIG_BLOCK' undefined, ...
  491.     Error: random.c, line 637: 'SIG_SETMASK' undefined, ...
  492.  [ i thought i could provide fallback definitions of those, but
  493.    the values are different on sunos and linux, and are probably
  494.    different again on Mips RISCos5.0, bless it's broken little heart. ]
  495.  
  496. -----------------------------------------------------------------
  497. we should consider adding user-customizable menu or button support to
  498. xvile:
  499.     "Right now, you have most of the major functions as strings that can be
  500.     called from the macro language.  Suppose you made icons or something
  501.     for those strings, and then let the user string the icons (or maybe
  502.     have icons trigger macros and have a set of macros for most of the
  503.     basic stuff as a default package) together to form new icons they could
  504.     put in some sort of icon bar.  The windows (boo!  Hiss!) users would go
  505.     nuts!  Also, put some of this into the pull down menus, and people
  506.     would stand to cheer and applaud. "
  507. -----------------------------------------------------------------
  508.  
  509. I think I found a couple of very minor bugs in vile.
  510.  
  511. Possible bug #1)
  512. I'm using xvile right now because ^S doesn't seem to work correctly in
  513. regular vile yet (must be an HP 9.05 thing, I'm not sure yet).  I had
  514. thought you turned flow control off in vile, but I want to do more testing
  515. before I call this a bug.
  516.  
  517. Anyway, do this:
  518.  
  519. On a page with several lines of text, do this operation on the first one:
  520.  
  521. :s/^/> /
  522.  
  523. Now, using the mouse (or 'q'), sweep the next couple of lines.  To make
  524. things interesting, sweep to the end of the second to last line, but
  525. not the last line itself, so the highlighted text looks like this:
  526.  
  527. xxxxxxxx
  528. xxxxxxxx
  529. xxxxxxxx
  530.  
  531. instead of
  532.  
  533. xxxxxxxx
  534. xxxxxxxx
  535. xxxxxxxx
  536. x
  537.  
  538. Now, do a
  539.  
  540. ^A-&-^S
  541.  
  542. On my machine, the last line of the highlighted text isn't touched.  I'm
  543. thinking it should be...
  544.  
  545. -----------------------------------------------------------------
  546.  
  547. the command ":r !ls" should not require the space.
  548.  
  549. -----------------------------------------------------------
  550.  
  551. when using wrapmargin, it is impossible to break
  552. up long lines consisting of a single word.
  553.  
  554. [vi doesn't do this]
  555.  
  556. -----------------------------------------------------------
  557.     - the layering of the map code with respect to the record/replay
  558.       code that implements '.', the keyboard macros, and the '@'
  559.       command execution is severely broken.  if you have a :map
  560.       that executes a '@a' command in the middle, the contents
  561.       of register a are readied for replay, but input continues
  562.       to come from the :map string until it is ended, and only then
  563.       so we dip down to the lower level and start getting the result
  564.       of '@a'.  a similar thing happens with '.' used in a :map, only
  565.       it seems even worse, since recording isn't started/stopped
  566.       correctly.
  567.     [this has been fixed for the @a case, but in a sloppy fashion.
  568.       it should be cleaned up.  -pgf  ]
  569.  
  570. -----------------------------
  571.  
  572. Using xvile, if I [oO]pen a
  573. new line or do insert at the beginning of a line, and then paste in
  574. some text using the mouse, xvile inserts an extra blank line. that is,
  575. if I have
  576.  
  577. foo
  578. bar
  579.  
  580. and I try to paste in 'hi' under the foo, I get
  581.  
  582. foo
  583.  
  584. hi
  585. bar
  586.  
  587. this only seems to happen in autoindent mode at the very beginning of
  588. the line. it does *not* happen if the preceeding line is indented, or
  589. if I type a space before pasting.
  590. ----------------
  591.  
  592. only "reverse" works as a visual-match hilite under DOS.
  593.  
  594. ---------------
  595.  
  596. a newly entered search string (even an identical one) should turn highlighting
  597. back on
  598.  
  599. ---------------
  600.  
  601. It would be nice to make the cursor invisible while doing highlighted selection,
  602. since xterm cannot blink the cursor, and the selection has an apparent hole.
  603. visual-match highlighting back on.  this is surprisingly hard, due to the
  604. layering of readpattern() and kbd_reply.
  605.  
  606. ---------------
  607.  
  608. While we're on the subject of bugs, let me tell you about another one that
  609. I've long noticed when I try to insert such text.  I would like to do
  610. :unsetl ai before pasting in the text (since I normally have auotindent
  611. on).  But that has no effect.  Even :setall shows that autoindent is still
  612. on.  Instead I have to do :setl noai.  Annoying.
  613.  
  614. [ i agree -- shouldn't "setl nonumber" and "unsetl number" be synonymous? -pgf]
  615. [ I've gotten used to it as a quirk: "unsetl" deletes a flag that shadows the
  616.   global setting.  I wish (however) that there were a nice way to highlight the
  617.   flags that are shadowed -dickey]
  618.  
  619. ---------------
  620.  
  621. running a shell command from xvile should arguably spawn a new xterm.  it
  622. should certainly do it in a new window.
  623.  
  624. ---------------
  625.  
  626. vile trims all trailing whitespace when user inserts a space that triggers
  627. wrapmargin, vi trims only the whitespace inserted during the current command.
  628. [ i'm not sure i consider this a bug.  vile plays loose with whitespace
  629. in many such situations.  if you're using wrapmargin, you're probably
  630. not worried about trailing whitespace anyway.  -- pgf ]
  631.  
  632. --------------------------
  633.  
  634. This is a report against vile v5.4 built using djgpp.  Vile is running
  635. in raw DOS (not in a Windows DOS box).
  636.  
  637. This command:
  638.     vile -4
  639. gives me 50 lines (not 43).  The only two screen resolutions that seem
  640. to work are vile -2 and vile -5 .
  641.  
  642. [ This is a result of the borland screen library.  43 lines are available
  643. under OS/2... ]
  644.  
  645. ---------------------------------
  646. .. you can't use the mouse to select text from the command input line, I often
  647. use this after Ctrl+G to get the filename for a UNIX command elsewhere.
  648.  
  649. ---------------------------------
  650. .. button 1 selection doesn't work it quite the same way as other apps. e.g.
  651. in xterm, double click on a word (don't release button after second click)
  652. and drag along a sentence - first word is selected and so are subsequent
  653. words in the sentence as you drag.  Just the first word is selected in xvile.
  654.  
  655. ---------------------------------
  656.  
  657. link problems:  vile or xvile has link problems on:
  658.     - Openlook on sunos4.1.3
  659.      - SCO OpenServer 5.0 (needed -lsocket, and needed different
  660.         lib ordering for -lXt and -lXm for the motif version.
  661.     - BSD/OS 2.0.1 (X11R6) -- needed this order: -lXt -lXM -lICE -lX11
  662.     - IRIX 5.2 -- drop the '-lnsl' library
  663.  
  664. ---------------------------------
  665.  
  666. vile 5.5 almost passed my macro test with only small cosmetic problem:
  667.  
  668. ;    !@  --mapto-->  replace "Unixcommand!@" with "Unixcommand" output
  669. map! !@ ^V^M^[bi:r !^[F:"adt@mm@ais^["bd$dd`m@b
  670. ;    #@  --mapto-->  replace "@Unixcommand args#@" with "Unixcommand" output
  671. map! #@ ^V^M^[F@s:r !^[F:"adt@mm@ais^["bd$dd`m@b
  672.  
  673. Both now produce correct results.  But the final status message doesn't
  674. make sense:  Delete operation pending...  when it actually in insert
  675. mode.  Fortunately, there is a workaround, set terse.  it would be nice
  676. if vile can temporary set terse before executing macros and reset back
  677. to original mode afterwards. Sounds easy?
  678.  
  679. ------------------------
  680.  
  681. there are two conflicting wordwrap mechanisms in vile --
  682.     - the historical wrapwords setting, inherited from
  683.       microemacs, will wrap words in input mode when you type a
  684.       space character after you've passed the "fillcol" column.
  685.     - the vi-like "wrapmargin" setting sets the column past which
  686.       entering more input will cause a line break.
  687.  
  688. i think we should eliminate the historical mechanism in favor of the vi-ish
  689. one, and i've marked it [deprecated] in vile.hlp.  (as of version 5.6)
  690. vim has a "textwidth" mode, which functions exactly like wrapmargin, except
  691. that it is measured from the left.  this prevents line length from changing
  692. when the screen is resized, a drawback of wrapmargin.  i propose eliminating
  693. fillcol, and introducing textwidth.
  694.  
  695. --------------------------------------
  696.  
  697. It would be nice to have a 'smart' shiftwidth, that would jump back
  698. to the indent level of the first previous line with a different
  699. indent level. What I mean is:
  700.  
  701. aaa aa aa aaa aaa a
  702.     - bb bbb bb bb bb b
  703.       ccc cc cc cc c
  704.       <control-d>
  705.  
  706. where <control-d> would jump back to the indent level of the minus sign.
  707. I encountered this behaviour with the 'EDIT' program on MS-DOS with
  708. the backspace key. It's really quite convenient, although I am not so
  709. sure it is smart to put both the 'shift-back' and 'backspace' behaviour
  710. under the same key.
  711.  
  712. ------------------------
  713.  
  714. The 'qsort' function in Watcom 10.0a for MS-DOS is broken (file-completion
  715. hangs, probably due to stack overflow).
  716.  
  717. OS/2 version built with Watcom 10.0a does not open pipes successfully.  Also it
  718. does not do function keys.
  719.  
  720. ------------------------
  721.  
  722. when a buffer is out of date wrt its file (i.e. you have been warned but
  723. you answered 'n') it should say something like [out-of-date] on the modeline.
  724. this should be true whether or not "check-modtimes" is on.  in fact, in
  725. retrospect, "check-modtimes" should really be "warn-out-of-date", or
  726. something like that, and we should _always_ check modification times.
  727.  
  728. ---------------------
  729.  
  730. Not sure if this will be generally useful, but I changed the tags.c
  731. module to use "_qident" instead of "_ident" in the gototag() function.
  732. This allows a user to goto C++ functions when the tag is a C++
  733. class::function reference.
  734.  
  735. ------------"
  736.     How about changing makefile.djg, adding a line like
  737.       strip vile
  738.     just before the call to coff2exe.  This will reduce the
  739.     size of the djgpp executable from 1,328,037 bytes (with
  740.     djgpp 1.12 patch 4) to 259,072 bytes.  Just a little idea.
  741. [i'll add a different target instead...]
  742.  
  743.  
  744. -----------------------------
  745.  
  746. add a copyright to the binary
  747.  
  748. ------------------
  749. The configure script returns the wrong value for HAVE_SYS_FILIO_H on
  750. OSF/1-Alpha; termio.c doesn't compile with that problem.
  751.  
  752. also, the configure script returns the wrong value for GETPGRP_HAS_ARG on the
  753. OSF/1-Alpha.
  754.  
  755. The test in configure compiles ok with "cc" but not with gcc.
  756. ac_compile in configure uses cc as a default. This may be able
  757. to be worked around by setting $CC to gcc before running
  758. configure.
  759.  
  760.  
  761. The install program is also much touchier about argument order; the
  762. directory must follow -c argument.
  763.  
  764. Here's a partial diff which I think shows part of what must be done:
  765.  
  766. *** makefile.orig       Thu Feb 15 11:56:40 1996
  767. --- makefile    Thu Feb 15 11:56:41 1996
  768. ***************
  769. *** 404,410 ****
  770.  
  771.   # dependency-rules for install/installdirs
  772.   $(bindir)/$(TARGET):       $(TARGET)
  773. !       $(INSTALL_PROGRAM) $(TARGET) $@
  774.   $(bindir)/vile-manfilt:    vile-manfilt
  775.         $(INSTALL_PROGRAM) vile-manfilt $@
  776.   $(bindir)/vile-c-filt:     vile-c-filt
  777. --- 404,410 ----
  778.  
  779.   # dependency-rules for install/installdirs
  780.   $(bindir)/$(TARGET):       $(TARGET)
  781. !       $(INSTALL_PROGRAM) $@ $(TARGET)
  782.   $(bindir)/vile-manfilt:    vile-manfilt
  783.         $(INSTALL_PROGRAM) vile-manfilt $@
  784.   $(bindir)/vile-c-filt:     vile-c-filt
  785.  
  786.  
  787. But on the other hand, it also doesn't want the final name of the
  788. binary in the path mentioned (bad: /usr/local/bin/vile; good: /usr/local/bin/);
  789. I don't know enough make magic to get the basename stripped off. Perhaps
  790. the "$@" should just be $(bindir).
  791.  
  792.  
  793. ------------"
  794. Another point of irritation is the autoindent behaviour when inserting
  795. blank lines; where vi will continue with a reduced indent after typing a
  796. CTRL-D, vile insists on keeping the indent on par with the last non-empty
  797. line.  (^^D is inteneded to be temporary, 0^D should be permanent, even if
  798. what you've entered is a blank line.  don't know about simple ^D.)
  799.  
  800. ----------------------
  801.  
  802. file completion doesn't work in the presence of directories which match
  803. a substring of other files or directories.  that is:
  804.     :!mkdir foo
  805.     :!mkdir food
  806.     :!mkdir fool
  807.     :e foo<TAB>
  808. yields:
  809.     :e foo/
  810. instead of also providing "food" and "fool" as choices.  with the same
  811. setup, the following:
  812.     :e food<TAB>
  813. yields:
  814.     :e food/
  815. instead of also providing "fool".
  816.  
  817. ------------------------
  818.  
  819. When the various DOS/Windoze) .zip files are created, it would be nice if
  820. they included a formatted version of the man page ('cuz DOS/Windoze doesn't
  821. have nroff :-) ).
  822. -----------
  823.  
  824.     I'm using vile 5.6 on Unix and I'm wondering if you could add to
  825. the next release of vile a method of bringing up a permanent list of
  826. buffers automatically on startup i.e.  execute the show-buffers command on
  827. startup.  [I realise that you haven't fully implemented the + command line
  828. option in vile ]
  829.  
  830. ------------
  831. using '&' in pc-vile as the word-expansion replacement for ':' in regular
  832. vile may someday conflict if we want to spawn stuff in the background
  833. in VMS or win32 vile.  clearly the expansion chars should be made
  834. selectable.  not a big deal yet....
  835.  
  836. ------------------
  837.  
  838. "visual-matches" mode should be conditional on file size, or perhaps
  839. on time taken to do the search...
  840.  
  841. -----------------
  842.  > It seems that some files were in the zipfile vil60dos.zip with the read
  843.  > only paramater set.  I unzipped them with infozip's unzipper instead
  844.  > of pkunzip, and this became a read-only attribute on the vile.hlp
  845.  > file.  If this is set, vile.exe can't find it.
  846.  
  847. ----------------- (tom)
  848.  
  849. These are old wishes/bugs:
  850.  
  851.     set-dos, write file, doesn't reflect (in chars-written message) the
  852.     added ^M's on each line.
  853.  
  854.     not every system declares the struct-type for utime/utimes.
  855.  
  856.     make partial-completion in [History] set DOT to the current line
  857.     we're matching from, if [History] is visible.
  858.  
  859.     make vile know about different types of tags-files (ctags -s, etags),
  860.  
  861.     on VMS, elvis writes files with stmlf-cr format.  vile writes files
  862.     with var-cr format.  the former is a little smaller.  vile ought to
  863.     remember the input file's format to use in writing new files (if
  864.     possible).
  865.  
  866. These date back to 5.4:
  867.  
  868.     + should next_column() use HIGHBIT test?
  869.  
  870.     + ':' expansion doesn't work with ":write-file" because DOT is
  871.       commandeered for use in a region.
  872.  
  873.     + should allow '$' in identifiers (or make it an option), and modify
  874.       'tags' to correspond
  875.  
  876. These are pre-6.0 (undated)
  877.  
  878.     use CSet C/C++ to flush out unsigned stuff, especially flags that
  879.     ought to be.
  880.  
  881.     add configure-test for 'ospeed'
  882.  
  883.     implement gpm
  884.  
  885.     vi sets '#' on attempted write; vile doesn't
  886.  
  887. --------------------------------------------------------------------------------
  888.  
  889. -- 96-09-27 (Lance Heller <lance.heller@wcom.com>)
  890.  
  891.     If I start an aixterm:
  892.         aixterm -bd Wheat -fg Wheat -bg MidnightBlue -ms grey90
  893.     the problem does NOT occur.
  894.  
  895.     However, if I start it as:
  896.         aixterm -geometry 90x70+110+1
  897.     it does.
  898.  
  899.     The appropriate section from my .Xdefaults is:
  900.         aixterm*background:     lightsalmon
  901.         aixterm*foreground:     black
  902.         aixterm*saveLines:      1024
  903.         aixterm*scrollPosition: left
  904.         aixterm*pointerColor:   black
  905.         aixterm*fullCursor:     true
  906.         !aixterm.geometry:      90x73+448+0
  907.         aixterm*jumpScroll:     true
  908.         aixterm*font:   -ibm-serf-medium-r-normal-iso9241-10-100-75-75-*-*:
  909.         aixterm*scrollBar:      true
  910.         aixterm*multiScroll:    false
  911.         aixterm*iconName:       aixterm
  912.         aixterm*pointerShape:   pirate
  913.  
  914. -- 96-10-02 (tom)
  915.  
  916. add state (variables) to allow a macro to pick up the beginning/ending of a
  917. selected area.
  918.  
  919. -- 96-10-14 (tom)
  920.  
  921. add 'mouse-hook' command (maybe generalize with "on" command)
  922.  
  923. -- 96-10-16 (tom)
  924.  
  925. implement $title for tcap.c
  926.  
  927. -- 96-10-19 (tom)
  928.  
  929. getting an error in $buffer-hook can blow away the buffer that's being hooked
  930. (e.g., if it's a temporary file).
  931.  
  932. -- 96-10-19 (tom)
  933.  
  934. implement [Mac-style], like [Dos-style].
  935.  
  936. -- 96-10-21 (tom)
  937.  
  938. implement gtlbl()
  939.  
  940. -- 96-10-25 (Anand Mandapati <anand@ibmoto.com>)
  941.  
  942.     The behavior of 'yq' doesn't seem to match the behavior of other quoted
  943.     motion operations.  Here are some sample scenarios:
  944.  
  945.         I) Yank a single line NOT including the eol, ie, like 'y$'
  946.            1. I type 'yq$q' to yank the line all the way to the eol but
  947.           don't want to include the eol.
  948.            2. I then do a 'P' to put this yanked text before the cursor.
  949.            3. It behaves as 'y$P' would.
  950.  
  951.         II) Yank a single line including the eol, ie, like 'yy'
  952.            1. I type 'yqjq' to yank the line all the way to the eol and
  953.           want to include the eol in the selection.
  954.            2. I then do a 'P' to put this yanked text before the cursor.
  955.            3. It behaves as 'y$P' would, not as 'yyp' would.
  956.  
  957.     At first I thought maybe this is the expected behavior, but if I use
  958.     'c' to change the same selections instead of yank, the behavior seems
  959.     different.  Let me clarify:
  960.  
  961.         I) Change a single line NOT including the eol, ie, like 'c$'
  962.            1. I type 'cq$q' to change the line all the way to the eol but
  963.           don't want to include the eol.
  964.            2. This deletes all the way to the end of the line and I can
  965.           now type like normal.
  966.  
  967.         II) Change a single line including the eol (no equiv. in vi?)
  968.            1. I type 'cqjq' to change the line all the way to the eol and
  969.           want to include the eol in the deletion.
  970.            2. This deletes the entire line including the eol, shifts the
  971.           next line up to the cursor and I can now type the replacement
  972.           text.
  973.  
  974.     The behavior for 'd' and other quoted-motion operations is similar.
  975.     The 'yq' behavior doesn't seem logical.  Do I just not understand it
  976.     correctly?
  977.  
  978. [I've seen a case of off-by-one on end of selections, possibly related - tom]
  979.  
  980. -- 96-11-09 (tom)
  981.  
  982. modify xvile blink_interval to use 2/3 duty-cycle
  983.  
  984. -- 96-11-21 (Philippe Le Foll <phillf@fridu.com>)
  985.  
  986.     Would you know why 'vile' break GNU bash on NT.
  987.  
  988.     Vile Readme tell than vile give back the tty in state in find it it
  989.     look not being true under NT.  And if you start vile from bash when
  990.     comming back you loose the echo on command line.
  991.  
  992. -- 96-11-22 (tom)
  993.  
  994. it should be possible to recode the tcap.c mouse-motion to use 'select()' to
  995. check for the user holding down the mouse button, and use _that_ to control a
  996. fake scrolling in the general direction of the mouse.
  997.  
  998. -- 96-12-04 (Hans J. Greub" <hgreub@teleport.com>)
  999.  
  1000.     I am trying to get vile on nt or xvile on an rs6000 workstation to
  1001.     colorize perl syntax.  I use the color_readhook macro and the perl
  1002.     filter.  Now both on the PC and xvile I can get vile to use italics,
  1003.     but I can not get it to use color just bold face.  For xvile I defined
  1004.     in the .Xdefaults and .Xresources file the following:
  1005.  
  1006.         XVile.color.fcolor1: red
  1007.         XVile.color.fcolor2: green
  1008.         etc
  1009.  
  1010.     and then used xrdb to read in the new .Xdefaults or .Xresources file
  1011.     but no luck.  Xvile compiler just like a charm.  Do I have to
  1012.     (re)compile xvile with different switches?
  1013.  
  1014.     On nt I can set the forground and background color with the set
  1015.     commands.  In xvile I can control the fore/background cursor etc colors
  1016.     through the .Xdefaults or the command line switches.  So on both
  1017.     systems I am able to get fore/background color, but I cann't get the
  1018.     color attributes to work.  Only the boldface and italics attributes
  1019.     work.  Do the color attributes only work with certain fonts or are the
  1020.     default color attributes mapped to bold face?  If this is the case how
  1021.     can I override the the default color attributes?
  1022.  
  1023. -- 97-01-10 (tom)
  1024.  
  1025. should cut-down the special-case for VMS $PATH, possibly merging with
  1026. $search-path.
  1027.  
  1028. -- 97-01-15 (tom)
  1029.  
  1030. allow modelines to be colored (i.e., separately from the window contents)
  1031.  
  1032. -- 97-01-17 (tom)
  1033.  
  1034. add show-marks command, make it per-window dynamic.
  1035.  
  1036. -- 97-01-17 (tom)
  1037.  
  1038. probably should use WINMARK logic, but it's too late (pre-7.0) to do this now.
  1039.  
  1040. -- 97-01-17 (tom)
  1041.  
  1042. mouse-clicking should set the position so I can use ` or ' to jump back.
  1043.  
  1044. -- 97-01-18 (Paul Fox <pgf@foxharp.boston.ma.us>)
  1045.  
  1046.     another one i saw this afternoon:  i got into a state where typing
  1047.         ":!rm append"
  1048.     in an attempt to remove a file named "append" gave me
  1049.         "[Improper line range]"
  1050.     i was able to clear the condition with
  1051.         ":!  ^H^Hrm append"
  1052.     i haven't been able to reproduce this one.
  1053.  
  1054. -- 97-01-19 (Abraham V. George" <ageorge@ERC.MsState.Edu>)
  1055.  
  1056.     While working with huge src files I find it very convenient to keep
  1057.     bookmarks.  If I use markers, i would loose them if I were to re-open
  1058.     the file.  One way I get through it is to make a book mark file of
  1059.     'tags' file format.  I can then get to that src line the same way I use
  1060.     ctags reference.
  1061.  
  1062. -- 97-01-23 (Clayton Weaver <cgweav@eskimo.com>)
  1063.  
  1064. reports problem running a curses application within a shell buffer, wants
  1065. documentation clarified.  Shell buffers, since they are the output from
  1066. redirecting stdout and stderr, won't look like the curses application intended.
  1067. (And since they don't accept interactive input, the curses application won't
  1068. work well, even when stdin is reconnected to /dev/tty).
  1069.  
  1070. -- 97-01-25 (tom)
  1071.  
  1072. when filtering, etc., via a pipe, we're interruptible and may be killed (at
  1073. least when running in gdb).
  1074.  
  1075. -- 97-02-09 (tom)
  1076.  
  1077. should add gcc's -Wwrite-strings warnings
  1078.  
  1079. -- 97-02-10 (tom)
  1080.  
  1081. on VMS, we don't get filename completion with "~", since that's not processed
  1082. in glob.c
  1083.  
  1084. -- 97-02-26 (Andy Harper <A.HARPER@kcl.ac.uk>)
  1085.  
  1086.     Under VMS, the location of the package should be in a rooted directory
  1087.     tree, let's say VILE_ROOT:[000000], with subdirectories for VAX
  1088.     executables [BIN_VAX], Alpha executables [BIN_ALPHA], documentation
  1089.     [DOC] and configuration [CONFIG].
  1090.  
  1091. [I believe he's suggesting it be installed this way - tom]
  1092.  
  1093. -- 97-03-08 (Otto Lind <otto.lind@softwire.com>)
  1094.  
  1095. I've been a user of vile since vile-3.33, and have noticed an obnoxious
  1096. bug which has appeared in later versions (I'm at 7.0).  If you try and
  1097. execute the vi sequence:
  1098.  
  1099.         1,$s:/:_:
  1100.  
  1101. it reports "[No pattern.]" when pressing the first ':'. The following
  1102. does work:
  1103.  
  1104.         1,$s^/^_^
  1105.  
  1106. But my fingers are hardwired to use : as the substitution delimiter.
  1107.  
  1108. -- 97-04-02 (Clark Morgan <cmorgan@aracnet.com>)
  1109.  
  1110. type this command (use path approp for your version of win95):
  1111.  
  1112.       :w !c:\windows\command\more
  1113.  
  1114. ...  vile should pipe the buffer to the more command and permit the user
  1115. to scroll through the text in a "subshell" and then print a
  1116. [Press return to continue] prompt when more exits.  But instead, vile
  1117. writes no output to the bottom of the screen and does not prompt for user
  1118. input.  It's as if the entire pipe operation was discarded.
  1119.  
  1120. [98-03-17: Fixed when w32pipes mode is enabled.  Otherwise, write pipes
  1121. are badly broken for DOS and all variants of Windows.]
  1122.  
  1123. -- 97-04-23 (Ron Olsen <ronolsen@lucent.com>)
  1124.  
  1125. I recently built version 7.0h of vile and xvile on my UnixWare 2.03 system.
  1126.  
  1127. vile and xvile (X11 version) seem to work well, but I'm having a problem with
  1128. filename completion with the MOTIF/menu version of xvile:
  1129.  
  1130. I have to hit TAB three times to get the list of possible completions, and then
  1131. when I enter the completion and hit Enter, xvile ignores the Enter key until I
  1132. use the mouse to scroll a window, and then hit Enter again.  It looks as if
  1133. there are circumstances in which keyboard input is being ignored.
  1134.  
  1135. I also have minor pixelization problem with the MOTIF version:  a thin red
  1136. border gets drawn around my window the second time I hit TAB during filename
  1137. completion.
  1138.  
  1139. -- 97-04-30 (tom)
  1140.  
  1141. Piping to vile from the command line in WinNT console works, but the mouse
  1142. doesn't work after reopening the console.
  1143.  
  1144. -- 97-05-16 (Richard A Ward <wardra@nb.rockwell.com>)
  1145.  
  1146. I just started using vile 7.1 and I think there may be a new bug.  When I
  1147. delete a large number of lines and try to undo, vile seems to hang.
  1148.  
  1149. -- 97-05-25 (Guido Socher <eedgus@aken104>)
  1150.  
  1151. Quoted motion should be usable as ranges for the colon commands.  I.e., you
  1152. type "q:  motion-command q" and only complete lines are marked.  The cursor
  1153. jumps to the command input line as soon as you type the final q and prints the
  1154. range (e.g., 3,28).
  1155.  
  1156. -- 97-06-05 (tom)
  1157.  
  1158. The 'map' functions should allow mappings with embedded nulls.
  1159.  
  1160. -- 97-06-12 (Adam Denton <adenton@genre.com>)
  1161.  
  1162. I often have two vile windows open w/ different files in each.  It is
  1163. difficult, however, to make both windows have the SAME file from this point, as
  1164. if you repond to the "_" (underscore) command with a file that's in another
  1165. window, vile doesn't put that file in the current window; it simply changes you
  1166. to the other window.  So I end up killing the extra window and re-making it
  1167. (^^K ^^X-2) whenever I need 2 views of the same file, which is quite often.
  1168.  
  1169. [i know of no way to force this.  it annoys me too.  i can picture two
  1170. possibilities:
  1171.     1) a command that forces the current window to a particular buffer, or
  1172.     2) a command that forces the current window to its _previous_ buffer, since
  1173.     most of the time i want this i a) had two views on a buffer,
  1174.     b) typed ":e someotherfile", and now c) want to get back to my
  1175.     two views, with the cursor position correctly.  i'm not sure how
  1176.     easy or natural it would be to restore the cursor position with
  1177.     option 1).
  1178.  
  1179. paul]
  1180.  
  1181. -- 97-06-24 (Peter Gallasch <gal@adv.magwien.gv.at>)
  1182.  
  1183. No core dump was made, and no file in /tmp/ was created
  1184.  
  1185. [Reports a problem where xvile 7.1 exited with SIGIOT, no apparent reason.  I
  1186. tried duplicating it, with limited success:  after running several hours with
  1187. Purify, xvile exited (I think the linewrap logic is involved, he uses it in his
  1188. .vilerc).  However, I'd not told Purify to follow child processed (which is
  1189. needed for X).  Doing that, I had no repeat of the problem.  - tom]
  1190.  
  1191. -- 97-06-27 (Curt Smith <csmith@ATLANTA.ViewCall.net>)
  1192.  
  1193. One xvile problem that only manifests itself on svr4 boxes is that when
  1194. exec'ing a shell via:  ^x!  or reading in a new file with wild cards, xvile is
  1195. sent a SIGSTP due to an attempt to fool with stdout/stderr or some such?
  1196.  
  1197. This problem has come and gone and doesn't exist on non-SVR4 systems like
  1198. Linux, DEC Unix that I've issued.  Does exist on UnixWare, NCR Unix and
  1199. Solaris.
  1200.  
  1201. I had verson of 6.x xvile that did not have this problem but had other X
  1202. problems.  I compiled 7.0 and now this problem is back.
  1203.  
  1204. [the fix for this is to use the +fork option, or use the forkOnStartup resource
  1205. since spawning a new xvile process establishes a new process group - tom]
  1206.  
  1207. -- 97-07-07 (Larry Gensch <gensch@zk3.dec.com>)
  1208.  
  1209. I have noticed another oddity in the 7.1 version of vile:  I use the window
  1210. manager fvwm2.0.45, and use the following focus policies:
  1211.  
  1212. Style "*"    ClickToFocus, RandomPlacement, SmartPlacement
  1213. GlobalOpts    ClickToFocusPassesClick,ClickToFocusRases
  1214.  
  1215. When xvile is launched from an xterm, it occasionally doesn't auto-focus like
  1216. it used to.  In other words, I have always expected xvile to become the window
  1217. with the focus when it pops up (even if the cursor isn't in the window).  Has
  1218. something changed between the last 6.x version and version 7 that would cause
  1219. this behavior?
  1220.  
  1221. -- 97-08-18 (Paul Laub <P_Laub@fccc.edu>)
  1222.  
  1223. The setting readonly-on-readonly fails to work in dos (vile 7.1).  I want to
  1224. put both
  1225.  
  1226.     set readonly-on-readonly
  1227.     set view-on-readonly
  1228.  
  1229. in vile.rc and have them work.
  1230.  
  1231. -- 97-08-26 (Ed Henderson <Ed.Henderson@micron.com>)
  1232.  
  1233. I have been using vile for quite some time now. I use the file/function
  1234. name completion a lot.
  1235.  
  1236. Recently I started using Solaris. Now when I press Tab the vile (xvile)
  1237. window enters some sort of selected state. The border changes to include
  1238. a thin highlighted region around the inside perimeter, and futher keystrokes
  1239. have no effect. A second press of the tab key clears this condition.
  1240.  
  1241. When completing a filename, I must press tab once, which completes the name
  1242. and enters the selected state, then press tab again to clear the selected
  1243. state. I generally hit tab one too many/few times and am already typing the
  1244. next 10 commands :-), so I get really screwed up.
  1245.  
  1246. -- 97-09-02 (tom)
  1247.  
  1248. The majormode code leaks memory in the qualifiers (e.g., suffixes and
  1249. preamble).
  1250.  
  1251. -- 97-09-04 (tom)
  1252.  
  1253. format-til does not work on rectangular regions (it should also take
  1254. into account the comment-prefix).
  1255.  
  1256. -- 97-09-11 (Keith Williams <kurris@hotmail.com>)
  1257.  
  1258. In xvile, do the following:
  1259.  
  1260.     - select a word with the mouse (double-click)
  1261.     - move the cursor to a line above the selection (ie: type "kkk")
  1262.     - open a line (either 'o' or 'O')
  1263.     - note that the text and selection behave correctly
  1264.     - press ESC and then undo the line opening
  1265.     - note that the text moves up, but the selection does not!
  1266.  
  1267. -- 97-09-16 (lar3ry gensch <lar3ry@tiac.net>)
  1268.  
  1269. The new menu code puts a tiny bar across the top of the screen even if no menus
  1270. are defined.  That is, if I do not create menus but the menuing code is enabled
  1271. in xvile, it will still put up a tiny (5- or so- pixel) menubar without any
  1272. menu buttons in it.  This is visually distracting and wastes some screen
  1273. real-estate.
  1274.  
  1275. -- 97-09-17 (Robert Chady <chady@concentric.net>)
  1276.  
  1277. There is one feature that I have not been able to find in vile.  Was wondering
  1278. if you could tell me if I'm missing it, or if it really isnt there.  If it isnt
  1279. there, maybe you could put it in :)
  1280.  
  1281. The feature is the ability to have reverse wraparound.  This is for when you
  1282. backspace to the beginning of the line, rather than have to exit edit mode, go
  1283. into command mode, move up a line, and continue erasing the line, have it
  1284. automatically reverse wraparound.  This is similar to emacs/joe/etc/etc and is
  1285. a very nice feature when you are trying to edit part of a sentence that is on
  1286. multiple lines.
  1287.  
  1288. [the arrow keys and others that generate escape sequences such as home/end
  1289. can move the cursor around in edit mode, though this is not exactly what
  1290. he's asking for - tom]
  1291.  
  1292. -- 97-11-12 (tom)
  1293.  
  1294. have seen recent references to {min} {,max} and similar in regular expressions
  1295. for POSIX vi.  I want that.
  1296.  
  1297. [98-01-19]
  1298. have a partial implementation, will integrate after 8.0 (winvile and minibuffer
  1299. are higher priority).
  1300.  
  1301. -- 97-11-12 (Scott Waldon <waldon@engineous.com>)
  1302.  
  1303. I was introduced to vile about 2 years ago and am really enjoying using it.
  1304. However, there is one little but very anoying bug that I am experiencing.  I
  1305. switched to using vile about the same time that I switched to CDE and dtterms
  1306. (instead of xterms).  In a dtterm the status line on the bottom is constantly
  1307. overwritten by some arbitrary line from the file forcing me to ^L constantly to
  1308. keep from being confused by stray "}" or other statements...
  1309.  
  1310. ...Essentially, open any file, goto the bottom such that the last line lines up
  1311. just above the message line.  Then <Shift>H and <k> which should scroll the
  1312. screen down by one and overwrite the message line.  When I was capturing the
  1313. script output it also did it on the scroll down as well.
  1314.  
  1315. [this is a bug in dtterm:  for example, scrolling lines 1-22 will cause line 23
  1316. to be written to line 22 rather than clearing line 22.  The fix is to disable
  1317. scrolling regions (csr) in the terminfo description - tom]
  1318.  
  1319. -- 97-11-27 (tom)
  1320.  
  1321. should make tags-stack based on a buffer rather than its struct so I could
  1322. simply kill it.
  1323.  
  1324. -- 97-12-03 (tom)
  1325.  
  1326. The --without-shell configure option is experimental; note that a genuinely
  1327. secure editor should not allow directory names to be specified (but I think
  1328. that's the only omission).
  1329.  
  1330. -- 97-12-03 (tom)
  1331.  
  1332. EMX configuration looks ok (function keys, pipes, name-completion, color),
  1333. except that there's nothing to allow changing to a different device (e.g.,
  1334. "c:").  Must check/see if EMX supports that.  The termcap files distributed
  1335. with EMX are incomplete & incorrect (should we distribute our own?).
  1336.  
  1337. -- 97-12-03 (tom)
  1338.  
  1339. Recently investigated two "POSIX" layers for WinNT:  gnu-win32 b18 and UWIN
  1340. 1.33 Neither is suitable for production use (both are still in alpha), so I'll
  1341. only make notes.  I ran both of these on a longname filesystem:
  1342.  
  1343. gnu-win32
  1344.     + bash was reluctant to run the configure script (and inconsistent;
  1345.       sometimes "sh configure" worked, other times "./configure").
  1346.  
  1347.     + configure script had to be "helped" since the tests for killpg,
  1348.       etc., broke (process never returned).
  1349.  
  1350.     + the fcntl(0, F_SETFL, kbd_flags|O_NDELAY) call for tttypahead()
  1351.       returns success though it does nothing.  I stubbed it out to
  1352.       get a workable program.
  1353.  
  1354.     + the "vt100" terminal emulator is limited-functionality (less, even,
  1355.       than ANSI.SYS).
  1356.  
  1357.     + server pathnames begin with "//".  There is some old code to support
  1358.       Apollo (one of the sources that M$ copied), which seems to work for
  1359.       this purpose.
  1360.  
  1361. UWIN:
  1362.     + the configure script mostly ran (though the previous version could
  1363.       not run sed for constructing config.h).
  1364.  
  1365.     + 'environ' did not seem to be present (there's no configure test for
  1366.       that yet).
  1367.  
  1368.     + the isready_c macro has to be tweaked (it doesn't correspond to any
  1369.       of the other flavors).
  1370.  
  1371.     + appears to be same "vt100" emulator as gnu-win32 (perhaps it is).
  1372.  
  1373. -- 97-12-08 (paul)
  1374.  
  1375. as far as i can tell, procedures now share a namespace with built-in
  1376. functions, is that right?  i see that if i "source pictmode.rc" i no longer
  1377. have to type ""run pic".  i can just type ":pic" instead.  this is neat.
  1378.  
  1379. questions:
  1380.     - can i bind a key to the new command "pic" at this point?  i don't
  1381.     seem to be able to.  it seems like macros would be obsolete if
  1382.     i could do this.
  1383.  
  1384.     - can i define a procedure with acts as an "operator"?  i.e. can i
  1385.     define a procedure which should be named "xxx-til"?  i can imagine
  1386.     that with the perl hooks, it will be very tempting to write new
  1387.     buffer-filtering stuff in perl (like sean's enhanced paragraph
  1388.     formatter), and it would be really nice to define those as
  1389.     operators (even if only line-oriented operations were supported, that
  1390.     would be a big win), and bind them to a key.
  1391.  
  1392. -- 97-12-10 (Ilya Zakharevich <ilya@math.ohio-state.edu>)
  1393.  
  1394. In article <199712091406.JAA18712@postman.opengroup.org> you write:
  1395. > Highlights since 7.2:
  1396. >       + beginnings of perl interface
  1397.  
  1398. Perl needs (to make the debugger visual) a file viewer which can be accessable
  1399. both by user, and by the *driver* program (say, via a pipe).  Is it possible to
  1400. use vile for this (start it with an option to read commands from a pipe)?
  1401.  
  1402. An ability to highlight current line and use different colors for breakable
  1403. lines and lines with breakpoints would be also welcome.
  1404.  
  1405. >     + change $shell to use $COMSPEC on OS/2, MS-DOS, etc.
  1406.  
  1407. Hmm, I think it is a big loss.  (Though I have no idea what was the previous
  1408. state.) The only reasonable way is to use VILE_SHELL, if not defined, then
  1409. SHELL, if not defined, then use COMSPEC.
  1410.  
  1411. This gives enough flexibility on both the systems which like *nixish access
  1412. from *nixish tools, and those who do not.
  1413.  
  1414. -- 97-12-15 (Billy Little <billy_little@hso.link.com>)
  1415.  
  1416. is there any way to get the highlighting behavior when the highlighting begins
  1417. with a mouse double-click to behave the same way it does when in an xterm?
  1418. Specifically, if I double-click on some text in an xterm window, and without
  1419. releasing the mouse button after the second click, begin moving the pointer,
  1420. the xterm will highlight only the text associated with whole words.
  1421.  
  1422. -- 98-01-30 (Matthias Buelow <token@wicx50.informatik.uni-wuerzburg.de>)
  1423.  
  1424. things about vile that would be nice...
  1425.  
  1426. Backspacing over the beginning of line (at least when a newline has been
  1427. inserted in the current insertion/append command, like in vi) and something
  1428. like a jump-scroll (scrolling not one line but a couple of lines when going
  1429. over the last line of the current page, like in emacs) are imho a good idea.
  1430.  
  1431. ...yanking text (for example, yanking to mark) could move the cursor to the
  1432. mark instead of keeping it at the current location (that would be like vi does
  1433. it).
  1434.  
  1435. -- 98-02-08 (tom)
  1436.  
  1437. Two users report a problem with xvile linked with Motif 2.0 on Linux.
  1438. (John Gotts <jgotts@engin.umich.edu> and Gary Ross <gdr@hooked.net>).
  1439.  
  1440. I am unable to reproduce the bug, but did find a bug in Purify which caused
  1441. realloc to clear its argument when invoked immediately after a fork.
  1442.  
  1443. According to these reports, the x_open function is being invoked twice, which
  1444. is incorrect; it breaks initialization, causing the scrollbar data to be null,
  1445. resulting in a core dump.
  1446.  
  1447. On the basis of earlier reports (and from reading news groups) I suggested that
  1448. it might be a conflict with glibc2 vs libc5 (no), that the OPT_WORKING code
  1449. might be a problem (no), and that forking xvile might be a problem with Motif
  1450. (no).  Compiler optimization level may be related (both reports were for -O2
  1451. and up).
  1452.  
  1453. [98-05-27]
  1454. Revisiting this, another possibility is that the x_preparse_args(), which
  1455. initializes the display causes a ConfigureWindow event, which is initializing
  1456. the scrollbar arrays before x_open is actually called - but only for some
  1457. systems (e.g., Motif 2.x).
  1458.  
  1459. [98-06-16]
  1460. After upgrading to gcc 2.7.2.3, I found that it is due to a bug in gcc; when
  1461. optimizing it loses some code.  Turning off optimization makes the problem go
  1462. away (tom).
  1463.  
  1464. -- 98-03-11 (Richard A Ward <wardra@rss.rockwell.com>)
  1465.  
  1466. I sometimes use a global command like
  1467.  
  1468.     :g/LtADI/.-1,.+1d
  1469.  
  1470. to delete a multiple line groups.  A file segment follows that I would use such
  1471. a command on.  Vile doesn't allow this command.  Vi does.
  1472.  
  1473. -- 98-04-12 (tom)
  1474.  
  1475. OS/2 pipes hang in a write-to-pipe (nothing to do with recent changes for
  1476. Win32).  The EMX configuration can read/write pipes.
  1477.  
  1478. OS/2 mouse code probably eats too many CPU cycles; since coding that, I've
  1479. noticed that OS/2 is sometimes reluctant to switch windows vs EMX windows.
  1480.  
  1481. -- 98-05-12 (Sean Ahern <ahern@llnl.gov>)
  1482.  
  1483. I've got some characters in a file that are showing up as \x93.  I'd like to do
  1484. a search and replace to change them to something else.  I can insert these
  1485. characters just fine with the ^VNNN method.  However, I can't seem to type them
  1486. in the mini-buffer as something to search for.  All I end up getting is the
  1487. three-letter string "x93" as the search pattern.
  1488.  
  1489. -- 98-05-25 (tom)
  1490.  
  1491. if I edit a :<number>, it doesn't necessarily get interpreted as a jump to line
  1492. <number>.
  1493.  
  1494. [98-07-27] checking this, I don't see that aspect, but do see that I cannot
  1495. edit a :<number> with an arrow key, since the arrow causes the <number> state
  1496. to be terminated, and start on the name.  There'll always be the seam, but I
  1497. might be able to fix this by tinkering with eol_range so it would accept
  1498. left/right arrows.
  1499.  
  1500. -- 98-05-27 (Kevin Buettner)
  1501.  
  1502. Position yourself at the end of the makefile for vile or xvile.  Search for
  1503. ".*".  (No double quotes.) Then hit 'n'.  Try it repeatedly.  Notice that you
  1504. won't wrap to the beginning of the buffer.
  1505.  
  1506. BTW, this same behavior occurs for both '^' and '$' as search patterns.  Note
  1507. that both of these are zero width assertions.  Also note that '.*' can match
  1508. the empty string.
  1509.  
  1510. -- 98-05-30 (Radek Liboska <liboska@tereza.uochb.cas.cz>)
  1511.  
  1512. Do you plan to add/(to correct?) support for deadkeys to xvile?
  1513.  
  1514. The problem is here:  the usage of latin-2 characters is problematic due to
  1515. impossibility to insert characters like "r acute", "u circle" and many others,
  1516. e.g.  all capitals
  1517.  
  1518.  (Aacute...) from the keyboard.
  1519.  
  1520. I wrote a map that works correctly (r=  =  racute,
  1521.  
  1522.  R+  =  Rhatchek), it's OK, however the more elegant method
  1523. is to use Xkb, not such keycodes map.
  1524.  
  1525. Xvile by default, without the map, reads and displays latin2 characters
  1526. correctly, as they are typed (it's necessary to set setenv LC_CTYPE cs before
  1527. the xvile is started - OK) With one mistake:  the deadkey (=/+) does not acts
  1528. like deadkey.  It inserts ' or hatchek (V) and after then the letter.  (e.g.
  1529. 'A instead od ┴).  Maybe it is an error in X.  But it must can be solved.
  1530.  
  1531. -- 98-06-16 (Jim Crigler <crigler@seo.com>)
  1532.  
  1533. This may be specific to the fonts I'm using.  When I compiled xvile
  1534. with
  1535.         ./configure --prefix=/usr/local --with-perl --with-screen=Xaw
  1536.         make
  1537. on Linux (RH5), I can't see the decenders from g, q, y, etc.  This happens with
  1538. both lucidatypewriter and courier in various sizes.  On Solaris 2.4 at work
  1539. (same configure), it only happens with certain fonts.  In both cases I use only
  1540. "real" fonts.  Sizes:
  1541.  
  1542.     10/12/14/18  (18 is almost too big to be unusable)
  1543.  
  1544. Actually, here's some more data:  It seems to happen when the window gets
  1545. resized, either via the window manager or by setting the $font variable.  (I
  1546. have some font sizes preset in a pseudo-menu I bring up in the command line via
  1547. a key mapping.  It helps when someone else needs to look at code over my
  1548. shoulder to bump up to 18pt.) I frequently resize xvile via the window manager.
  1549.  
  1550. [I cannot reproduce this - tom]
  1551.  
  1552. -- 98-06-17 (Abigail <abigail@fnx.com>)
  1553.  
  1554. first:
  1555. I use c-mode all the time; but not for C coding.  I use it for Perl coding.
  1556. However, in Perl '#' is the start of a comment, and not the beginning of a C
  1557. pre-processor directive (if at the beginning of the line).
  1558.  
  1559. I want '>>' to shift line starting with '#' as well, and don't want the cursor
  1560. to jump to column 0 when typing '#' as the first non-whitespace char.  Hence, I
  1561. always #ifdef out the relevant sections of the code that takes care of this
  1562. special handling.
  1563.  
  1564. another:
  1565. If you just typed a line of indented text, and have autoindent on, and you hit
  1566. return, the cursor goes to the next line, and is lined up with the previous
  1567. line.  Just as it should be.  Now I use backspace because I want to stop
  1568. indentation - or at least have less indentation.  However, if I hit return
  1569. after hitting the backspace key a few times (and no other character in
  1570. between), the cursor lines up again with the original indented line - not with
  1571. the backspaced one.
  1572.  
  1573. Wouldn't it be nice to have an option of "aligning" with the blank line?  Such
  1574. that if you backspace away indentation, then hit return, vile remembers you
  1575. wanted to decrease indentation?
  1576.  
  1577. -- 98-06-18 (Brian Moore <bem@news.cmc.net>)
  1578.  
  1579. I want to be able to do:
  1580.  
  1581. define-mode mail
  1582.     define-submode mail suffixes \\(^\\(/tmp/mutt-[a-z]\\+-[0-9]\\+-[0-9]\\+\\)\\|\\(.followup\\|.letter\\)\\)$
  1583.     define-submode mail wm 8
  1584.     define-submode mail read-hook "del-sig"
  1585.  
  1586. In short, it'd be cool to be able to set hooks based on suffixes or other
  1587. signs-o-mode.
  1588.  
  1589. It'd be a bit cleaner than hacking '~if ¬ &seq $majormode "mail"'
  1590. stuff at the start of a procedure.
  1591.  
  1592. -- 98-06-23 (Quang Ngo <quang@usa.net>)
  1593.  
  1594. Watcom compiler version 10 has a very nice vi editor.  It allows you to
  1595. scroll the buffer up/down 1 line using the ^E and ^Y while in the editing
  1596. mode, not just the command mode.  I find this very useful.  Vile only
  1597. supports these 2 keys in command mode.  Could you please add this feature?
  1598.  
  1599. next-buffer is there, but previous-buffer is missing.  ^^ or :e# goes back
  1600. to last buffer, but that's not quite the opposite of next-buffer.  Please
  1601. add this command too. ;-)
  1602.  
  1603. -- 98-06-24 (Clark Morgan)
  1604.  
  1605. If a vile user changes the value of a universal string mode (e.g.,
  1606. backup-style), the old value is carefully saved away in set_mode_value(), but
  1607. NOT _freed_ after the change.
  1608.  
  1609. -- 98-06-25 (Paul Fox)
  1610.  
  1611. officemate ... used to have his palette string set to:
  1612.     set palette "7 4 2 14 1 5 3 0"
  1613. somehow this in combination with his desktop colors gave him white on
  1614. white with vile.exe
  1615.  
  1616. [the number of colors increased to 16, making the palette too short.  we
  1617. should repeat the palette to fill out the number of colors, or set $ncolors
  1618. to match the palette - tom]
  1619.  
  1620. -- 98-08-18 (Kevin Buettner)
  1621.  
  1622. (Note to Tom:  We still need to add necessary support to vile so that
  1623. shell.pl will work.  At present, it only works with xvile.)
  1624.  
  1625. -- 98-08-21 (George <g12345@ibm.net>)
  1626.  
  1627. Is there a way to use a register (named or not) as a search key?  As in,
  1628. "aye  - can I search on "a?
  1629.  
  1630. [no - one can set the $search variable, but doing it from a register is
  1631. indirect - I should modify the user variables so that %a refers to register a,
  1632. etc.  - tom]
  1633.  
  1634. -- 98-08-21 (tom)
  1635.  
  1636. the [Registers] buffer "should" update '<' after each keystroke, but doesn't
  1637. seem to unless I do something call calls update(TRUE).
  1638.  
  1639. -- 98-09-01 (Otavio Exel <oexel@economatica.com.br>)
  1640.  
  1641. 1) is there a way to access the registers from inside a store-macro? I
  1642. mean the oposite of load-register; something like:
  1643.  
  1644.     setv %myvar $register-a
  1645.  
  1646. 2) let's say I have the string "s/foo/bar/g" in %myvar; is there a way
  1647. I can "play" this ex-command? something like:
  1648.  
  1649.     execute-ex-command %myvar
  1650.  
  1651. for some reason I don't want to use..
  1652.  
  1653.     load-register a &cat &cat ":" %myvar ^M
  1654.     execute-register a
  1655.  
  1656. 3) again, from inside a store-macro, how do I find out if there's a
  1657. region defined in the current buffer and, if possible, where the
  1658. region is?
  1659.  
  1660. -- 98-09-01 (Clark Morgan)
  1661.  
  1662. 1) Invoke winvile (8.0l for this test case). 
  1663. 2) Using the system menu, change font to r_ansi, pitch 9, normal. 
  1664.    Notice in the message line that winvile emits a status message 
  1665.    stating that the font has been changed to r_ansi -- so far, so good. 
  1666. 3) Change font to Courier New, pitch 9, normal. 
  1667.    Notice that the message line still says that the font has been changed 
  1668.    to r_ansi, even though winvile changed the font to Courier New. 
  1669.  
  1670. If I enable pop-up messages before step 1 and press the ':' key after  
  1671. step 3, I see that winvile has indeed recorded a separate (and correct) 
  1672. status message for each font change.  The bug here is that the second 
  1673. font status message is not flushed to the status line. 
  1674.  
  1675. -- 98-09-02 (paul)
  1676.  
  1677. my officemate just pointed out that showmatch in winvile doesn't. 
  1678.  
  1679. you can see that it pauses, but the temporary cursor position doesn't get 
  1680. flushed to the screen (or something like that). 
  1681.  
  1682. [I spent a couple of hours studying this without a solution.  If I call
  1683. Sleep(), the events are simply postponed until the timeout ends.  Possibly
  1684. waiting for an event of some sort would work - tom]
  1685.  
  1686. -- 98-09-03 (Clark Morgan)
  1687.  
  1688. -- one
  1689. I've got a case where visual-matches highlighting doesn't work. 
  1690.  
  1691.    :se visual-matches brightred 
  1692.    <colorize source file> 
  1693.    /pattern_x 
  1694.    n 
  1695.    N 
  1696.    <no problems so far, works great> 
  1697.    =             ; erase current visual-matches highlighting 
  1698.    n             ; whoops, no visual match highlight  <<< 
  1699.    /pattern_x    ; still no visual match highlight    <<< 
  1700.    /pattern_y    ; visual match highlight works again 
  1701.    /pattern_x    ; still working 
  1702.  
  1703. -- another
  1704. Invoke winvile. 
  1705. Set flash. 
  1706.  
  1707. Every time I search for: 
  1708.  
  1709.    /^pattern 
  1710.  
  1711. winvile flashes the screen.  Simply pressing '/' followed by '^' causes 
  1712. an immediate flash. 
  1713.  
  1714. Not a problem with console vile. 
  1715.  
  1716. -- 98-09-03 (tom)
  1717.  
  1718. wishlist:
  1719. implement ~foreach iterator.  Add CMDFUNC flags to macro definition
  1720. and to describe-bindings view.  Add $#, $*, $0 ... $$n to variables.
  1721.  
  1722. -- 98-09-07 (Clark Morgan)
  1723.  
  1724. When I invoke winvile from a dos box like so: 
  1725.  
  1726.     winvile -geometry 80x37 
  1727.  
  1728. I notice that 90% of the time the mode and commmand lines are positioned
  1729. beneath the win95 task bar.  This requires that I use the mouse to move the
  1730. editor's window up a half-inch or so.  'Twould be nice if the editor's entire
  1731. working area was visible. 
  1732.  
  1733. Here's the relevant font info from my vile.rc: 
  1734.  
  1735. ~if &sequal $progname "winvile" 
  1736.     set-variable $font "courier new,9" 
  1737.     ... 
  1738. ~endif 
  1739.  
  1740. I'm using a 17-inch monitor, 1024x768, 256 colors. 
  1741.  
  1742. -- 98-09-09 (tom)
  1743.  
  1744. xvile doesn't build with unproto on SunOS because I get a -B option that K&R cc
  1745. doesn't grok.
  1746.  
  1747. -- 98-09-24 (Clark Morgan)
  1748.  
  1749. If I attempt to set the geometry to 80x39 when using the font string 
  1750. "r_ansi,8", the number of rows gets coerced to 37 in ResizeClient.
  1751.  
  1752. [there's something in the initialization which is using the original fontsize
  1753. to determine the limit on the number of rows - tom]
  1754.