CHANGES (16165B)
1 * DDsep13 picoLisp-3.1.4 2 Changed 'canvas' to '<canvas>' 3 Pass delay-argument to 'drawCanvas' 4 'grid' wrap flags 5 'ssl' timeout 6 'casq' flow function 7 Pilog Lisp call syntax with '^' 8 'read' preserves trailing white space 9 10 * 29jun13 picoLisp-3.1.3 11 'snapshot' in "lib/too.l" 12 'info' optional 'flg' argument 13 '+Swap' relation prefix class 14 Allow unlimited number of coroutines 15 Default coroutine stack segment size 1 MB 16 JavaScript canvas library 17 '+OnClick' GUI prefix class 18 Flight Simulator in "misc/rcsim.l" (64-bit) 19 Removed z3d/rcsim flight simulator (32-bit) 20 Bug in 'conc' (64-bit) 21 22 * 30mar13 picoLisp-3.1.2 23 'lisp' calls from 'native' in emulator 24 '<layout>' function 25 'fold' analog to 'lowc' / 'uppc' 26 'fold' second arg default zero 27 Removed 'dbg' startup script 28 Trim trailing spaces in "lib/form.js" 29 Bug in 'accept' on BSD 30 '+Hook2' index prefix class 31 Password hashing 32 'usec' optional 'flg' argument 33 JavaScript 'rd' in "lib/plio.js" 34 'bytes' function 35 Join multiple namespaces with 'symbols' 36 37 * 30nov12 picoLisp-3.1.1 38 Emacs-style editing with 'em' 39 Line editor arrow-key support 40 Changed from CTags to ETags format 41 Backtrace with 'trail' and 'up' (64-bit) 42 Changed semantics of token 'read' 43 '-server' function 44 64-bit emulator 45 '*CPU' global variable (64-bit) 46 Bug in 'collect' for 'fold'ed keys 47 File descriptor leak in 'dir' (64-bit) 48 Namespace support also in Ersatz PicoLisp 49 JavaScript 'lisp' calls 50 '+DbHint' GUI prefix class 51 Stack alignments (64-bit) 52 Native 'struct' function (64-bit) 53 double/float in 'native' structures (64-bit) 54 Allow 'zap' protected symbols outside 'pico' namespace (64-bit) 55 Bug in 'who' 56 57 * 10apr12 picoLisp-3.1.0 58 Generalized 'scl' 59 Pilog 'for/[2-4]' predicate 60 Bug in 'isLifeE_F' (64-bit) 61 Bug in 'firstByteA_B' (64-bit) 62 'httpGate' session bug 63 Simplified 'sigio' 64 Volatile 'NIL' property 65 Bug in 'fold' (64-bit) 66 Bug in 'db' for partial '+Aux' access 67 Bug in 'interface' (Ersatz) 68 'locale' optional arguments 69 70 * 30dec11 picoLisp-3.0.9 71 Bash completion 72 Changed GUI '+Hint' system 73 Calculated message passing (64-bit) 74 Improved "tags" file handling 75 IPv6 support 76 '*Prompt' global variable 77 'local' symbols function 78 'open' optional 'flg' argument 79 80 * 30sep11 picoLisp-3.0.8 81 'load' preserves current namespace 82 "src64/tags" for 'vi' source access 83 'import' symbols function 84 Namespace support with 'symbols' (64-bit) 85 Bug in '@' lambda bindings (32-bit) 86 GC bug in 64-bit bignums 87 Bug in 64-bit 'exec' error handling 88 Bug in 'rand' (64-bit) 89 EOF bug in pipes to stdin 90 'clause' function 91 'prop' and '::' cons default cell 92 "lib/test.l" position independent 93 'hash' function 94 Bug in 'dbFetchEX' for db extensions 95 96 * 30jun11 picoLisp-3.0.7 97 Numbers and strings in 'native' structure arguments 98 Signal portability problems 99 'dbSync' on arbitrary objects 100 UB-Tree support in "lib/db.l" 101 Renamed "ersatz/picolisp" to "ersatz/pil" 102 Changed '@' to '!' for functions in URLs 103 64-bit version for PowerPC (ppc64) 104 Local 'pil' startup script 105 Bug in 'replace' (64-bit) 106 Moved temporary directories to ~/.pil/tmp/ 107 Moved line editor history to ~/.pil/history 108 109 * 29mar11 picoLisp-3.0.6 110 Bug in 'poll' (64-bit) 111 Bug in 'accept' (64-bit) 112 'err' function 113 Removed 'rpc' function 114 man pages for 'picolisp' and 'pil' 115 'version' also for 32-bit 116 Map/apply support for FEXPRs 117 Bug in vararg method calls (64-bit) 118 'fill' handles '^' 119 'le0' function 120 Interpreter not exited upon <enter> 121 '*Tsm' by default off, moved to "lib/tsm.l" 122 Command line '+' debug flag 123 'round' defaults to 3 124 125 * 31dec10 picoLisp-3.0.5 126 'bin' function 127 'prior' function 128 'circ?' function 129 Ersatz PicoLisp (Java) version 130 Bug in (rd 'cnt) 131 132 * 30sep10 picoLisp-3.0.4 133 'tell' accepts PID argument 134 Deprecated 'pid' 135 Extended protocol for 'sync' 136 MIT/X11 License 137 Drag & Drop file upload 138 Generic 'lisp' C-callbacks 139 'native' fixpoint handling 140 OpenGL (64-bit) in "lib/openGl.l" 141 Faster bignum division (64-bit) 142 143 * 29jun10 picoLisp-3.0.3 144 'assert' function 145 'round' function 146 'co', 'yield' and 'stack' coroutine functions 147 'sigio' function 148 'sqrt' optionally rounds 149 'format' also accepts 'lst' argument 150 'adr' function 151 'dir' can also return '.'-files 152 153 * 30mar10 picoLisp-3.0.2 154 Simple incrementing form of 'for' 155 Changed 'scl' to set '*Scl' globally 156 'acquire' and 'release' mutex functions 157 Changed 'state' syntax 158 'version' function (64-bit) 159 C 'lisp()' callback function (64-bit) 160 Bug in 'member' for circular lists (64-bit) 161 "lib/tags" for 'vi' source access 162 Bug in 'next' and 'arg' (64-bit) 163 Bug in comma read macro (64-bit) 164 Bug in binary read functions (64-bit) 165 'hax' function 166 Bug when deleting external symbols (64-bit) 167 Bug in external symbol names (64-bit) 168 Bug in '|' and 'x|' (32-bit) 169 170 * 31dec09 picoLisp-3.0.1 171 '*Tsm' transient symbol markup 172 'range' function 173 'gcc' for 64-bit in "lib/native.l" 174 'flip' optional 'cnt' argument 175 Up to four letters in 'c[ad]*ar' and 'c[ad]*dr' 176 Fixed sporadic GUI errors 177 GUI 'onchange' handling 178 179 * 07oct09 picoLisp-3.0 180 64-bit version for x86-64 181 Allowed '.' in symbol names 182 Changed GUI to Post/Redirect/Get pattern 183 Changed event handling to non-blocking I/O 184 Extension ".l" on localization country files 185 Deprecated 'begin' and 'nagle' 186 187 * 30jun09 picoLisp-2.3.7 188 'dbg' startup script 189 Removed 'stk' function 190 Bug in GUI history "back" handling 191 Multi-line (block) comments 192 Improved external hash table 193 Transient characters no longer interned 194 'getd' loads shared library code 195 196 * 31mar09 picoLisp-2.3.6 197 'lines' returns 'NIL' on failure 198 Only numeric argument to 'hear' 199 'sort' optional 'fun' argument 200 Bugs in 'evList()' and 'date' 201 202 * 31dec08 picoLisp-2.3.5 203 Bug in 'pipe' 204 Bug in 'later' 205 Dialog and chart bugs in "lib/form.l" 206 HTTP protocol bug in "lib/http.l" 207 Bugs in 'inc' and 'bigCmp()' 208 'abort' function 209 'eval' and 'run' optional 'lst' argument 210 211 * 30sep08 picoLisp-2.3.4 212 'once' function 213 'hex' and 'oct' negative arguments 214 Bug in 'pool' 215 'cmd' function 216 'script' function 217 Bug in 'idx' 218 Bug in 'lit' 219 'extract' function 220 221 * 29jun08 picoLisp-2.3.3 222 Removed '*Rst' global variable 223 Catch error messages 224 Remote Pilog queries 225 DB extension with '*Ext' and 'ext' 226 Extended 'put'-syntax to zero keys 227 Wrong '@@' result in 'load' 228 Handling of "#" in 'str' 229 230 * 29mar08 picoLisp-2.3.2 231 Ctrl-D termination 232 Improved termios restore 233 'file' function 234 ';' function 235 Changed (time T) semantics 236 Bugs in 'idx' and 'lup' 237 DB synchronous transaction log 238 Handling of 'bind' in 'debug' 239 240 * 30dec07 picoLisp-2.3.1 241 'str' extended to parse tokens 242 '*Hup' global variable 243 Changed/extended 'all' semantics 244 Replaced 'die' with 'alarm' 245 Bug in 'glue' 246 Improved '@' handling 247 Bug in 'bye()' 248 'eol' end-of-line function 249 Escape delimiter characters in symbol names 250 'lint' also file contents 251 'noLint' function 252 253 * 30sep07 picoLisp-2.3.0 254 Extended "lib/test.l" unit tests 255 'full' function 256 Bug in 'wipe' 257 Bug in 'digSub1()' 258 Changed internal symbol structure 259 'pid' selector for 'tell' 260 'vi' and 'ld' source code access 261 Restored 'in'/'out' negative channel offsets 262 Abandoned 'stdio' in I/O functions 263 Improved signal handling 264 'leaf' function 265 Restored 'gc' unit to "megabytes" 266 Changed 'heap' return values 267 Bug in 'tell' 268 'chess' XBoard interface 269 '*Sig1', '*Sig2' global variables 270 'ipid' and 'opid' functions 271 Bug in writing blobs 272 Timeout bug in 'httpGate' 273 '*Zap' global variable 274 '*OS' global variable 275 276 * 30jun07 picoLisp-2.2.7 277 Extended "doc/ref.html" 278 'cons' multiple arguments 279 'yoke' function 280 'up' optional 'cnt' argument 281 282 * 01apr07 picoLisp-2.2.6 283 'app' reference application 284 Bug in 'text' 285 Family IPC redesign 286 Gave up 'in'/'out' negative channel offsets 287 Changed 'keep>' and 'lose>' methods 288 Gave up '*Tsm' transient symbol markup 289 'sect' and 'diff' in C 290 'gc' unit changed to "million cells" 291 292 * 31dec06 picoLisp-2.2.5 293 Persistent HTTP Connections 294 Extended 'tick' to count system time 295 Chunked HTTP transfers 296 Changed '*Key' to '*Run' 297 'fifo' function 298 'die' alarm function 299 'line' carriage return handling 300 Pre- and post-arguments to 'commit' 301 'text' function 302 'glue' in C 303 Ajax GUI in "lib/form.l", "lib/form.js" 304 'push1' function (deprecates '?push') 305 Bug in 'ht:Fmt' 306 307 * 30sep06 picoLisp-2.2.4 308 Cygwin/Win32 port (Doug Snead) 309 Changed 'bind' argument 310 'fish' function 311 'rd' optional 'sym' argument 312 Bug in 'lock' (unlock all) 313 'free' function 314 Extended 'seq' to return first symbol 315 Simple 'udp' function 316 'usec' function 317 Bug in 'isLife()' 318 '*PPid' global variable 319 'nagle' network function 320 Extended 'get'-syntax to 'asoq' 321 322 * 30jun06 picoLisp-2.2.3 323 "redefined" messages go to stderr 324 Bug in 'argv' 325 Deprecated "lib/tree.l" 326 Restored '*Solo' global variable 327 '(get lst 0)' returns 'NIL' 328 Bug in 'extern' 329 'nond' (negated 'cond') function 330 'ge0' function 331 Bug in 'lose>' and 'keep>' for '+Joint' 332 '*Rst' global variable 333 Bug in 'next'/'arg' 334 Changed 'env' and 'job' 335 Bug in B-Tree 'step' 336 Changed 'mark' return value 337 Changed 'close' return value 338 339 * 29mar06 picoLisp-2.2.2 340 Mac OS X (Darwin) port (Rick Hanson) 341 'pwd' function 342 'if2' flow function 343 'rpc' function 344 'one' function 345 Changed 'space' return value 346 'up' symbol binding lookup function 347 Bug in 'eval' and 'run' environment offset 348 'onOff' function 349 'path' substitution function 350 '*Tsm' transient symbol markup 351 Underlining transient symbols 352 353 * 30dec05 picoLisp-2.2.1 354 'eof' end-of-file function 355 Changed 'line' EOF return value 356 Deprecated 'whilst' and 'until=T' 357 'read' extended to parse tokens 358 'raw' console mode function 359 'later' multiprocessing function 360 Bug in nested 'fork' and 'pipe' 361 Extended 'gcc' arguments 362 Bug in 'boxWord2()' 363 'id' external symbol function 364 Extended 'dm' syntax for object argument 365 'size' changed to return bytes instead of blocks in DB 366 Executable renamed to "picolisp" 367 'lieu' predicate function 368 Bug in 'compare()' 369 370 * 29sep05 picoLisp-2.2.0 371 FreeBSD port 372 B-Trees 373 Multi-file DB 374 Configurable DB block size 375 Generalized 'pipe' semantics 376 Changed 'rank' to sorted lists 377 Removed '*Solo' global variable 378 Relaxed 'wipe' "modified" error condition 379 DB-I/O changed to 'pread()' and 'pwrite()' 380 Extended 'get'-syntax to zero and negative keys 381 'by' attribute map function 382 Swing GUI in "java2/" and "lib/gui2.l" 383 'box?' predicate function 384 Bug in 'compare()' 385 'balance' C-utility 386 387 * 30jun05 picoLisp-2.1.2 388 GC non-recursive 389 'lup' lookup in 'idx' trees 390 Applet colors 391 'try' to send messages 392 'x|' function 393 Tooltips in applets 394 Binding environment offset for 'eval' and 'run' 395 XHTML/CSS support in "lib/xhtml.l" 396 Separated "lib/html.l" from "lib/http.l" 397 Removed "lib/http.l" from "ext.l" 398 Bug in 'isa' 399 Bug in 'lose>' and 'keep>' for '+Bag' 400 Security hole in 'http' 401 Bug in 'rel>' for '+Hook' 402 403 * 30mar05 picoLisp-2.1.1 404 'protect' function 405 DB journaling 406 'chess' demo 407 Predicates return their argument instead of 'T', if possible 408 Bug in 'fun?' 409 Improved 'lint' heuristics 410 I/O-Multiplexing also for plain stdin 411 'dir' in C 412 Self-adjusting applet size 413 Bug in 'pack()' 414 415 * 30dec04 picoLisp-2.1.0 416 'pipe' function 417 Bugs in bignum arithmetic 418 'arg' optional 'cnt' argument 419 '+Aux' auxiliary index keys 420 '*Solo' global variable 421 'flg?' predicate function 422 'fin' access function 423 Bug in 'compare()' 424 'cd' returns old directory 425 'inc' and 'dec' numeric argument 426 Next 'opt' command line arg 427 'finally' exception cleanup 428 Implied 'upd' argument in transactions 'put!>', 'del!>' etc. 429 Bug in 'idx' for empty trees 430 'curry' function 431 Anonymous recursion with 'recur' and 'recurse' 432 Extended 'env' to return bindings 433 Second argument to 'fill' 434 Optional comment character argument for 'skip' 435 'flip' destructive list reversal 436 437 * 01oct04 picoLisp-2.0.14 438 '<tree>' HTML function 439 Finite 'state' machine function 440 Extended 'for' functionality 441 'rcsim' toy RC flight simulator 442 Bug in 'sym', 'str' and '*/' 443 Extended 'dbck' return value 444 445 * 03aug04 picoLisp-2.0.13 446 Changed rounding and argument policy of '*/' 447 Applet protocol revised 448 Extended 'head' and 'tail' to predicate functionality 449 Changed 'accu' default from 1 to 0 450 Dialog handling revised 451 Multiple JAR files per applet 452 Fixed "Last-Modified:" format in 'httpEcho' 453 454 * 29may04 picoLisp-2.0.12 455 Fixed 'boss' mechanism 456 'del' delete-and-set function 457 '*Fork' global variable 458 Changed URL encoding of Lisp objects 459 Removed traffic throttle from 'httpGate' 460 Synchronized ".picoHistory" in "lib/led.l" 461 Fixed exception handling in debug breakpoint 462 Revised subclass handling in 'db' and 'collect' 463 Applet font/size parameters 464 465 * 07apr04 picoLisp-2.0.11 466 Bug in 'append' 467 Modal dialogs revised 468 Bug in 'lose>' and 'keep>' for '+Bag' 469 'poll' (no block-on-read-) check function 470 Inline 'gcc' C-function compilation 471 472 * 01feb04 picoLisp-2.0.10 473 'wr' raw byte output function 474 Improved modal dialogs 475 Comma ',' read-macro, replacing the '_' function 476 'let?' conditional flow/bind function 477 'accept' non-blocking, with timeout 478 Optional method-defining arguments to '+Form's 479 '+Bool' relation class 480 '+Ref2' backing index prefix class 481 'size' returns number of DB blocks for external symbols 482 '+ListTextField' split parameter 483 484 * 06dec03 picoLisp-2.0.9 485 'Tele' java client 486 Closed leaking file descriptors in 'fork' 487 Changed applet protocol to individual server connections 488 Decoupled applet init from HTML page load 489 490 * 14oct03 picoLisp-2.0.8b 491 Bug in 'put>', 'rel>', 'lose>' and 'keep>' for '+List' 492 Bug in 'lose>' and 'keep>' for '+Bag' 493 494 * 01oct03 picoLisp-2.0.8 495 '+Hook' handling in '+Bag' 496 Unicode case conversions 497 '+Hook' changed to prefix class 498 Telephone number locales 499 CR-LF in HTTP headers 500 'date' and 'time' return UTC for 'T' argument 501 'clk>' (doubleclick) for '+DrawField' 502 Improved Hook support in Pilog 503 Optional 'NIL' argument to 'html' for "no Cache-Control" 504 505 * 03aug03 picoLisp-2.0.7 506 Extended 'in' and 'out' for negative channel offset arguments 507 Changed internal database index tree function API 508 Changed 'info' to return 'T' for the directory size 509 Interrupt signal handling in 'ctty', 'psh' and "bin/psh" 510 Generic 'help>' method for '+Form' class in "lib/gui.l" 511 Fixed 'ht:Prin' bug (NULL-Bytes) 512 'argv' optional symbolic arguments 513 Changed 'idx' return value 514 Better tracing and profiling of C-functions 515 516 * 08jun03 picoLisp-2.0.6 517 Allowed '#' in symbol names 518 Changed 'eps' in "lib/ps.l" 519 Interactive DB tools in "lib/sq.l" 520 'revise' line editor function 521 'circ' changed to individual arguments 522 Moved code-libraries to "lib/" 523 Moved *.jar-files to "java/" 524 525 * 23apr03 picoLisp-2.0.5 526 'mail' changed to direct SMTP 527 'sys' environment access function 528 Plain HTML-GUI "lib/htm.l" (experimental) 529 Semantics of 'do NIL' changed from enless- to zero-loop 530 531 * 03mar03 picoLisp-2.0.4 532 Changed and extended '+IndexChart' 533 '=0', 'lt0' and 'gt0' return numeric argument instead of 'T' 534 'cut' changed to be non-desctructive 535 'ssl' replication mechanism 536 'ctl' file control primitives 537 'ext?' and 'extern' check for physical existence of external symbol 538 539 * 01feb03 picoLisp-2.0.3 540 Extension and redesign of the HTML API 541 'loop' function as a synonym for 'do NIL' 542 543 * 17jan03 picoLisp-2.0.2 544 The example files for the tutorial were in the wrong directory 545 Bind '*Key' in debug breakpoint 546 Localization bug in "misc/tax.l" 547 548 * 27dec02 picoLisp-2.0.1 549 Default locale 'NIL' 550 Pilog documentation 551 Example family database 552 553 * 16dec02 picoLisp-2.0 554 Initial release