0.62: - gc call in the middle of some ops might affect callstack - sending ^C on socket - postpone errors until actual read/write op - vector-each/map examples - unparse examples - finish second practical - sbuf-hashcode - vector-hashcode - listener backspace overzealous - SIGBUS handler - handle division by zero - log-client: fix for native - multitasking [error] AWT-EventQueue-0: java.lang.NullPointerException [error] AWT-EventQueue-0: at sidekick.SideKickParsedData.getTreePathForPosition(Unknown Source) [error] AWT-EventQueue-0: at sidekick.SideKickParsedData.getTreePathForPosition(Unknown Source) [error] AWT-EventQueue-0: at sidekick.SideKickTree.expandTreeAt(Unknown Source) [error] AWT-EventQueue-0: at sidekick.SideKickTree.access$100(Unknown Source) [error] AWT-EventQueue-0: at sidekick.SideKickTree$1.actionPerformed(Unknown Source) [error] AWT-EventQueue-0: at javax.swing.Timer.fireActionPerformed(Timer.java:271) [error] AWT-EventQueue-0: at javax.swing.Timer$DoPostEvent.run(Timer.java:201) [error] AWT-EventQueue-0: at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178) [error] AWT-EventQueue-0: at java.awt.EventQueue.dispatchEvent(EventQueue.java:454) [error] AWT-EventQueue-0: at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201) [error] AWT-EventQueue-0: at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) [error] AWT-EventQueue-0: at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145) [error] AWT-EventQueue-0: at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137) [error] AWT-EventQueue-0: at java.awt.EventDispatchThread.run(EventDispatchThread.java:100) + tests: - java factor: equal numbers have non-equal hashcodes! - FactorLib.equal() not very good - do nset-nth, nremove-nth, nsubstitute, ninject - IN: format base: work with all types of numbers - bitwise operations - rethink strhead/strtail&co + listener/plugin: - completion - fedit broken with listener - maple-like: press enter at old commands to evaluate there + native: - read# - to_fixnum and friends: error on float - parsing should be parsing - describe-word - contains ==> contains? - telnetd: send errors on socket - enforce bottom-up in native bootstrap + interactive: - inspector links when describe called without object path - 'cascading' styles + JVM compiler: - tail call optimization broken again - don't compile inline words - recursive words with code after ifte - less unnecessary args to auxiliary methods - inlining tail-recursive immediates - direct stack access leaks memory on stack - unnecessary local allocation: max is instance var, but several methods get compiled. + misc: - compiled stack traces broken - namespace clone drops static var bindings - ditch map - ditch expand - set-object-path - more readable traces + httpd: - if user clicks stop in browser, doesn't stop sending? - log with date - log user agent - add a socket timeout - if a directory is requested and URL does not end with /, redirect - return more header fields, like Content-Length, Last-Modified, and so on - HEAD request - basic authentication, using httpdAuth function from a config file