Commit graph

2746 commits

Author SHA1 Message Date
jjgarcia
ab08b07ac1 ECL now detects wrong function calls, such as ("foo"), (setq a ("foo")), etc 2003-03-11 12:47:58 +00:00
jjgarcia
5f6f65b407 Bunch of fixes inspired by the ANSI test suite of GCL. 2003-03-10 09:10:13 +00:00
jjgarcia
2be5baa3e4 A stupid character got in the file. 2003-03-05 09:33:19 +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
c935faf44a In cl_clear_input(), do not complain when fseek() fails. 2002-12-17 10:53:29 +00:00
jjgarcia
c9fb52f320 In APPLY, FUNCALL, etc, check whether the input argument is OBJNULL. This
way, when, in low-safety mode, we funcall a symbol which is unbound, the
right error is signaled.
2002-12-14 16:03:44 +00:00
jjgarcia
aaa68d02a8 LOGICAL-PATHNAME implemented. 2002-12-14 15:03:07 +00:00
jjgarcia
0c0e58d308 Use @'' to access the symbols instead of searching them. 2002-12-14 14:09:07 +00:00
jjgarcia
491f242fa4 Remove harmless type warning. 2002-12-09 12:53:44 +00:00
jjgarcia
43099ff052 More fixes about integer types. 2002-12-09 12:51:40 +00:00
jjgarcia
1b64032b99 We need string.h for strerror(). 2002-12-09 12:49:49 +00:00
jjgarcia
495d5d0172 We need string.h for memcpy(). 2002-12-09 12:47:44 +00:00
jjgarcia
31791eb3d7 More integer type fixes. 2002-12-09 12:45:43 +00:00
jjgarcia
d8ffa12fda We need string.h for memcpy(). 2002-12-09 12:44:34 +00:00
jjgarcia
62141f9f5d Replace int -> cl_fixnum, cl_index, to avoid problems with 64-bit archit.
Make sure that structure/instance slots may be indexed with a simple integer.
2002-12-09 12:10:33 +00:00
jjgarcia
a6dbc27069 Implement *load-pathname* and *load-truename* 2002-12-06 16:23:47 +00:00
jjgarcia
acb4f2ef3f The name of the character was clobbered and could not be accessed by
the call to FEerror().
2002-12-04 17:46:15 +00:00
jjgarcia
d20cde0cd9 New definition for SI:DESTRUCTURE uses SI::PROCESS-LAMBDA-LIST to parse
the destructuring list, for both DEFMACRO and DESTRUCTURING-BIND forms.
This results in smaller code.
2002-12-04 09:34:32 +00:00
jjgarcia
3e7559f112 SI::PROCESS-LAMBDA-LIST split into SI::PROCESS-LAMBDA (which actually
operates on functions) and SI::PROCESS-LAMBDA-LIST (which parses only
the lambda list). The code is simplified.
2002-12-02 10:14:21 +00:00
jjgarcia
ffbfd24425 When illegally trying to access a closed stream, signal an error of type
STREAM-ERROR. Also, check operations from the C library for possible errors
and use FElibc_error() when these input/output operations fail.
2002-11-27 15:54:25 +00:00
jjgarcia
0cb11a2aad Global variables preserving_whitespace, detect_eos_flag, escape_flag and
delimiter_char removed. Function readc_stream and unreadc_stream renamed
to ecl_getc and ecl_ungetc. They now have a C-like behavior, do not
complain about EOF and return the special value EOF when the end of the
file is reached.
2002-11-24 15:52:15 +00:00
jjgarcia
52ed3c4904 Only one whitespace needs to be "eaten". 2002-11-23 18:06:41 +00:00
jjgarcia
e241cfec55 Fix a typo. In comma_reader, PEEK-CHAR should be called with the stream to
be read.
2002-11-23 17:52:43 +00:00
jjgarcia
a6fea4e63e After reading an object, READ should skip whitespaces until it fints the
beginning of a new line, the EOF, or a new token. This way (READ-LINE)
at the prompt, produces the expected result instead of an empty line.
2002-11-23 15:42:09 +00:00
jjgarcia
7a58f94bd0 We need machines.h do define unix.h. 2002-11-21 13:41:22 +00:00
jjgarcia
cfb16c1920 + The tests for the type and size of cl_fixnum have been grouped.
FIXNUM_BITS and CHAR_BIT do not rely now on "char" being 8-bit
  large.
+ All configuration settings are now grouped in config.h. This file
  has two parts, and the second one, containing flags which are only
  needed during the build process, is deleted when installing ECL.
