Juan Jose Garcia Ripoll
89a5283927
Implemented an interface for setting/querying options with numeric values and used it for stack sizes and limits.
2008-10-02 11:11:58 +02:00
jgarcia
87a6367939
Factor out some error calls to make code faster in Mac OS X (avoids references to cl_env in some functions)
2008-05-12 08:12:31 +00:00
jgarcia
5ef5d32e74
Enforce indent and mode conditions on files
2008-01-26 10:30:41 +00:00
jgarcia
b23b09e67a
RENAME-FILE now has a keyword argument that defines the behavior when a file with the new name exists.
2008-01-02 22:07:02 +00:00
jgarcia
7d68d65331
Do not print \*current-form\* when there is none
2007-10-13 10:11:53 +00:00
jgarcia
3f9a080eea
Show offending form when syntax error happens.
2007-07-12 09:09:53 +00:00
jgarcia
aa3dfe4058
Prefix most functions with 'ecl_' to avoid name collisions when embedding ECL in other libraries
2007-01-18 11:46:07 +00:00
jgarcia
75fb4cd6b6
Minimize number of headers included by ecl/ecl.h
2006-10-23 21:24:04 +00:00
jgarcia
ff0be77070
Support for unicode strings as data structure (no clever handling of characters yet) contributed by Brian Spilsbury.
2006-05-29 08:51:21 +00:00
jjgarcia
936b7fb6f6
Header files are now kept in a directory named 'ecl', so as to avoid name clashes with other headers.
2006-02-28 14:05:47 +00:00
jjgarcia
c2506f8283
Do not create SIMPLE-* versions of many conditions, but do that at run time, via a uniform SIGNAL-SIMPLE-ERROR function, that can produce both normal and correctable errors.
2005-11-04 12:35:20 +00:00
jjgarcia
9302a9e175
Various ANSI compatibility fixes
2005-05-26 19:17:53 +00:00
jjgarcia
06b3047b1d
+ Fixes in the code for backquoted vectors `#(,a ,b ...)
...
+ Fixes in the compiler code for CATCH and VALUES
+ Slight improvement in the readability of compiled CATCH
+ Implemented lisp hooks for cleaning on exit.
+ Improvements in the help messages from "configure"
2005-02-14 10:26:29 +00:00
goffioul
428c7776e6
Windows header also required under MINGW32.
2005-01-17 09:02:38 +00:00
jjgarcia
94ba2a064f
New function for Windows system errors (M. Goffioul)
2005-01-11 14:40:23 +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
71f921ed39
Remove some warnings from GCC
2004-01-24 17:00:24 +00:00
jjgarcia
0772b295cc
Signal also an arithmetic error when dividing by a floating point 0
2003-12-19 13:00:29 +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
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
4eac79774e
Preliminary support for POSIX threads.
2003-11-18 11:23:07 +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
1af46c7c39
Use the READER-ERROR condition to signal errors in the reader.
2003-04-10 17:40:34 +00:00
jjgarcia
41c0868469
Bunch of fixes. See CHANGELOG.
2003-03-17 10:39:08 +00:00
jjgarcia
1b64032b99
We need string.h for strerror().
2002-12-09 12:49:49 +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
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
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
b0ce08d0ea
Changes towards 0.7b comprise naming and calling conventions. See CHANGELOG.
2002-11-04 14:08:24 +00:00
jjgarcia
a9e4edf4d0
The calling conventions have been changed. SI::C-ARGUMENTS-LIMIT and
...
LAMBDA-PARAMETERS-LIMIT are both 64. Up to C-ARGUMENTS-LIMIT may be
passed to a function using C calling conventions. If the function is
to retrieve more arguments, (for instance through a &rest variable),
this can be done, but then the arguments have to be pushed on the lisp
stack. This method allows us to raise the CALL-ARGUMENTS-LIMIT up to
MOST-POSITIVE-FIXNUM. From a users point of view, there is no visible
change, excep the fact that a function may receive more arguments.
The function apply() has been replaced with cl_apply_from_stack().
The former took a pointer to the list of arguments. The latter assumes
that the last "narg" elements on the lisp stack are the arguments of
the function.
2002-10-21 09:27:58 +00:00
jjgarcia
9e8180d8ef
Fix interplay between old garbage collector and new method for allocating
...
symbols. The old GC still has a leak, so disable it.
2002-09-16 16:40:27 +00:00
jjgarcia
ac940d1cf2
<signal.h> has to be included so that SIGIOT may be restored before aborting.
...
A temporary error handler is also installed, which simply exits.
2002-09-16 12:20:24 +00:00
jjgarcia
23ee878e59
All symbols belonging to the LISP package and to the C core, are
...
kept in a single array, "cl_symbols". The translator "dpp" and the
routine SI::MANGLE-NAME, output the right name for any symbol
which is in this array.
2002-09-15 13:29:05 +00:00
jjgarcia
d6452b708e
Implement si::mkdir and FEfilesystem_error. Simplify other error handlers.
2001-12-20 17:20:18 +00:00
jjgarcia
c9b91f9618
Minimal patches for C++ compatibility
2001-12-20 09:17:51 +00:00
jjgarcia
851cd03941
The project name goes back to ECL. Therefore feature #+ECL returns and the
...
program and libraries are named ecl*. Finally the routine sys::build-ecls
has been renamed sys::build-program.
2001-11-21 08:07:30 +00:00
jjgarcia
c479d71051
Reader macro #, is now unsupported. Instead we have implemented
...
LOAD-TIME-VALUE both in the interpreter and in the compiler. Type error
messages from the compiler have been also improved.
2001-10-07 20:01:50 +00:00
jjgarcia
5f0dbbf1d1
- Remove function_entry_table.
...
- The value of *package* is correctly set and restored while loading
compiled code. This way, 'ecls -eval "(print *package*)"' produces
the expected result #<"COMMON-LISP-USER" package>
- COMPILE-FILE now outputs three values.
- The value of si::*keep-definitions* determines whether the
interpreter keeps the source of defined functions, for later use
with COMPILE and DISASSEMBLE. For instance,
> (set si::*keep-definitions* t)
> (defun foo (x) (1+ x))
> (compile 'foo)
> (foo 2)
3
> (compile 'foo)
;;; Error ....
These definitions are lost once the function is compiled, hence
the second error message.
2001-10-03 16:30:15 +00:00
jjgarcia
df51d3c0ec
Remove siLuniversal_error_handler from C library.
2001-07-29 11:08:58 +00:00
jjgarcia
0dc4df6002
Add a name mangler to "dpp" so that it translates symbol names as
...
@'si:symbol-name' @'other-symbol*' into the appropiate C name. All
symbol names and function names have been rewritten using this convention.
2001-07-02 17:11:28 +00:00
jjgarcia
2d8d0cd44b
Initial revision
2001-06-26 17:14:44 +00:00