Commit graph

337 commits

Author SHA1 Message Date
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
bf8a3c21a9 Replaced LET -> LET* to make C code smaller, wherever it is possible. 2002-12-04 15:40:42 +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
b68c2036f6 New expansion for DO/DO* produces smaller code. 2002-12-04 09:32:47 +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
69712a6b5a More explicit error message at end of compilation time. 2002-11-28 09:43:19 +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
95155a2796 Detect automatically, to what characters \n is translated. For instance,
under MSDOS \n -> \r\n, and under Apple, \n -> \n\r.
2002-11-23 18:12:31 +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
6a653a966a src/c/init.d is no longer used. 2002-11-23 11:56:27 +00:00
jjgarcia
15da98a8c9 MacOSX's "cc -E" trashes a file while preprocessing. Therefore, we have to
get the content of machines.h in some other way: building a program. In a
near future, we should replace machines.h with a script.
2002-11-22 18:08:12 +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
c7d4c73767 Use same declarations as in gc.h, but avoid including all definitions
for the Boehm-Weiser GC.
2002-11-19 14:31:32 +00:00
jjgarcia
8fa35bd98a init.d is no longer required. 2002-11-19 14:30:09 +00:00
jjgarcia
7b4be96812 Remove more unused entries in external.h. 2002-11-18 17:28:02 +00:00
jjgarcia
399952f4d5 all_functions.c no longer exists. 2002-11-18 15:56:57 +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
7489558f2b Do not use linking-calls when compiling PCL, because it is a waste of space and time, due to the use of generic functions. 2002-11-18 12:57:14 +00:00
jjgarcia
a1cb0392e0 Make DISPATCH-FUNCTION a valid type. 2002-11-18 12:55:22 +00:00
jjgarcia
673a0c212f Make cl_dealloc do nothing, since the bignum libraries tries to deallocate statically allocate data. 2002-11-18 12:54:07 +00:00
jjgarcia
63b1ed0e31 Move all si::c-export-fname proclamations to the sysfun.lsp file, because they are only required when compiling files. 2002-11-18 12:52:31 +00:00
jjgarcia
46a490ffe2 Function names have changed. Reflect this in the debugger. 2002-11-18 12:51:28 +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
541842cc98 When binding optional values, we use two calls to BIND. This means
'BDS-BIND is pushed twice on *unwind-exit*, which results in two calls
to bds_unwind1, which is wrong.
2002-11-15 19:26:50 +00:00
jjgarcia
8ddd9acbbd Fixed a typo. 2002-11-15 19:00:47 +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
804380bb4f Fix a typo. 2002-11-14 09:48:58 +00:00
jjgarcia
c3dbc31900 siSpretty_print_format does not exist. Use ADD-SYMBOL to refer to this
symbol and optimize run-time access via MANGLE-NAME.
2002-11-12 09:45:29 +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
35f15c5714 Rewrite bare.lsp.in so that compile.lsp may be loaded in an already compiled ECL. 2002-11-11 11:19:20 +00:00
jjgarcia
e7f462c87e GCC's -fstrict-aliasing makes code smaller, and it doesn't seem to go against
ECL's semantics.
2002-11-11 10:30:41 +00:00