+ ui: - fix up the min thumb size hack - long lines of text fail in draw-surface - only redraw dirty gadgets - faster mouse tracking - off-by-one error in pick-up? - closing ui does not stop timers - adding/removing timers automatically for animated gadgets - theme abstraction in ui - find out why so many small bignums get consed - use incremental strategy for all pack layouts where possible - multiline editing in listener - get stuff in examples dir running in the ui - text selection - clipboard support + tutorial: - multiline code snippets - s-expression text styling language - word wrap + misc - sigsegv handling on OS X: http://developer.apple.com/technotes/tn2004/tn2123.html#SECLIMITATIONS http://www.caddr.com/macho/archives/sbcl-devel/2005-3/4742.html http://www.caddr.com/macho/archives/sbcl-devel/2005-3/4764.html http://clozure.com/cgi-bin/viewcvs.cgi/ccl/lisp-kernel/lisp-exceptions.c?rev=1.9&content-type=text/vnd.viewcvs-markup - http keep alive, and range get - code walker & exceptions + ffi: - C structs, enums, unions: use new-style string mode parsing - alien/c-types.factor is ugly - smarter out parameter handling - clarify powerpc passing of value struct parameters - ffi unicode strings: null char security hole - utf16 string boxing - value type structs - bitfields in C structs - setting struct members that are not * - callbacks + compiler: - flushing optimization - fix fixnum/mod overflow on PowerPC - eliminate simplifier - intrinsic char-slot set-char-slot - [ [ dup call ] dup call ] infer hangs - declarations - the invalid recursion form case needs to be fixed, for inlines too - recursion is iffy; if the stack at the recursive call doesn't match up, throw an error - remove %fixnum-/>=, always use %jump-* form - remove %jump-t, use %jump-eq? f instead - kill dead code after 'throw' - better type inference + kernel: - better handling of random arrangements of html words when prettyprinting - friendlier .factor-rc load error handling - reader syntax for arrays, byte arrays, displaced aliens - out of memory error when printing global namespace - first time hash/vector is grown, set size to something big - merge timers with sleeping tasks - what about tasks and timers between image restarts - split: return vectors - specialized arrays - there is a problem with hashcodes of words and bootstrapping - delegating generic words with a non-standard picker - powerpc has weird callstack residue - instances: do not use make-list - vectors: ensure its ok with bignum indices - code gc - set-path: iterative - parse-command-line: no unswons of cli args - >c/c>: vector stack - tag: move from kernel-internals to kernel - word: when bootstrapping, 'word' var is not cleared - search: slow - investigate if rehashing on startup is really necessary - vectorize >n, n>, (get) - mutable strings simplifying string operarations - 2each, find*, subset are ugly - map and 2map duplicate logic + i/o: - buffer: instantiating aliens - faster stream-copy - reading and writing byte arrays - stream server can hang because of exception handler limitations - better i/o scheduler - utf16, utf8 encoding - fix i/o on generic x86/ppc unix - if two tasks write to a unix stream, the buffer can overflow + nice to have libraries: - regexps - XML - real Unicode support (strings are already 16 bits and can be extended to 21 if the need arises, but we need full character classification predicates, comparison, case conversion, sorting...) - full Win32 binding - Cairo binding