/* Copyright 1989-91 GROUPE BULL -- See licence conditions in file COPYRIGHT */ /* /**************** HISTORY OF KLONE REVISIONS *********************************/ $Log: klone.shar,v $ Revision 1.359 2001/02/16 15:47:39 colas bugfix in kxf Revision 1.358 2001/02/01 12:28:46 colas fixes to kxhtml linux config defaults to glibc systems. Use linux-libc5 for older ones. Revision 1.357 2000/12/03 23:08:14 colas get/put with numeric index on Structures returned nil Revision 1.356 2000/11/03 22:56:12 colas ##### v 2.1a ##### bugfix: print-format with format string ending by % could crash Revision 1.355 2000/10/13 15:44:03 colas bugfixes Revision 1.354 2000/10/13 09:26:25 colas xml-kxf.kl, a parser for the Koala XML Form Revision 1.353 2000/10/10 17:08:48 colas bugfix to xml-sxp.kl & kxhtml Revision 1.352 2000/10/06 09:48:30 colas Revision 1.351 2000/10/06 09:32:05 colas Revision 1.350 2000/10/05 15:39:07 colas Revision 1.349 2000/09/13 21:37:20 colas ##### v 2.1 ##### fix: klgeneric.c: (nconc s s) with s string could crash xml-sxp.kl: entity expansion didnt copy result and was modified in place Revision 1.348 2000/08/09 15:41:40 colas Revision 1.347 2000/05/26 15:32:01 colas fix: bad conversion in date-to-time Revision 1.346 2000/02/08 14:23:33 colas bug fix: symbol table memory leak Revision 1.345 1999/12/15 18:32:06 colas Some compile flags tweaking for linux (glibc) Revision 1.344 1999/11/10 16:30:26 colas SYSV_TIME defined for linux Revision 1.343 1999/09/17 17:21:53 colas xml-sxp.kl: parser now supports the UTF-8 encoding (but only to encode iso-latin-1 chars, does not supports wide strings yet) Revision 1.342 1999/09/13 09:05:01 colas fixes for compiling with the GLIBC (use of errno var) ##### v 2.0beta5 ##### backcompat problem with defstruct fixed Revision 1.341 1999/09/10 13:47:45 colas bugfix in new defstruct.kl Revision 1.340 1999/09/07 08:22:40 colas kl/: quote-regex.kl: fix for ^ scripts/: enhancements to nfo-clean, tolower Revision 1.339 1999/08/30 11:21:48 colas ##### v 2.0beta4 ##### minor bug fixes (regexp apply err message) lib: domatch, dosort, doline are now displacing macros Revision 1.338 1999/08/23 16:36:31 colas kl/ files and scripts: cleaned so that no symbols have dots in them Revision 1.337 1999/08/23 08:38:00 colas ##### v 2.0beta3 ##### Seems to work OK now KlStructure type for cleaner support The old defstruct code is still there as defstruct-soft.kl, and is loaded automatically if the the C code do not provide buil-tin Structure type structurename-fields accessors functions are now only loaded on demand C: a new parsing stream context var is introduced to save value of KlReadExpr revamping of defstruct.kl, but should still be backwards-compatible note that acessors parts can be get as 'object and 'slot Assign parsing can be disabled by setting *infix-assigns* to () kl/ lib files now locators-less amc-lisp.el emacs mode is included in distrib Revision 1.336 1999/08/19 13:37:23 colas ##### v 2.0beta2 ##### New shorthand form: Assign We can now write x = y it is read as (setq x y) with a subtype of List so that it still prints x = y It should work everywhere, but be careful with the blanks... as x=y is still a valid single atom, blanks are required. Caveats: * in a sublist (defun body...) blanks are optional and thus we can write: x =(+ 1 2), but at the toplevel we MUST surround = by blanks (or tabs, newlines...) * x = y = z = value works, but not at toplevel, where only single assigns are tolerated, you must write z = value y = z x = y Revision 1.335 1999/08/18 17:42:33 colas bugs Revision 1.334 1999/08/18 09:04:17 colas ##### v 2.0beta1 ##### New: accessors: symbols of the form x.y.z, fields can be numeric or atoms work on klone defstructs defstruct.kl: if you set defstruct:-funcs is set to (), the XXX-YYY functions are not defined Bug fix: could crash on type errors on arithmetic, such as (* 1 'a) Revision 1.333 1999/08/11 15:20:28 colas "light" substrings obtained by substring-ptr are now fully protected against misuse, raising the new error KlE_NO_APPEND / Errors:NoAppend, e.g: ;; modification is allowed ? (put (substring-ptr "abcdef" 2 5) 1 "ab") = cab ;; but resising is not! ? (put (substring-ptr "abcdef" 2 5) 3 "ab") Error: cannot resize cde (setq fd (open (setq s (substring-ptr "abcdefg"2 5)) :type :string :direction :io :if-exists :overwrite)) ;;we have room for one, but not for 2 (write-string "12" fd) (? s) 12e (write-string "12" fd) Error: cannot resize 12e Revision 1.332 1999/08/10 09:42:08 colas ##### v 1.13 ##### Sockets are now opened as 2 file descriptors, to avoid buffer corruption during read/write operations. Revision 1.331 1999/08/09 12:44:46 colas script: netscape-new-url bugfix: pids were not equal to themselves! (eq worked) now we can execute regexps: (to document!) (still buggy) (regexp string [offset]) ==> (regexec regexp string [offset]) (regexp number [offset]) ==> (regsub regexp number [offset]) new lib: ftplib.kl new script: ftp-monitor Revision 1.330 1999/05/21 13:27:48 colas bugfix to xml parser bug fix: (- () 1) was crashing with bus error! bug fix in kl/quote-regex.kl: mishandling of ^ Revision 1.329 1999/03/22 15:15:01 colas bugfix: the new arithmetic system made addition of numbers non-interegrs (reals...) abort with a "not defined" message: ? (+ 2.0 1) Error: "+" not defined for object 2.0 (of type Real) Revision 1.328 1999/03/18 14:59:59 colas fatal-error now has error-number optional (to be used like print-format) Revision 1.327 1999/03/01 15:52:41 colas ##### v 1.11 ##### print-format was bugged: "%%" was not printing "%" but "4" Revision 1.326 1999/02/26 17:56:15 colas bug fix: parsing a string/file with non-closed #(, [, {, #[ would enter an infinite loop in flex bug fix: arithmetic / comparisons of ProcessIds would go into an infinite loop and crash Revision 1.324 1998/12/11 14:15:34 colas XML parser: xml-sxp,kl Revision 1.323 1998/08/21 15:57:36 colas version 1.10 new klone files: kl/print-exit.kl to print a message and exit kl/ascii-progress-bar.kl implements an ascii progressbar display scripts vcat, cmpfirst, monitor-file can now use it optionnaly Revision 1.322 1998/07/09 09:46:22 colas all scripts begin with the lines: #!/bin/sh : ; exec klone $0 \"$@\" Revision 1.321 1998/05/04 15:20:58 colas new klone files: scripts/html-norobots kl/concat-paths.kl kl/dofile.kl kl/real-equal.kl Revision 1.320 1998/04/27 06:57:51 colas Some bugs in division (could go into infinite loop) Revision 1.319 1998/04/21 16:23:52 colas new klone function: real-equal (kl/real-equal.kl) to test equality of two reals with rounding tolerance Revision 1.318 1998/04/21 14:30:47 colas Revision 1.317 1998/04/20 09:37:18 colas (to document) Routines to add other inputs to the default toplevel: KlAddInput, KlRemoveInput, KlTriggerInput, KlMainPreSelect Revision 1.316 1998/04/16 15:20:37 colas *** empty log message *** Revision 1.315 1998/04/16 14:47:55 colas small fixes Revision 1.314 1998/04/01 13:14:47 colas Revision 1.313 1998/04/01 09:53:05 colas General cleanup of the arithmetic stuff, moving it to kl_number.c We now use a OO subsystem for arithmetics, = + - * / should work for all combinations of Integer, Real, Unsigned, Long... NOTE: for now, only = and + work with the new system, - * / compare still work the old way (will force conversion to int in most cases) Revision 1.311 1998/03/20 09:37:08 colas ##### v 1.9b ##### Revision 1.310 1998/03/11 16:40:57 colas ses: pipe data is truncated in chunks of max PIPE_BUF Revision 1.309 1998/02/12 10:25:18 colas new klone files expand-real.kl lreverse.kl scripts: le is now lr because of the "le" program on solaris Revision 1.308 1997/11/05 14:47:42 colas ses: if not SES_DEBUG, the message that the extension died had a bad chekcum, inducing an infinite loop *print-format-old-behavior* global variable, if set to t re-implement the old print-format behavior for backwards compatibility i.e.: (with (*print-readably* t) (print-format "abc")) ==> abc instead of "abc" Revision 1.307 1997/10/22 16:30:50 colas KlDeclareMethod traps cases of selector out of range Revision 1.306 1997/10/20 16:10:08 colas bug in built-in defstruct:slot due to tag change for defstruct Revision 1.305 1997/10/20 12:47:47 colas ##### v 1.9a ##### some incompatible modification in klone packages defstruct: structures begin with # (but old behavior can be had), see (setq defstruct::tag 'Structure) filedatabase.kl: internal structures changed, (wasnt widely used yet) scripts/filedatabase-upgrade to upgrade databases misc additiuons to filedatabase.kl and defstruct.kl Revision 1.304 1997/10/15 14:55:20 colas bug: timeout in file-lock.kl was too small Revision 1.303 1997/10/14 15:14:46 colas misc bugs Revision 1.302 1997/10/14 13:11:58 colas misc bugs Revision 1.301 1997/10/13 15:57:38 colas misc small bugs Revision 1.300 1997/10/13 15:25:57 colas small compile fix for alphas Revision 1.299 1997/10/13 15:19:58 colas ##### v 1.9 ##### bug corrected: stack frame info was not given bug corrected: type of lists was copied even when orig was a QuotedExpr, resulting in incorrecte (incomplete) QuotedExpr that could crash Klone later print-format did not obey *print-readably* for the resulting string (sub values %N were handled Ok) (with (*print-readably* t) (print-format "abc")) would print abc instead of "abc" KlUnstripString do not add the enclosing double-quotes anymore around the string. They must be added by callers Revision 1.298 1997/10/09 12:19:17 colas ##### v 1.8c ##### Coercing a stream to string could block on streams in non-blocking mode (bug only happening on old SunOS). Setting the non-blocking mode of a stream would internally set its klone flag to the opposite value Revision 1.297 1997/10/08 16:09:19 colas glitches trap-signal was bypassing the KlSignal wrapper function. Revision 1.296 1997/08/27 10:00:49 colas small fixes to compile on sunos & osf1 Revision 1.295 1997/08/27 07:49:03 colas ##### v 1.8b ##### new C function: atom-of and undocumented defstruct:slot for speedups enhancements to defstruct package: mini object model autodocs of .kl files cleaned up replace-seq could core dump if second arg was not of the good type BUG in regexp: could crash on regexp of complex backtracking patterns with more than 10 levels of subexprs Revision 1.294 1997/07/24 14:02:28 colas ##### v 1.8a ##### dolist on strings could yield negative integers for characters: (setq s "\xff") (get s 0) ==> 255, but (dolist (c s) (? c)) ==> -1 (directory) could return ".." on some non-standard filesystems (iso9660) Revision 1.293 1997/06/03 12:39:51 colas bugs Revision 1.292 1997/05/16 12:58:04 colas ##### v 1.8 ##### version clean Revision 1.291 1997/05/14 16:38:18 colas typo fix-frame-ps Revision 1.290 1997/05/13 16:27:00 colas at last, fixed the GC bug that could happen when setq-ing temp vars (arguments to funcs evcaluating their args). This is done via a stack record to an alloca-ted block so that we only suffer a 25% speed decrease (the natural way of allocatring a record was forcing more than 100% slowdown!) Revision 1.289 1997/04/28 12:30:33 colas ##### v 1.7 ##### KlStripString had an uneeded 8k limit exo: describe did not quote slot attributes, could make redefinition of classes fail on the propagated redefinition of sub-classes dolist and dohash are now protected from modification of the list fixed the problem of dangling GC in temporary variables (hidden list of evaluated values of parameters) by having a temporary global flag disabling the GC: KlZrtNoGC This was done with a slowdown of only 5%, the naive solution was 100%! tests print time to perform tests Revision 1.288 1997/03/05 12:00:42 colas could crash if hashtable was reallocated during a keyword Interning Revision 1.287 1997/03/04 09:53:20 colas Converting a file into String could cut in case of errors, which happened only on dec alpha on starup of the son process at the other end of the pipe SIGCHLD trapping fixed on AIX mixing preparsed and non-preparsed files would close too many times the FDs Revision 1.286 1997/02/06 16:17:10 colas C: ExecuteString could bug if passed a non-malloced string pointer compare methods: shortcut if objects are eq Revision 1.285 1997/02/06 06:37:42 colas uchar --> kl_uchar :handler keyword implemented for ses:send Revision 1.284 1997/02/04 17:50:21 colas klko.c in distrib (but empty for wool) SES_PATH ==> SESPATH was lacking a } in KlSesFuncPrint for NARY Revision 1.283 1997/02/01 23:54:40 colas distrib fixed Revision 1.282 1997/01/31 11:20:46 colas SES: bug on big returned lists fixed Revision 1.281 1997/01/28 17:13:12 colas some fixes Revision 1.280 1997/01/27 17:03:37 colas bugs Revision 1.279 1997/01/27 16:54:22 colas new global variable defined with SESDEBUG: *ses:trace*, if set to t extensive tracing is done (not all implemented) patches from OB included Revision 1.278 1997/01/24 17:47:38 colas SES_AddInput: mask can be now also write and exception timers work: SES_AddTimeOut and SES_RemoveTimeOut Revision 1.277 1997/01/13 08:42:56 colas shared memory (SYSV) works, still pb with mmap? now (wait (system (command args...))) returns 255 if command not found (could return 127 on machines with signed ints) lines beginning by #! are now ignored anywhere in parsed input SES_AddInput and SES_RemoveInput implemented (in SES_AddInput, mask is ignored and is always taken as SES_InputReadMask) Revision 1.276 1996/12/20 14:34:03 colas new variables *ses:shm-size* *ses:no-shm* *ses:use-mmap*, *ses:no-flush-on-overflow* (ses:load ":foo") now executes "ses_db foo" SES: bug in long returned lists fixed Revision 1.275 1996/10/23 16:17:18 colas *** empty log message *** Revision 1.274 1996/10/22 13:04:10 colas bug in trap-signal (multiple args didnt work) Revision 1.273 1996/10/18 15:59:57 colas ##### 1.6a ##### *:hash could differ on 64-bit machines ==> smartloader didnt work Revision 1.272 1996/10/18 14:53:49 colas errors while parsing a stringstream could dump core (KlIsReadingFile) Revision 1.271 1996/10/17 15:29:51 colas alignement bug for alpha fixed in KlTrapSignal getftp enhanced Revision 1.270 1996/10/02 08:50:21 colas child death: last pb fixed Revision 1.269 1996/10/01 07:16:20 colas *** empty log message *** Revision 1.268 1996/10/01 07:08:46 colas potential race condition on process reporting Revision 1.267 1996/09/30 16:33:33 colas alpha cc bug workaround reentrancy problem fixed in SIGCLD reception Revision 1.266 1996/08/27 12:51:10 colas dotimes: bug fixed: (dotimes n forms...) did not eval first arg (number of iterations) SES: possible deadlock fixed for long requests SES: complete ndbm implementation SES: was returning answers even when no answer expected Revision 1.265 1996/08/21 15:22:14 colas SES: tricky memory corruption bug fixed, taht crashed unloading of mdules (klsesi.c, line 1785) Revision 1.264 1996/08/20 11:29:09 colas bug in read-chars fixed (did not increment cursor position in strings) toplevel: when printing strings,truncate to 2000 chars max or first non-printable char when an extension was not found, the module was still declared Revision 1.263 1996/08/09 08:21:34 colas memory bugs fixed specs completed Revision 1.262 1996/08/07 15:58:30 colas bug fix on DeclareType Revision 1.261 1996/08/07 13:26:35 colas new functions: SES_DeclareAtomId, SES_CallAtomId, SES_ReturnAtomId AtomIds can be used as symbols to "mark" values, and will be undefined when module will be unloaded Revision 1.258 1996/08/05 16:10:16 colas SES: Implementation of SesCache type: to avoid round-trip to extension. still bugs Revision 1.256 1996/08/01 13:37:32 colas better detection of extension death. if extension was unloaded, silent, else if the death was unexpected, trigger an error with the name of extension after unloading it Revision 1.255 1996/07/31 15:43:21 colas new SES errors in the extension to checkl for buffer flushes before reading/returning args Revision 1.254 1996/07/31 05:49:32 colas SES: bug corrected in reentrancy: we must be careful not to access buffers (input buffer for request fields such as reqid, or output buffer for elements being added to list results), as they may have been flushed by code called in callbacks new demo: ses_draw.c, interactive drawing in X. Revision 1.253 1996/07/29 08:22:46 colas SES: Bug in returning lists fixed. Syncrhonous send text implemented convenience function to report type errors ext->main Revision 1.251 1996/07/24 16:53:20 colas bug in extension init correcetd (signaled always extension not found) new error type for extension not found, to differentiate from connection cut: KlE_SES_NOT_FOUND = "Errors:SES_NOT_FOUND" SES_ReturnList implemented (but not yet tested) bugs Revision 1.250 1996/07/22 08:55:01 colas you must define UCHAR_IN_TYPES_H on AIX error was not properly reported when extension wasnt found. SES_Any SES_List (still incomplete) Revision 1.249 1996/07/18 14:55:36 colas SES: discard events implemented when handling extension errors Revision 1.248 1996/07/18 06:51:18 colas SES: extension --> klone implemented Revision 1.247 1996/07/16 18:00:28 colas bugs in profiler Revision 1.246 1996/07/16 15:26:19 colas profiler: (moncontrol t) is automatically done after initialisations and reading profile, but just before entering the main loop, except if you set DONT_START_MONCONTROL=yes (or any non-empty string) in the shell new file doc/Profiler.readme Revision 1.245 1996/07/16 14:57:45 colas correct make of profiled version via "make profiler" Revision 1.244 1996/07/16 10:05:38 colas typos were introduced in klprofiler.c at version 1.182 "make klone_p" generates the profiled version in same dir Revision 1.243 1996/07/15 15:20:12 colas SES: typo prevented ses:load to find extension without -DSESDEBUG Revision 1.242 1996/07/15 12:46:14 colas typo Revision 1.241 1996/07/15 12:42:13 colas *ses:modules* is now an active (could crash after modules were unloaded) profiler code included Revision 1.240 1996/07/15 07:29:25 colas now ses works and compile. Still imcomplete, no shared memory Revision 1.239 1996/07/11 17:12:53 colas ... Revision 1.238 1996/07/11 15:15:24 colas ... Revision 1.237 1996/07/11 14:02:08 colas ... Revision 1.236 1996/07/10 16:55:21 colas Revision 1.235 1996/07/09 16:56:57 colas ... Revision 1.234 1996/07/09 13:03:28 colas Revision 1.233 1996/07/04 15:32:33 colas undefined symbols when compiling with -DUSE_STANDARD_MALLOC typos (compile errors with non-ansi-C compiler on kl_exo.h) memory leak on "match" function (internal regexp bytecode not freed) Revision 1.232 1996/07/04 12:43:14 colas typo Revision 1.231 1996/07/03 15:27:22 colas Revision 1.230 1996/07/03 15:20:13 colas new kdb command: Q quits and do not re-enter on error or break. Revision 1.229 1996/07/01 16:03:39 colas cosmetic fixes Revision 1.228 1996/06/28 17:09:55 colas Revision 1.227 1996/06/28 13:50:30 colas but in wait fixed: if a son died in a wait, its return code was lost admin: when doing a klone-u shar, a copy of last shar is saved for diffs Revision 1.226 1996/06/26 08:27:54 colas Revision 1.225 1996/05/31 14:01:19 colas reader: #\x returns an unsigned char in [0..255]. previously could be [-127..127] vacances Revision 1.224 1996/05/02 07:45:01 colas First SES release. non fonctional. Revision 1.223 1996/04/30 16:48:48 colas compiles, but still incomplete Revision 1.222 1996/04/29 16:56:37 colas seslib.c: obsolete encoding code removed Revision 1.139 1996/04/19 20:15:39 colas bugs Revision 1.138 1996/04/19 20:06:40 colas Revision 1.221 1996/04/05 17:20:46 colas default linux is ELF. new linux-aout config file scripts: ifdef-expand didnt understand ! after a #if bug fixes: * (read-chars non_nil_N string_stream) returned garbage * read-char triggered EOF on null bytes * read-line triggered EOF on null bytes (string_streams) bug not fixed: * read-line triggered EOF on null bytes (file_streams) Revision 1.220 1996/03/20 14:45:26 colas ##### v 1.6 ##### better makefile (print-format ()) core dumped Revision 1.219 1996/03/18 17:54:03 colas moved inclusion of unistd.h and stdlib.h on top for solaris 2.55 Revision 1.218 1996/03/14 16:42:20 colas bug for alpha compilation new flag -DREAL_PADDING (solaris) Revision 1.217 1996/03/12 08:46:26 colas comments were ignored in KlCOuntParentheses Revision 1.215 1996/02/28 17:06:41 colas work Revision 1.214 1996/02/27 16:49:44 colas better spec SES Revision 1.213 1996/02/26 16:32:53 colas new kclist.[ch] files. used for ses only now. Revision 1.212 1996/02/16 18:08:07 colas struct-lite.kl Revision 1.211 1996/02/05 17:36:59 colas compile warnings Revision 1.210 1996/02/05 17:16:49 colas bug: pendsing sub-processes if died immediately after being created. Revision 1.209 1996/01/31 07:30:18 colas bug when read-ing a string stream while loading a file (code incremented the cursor of a bad file) Revision 1.208 1996/01/30 14:31:38 colas floppies better documented Revision 1.207 1996/01/29 16:53:58 colas bug when error in a stream with a bad name. Revision 1.206 1996/01/23 17:06:56 colas bugs Revision 1.205 1996/01/10 17:45:19 colas patches for fully declaring varags functions when compiling in ANSI C Revision 1.204 1996/01/02 16:36:24 colas ##### v 1.5 ##### now, Klone uses flex and byacc for portability (flex and byacc are available everywhere), but more importantly to have a 8-bit scanner. A speedup of about 30% is also gained when loading files, but only when using some incompatibilities, otherwise by default (compat mode) speedup is less than 10% compared to the previous lex parser. This conversion was immediate for byacc, but flex required lots of changes because: - flex input routines are not redefinable. To be able to parse either fies or strings I had to use flex primitives but had a lot of footwork to update the current reading position in strings afterwards - yylineno does not work. there is one optional in flex but as it is global and not per-buffer, and we dont have hooks into the buffer-change mecanism, it is not usable otherwise line numbers would be mixed by successive loads. What we do is in case of error, we open the file anoter time and count the number of lines upto the current position. It is in fact faster this way, but we cannot count lines on non-fseek-able files - flex matching precedence is not equivalent to lex one, and this important fact is not documented. most importantly, if you define new special characters, you muste explicitely supress them from the list of available characters to start a name (FNCP macro) - flex bufferizes a lot. I had to turn off bufferisation to allow the user to perform seeks (file-position) and reads on the same file. "load" still uses bufferization, though. - to be 8-bit clean I could not use the trick of having the EOF being a ^D, as ^D could be the upper byte of an unicode string. I had to use flex <>, which is tricky. the parse rule still have a hole I couldnt locate (-s says so...) - the flex parser is not as reentrant as lex. I should do something about it when I understand when the problem can arise - the old WlParseBinaryOld was VERY hard to emulate INCOMPATIBILITES: none should be visible from Klone, neither from the public C API. watch for: - after modifying in place a string, to re-parse its contents you MUST issue a KlStdyyReset(KlStdyy) after redirecting the stdin, for instance by KlStdyyRedirect(KlStdpool) in kltoplevel.c - Do not directly reference variables KlIsReadingFile and Klyylineno, these must be replaced by calls to functions KlIsReadingFile() and Klyylinenoget(). When executing a script, the first line #!/... must be explictely skipped in main before redirecting the input by a call to KlyySkipExecLine(fd); And this works only on regular (fseek-able for rewinding) files. Revision 1.203 1995/12/22 07:51:41 colas ##### 1.4 ##### bug: KlStringPtrType instead of KlStringType kl_string.c:113 new function KlStringPtrMake, KlStringMakeNoCopy was mistakenly used for it flex parser: uses at least flex 2.5.2 new file klparser.flex, generates klparser.fl new functionality: file-position when setting position returns t on Success and () on failure Revision 1.202 1995/12/20 15:25:00 colas apropos was broken Revision 1.201 1995/11/23 17:28:05 colas ##### 1.3c ##### subseq on vectors returned lists Revision 1.200 1995/11/21 16:55:28 colas colors and xpm: colors.kl and xpm-format.kl scripts colors and xpm-clean Bug#237(ob): C: KlInternDotPrefixed(a, b) was postpending "b", not b !!! Revision 1.199 1995/11/20 12:45:58 colas ##### 1.3b ##### BUG: (listenv) core dumped... BUG: + on vectors failed BUG: sort on vectors failed Revision 1.198 1995/11/17 17:07:54 colas binary encodeing parameters changed for archive Revision 1.197 1995/11/17 14:29:25 colas bugs klone-u export Revision 1.196 1995/11/17 12:03:47 colas wmatch wregcomp, wregexp, wregsub, wmatch coerce automatically strings into wstrings (but not regexps into wregexps) patch phk for (open ":1234!" :tcp) to force it to effectively reuse the port Revision 1.195 1995/11/13 15:55:31 colas new files: kl_wstring.c and kl_wstring.h, holds the WString type. you need to define WCHARS for compiling them in. wregexp seems to work! yeah! Revision 1.194 1995/11/07 17:42:51 colas bug fixes by Olivier Arsac Revision 1.193 1995/11/07 10:02:55 colas C book included in shar Revision 1.192 1995/11/02 17:29:54 colas ##### Version 1.3a ##### bug in settting symbol-slots via *:symbol-slot if type of atoms differed symptom: (PF "%r0\n" (file-stats *stdin*)) ==> bus error file-stats can now be given a stream as well as a file name returns NIL if the stream is a string stream Revision 1.191 1995/10/30 17:08:22 colas dist bugs Revision 1.190 1995/10/30 16:46:52 colas dist bugs Revision 1.189 1995/10/30 13:14:17 colas read-chars do not copy buffer anymore Revision 1.188 1995/10/25 15:46:44 colas scripts/follow-link Revision 1.187 1995/10/23 17:10:29 colas doc included in shar (frame 3) Revision 1.186 1995/10/20 16:50:19 colas bugs distrib Revision 1.185 1995/10/20 16:23:14 colas trap-signals: handler can be: [() expr] will call expr and exit [t expr] will fork a sub-klone that will call expr and exit Revision 1.184 1995/08/23 17:19:16 colas file-lock checks filesystem full nil vectors are printed [] instead of [ ] filedatabase works! klone: structp time :real was broken on SunOS. Revision 1.183 1995/08/16 15:55:27 colas bug Revision 1.182 1995/08/16 08:52:22 colas new debug function: PSF from C, and (*:psf n) to verbosely print stack KlExecuteLocalCode modified (one more argument) to evaluate args AFTER pushing frame on stack for a better debugging error in bad argument error dbtk and sdb: debugged but still quite buggy :buffered in system removed (didn't work, anyways...) Revision 1.181 1995/08/10 15:50:04 colas ##### Klone 1.2 ##### klone-update checks syntax AUTODOC: symbol desc... now quotes around desc are not mandatory dbtk: does not print dbtk: symbols anymore print-margin-words upgraded RAW STRING char changed to ^^ ! (control-^) much prettyier! make-subr is renamed into *:make-subr Revision 1.180 1995/08/03 11:35:30 colas *** documentation updated *** replace-string buggy new way to parse strings: raw between two ^R s raw strings accepted as autodocs now Revision 1.179 1995/08/02 14:02:27 colas *keep-streams-exec*: can be a list of streams that wont be closed on exec in the child during system and exec calls system: if :error and :output were given together, one would have overriden the other kwish.kl: package to fork a sub-wish Revision 1.178 1995/08/01 16:44:13 colas argnum incremented by 1 before printing, less confusing for human domatch debugged time new optional argument, time type :real/:cpu/:user/:sys SERIOUS POTENTIAL MEMORY CORRUPTION BUG! take def of REAL_malloc, when mallocing ~16kbytes. malloc revamped with a cache on small values. 20% more speed on (fib 20)! (from 360ms to 290ms P90) no more REAL_ stuff, everything cleaned get-internal-run-time: new keyword :type :all returns a triplet of times (real user sys) bugs in errno printing Makefile repaired: now first make after a clean doesn't break anymore typep now returns actual object type: WARNING may make tests fail! before: (typep :abc String) ==> String now: (typep :abc String) ==> Keyword print-format: new %lN directive (readably and quote newlines in strings) new %flambda-nameN directive (apply function to argument) not limited to 10 args anymore: %24 is the 24th arg. (before was %2 + 4) Revision 1.177 1995/07/27 15:55:09 colas kl_config.h, empty but needed for other coherence with other packages kl/doline.kl kl/match.kl (to be finished) kl/macroexpand.kl Revision 1.176 1995/07/26 07:34:13 colas internal C methods compare, dolist, copy were not defined on atoms. now inherit from String Revision 1.175 1995/07/25 16:39:44 colas bug in opening socket: connect was done before setting the mode. and now the non-blocking case of long connects works Revision 1.174 1995/07/25 06:33:37 colas bugs in sockets Revision 1.173 1995/07/24 07:52:40 colas new files: klnet.h klnet.c new types for open :type :tcp, name is host:port :type :udp, name is host:port with name :port the socket is created for listening on port, the open incrementing the port till bind succeeeds. This incrementation can be disabled by adding a bang '!' at the end of the port. The global variable socket:last-bind is set to the port number where the listening socket was actually bound by bind. open can be done on a listening socket (open socket &key :direction :buffered :blocking :error) returns a newly created socket stream new variable: *errno*, active returns the last errno STRING. can be reset to an errno NUMBER (anything >0 is meaningless) Errors:ErrorOpeningFile can accept a 3rd argument (optional) describing the reason of the error C INCOMPATIBILITY KlOpenError takes now one more parameter: reason (string) that can be 0, 1, or C string: 0 = nil string 1 = strerror() current other strings, see klnet.c new type to open: :pipe, creates a pipe (with both end in one stream, mode :io. Can be unbuffered and non-blocking. new function (*:fork) forks a copy of the running program. returns the PID of the son in the father process, and () in the son. This function is in the * package because it should be reserved to experienced UNIX programmers. bug: (read-chars () socket) was returning nothing on pipes & sockets bug: PV and print-margin-item were bugged Revision 1.172 1995/07/19 16:43:53 colas files kl/filedatabase.kl: simple database (still unfinished) html/cgi.kl utilities to write CGI scripts flush now trigger a write error if needed INCOMPATIBLE CHANGE: syntax #[a b = c] ==> #[a b := c] := is a synonym for setq new C function: get-current-time, no arguments returns the time in seconds since 1970 Jan 1 00:00 GMT. Time returned is GMT date functions: date renamed as time instead of seconds for consistency new lisp function: dosort NEW: + on strings: will automatically convert () to nil strings and numbers to their printed representation + on numbers: will ignore ()s *exithook* can contain a lambda that will be evaluated on exit of the program in fact hook: can contain a function or a vector of functions KlExecuteHook: C function to trigger hooks from C code smartdoc:help is no more a defunq but now a defun KlExo: now new keyword allowed in class slots: :properties, must be a p-list of properties on the slot indexed by keywords, such as :type C: new func KlListAppendV(list, N, obj1,..., objN) Revision 1.169 1995/07/03 13:25:50 colas error on fcloses on streams open for writes trigger a write error Revision 1.167 1995/06/01 16:55:49 colas let, let*, do, do* added as built-ins Revision 1.166 1995/06/01 16:33:41 colas bug in kl/hooks.kl: (add-hook 'toto 'tutu) error if toto has () as value. Revision 1.165 1995/05/30 20:38:17 colas bugs Revision 1.162 1995/04/27 16:15:22 colas bugs Revision 1.161 1995/04/24 17:02:58 colas bug if first putenv was of value of length > 256 Revision 1.160 1995/04/21 15:13:23 colas structs: *** INCOMPATIBLE CHANGE *** accessors take as 4th argument the Klone object struct itself, not the C struct adress Revision 1.159 1995/04/19 14:14:25 colas bugs Revision 1.158 1995/04/19 09:23:34 colas reverted to old regexp code (unlimited pars, but dont work on null bytes) because bugs... Revision 1.157 1995/04/14 16:07:11 colas bugs Revision 1.156 1995/04/12 12:34:52 colas (object-plist object [plist]) get (set to plist if plist given) the property list of an object for this to work, the plist field of the C structure of the object must be declared after type declaration by a call to: KlDeclarePlistSlot(type_object, C_type, name_of_the_field); e.g., for atoms: KlDeclarePlistSlot(KlAtomType, KlAtom, p_list); dont forget in your C code to: [1] initialize the field in instances to 0 [2] perform a KlDecRef on the field in the Free method The field can be declared by hand in object or transparently, named "plist" by using KlKLONE_HEADER_PLIST instead of KlKLONE_HEADER structs: *** INCOMPATIBLE CHANGE *** ->print and -> free methods are given the struct itself, not the pointer to the C struct anymore. A sample free method is provided KlStructClassFreeDefault which frees just the obj->ptr structs: new field "parse" in KlStructClass, used to implement applying a structclass. will be called with 3 args: structclass, argc, argv where argc and argv are the arguments passed to it. USAGE: you should define print as printing, in readable mode an inline function such as {FileStats arguments...} where arguments will be used by the parse function to rebuilt the struct. 2 sample routines are provided for basic, flat structs: KlStructClassPrintDefault and KlStructClassParseDefault. See klos.c, line 512 for example of use (in DEBUG mode) Revision 1.155 1995/04/11 14:13:13 colas Revision 1.154 1995/04/11 09:56:09 colas structs: (struct-of struct [new-structclass]) gets or sets (cast for unions) the class of the struct returns (or take as argument) a structclass object, of which you can get the name by (get structclass 'name) WARNING: of course, setting the structclass is *EXTREMELY* dangerous, and can lead to bus errors get on a structclass: 'name --> the name (atom) 'slots --> the list of slot names 'size --> ths size (in bytes, not used yet) Revision 1.153 1995/04/11 07:43:01 colas emacs-compatible hooks package: kl/hooks.kl apropos case unsensitive file-type was broken last release Revision 1.152 1995/04/04 08:55:32 colas dolist works on structarrays Revision 1.151 1995/04/03 16:44:00 colas work Revision 1.150 1995/03/24 11:31:55 colas (catch 'foo bar) now sets *last-caught-tag* to () if no throw have been done all "catched" changed to "caught" in C code. backcompat macros included at the end of klone.h Revision 1.149 1995/03/22 14:10:51 colas *** documentation updated *** Bug#223(jml): require on undefined name crashed Bug#224(phk): pool in toplevel was broken for multiline strings let and let* defined as (non-optimal) klone functions file-types take now an optional argument do-not-follow-symbolic-link Revision 1.148 1995/03/17 16:52:06 colas now regular expressions work on strings with null bytes. dont work yet with null bytes in regexps, though (working on it) debugged Revision 1.137 1995/03/16 20:22:16 colas regexps debugged (really?) Revision 1.146 1995/03/16 17:20:53 colas still bugs in regexps Revision 1.145 1995/03/16 10:28:29 colas regexps: - no more limited to 10 subparentheses, now dynamically allocated The number of subparentheses hold by the regexp is accessed by #[regexp 'depth] number of parentheses is 0 if no subpars Revision 1.144 1995/03/15 16:39:22 colas new module: klmath.c, (documented) with functions: expt log sin cos asin atan and constants: pi e autoloaded: exp, sqrt, tan, acos, sinh, cosh, tanh, asinh, acosh, atanh Revision 1.142 1995/03/14 14:50:25 colas select on string streams ALWAYS return true, even at EOF (for coherence with file streams) Revision 1.141 1995/03/13 16:52:22 colas Revision 1.140 1995/03/10 14:41:52 colas locators: can be excuted now for put only: (#[p 'x] 2) <==> (put p 'x 2) (#[p 'x]) ==> Error: "execute" not defined for object #[p 'x] (of type Locator) Revision 1.139 1995/03/09 16:38:30 colas linux: _BSD_SOURCE defined (for compat with imake and signal problems) Revision 1.138 1995/03/07 17:06:34 colas bugs Revision 1.137 1995/03/07 10:24:50 colas putenv now use standard malloc for compat with libc putenvs gethooks could be called multiple time when printing an kl_exo Revision 1.136 1995/01/27 17:01:54 colas bugs Revision 1.135 1995/01/27 11:40:05 colas bugs Revision 1.134 1995/01/22 22:41:05 colas C: new convenience function: a "with" in C: KlStackFramePushValues(N, var1, newval1, ... varN, newvalN); new type: ListInline, son of list, returned by read when reading an inline if the flag *quote-inlines* is set, instead of collection which induce problems since it is not refcount-increasing wppb:unpreparse: :verbose can have the :debug argument to print also the keyword :print to format via a prettyprinter: e.g.: (wppb:unpreparse :verbose :debug :print pp "preparse.kl") preparse: now keeps documentation of functions and methods And now, preparsed files end in any loadable extension + "p" Revision 1.133 1995/01/20 16:14:16 colas Revision 1.132 1995/01/19 17:34:07 colas new function: identity, returns (evaluated) argument bettre unpreparse Revision 1.131 1995/01/19 04:37:34 colas delete-nth returns deleted element or () Revision 1.130 1995/01/09 10:07:52 colas Revision 1.129 1995/01/07 06:45:55 colas bugs Revision 1.128 1994/12/16 16:07:12 colas In klone, now vectors are noted [...]. #(...) is still recognized for backcompat Revision 1.127 1994/12/15 16:22:39 colas open: new value possible for :if-exists, :error, which triggers an error if the file already existed (only for :output or :io direction) Revision 1.126 1994/12/08 16:46:53 colas Revision 1.125 1994/12/07 17:27:46 colas better ftp-list-news option :allow-other-options for getopts Revision 1.124 1994/12/06 09:36:50 colas some operations could crash on closed streams (print, select, change mode, coerce to string) Revision 1.123 1994/12/05 11:15:12 colas bugs Revision 1.122 1994/12/05 11:05:20 colas Revision 1.121 1994/12/02 10:51:08 colas klone: kl/lock-file.kl Revision 1.120 1994/11/25 21:54:44 colas clean Revision 1.119 1994/11/25 08:34:12 colas pool-lines dropped. Instead function (read-lines-pooled [ stream [ EOF? ]] ) gobbles sexprs upto at least a complete one, but multiline with prompts and returns the string of its input (which may have syntaxic errors) throws to EOF on end, or returns the evaluation of EOF? if given (load file) can now take a keyword :if-does-not-exists which value is evaluated and returned if the file could not be loaded. If keyword not given or have the value :error, the traditional error is triggered Revision 1.118 1994/11/25 00:01:30 colas sample use of pool-lines in kl/sub-toplevel.kl Revision 1.117 1994/11/24 18:37:44 colas new function: (pool-lines) like the toplevel, but reads just a block of expressions, then returns the stream pointing to it Revision 1.116 1994/11/23 17:56:11 colas bugs in signals in AIX Revision 1.115 1994/11/21 15:29:15 colas bugs in dist for linux Revision 1.114 1994/11/18 21:53:38 colas bugs in dist Revision 1.113 1994/11/18 18:40:12 colas bug in mksdir and distrib Revision 1.112 1994/11/17 17:23:31 colas some patches for linux Revision 1.111 1994/11/10 17:59:01 colas wait return code was random! Revision 1.110 1994/11/04 12:37:37 colas no more setsid, SIGHUP sent by hand Revision 1.109 1994/11/02 00:33:59 colas defvar always resetted value Revision 1.108 1994/10/21 19:59:08 colas bugs in dists Revision 1.107 1994/10/21 17:46:47 colas Revision 1.106 1994/10/21 17:32:28 colas Revision 1.105 1994/10/21 13:29:10 colas Revision 1.104 1994/10/21 12:58:17 colas Revision 1.103 1994/10/21 12:54:23 colas revision 1.102 1994/10/21 14:32:29 colas #\foo was corrupting the parser There was a bad number of args to KlInit in main.c for distrib Bug#203(lf): corrected: defun on methods could not be redefined Revision 1.94 1994/10/13 14:32:29 colas bug Revision 1.93 1994/10/12 16:18:07 colas bug Revision 1.92 1994/10/12 15:39:29 colas some perfs enhancements for executing Subrs there was a bug in erreor handling in KlErrorV Revision 1.91 1994/10/11 16:09:08 colas Varags used now: * For list creation: KlListMakeV(n, elements...) * For Apply: KlApplyV(func, n, arguments...) * For Errors: KlErrorV(errorcode, n, arguments...) Revision 1.90 1994/10/11 10:26:34 colas sun4 must compile with -DDOUBLE_ALIGN Revision 1.89 1994/10/10 17:21:25 colas *package* is now an active setting an internal string parsing of packaged atoms much faster now Error KlE_NOT_A_PACKAGE disappears new C function: progn-times (progn-times N insts...) like progn but exec insts N times and return NIL Revision 1.88 1994/10/07 16:33:08 colas NO_SETSID compilation flag Revision 1.87 1994/10/06 16:06:22; colas KloneLight functions and KloneLight distrib included Revision 1.86 1994/10/06 12:05:15; colas *SIGHUP-on-exit* (KlSIGHUPOnExit in C), defaults to 1: will send SIGHUP to all children on exit. if disabled, MUST be disabled before the first system call Revision 1.85 1994/09/29 10:03:13; colas pb in dist Revision 1.84 1994/09/27 09:34:24; colas bug in dist Revision 1.83 1994/09/23 16:32:59; colas (get 'abc n) would not get char number n of name... Revision 1.82 1994/09/22 07:46:28; colas (get num) didn't work anymore Revision 1.81 1994/09/14 16:14:57; colas defvar can have 1 arg now Revision 1.80 1994/09/12 16:47:27; colas Revision 1.79 1994/09/12 16:46:31; colas Revision 1.78 1994/09/12 16:22:34; colas now, "foo" 'foo and :foo are different compile flag -DOLD_ATOM_EQUAL for backcompat, which if set allows *atom-equal-fixed* to eb set to get new behavior Revision 1.77 1994/09/09 17:31:35; colas string-make N was not protected against N < 0. Now if N <= 0, a nil string is returned KlInternBytes was bugged since 1.70 -*- not treated now in first line in scripts. Use: ;;; EMACS MODES ;;; Local Variables: *** ;;; mode:lisp *** ;;; End: *** at the end of the file `',a marche one can coerce lists into QuotedExpr now (seek l e offset) was buggy for offset non 0 Revision 1.76 1994/09/06 12:07:54; colas reals: after exponent only two digits were parsed (fix to klparser.lex) (logshift N s) <==> N << s pour s positif, N >> -s pour s negatif AUTOLOAD.DIR format (klone-update) version v3, now compatible with v1 Revision 1.75 1994/08/19 16:34:02 colas parser seems to work! YEAH !!! Revision 1.74 1994/08/19 16:22:09 colas bugs... Revision 1.73 1994/08/19 15:16:00 colas still cores dumps in wppb Revision 1.72 1994/08/19 14:11:26 colas C: (delete-nth list i) deletes nth element i from a list, and silently ignores if i is not number () or outside bounds. very useful with seek or seekq Revision 1.71 1994/08/18 16:28:39 colas works nearly. needs to debug defun-compilation Revision 1.70 1994/08/18 12:18:32 colas (seekq list elt) function does an eq-scan WARNING: klone-update and autoload now use the builtin hash function, take care to regenerate the dictionnaries Revision 1.69 1994/08/17 18:01:57 colas ... Revision 1.68 1994/08/17 15:18:36 colas Revision 1.67 1994/08/17 09:52:51 colas Revision 1.66 1994/08/16 17:47:17 colas *quote-inlines* KlQuoteInlines flags. If set to t, will read inlines but not eval them, which will be stored as Collections Revision 1.65 1994/08/16 12:04:51 colas C level: INCOMPATIBLE CHANGE: KlParseString takes a new parameter, string length New C Function: KlStringMakeNoCopy returns a string that SHOULD not be modified New Klone function: substring-ptr like subseq but returns a pointer to the string! dangerous (not modifiable and no null terminator) Revision 1.64 1994/08/12 18:59:30 colas INCOMPATIBLE CHANGE: KlFileInPath takes a 3rd arg which is a pointer to a FILE* and is filled to the open on the file if found, the caller needs to close it. this allows to get rid of a LOT of stats calls, slow by NFS. Revision 1.63 1994/08/12 09:37:21 colas KlLoadFileInPath ==> KlLoad Revision 1.62 1994/08/11 19:15:45 colas ... Revision 1.61 1994/08/11 09:18:04 colas replace-seq debugged new klone function: (replace-string string regexp replacement &key (npar 0) all) Revision 1.60 1994/08/11 08:47:43 colas new checksum functions in klone new generic function: (replace-seq string substring start-pos end-pos) works on string or lists, replaces elts from start to pos by the substring/sublist returns the string which is physically modified new error: number out of range with KlErrorNumberOutOfRange(num low, high) Revision 1.59 1994/08/11 03:01:58 colas ... Revision 1.58 1994/08/10 16:46:23 colas full smartloader always tried to be loaded before loading profile Revision 1.57 1994/08/10 13:54:12 colas *:load points to the original load function Revision 1.56 1994/08/10 12:30:26 colas make-string forgot to add terminating null byte KlSPutc macro write-line now correctly prints null bytes Revision 1.55 1994/08/09 17:46:11 colas p option added to main Revision 1.54 1994/08/09 13:57:50 colas some enhancemnets to kl/date.kl Revision 1.53 1994/08/08 16:42:51 colas TODO in shar (but not in distribs) Revision 1.52 1994/08/08 16:39:31 colas KlLastSignal holds last signal processed. Useful for sigchild. minimum of built-in number -1 ==> -2 Revision 1.51 1994/08/05 17:06:40 colas ... Revision 1.50 1994/08/05 17:01:09 colas bug: exit was a fsubr Revision 1.49 1994/08/01 16:59:43 colas patchs from ISM (ob) Revision 1.48 1994/08/01 16:46:49 colas select would return NIL as soon as a SIGCHLD was received. now is ignored, but timeout can be reset to original value Revision 1.47 1994/07/27 15:20:51 colas temporary, messages behave like locators Revision 1.46 1994/07/22 15:36:33 colas INCOMPATIBLE CHANGE: locators are now written #[...], to let room for the vector-oriented style prototype of external model into klko.[ch], prefix KlKo Revision 1.45 1994/07/22 12:50:28 colas (system ... :nohup t) protects son from signal 1 (do not work with a shell) Revision 1.44 1994/07/18 13:45:19 colas Revision 1.43 1994/07/13 12:54:53 colas (String ) would append garbage if file-position of was not at start Revision 1.42 1994/07/13 09:44:04 colas fixed some reentancies problems in errors Now you should call KlyyparseSyntaxError(char * why), never KlE_SYNTAX_ERROR directly... Revision 1.41 1994/07/12 17:30:30 colas new keyword :buffered () to system. if set to (), the pipes to the son are unbuffered and from the son side too if it is a klone script via setting the env variable __KLONE_RESET_STDBUFS__ Revision 1.40 1994/07/06 10:00:26 colas amiga files repaired seek did not work with null bytes in string nor did find the null byte seek now takes an optional 3rd argument: offset offset could core dump if negative for seek and regexec. now if negative set to 0 wait works even on AIX in all cases. (could return -1 and set errno to 0 !!!) Revision 1.39 1994/07/01 16:07:30 colas Bug#201(cn): *extensions* pointed to garbaged value dohash on nil lists crashed Revision 1.38 1994/06/29 13:11:58 colas kldebug.c: P: added methods for structs bug in error handlers fixed Revision 1.37 1994/06/29 11:33:18 colas KlExecuteKloneNoReturn and KlExecuteKlone were bugged (needed to repeat 1rst arg) Revision 1.36 1994/06/10 14:36:34 colas another patch for wait of a process Revision 1.35 1994/06/09 17:03:23 colas make-string did not check type of first arg could deadlock in waiting for a process Revision 1.34 1994/06/09 13:31:34 colas KlSafeEval better done use of waitpid when waitint for one process and blocking to avoid deadlock Revision 1.33 1994/06/07 15:17:59 colas (while t ...) special case (faster) Revision 1.32 1994/06/06 07:56:43 colas new MACHINE_TYPE more detailed if print-readably set, reals are printed in max precision *real-precison* could bug if > 30. now limited to 20 (max is 17 actually) Revision 1.31 1994/05/27 15:55:25 colas Dl:open calls itself _init and Dl:close _fini Revision 1.30 1994/05/27 08:33:51 colas bug in call to dlopen mode Revision 1.29 1994/05/26 13:43:26 colas Dynamic loading (SUN and SGI): uses dlopen, dlclose, dlsym new file kldload.c, must be compiled with -KLDLOAD Klone functions: (Dl:open ) ==> returns handle (closed when garbaged) (Dl:close ) (Dl:symbol ) binds symbols and returns th (F)Subr Revision 1.28 1994/05/25 15:25:21 colas ##### Version 0.9b ##### Revision 1.27 1994/05/25 14:05:54 colas dolist, dohash and compare as primitive methods compare on lists compares each element Revision 1.26 1994/05/18 16:56:54 colas Revision 1.25 1994/05/18 14:44:55 colas Bug#198(sl): (defun leak:get (&key init ())) ==> coredump fixed (wl_func.c) Revision 1.24 1994/05/18 09:12:55 colas ... Revision 1.23 1994/05/17 12:26:41 colas default max arity of internal methods brought from 3 to 5 Revision 1.22 1994/05/06 15:41:11 colas ... Revision 1.21 1994/05/05 17:24:24 colas ... Bug#197 corrected Revision 1.20 1994/05/05 15:23:08 colas better avoidance of -*- on BSD43 patch for avoiding defunt process in SCO Revision 1.19 1994/05/02 16:27:30 colas ... Revision 1.18 1994/05/02 16:10:21 colas KlConvertArgToString(o, n) and KlConvertArgTo(o, n, t) macros to check and convert to if necessary Revision 1.17 1994/05/02 13:29:10 colas bugs in parser Revision 1.16 1994/05/02 12:54:24 colas default path and extension .:kl and .kl in lib Revision 1.15 1994/05/02 12:08:28 colas kltoplevel declared Revision 1.14 1994/05/02 11:48:06 colas ... Revision 1.13 1994/04/29 15:18:13 colas separation of parser into klparser.l and klparser.y and klparser.h for better dependencies Revision 1.12 1994/04/29 08:31:53 colas system works on aix Revision 1.11 1994/04/28 16:44:04 colas ... Revision 1.10 1994/04/25 08:59:52 colas klstartup.kl trimmed to minimum (smartloader builtin) Revision 1.9 1994/04/22 17:33:52 colas ... Revision 1.8 1994/04/22 17:23:37 colas unified distrib ======================================================================