Last updated:	12th June 1991

Things that are on my mind to implement. Any other suggestions greatly
welcome. Some of these ought to be on the wishlist...

1. scroll locking.
	Ability to scroll two windows by same amount for comparing files.

2. Searching/translating over line boundaries.
	Would make hex mode much better.
3. %t in printf for printing lists.
4. Detachable windows.
	Should have a CRISP window manager to allow creation and movement
	of popups.
5. wait_for() ==> REG_PROC_INPUT trigger.
	Not currently implemented properly, because of recoding
	of keyboard input stuff.
6. * and <Space> in file completion.
7. Describe macro library.
8. Document context sensitive help.
10. Figure out why command line history sometimes doesnt work.
11. How to specify the compiler command (Alt-F10)
12. Resizing window can create stupid window layouts.
13. Implement some form of syntax which allows the ICCCM cut/paste mechanism
    to work via the button events, rather than the current hardcoding.
14. Allow cursor past end of buffer to bottom of window.
15. Support the Left function keys under xcr.

Known bugs:
===========
1. OS/2 version only. Occasional screen screwiness.
2. The feeble mouse support that there is is not fully implemented or
   necessarily usable. You may even crash CRISP if you are not careful,
   so be warned. Only supports MS serial mouse (PC) or Xterm mouse
   escape sequences.
3. Some of the things on the wishlist.
4. Occasionally gets window sizes wrong when a SIGWINCH occurs.
   If you get this remove your .crstate file and try again. Sorry.
   Also saving window layout when borders not defined won't restore
   them properly.
5. Saving window state with borderless windows will not restore them properly.
6. Pushing back a keystroke which is part of an ambiguous sequence may
   cause characters to be handled in the wrong order. This is a difficult
   problem to resolve and would normally only occur whilst building a
   keyboard map. Problem is in which order various internal keyboard
   buffers need to be processed.

Wishlist
========
Things that I want to do but I feel are too complicated to achieve
at present without breaking everything!

2. Rewrite the whole of builtin.c and make parser SIMPLE, a la HP48SX,
   not like the British economy :-)
3. Get debugger working.
4. Implement a spreadsheet facility in the macro language.
5. Implement eval macro (to evaluate crunch language at run-time).
6. Implement TCP connection facility for real IPC. Something
   along the following lines need to be implemented. This may be
   a v2 feature. I want to support real-time data like Lotus 1-2-3
   and Contessa. Also I want to support binary data a la perl to
   talk peoples funny protocols.
	create_ipc [UDP TCP PIPE PROC] "[<>]addr"
	gethostbyname
	gethostbyaddr
	hostname
	receive "%4x%4x"
	sendto
	close_ipc
	signal_ipc
	read_ipc
	write_ipc
7. Implement fopen/fclose/etc (a la perl/awk) for file access without
   going through a buffer.
8. Make it go faster.
9. Implement support for all POSIX compliant functions (i.e. better looking
   than perl, but maybe same functionality).
10. crunch: Add structures/unions and proper arrays to crunch. 
11. crunch: Understand prototypes and validate them.
12. Implement folding.
13. Allow macros to be deleted rather than lose their memory.
14. Make CRISP totally resilient of malloc() fails. 
15. Support popup windows under X using real windows. Also allow other
    windows to be created.
16. Get borderless windows to work. Not sure how to do this yet
   still look pretty. Current scheme is horrid and completely buggy.
17. Build the crunch preprocessor into the code for portability, and hence
   support #brief...#endbrief.
