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