+ File critical.h merged into lwp.h.
2002-11-20 17:26:21 +00:00
jjgarcia
7b4be96812 Remove more unused entries in external.h. 2002-11-18 17:28:02 +00:00
jjgarcia
05950d2eb9 ecl_boot=1 is required before init_CLOS() so that clear_compiler_properties()
works.
2002-11-18 12:59:19 +00:00
jjgarcia
a1cb0392e0 Make DISPATCH-FUNCTION a valid type. 2002-11-18 12:55:22 +00:00
jjgarcia
c08c51ab4a Instead of defining cl_alloc* stuff, make them alias of functions in the Boehm-Weiser garbage collector, to save space. 2002-11-18 12:50:54 +00:00
jjgarcia
aefdb1995b Introduce ecl_register_static_root() to register C static variables as containing pointers for garbage collection. Make ecl_register_static_root() do nothing in the Boehm-Weiser GC, because it already scans the whole data segment. 2002-11-18 12:48:58 +00:00
jjgarcia
fcb923948d Removed si::clear-compiler-properties from the core library. It is defined later in the compiler. 2002-11-18 12:46:32 +00:00
jjgarcia
632312cfcb Removed si::*inhibit-macro-special*. 2002-11-18 12:45:41 +00:00
jjgarcia
2f2a05798d Replace static C variable sharp_eq_context with special lisp variable si::*sharp-eq-context* 2002-11-18 11:31:53 +00:00
jjgarcia
6b408bad43 Remove pathname_match_p and symbol_name, which are redundant. Clean external.h, removing names of functions which do ot exist. 2002-11-18 11:30:56 +00:00
jjgarcia
2e6482b0a1 Rewrite the checking of # of arguments, so that the error message gets the name of the function whenever possible. 2002-11-18 11:29:21 +00:00
jjgarcia
3c71ec8ad2 Make use of GCC's __attribute__((regparm)) to simplify calling the error functions. 2002-11-18 11:27:51 +00:00
jjgarcia
da477db1ea Introduce function coerce_to_simple_string() to ensure that C functions get a null-terminated string 2002-11-18 11:26:33 +00:00
jjgarcia
b55a0130bc Replace coerce_to_string_designator with cl_string 2002-11-18 11:24:30 +00:00
jjgarcia
bfcc390d7f Merge more functions (copy_tree, copy_list, etc), so that only the lisp version is used and this one takes a fixed number of arguments. 2002-11-18 11:23:52 +00:00
jjgarcia
7ecf198780 Make cl_acons a function with fixed number of arguments. 2002-11-18 11:22:45 +00:00
jjgarcia
1cae8539ff Make reader functions take a fixed number of arguments. 2002-11-18 11:21:06 +00:00
jjgarcia
a60d37ade4 Replace static C variable backq_level with special variable si::*backq-level* 2002-11-18 11:20:06 +00:00
jjgarcia
72ceea3d3c Fixed FILE-NAMESTRING, implemented ENSURE-DIRECTORIES-EXIST, and added a
WITH-COMPILATION-UNIT which does nothing.
2002-11-14 18:38:34 +00:00
jjgarcia
12ba5b9035 FILE-NAMESTRING coerced pname to a string, instead of to a pathname. 2002-11-14 17:11:27 +00:00
jjgarcia
9bdb35ee31 Make the behavior of "**" in logical pathnames more intuitive. For
instance, now "HOME:FOO.LISP" matches the translation rule
("**/*.*" "~/**/*.*"), which formerly it did not. Also, add a logical
hostname for the home directory.
2002-11-14 16:32:18 +00:00
jjgarcia
914f959599 1) Fix error in UNWIND-PROTECT forms: the destination frame nlj_fr has to
be saved, because it may be overwritten by a BLOCK or TAGBODY inside
the normal exit form.
2) Implement Invocation History Stack as a chain of stack-allocated records.
3) In compiled TAGBODY forms, replace tags with numbers to save space.
2002-11-11 12:57:21 +00:00
jjgarcia
e2f5ecd373 Lambda lists of interpreted functions should have no limitation. 2002-11-08 11:01:46 +00:00
jjgarcia
aff037d412 Remove unportable hacks in BWGC, just in case someone wishes to an already
installed version.
2002-11-05 13:14:57 +00:00
jjgarcia
d77e370f56 In systems without DLOPEN, the list of *load-hooks* was corrupt. 2002-11-05 10:58:13 +00:00