Last updated:	26th July 1991

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

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.
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. Support the Left function keys under xcr.
15. Add cursor color to colors() macro.
16. Undo all edits to current line.
17. In keylib add command to allow macro to be current without executing
    it.
18. [\n]+ matches nothing.
19. When executing a sum macro it needs to set the scrap type.
20. brace.cr -- add support for begin/end.
21. Ctrl-keypad-minus conflicts with scraps and the BRIEF stuff.
23. Should scroll lock more than 1 window.
24. Horizontal scrollbar
25. Mouse-based copy/paste + hilight.
26. File creating permissions.
27. BPACKAGES -- support C only for now.
28. All keys should be mapped in XCR.
29. Command line history bug.
30. Convert tabs <-> spaces throughout file.
31. Allow searching for currently hilighted text.

Known bugs:
===========
1. OS/2 version only. Occasional screen screwiness.
2. Some of the things on the wishlist.
3. 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.
4. Saving window state with borderless windows will not restore them properly.
5. 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.
6. When implementing a replacement macro, there is a scoping conflict
   for local variables vs. those in the passed parameter list.

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. 
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.
