home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / useful / util / edit / vim / todo < prev    next >
Text File  |  1994-08-13  |  19KB  |  347 lines

  1. Known problems:
  2.  
  3. If file system full and write to swap file failed, get error message for
  4.     lnum > line_count?
  5. When editing same file in two xterms, in second type ":" at first wait-return
  6.     for ".swp file exists", at exit cursor is left at top of window.
  7. Windows NT: display is not always correct.
  8. Windows NT: CTRL-C in a child shell (created with ":sh" or CTRL-Z) kills Vim.
  9. MSDOS: When using smardrive a readonly floppy will cause problems. Test for
  10.     writable directory first?
  11. Some terminals start inverting at the position where the invert code is put.
  12.     This is not handled correctly. Remove 'weirdinvert' hack.
  13. ":s/\(.*\)/\1" on line with ^M should not replace ^M by linebreaks.
  14. Replace with 'r' should set last inserted text.
  15. BS in replace mode does not work correctly with et set and after inserting a TAB.
  16. In insert mode CTRL-O . does not repeat the last CTRL-O command but the insertion.
  17. Sometimes the time stamp in the memfile is old. May be caused by opening the 
  18.     file r/w when testing for readonly.
  19. When doing a CTRL-Z and typing a command for the shell, while Vim is busy
  20.     (e.g. writing a file), the command for the shell is sometimes eaten by Vim.
  21. Find out why screen size is changed in unexpected place for Bob Beresh.
  22.  
  23.  
  24. To be checked:
  25. Check '\n' at end of some : commands (that do not have TRLBAR).
  26. Check for '\\' at the start of search commands (undocumented vi feature).
  27. Environment name expansion for 'bdir' default value does not work?
  28. Usage of isspace() vi-compatible (compared to iswhite())?
  29. Terminal initializations compared to vi. "vs" used to make cursor very visible,
  30.     or for scrollbars (Webb)?
  31. MSDOS: After writing on a network the 'w' bit for others is set.
  32. When can the 'p' and 'P' command not be redone??
  33.  
  34.  
  35. Problems that will probably not be solved:
  36.  
  37. Prolem with HPterm under X (cosentino/2).
  38. Amiga: When using quickfix with the Manx compiler we only get the first 25
  39.     errors. How do we get the rest?
  40. Amiga: The ":cq" command does not always abort the Manx compiler. Why?
  41. Linux: A file with protection r--rw-rw- is seen readonly for others. The access()
  42.     function in GNU libc is probably wrong.
  43.  
  44.  
  45. Further extentions and improvements:
  46.  
  47. Add icon setting for xterm (riehm/69, mulder/iconname.set).
  48. Make command line arguments options to be combined after a single dash, eg "-nb".
  49. When started to edit another file, make message "file 1 of 8" different.
  50. When entering text, keep other windows on same buffer updated (when a line
  51.     entered)?
  52. Amiga: When 'r' protection bit is not set, file can still be opened
  53.     but gives read errors. Check protection before opening.
  54. Bind windows together, scrolling is done in both windows synchronous
  55.     (horizontally and vertically). Use CTRL-W b?
  56. Re-select last Visual selection with "v." (exactly same text, from '[ to ']).
  57. Don't write any pages into the swapfile until the buffer has been changed.
  58. Catch terminating signals and call ml_sync_all(): SIGHUP, SIGINT, SIGQUIT,
  59.     SIGILL, SIGABRT, SIGFPE, SIGPIPE, SIGALRM, SIGTERM, SIGBUS, SIGSEGV.
  60. Change ".swp" to ".vim", because it give a hint who created the file?
  61. Use termcap 'ts' and 'fs' entries for setting the window title. Check 'hs'
  62.     and use minimum of 'ws' (if present) and Columns to truncate the title.
  63. When writing check for file exists but no permission, "Permission denied".
  64. In dosub() regexec is called twice for the same line. Try to avoid this.
  65. When line is too long to fit on screen, don't display it.
  66. When inserting makes cursor go past end of screen, scroll up in insertchar().
  67. Window updating from memline.c: insert/delete/replace line.
  68. Optimize ml_append() for speed, esp. for reading a file.
  69. V..c should keep indent when 'ai' is set, just like <count>cc.
  70. In visual select mode: Inclusion or exclusion of char under cursor depends
  71.     on movement command. "vwd" and "dw" do the same???
  72. Find out why macros of Stephen Riehm are working strange.
  73. :s///p prints the line after a substitution.
  74. Make CTRL-R (insert register contents) also work in command line mode.
  75. Updatescript() can be done faster with a string instead of a char.
  76. Add arguments to ":args", like ":next".
  77. When searching with 'n' give message when getting back where the search first
  78.     started. Remember start of search in '/ mark.
  79. Add option that scrolls screen to put cursor in middle of screen after search.
  80. Add \! to search patterns: matches string that does not match previous atom.
  81. Screen updating is inefficient with CTRL-F and CTRL-B when there are long lines.
  82. Use 'backupdir' for all backup files if it starts with '>'.
  83. When writing a file, name it "foo.new". Then rename "foo" to "foo.bak" and
  84.     "foo.new" to "foo". If dir is not writable or on write error copy "foo"
  85.     to "backupdir/foo.bak" and overwrite "foo". Check for correct group/owner
  86.     and try to set it if not. NO: this breaks with hard links.
  87.     INSTEAD: make Amiga and MSDOS work like unix: first make copy of file, then
  88.     truncate and overwrite original file. Use an option for this, default
  89.     on for Unix, off for Amiga/MSDOS.
  90. Use CTRL-E and CTRL-Y in insert mode for scroll up/down?
  91. Uppercase characters in ex commands can be made lowercase?
  92. Add t_del, code for delete key (termcap 'kD') and maybe some other keys:
  93.     'kI' insert key, 'kL' delete line, t_bs 'bs', etc.
  94. Filtering a block should only apply to the block, not to the whole lines. When
  95.     the number of lines is increased, add lines. When decreased, padd with
  96.     spaces or delete?
  97. CTRL-V > should move the block, not whole lines.
  98. Add commands to move selected text, without deselecting.
  99. Add "p" command to swap selected text with unnamed buffer.
  100. Add "P" command to insert contents of unnamed buffer, move selected text to
  101.     position of previous deleted (to swap foo and bar in " + foo")
  102. In out-of-memory situations: Free allocated space in undo (after asking).
  103. 8-bit codes between 0x80 and 0xa0 cannot be typed directly (mostly msdos
  104.     problem). Need more codes for delete key and more function keys. Use
  105.     2-byte code? (see xvim).
  106. Insert octal numbers with CTRL-V o, hexadecimal with CTRL-V x and binary
  107.     with CTRL-V b.
  108. List mappings: Once with and without ^ and ~ (meta keys). Use "F1" and "PgUp"
  109.     for MSDOS default mappings.
  110. Add option that tells which characters to display directly, e.g.
  111.     ":set gr=32-126,140-244", others are displayed with ^ and ~ and +
  112. Add option to show character value in octal, decimal, hex and screen code.
  113. How does vi detect whether a filter has messed up the screen? Check source.
  114.     After ":w !command" a wait_return?
  115. Improve screen updating code for doput() (use s_ins()).
  116. With 'p' command on last line: scroll screen up (also for terminals without
  117.     insert line command).
  118. Amiga: ExpandWildCards in amiga.c: don't expand if there are no wildcards.
  119. unix: Speedup wildcard expansion of "*", "~" and "$": do it internally, more
  120.     complicated things can still be done with the shell.
  121. Only do wildcard expansion with 'wildchar' when entering a command that has a
  122.     file name as argument (:r :w :! :e :f :n)?
  123. Unix: When comparing two file names to see if they are the same file use stat()
  124.     and compare device/inode; much faster than FullPathName()
  125. In regexp.c: "\^" after "\|" or "\(" is start of line, and "\$" before "\|"
  126.     and "\)" is end of line.
  127. Remember the "last changed" time of the edited file and check it before
  128.     overwriting; another user may have changed it.
  129. Support for command lines longer than 256 characters (for EXINIT).
  130. Option for filter when reading/writing a file for compression or crypting.
  131. Option to set time for emsg() sleep. Interrupt sleep when key is typed? sleep
  132.     before second message?
  133. Delete message after new command has been entered and have waited for key.
  134. Add "next tag" command for tags that have multiple hits.
  135. Support static tags: first search for tags with current filename: "foo.c:bar",
  136.     then for global tags (without a filename).
  137. History stack for . command?
  138. Use insert/delete char when terminal supports it.
  139. With undo with simple line delete/insert: optimize screen updating.
  140. Optimize screen redraw for slow terminals.
  141. "edit" option: when off changing the buffer is not possible.
  142. Add "-d null" for editing from a script file without displaying.
  143. Add "-R" for readonly mode (ex has it).
  144. When writing to a readonly file, ask f