Commit graph

707 commits

Author SHA1 Message Date
jjgarcia
4e3189eddd Big changes in the way functions are compiled, unifying the code that handles DEFUN, DEFMACRO and LAMBDA, and fixing an important bug in the optimizer for tail-recursive calls. 2004-05-05 08:38:07 +00:00
jjgarcia
959180c2bd Protect the initialization routines of the lisp files with the prefix ECL, so that they do not collide with files supplied by the user 2004-04-27 08:30:30 +00:00
jjgarcia
20e3561ae0 Label with no statement. GCC complains. 2004-04-26 11:22:16 +00:00
jjgarcia
9346ae4df0 Take numbers into account when mangling names. 2004-04-23 15:43:18 +00:00
jjgarcia
8b678591be *** empty log message *** 2004-04-21 13:47:27 +00:00
jjgarcia
7afef75f7f Local variables can be changed by a local function 2004-04-21 13:47:02 +00:00
jjgarcia
f494e7140c Fixes in optimizer 2004-04-21 13:46:33 +00:00
jjgarcia
cd2f200d0c Header string.h is needed for strlen 2004-04-21 13:44:21 +00:00
jjgarcia
9eddd9fb08 All non-graphic characters below (code-char 128) have now character names from the ASCII standard 2004-04-21 13:42:25 +00:00
jjgarcia
4b480b2cec Some opcodes set the output in the VALUES stack, and cannot use REG0. 2004-04-08 14:02:21 +00:00
jjgarcia
2c1c1f540f LOGBIT cannot be inlined when the first argument is larger than the size of a C long, because LOGBITP is not equivalent to the C << or >> . 2004-04-08 14:01:42 +00:00
jjgarcia
2ff1c27c20 Routines like cl_go, cl_throw and cl_unwind cannot be declared as 'noreturn' because they can actually transfer control to the same function that called them. 2004-04-08 14:01:38 +00:00
jjgarcia
7b5a4db183 When a variable is not used, but it can be present in the code, replace it with a dummy value (NIL) 2004-04-08 07:30:53 +00:00
jjgarcia
6ace97e5ce Fixed typo. 2004-04-08 07:30:26 +00:00
jjgarcia
213ef3de8e MULTIPLE-VALUE-SETQ now uses (SETF (VALUES ...)) when some of the places to be set is not a variable, but a generalized place. 2004-04-07 16:39:31 +00:00
jjgarcia
3777c03f92 A VALUES form can now act as a place 2004-04-07 15:30:06 +00:00
jjgarcia
c503e0fc95 The different EPSILONs are now computed at compilation time, because the values provided by the C library are not all that precise. 2004-04-07 15:29:21 +00:00
jjgarcia
04525b9812 The --info-dir option was mispelled 2004-04-05 07:31:41 +00:00
jjgarcia
daa8064584 + Streams in ECL can now have element types CHARACTER, (UNSIGNED-BYTE 8)
and (SIGNED-BYTE 8). LISTEN and PEEK-CHAR had to be modified so that
they work with CONCATENATED-STREAMS. OPEN now signals errors of type
FILE-ERROR when a file cannot be opened.
+ Several special functions (ASIN, ACOS, ASINH, ...) have been reimplemented
using more stable formulas found in CMUCL, plus the functions from the C
mathematical library. They also serve as examples of how to use FFI:C-INLINE.
+ Several errors regarding packages have been rewritten as correctable errors,
and now the carry clearer messages.
+ In functions dealing with sequences, :COUNT can now be a bignum.
+ In the bytecodes compiler, MULTIPLE-VALUE-PROG1 did not save the values.
2004-04-05 07:21:54 +00:00
jjgarcia
62d43f4892 Preliminary implementation of the UFFI. 2004-03-29 11:13:17 +00:00
jjgarcia
b5d5a86d43 Removed old version of CLX, which no longer works. 2004-03-29 09:12:16 +00:00
jjgarcia
403511c488 The portable CLX library has been incorporated. 2004-03-25 09:02:27 +00:00
jjgarcia
b3e8118eb4 The values assigned to a structure must be always of type :OBJECT. 2004-03-25 09:00:53 +00:00
jjgarcia
a20347e85c Do not redefine ENSURE-CLASS unless cross-porting ECL 2004-03-25 09:00:04 +00:00
jjgarcia
72dc89f61b Fixed generation of function prototypes, and other glitches so that the lisp code can be compiled with a C++ compiler. The core library is still compiled with a C compiler. 2004-03-03 09:18:20 +00:00
jjgarcia
21b0d02960 Damm typo 2004-03-01 08:52:45 +00:00
jjgarcia
21e7d900a7 Implemented a safer routine to retrieve the pointer of a foreign data structure. 2004-03-01 08:42:33 +00:00
jjgarcia
0d9781668f *** empty log message *** 2004-02-29 16:45:03 +00:00
jjgarcia
268203b4a5 New configuration variable GCLIB. 2004-02-29 15:50:00 +00:00
jjgarcia
860dbd69ec Fixes due to type sizes, updates of the old garbage collector and the terrible bug with hash tables merged into main trunk 2004-02-29 15:47:01 +00:00
jjgarcia
fbbeb10815 More standard way of installing info files, by registering them with install-info 2004-02-03 19:15:40 +00:00
jjgarcia
e66f92fa45 *** empty log message *** 2004-02-03 18:35:52 +00:00
jjgarcia
71f921ed39 Remove some warnings from GCC 2004-01-24 17:00:24 +00:00
jjgarcia
feb3467d3d Remove unused header 2004-01-20 08:54:01 +00:00
jjgarcia
b8d27be483 Dummy implementation of MAKE-LOAD-FORM and MAKE-LOAD-FORM-SAVING-SLOTS. Supports for normal lisp objects and structures is missing. 2004-01-20 08:53:24 +00:00
jjgarcia
b30b43ce17 (VALUES form) now truncates the number of values output by 'form' to one. 2004-01-19 17:54:10 +00:00
jjgarcia
0d863a2a66 Most functions that operate with the native filesystem must complain if they get get pathnames with wild components 2004-01-16 15:02:51 +00:00
jjgarcia
dc9b2ec4c6 CLASS-NAME must be a generic function. 2004-01-16 11:23:24 +00:00
jjgarcia
e8b1a4b4c5 LOAD-LOGICAL-PATHNAME-TRANSLATIONS now implemented (uses sys:host.translation)
WILD-PATHNAME-P implemented.
PROBE-FILE and TRUENAME now complain when passed a pathname with wild components.
Fixed a bug in GENTEMP.
Some missing symbols are now defined (*PRINT-MARGIN*, etc), even though not used.
Destructuring lambda lists now identify NIL or '() as an empty list.
Fixed INTEGER-LENGTH and LOGCOUNT (they now work with bignums).
SYMBOL-MACROLET now complains about redefinition of global variables.
ENSURE-DIRECTORIES-EXIST now outputs the two requird values and produces some informative messages if requested.
2004-01-16 10:31:04 +00:00
jjgarcia
a5af1f450c Implemented LOAD-LOGICAL-PATHNAME-TRANSLATIONS. TRUENAME now merges the pathname with the current working directory. 2004-01-15 19:16:21 +00:00
jjgarcia
710e6e2888 Fix the way SUBLIS and NSUBLIS handle the key and test arguments. 2004-01-15 18:34:47 +00:00
jjgarcia
a6f856e73b When merging pathnames that have versions, there is a complicated rule for defaulting 2004-01-15 14:19:30 +00:00
jjgarcia
63e1c1789f Implemented WILD-PATHNAME-P 2004-01-15 13:30:46 +00:00
jjgarcia
826b22cdc1 Fixed a long lasting bug: the TEST or TEST-NOT function to SET-EXCLUSIVE-OR
can assume that the first argument belongs to the first list and the second
to the second one. However, ECL would not respect this.
2004-01-15 09:57:16 +00:00
jjgarcia
78c4c19e37 Macroexpasion is the last thing to try when dealing with SETF places 2004-01-14 14:20:47 +00:00
jjgarcia
90174a13e1 Fixed typo 2004-01-12 13:50:40 +00:00
jjgarcia
19d3e6ace5 Missing header for memcpy() 2004-01-12 13:49:37 +00:00
jjgarcia
13055827c8 Simplify the checks. 2004-01-12 10:54:31 +00:00
jjgarcia
59ee31f56d The limits of the type fixnum must be printed using the modifier %ld if the type is a long integer. 2004-01-09 16:31:20 +00:00
jjgarcia
51d19c15ee Do not produce documentation 2004-01-09 13:56:43 +00:00