TO DO

Note that this is not a complete to do list. It mostly only lists bugs
and quirks that I need to fix eventually.

- perl: escaped regexp separators not highlighted

[error] java.lang.ArrayIndexOutOfBoundsException: 2757:-18
[error] 	at org.gjt.sp.jedit.Buffer.remove(Unknown Source)
[error] 	at org.gjt.sp.jedit.textarea.Selection$Rect.setText(Unknown Source)
[error] 	at org.gjt.sp.jedit.textarea.JEditTextArea.setSelectedText(Unknown Source)
[error] 	at org.gjt.sp.jedit.Registers.paste(Unknown Source)
[error] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[error] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[error] 	at java.lang.reflect.Method.invoke(Method.java:324)

- finish regexp syntax rules -- SPAN::END substitution
- why is binding F2 to 'build last target' broken?
- narrow to one line: select all: blows up
- C+[ -vs- C+OPEN_BRACKET
- close current area doesn't work
- favorites menu position of too far to the right
- use createMultilineLabel()
- memory indicator color settings lost in limbo
- rect select somewhat fucked
- A+# on OS X, need better modifier mapping on OS X
- load/save geometry: check for out of bounds
- ${ in Perl
- change indentPrevLine to indentOneLine and indentSubsequentLines
- try typing foo), put cursor after foo, type some more -- slowdown
- fsb: rename in place
- eliminate redundant scans and events when loading buffer
- make vfs listing faster
- fsb tooltip does not accept mouse clicks
- minor quicknotepad changes -- update docs
- add dockable window state change msg
- rect select and whitespace
- scroll horizontally when dragging into virtual space
- support start in virtual space too
- eval-for-selected-lines doesn't work with rectangular selection
- searching in a buffer w/ narrowed fold
- range-comment & rect select
- sometimes trying to extend a selection creates one all the way to the
  end of the buffer
- don't repaint whole selection when resizing
- move text utility methods to TextUtilities
- focus problem with hypersearch in floating window?
- offset manager: backwards gap movement
- NO_WORD_BREAK and NO_LINE_BREAK: need to think about this, is it worth
  keeping INVALID? report errors in some other manner?
- scroll to caret _still_ jumps around?
- plugin manager: install plugins, no restart, install another: deps bad
- plugin deps need JAR name, not plugin name
- first focus: show all files that were modified on disk, in a list
- add an option to not remove files from PluginManager.download?
- background tokens are slow

[error] AWT-EventQueue-0: Exception occurred during event dispatching:
[error] AWT-EventQueue-0: java.lang.ClassCastException: javax.swing.JButton
[error] AWT-EventQueue-0:       at
org.gjt.sp.jedit.gui.PanelWindowContainer.show(PanelWindowContainer.java:200)

  -- trying to show a non-existent dockable

- support multi-screen systems properly
  - windows need to be created on the same screen as their parent if
    possible.
  - setLocationRelativeTo(): ok
  - loadGeometry(): bad
  - dockable windows
  - getCenterPoint()
  - popup menus
- fix GUIUtilities.java to store maximisation state
- C+ENTER 1 ...
- fs browser: scroll to visible after setting divider location
- if loadMode() throws error, save of a mode file fails?
- expand fold: try to expand even if already expanded
- keyboard navigation of current directory, recent dirs, etc broken
- JDK 1.4 focus bugs
- dwm: not always focused correctly
- openFile(): can open two copies of the same buffer if a) remote b)
  canonPath != path
- recording 'evaluate for selected lines'
- custom stylesheet: no xmlns
- how to handle S+0-9?
- finish persistent splits code
- aborts not always fired
- globalColors setting:
  - help viewer looks ugly
  - selected borders in list, tree, table wrong colors
- evalutate for selected lines: > 1 selection per line
- undo: redo doesn't clear dirty flag if necessary
- BrowserView.reloadDirectory(): hardcoded design decisions
- C+e , and . insert , and . in the buffer, ditto for [ and ]
- motif l&f: shortcuts in menu items
- clean up VFSManager.errorOccurred() -vs- BufferIORequest.ERROR_OCCURRED
