Juan Jose Garcia Ripoll
6e4d572bfb
Tag many error checks using ecl_unlikely
2010-02-26 10:43:37 +01:00
Juan Jose Garcia Ripoll
53a1d16b4d
Replace many uses of FEwrong_type_argument with *_{nth,only}_arg
2010-02-26 09:13:03 +01:00
Juan Jose Garcia Ripoll
e0a268376f
Normalize names after @(defun tags so that the appear in the TAGS file.
2010-02-24 08:17:37 +01:00
Juan Jose Garcia Ripoll
e8f57bdec6
When creating structures and instances, always set instance.sig to a printable value, ECL_UNBOUND
2009-11-29 22:00:00 +01:00
Juan Jose Garcia Ripoll
5bda4b4f61
All allocation functions are now in the ECL library and they now have the ecl_* prefix. Old names are kept in macro form.
2008-10-10 22:36:15 +02:00
jgarcia
f3b1febf4e
Merged in changes from sealed_slot branch
2008-05-09 09:48:29 +00:00
jgarcia
8800b254f5
Committed the changes to implement small conses
2008-04-30 14:24:20 +00:00
jgarcia
5ef5d32e74
Enforce indent and mode conditions on files
2008-01-26 10:30:41 +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
0a478d6460
Updated functions to work with Unicode: STRING*TRIM, COPY-STRUCTURE, SHADOW
2006-11-12 17:12:22 +00:00
jgarcia
078bd05352
The slot accessors for structures with type VECTOR or LIST now rely on the standard function ELT, instead of si:list-nth and si:rplaca-nthcdr.
2006-11-06 20:43:53 +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
0290efd01c
Implemented the class redefinition protocol, and forward referenced classes.
2003-12-15 08:54:10 +00:00
jjgarcia
3607ca33c6
READ/WRITE-SEQUENCE implemented.
2003-07-10 08:41:15 +00:00
jjgarcia
e70961b8cf
Allow structures to have :TYPE (VECTOR BIT), (VECTOR CHARACTER), etc,
...
and make use of that sequence type instead of the general one (VECTOR T).
2003-04-30 11:47:59 +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
6b76d155ee
Create new functions SI::{GET,PUT,REM}-SYSPROP to handle vital information
...
about functions, SETF forms, DEFTYPEs, etc. Property lists are no longer
used for this task.
2003-03-21 14:18:56 +00:00
jjgarcia
8bb27d3094
Remove public function putprop(); use si_putprop() instead.
...
Removed public functions FEtype_error_plist().
Low level function getf() and get() renamed as ecl_get[f]().
Simplified the loops which deal with property lists.
Assertions ASSERT and CHECK-TYPE moved from conditions.lisp to assert.lisp; old definitions removed.
2003-03-21 09:24:37 +00:00
jjgarcia
495d5d0172
We need string.h for memcpy().
2002-12-09 12:47:44 +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
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
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
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
d5531d7a3f
Add support for Mac OSX, which means
...
- Enable simple allocator to use mmap()
- Rewrite cmpwt.lsp so that it produces files with short lines and ANSI strings
- Fix mkdir so that it accepts a parameter for the mode
2001-12-25 16:13: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
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