Commit graph

164 commits

Author SHA1 Message Date
jjgarcia
0290efd01c Implemented the class redefinition protocol, and forward referenced classes. 2003-12-15 08:54:10 +00:00
jjgarcia
6d1ec50d38 Fixed GCD. Implemented several stream functions. Fixed LCM. Fixed the inline expansions for ZEROP, PLUSP, MINUSP, ODDP and EVENP. Fixed the meaning and allowed values of REHASH-THRESHOLD. SXHASH now produces hash keys which are equal for EQUAL bitvectors. Implemented ARITHMETIC-ERROR-OPERANDS. Fixed a bug in hash table which duplicated the number of entries whenever the hash grew. 2003-12-12 08:26:29 +00:00
jjgarcia
630bfdf4f4 Clean up the package CL from non-standard symbols and move them into the EXT package, which is a nickname for SYSTEM. 2003-12-11 17:16:48 +00:00
jjgarcia
789844e8d3 Use a lisp object to fill unbound slots rather than a null pointer which may end up causing SIGSEGV. 2003-12-11 12:56:38 +00:00
jjgarcia
c5ec810687 Division by integer 0 signal a DIVIDE-BY-ZERO error. (- (- MOST-NEGATIVE-FIXNUM)) now works. Fixed CEILING and FLOOR with arguments MOST-NEGATIVE-FIXNUM (- MOST-NEGATIVE-FIXNUM). (EXPT x y) now returns 1 coerced to the right type when (ZEROP y)=>T. 2003-12-09 09:34:33 +00:00
jjgarcia
b55dafa58d Finished the port to MingW32. 2003-12-01 11:21:47 +00:00
jjgarcia
a656edfe85 Relax array size limits 2003-11-26 19:16:44 +00:00
jjgarcia
72a90f9e90 Stepper implemented 2003-11-26 08:51:52 +00:00
jjgarcia
cdff225681 Implemented locking on hash tables and packages. Fixed several floating point contagion bugs in +, -, /, *, and ROUND. 2003-11-24 11:27:28 +00:00
jjgarcia
eb8f202478 Change order in which threads are initialized. Improved (or let's say fixed) marking of thread objects. New own_process thread object 2003-11-21 17:11:06 +00:00
jjgarcia
11dd7ed7a2 Implement a more 'standard' interface for creating processes. 2003-11-20 08:38:16 +00:00
jjgarcia
01c6e8abff Use more lispy names for the thread objects, and add locks. 2003-11-19 15:07:18 +00:00
jjgarcia
4eac79774e Preliminary support for POSIX threads. 2003-11-18 11:23:07 +00:00
jjgarcia
6c7e48efb6 Support for making and loading FASL files under OSX. 2003-11-08 16:53:22 +00:00
jjgarcia
f275da2454 Check whether the FILE structure has a field from which we can guess the number of characters in the buffer. 2003-11-03 12:53:32 +00:00
jjgarcia
4b11900381 By default, bytecodes are built using 16-bits integers. This avoids SIGBUS due to pointer misalignment in Alpha and SPARC architectures. 2003-10-30 10:30:37 +00:00
jjgarcia
4dcf2dd604 The garbage collector and the finalizer routines should not distort the lisp environment in which they were invoked. 2003-10-30 10:29:30 +00:00
jjgarcia
1181505fcf Remove the flag 'regparm', which only applies to GCC+i86 and does not even bring much on that platform. 2003-10-27 08:45:32 +00:00
jjgarcia
dfe6fb3213 Most structure and enumeration types are renamed to avoid clashes with other libraries (most notably C++). 2003-10-22 07:56:36 +00:00
jjgarcia
fc8deffa71 src/c 2003-10-22 07:27:44 +00:00
jjgarcia
f8487086bb Hash tables can now use EQUALP as a test 2003-10-22 07:26:43 +00:00
jjgarcia
e3473825d2 Bunch of fixes to allow loaded files to be garbage collected. New file naming conventions. 2003-10-06 09:40:32 +00:00
jjgarcia
df97ca1b92 Fixed bug that prevented compilation under windows. ECL is now built as a single shared library on systems which support it. The compiler is being rewritten using higher level, more expressive functions. 2003-09-08 16:53:29 +00:00
jjgarcia
a8e972d96a Try to initialize variables and constants in all_symbols.d. 2003-08-06 13:23:22 +00:00
jjgarcia
b133c36590 Avoid using cl_va_list, cl_va_arg when the number of arguments is small (<32)
and we know that no value will be stored on the stack.
2003-08-06 08:51:51 +00:00
jjgarcia
ee391629b6 New bytecodes compiler and interpreter, which use 8-bits large bytecodes and
16-bits large arguments.
Macros are implemented as two-argument functions, leaving argument checking
to funcall() and apply() and thus saving space.
AND, WHEN and OR are plain macros. No optimizer is required in the bytecodes
compiler.
2003-08-05 10:01:57 +00:00
jjgarcia
cc94282771 CYGWIN does not have header inttypes.h 2003-08-01 09:59:00 +00:00
jjgarcia
8417f93d2e FORMATTER implemented. FORMAT ported from CMUCL and optionally included when --with-cmuformat is used at configuration time. 2003-07-31 16:37:46 +00:00
jjgarcia
e5072a82d9 Use user-supplied DPP to build the C files. machines.h is no longer required. 2003-07-23 13:09:37 +00:00
jjgarcia
3607ca33c6 READ/WRITE-SEQUENCE implemented. 2003-07-10 08:41:15 +00:00
jjgarcia
d0cd173cf4 Initial patches for supporting MINGW32 2003-07-08 17:36:41 +00:00
jjgarcia
dadf9d34ed Fix SI::OPEN-PIPE and add SI::CLOSE-PIPE 2003-07-03 13:57:59 +00:00
jjgarcia
f8d7f48aeb Fix declaration for si_member1() 2003-07-03 10:09:31 +00:00
jjgarcia
5e56be36a8 ECL ported to Solaris/SPARC-32 2003-07-01 12:28:44 +00:00
jjgarcia
621aaaa03b Implement part of LISTEN using the C function select(). 2003-05-26 14:27:24 +00:00
jjgarcia
a381a7ee09 Merge NEW_COMPILER 25.05.03 2003-05-26 09:49:50 +00:00
jjgarcia
ff48175133 In list functions, improve checking of :TEST[-NOT] and :KEY arguments, and rewrite auxiliary function MEMBER1 so that it uses no keyword arguments. 2003-05-03 17:13:42 +00:00
jjgarcia
c2aa136143 Various minor fixes, and an important set of changes to teach the compiler
and the interpreter to understand (SETF fname) function names, and to handle
them without creating auxiliary symbols.
2003-04-28 15:55:22 +00:00
jjgarcia
f20736084b Add more symbols to src/c/symbols_list.h, and resolve associated conflicts. 2003-04-28 09:25:58 +00:00
jjgarcia
1af46c7c39 Use the READER-ERROR condition to signal errors in the reader. 2003-04-10 17:40:34 +00:00
jjgarcia
6b76d155ee Create new functions SI::{GET,PUT,REM}-SYSPROP to handle vital information
about functions, SETF forms, DEFTYPEs, etc. Property lists are no longer
used for this task.
2003-03-21 14:18:56 +00:00
jjgarcia
8bb27d3094 Remove public function putprop(); use si_putprop() instead.
Removed public functions FEtype_error_plist().
Low level function getf() and get() renamed as ecl_get[f]().
Simplified the loops which deal with property lists.
Assertions ASSERT and CHECK-TYPE moved from conditions.lisp to assert.lisp; old definitions removed.
2003-03-21 09:24:37 +00:00
jjgarcia
aabafc3c6c Remove public functions remf() and remprop(). 2003-03-20 15:47:44 +00:00
jjgarcia
41c0868469 Bunch of fixes. See CHANGELOG. 2003-03-17 10:39:08 +00:00
jjgarcia
a767dd4939 Symbol GC moved from package COMMON-LISP to SYSTEM (and imported into CL-USER). 2003-03-13 13:10:15 +00:00
jjgarcia
5478bbe21b DLLs and files have now termination procedures, which unload the DLL or close
the file, when these objects are garbage collected.
2003-03-12 10:05:42 +00:00
jjgarcia
5f6f65b407 Bunch of fixes inspired by the ANSI test suite of GCL. 2003-03-10 09:10:13 +00:00
jjgarcia
75b7207b6d Fixed typo. 2003-03-04 17:25:43 +00:00
jjgarcia
9771e91572 + New implementation of DESTRUCTURING-BIND
+ The bytecodes compiler now alloes a lambda list with &key and no keywords
+ WITH-HASHTABLE-ITERATOR implemented
+ QUIT is now silent
+ In MAKE-PATHNAME, values supplied with a value of NIL would be overwritten
  by the content of :DEFAULTS.
2003-03-04 16:35:03 +00:00
jjgarcia
aaa68d02a8 LOGICAL-PATHNAME implemented. 2002-12-14 15:03:07 +00:00