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
6e48d40f11
Include header for declaration of towupper (Ralph Campbell)
2007-12-30 19:09:35 +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
e8f08ac8d4
Arrays can now be displaced to foreign data
2006-12-26 18:57:13 +00:00
jgarcia
0a478d6460
Updated functions to work with Unicode: STRING*TRIM, COPY-STRUCTURE, SHADOW
2006-11-12 17:12:22 +00:00
jgarcia
79ecafc64e
String comparison routines failed when comparing strings with different character types.
2006-11-12 16:33:13 +00:00
jgarcia
fe77606f7c
Removed spurious statement left from cut & paste.
2006-11-12 12:58:32 +00:00
jgarcia
14fc59dec5
PARSE-INTEGER works with Unicode strings. For that, changed the signature of parse_number/integer, which now operate on strings.
2006-11-11 17:35:57 +00:00
jgarcia
644193ed56
Unicode support via wctype.h for most character handling functions.
2006-11-10 21:01:48 +00:00
jgarcia
6fd5899a64
MAKE-STRING always produced a BASE-STRING
2006-11-10 18:42:35 +00:00
jgarcia
42d7e63b23
Allow creating symbols with extended characters in the name, and teach EQUAL how to compare strings with different character types.
2006-11-10 15:36:18 +00:00
jgarcia
57e6cbe321
Fixed two typos in string.d. Introduced new predicate ecl_stringp()
2006-11-10 13:04:19 +00:00
jgarcia
6b5f1fd969
Implemented generic type checker based on ecl type tags and used it to replace multiple assertions.
2006-10-30 10:50:58 +00:00
jgarcia
aee133c4b5
Remove ad-hoc limit in the number of strings SI:BASE-STRING-CONCATENATE can handle. New macros for copying and finishing arguments lists.
2006-10-27 22:16:45 +00:00
jgarcia
8958390eae
MAKE-STRING with Unicode accepts arbitrary type specifiers. New function ecl_base_char_code() used to coerce objects to char and unsigned
2006-10-27 21:40:34 +00:00
jgarcia
94e7c62cac
Unified the code for string comparison functions. MAKE-SYMBOL now allows extended strings as far as they do not contain extended characters. Fixed typos in socket.lsp. Extended characters are printed with the same number of digits as in CHAR-NAME.
2006-05-29 08:51:37 +00:00
jgarcia
53dfd6fdb2
New function SI:COPY-TO-SIMPLE-BASE-STRING supersedes other redundant coercion functions. BASE_CHAR_P was wrong. Symbols can be made out of extended strings.
2006-05-29 08:51:33 +00:00
jgarcia
fa937337f8
Some lisp functions with non-standard names (base-char-p, base-string) are renamed and moved to the SYS package. socket.lsp fixed to understand base strings. limited support for arbitrary strings in string streams.
2006-05-29 08:51:28 +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
317e0752ba
Mark some blocks, which contain no pointers (for instance bytecodes) as atomic
2005-06-27 08:15:52 +00:00
jjgarcia
71ea2d7a78
char_bag should be allowed to be nil
2005-05-30 09:32:23 +00:00
jjgarcia
fad06b21a0
Solved buffer overflow problem in extending strings
2005-05-20 15:03:47 +00:00
jjgarcia
27c98657f1
Complete support for UFFI (Michael Goffioul)
2004-11-29 13:13:03 +00:00
jjgarcia
6b219625b5
Port to Microsoft VC++ by Goffioul Michael <goffioul@imec.be>
2004-10-25 16:34:20 +00:00
jjgarcia
ce41ff78fd
Support for DLL in Windows
2004-06-18 07:51:14 +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
90a0382ae8
+ Fixes in the routines that deal with pathnames: it is now possible to
...
use *DEFAULT-PATHNAME-DEFAULTS* as current working directory, because it
is set to the initial directory and because it can be updated with SI::CHDIR.
+ Pathname versions are now properly handled and printed. At least for logical
pathnames, because physical namestrings cannot have version numbers.
+ An error is signaled when one tries to print _readably_ a pathname that does
not have a namestring such that parsing this namestring produces the same
pathname. This happens, for instance, with pathnames that do not have hosts,
or that have version numbers and are not logical.
+ Fixes in the CLOS subsystem: ADD-METHOD and REMOVE-METHOD now update the
GENERIC-FUNCTION slot of method objects, and output the right values.
It is now possible to use two nested SYMBOL-MACROLET that define the same
symbols.
2004-01-08 11:03:05 +00:00
jjgarcia
c4959d77ed
Fixed typo.
2003-12-08 11:06:52 +00:00
jjgarcia
01c6e8abff
Use more lispy names for the thread objects, and add locks.
2003-11-19 15:07:18 +00:00
jjgarcia
41c0868469
Bunch of fixes. See CHANGELOG.
2003-03-17 10:39:08 +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
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
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
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
370289ec26
Create new functions for make_string_output_stream_from_string() and
...
cl_string_push_extend().
2002-09-07 13:40:07 +00:00
jjgarcia
7b9899db80
(SETF (CHAR string ndx) char) now properly ignores fill pointers.
2002-05-10 07:36:37 +00:00
jjgarcia
b285ceec15
Fix type problems with C++ under FreeBSD
2001-12-20 11:43:16 +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
b979ad8b0b
Changes in the names of macros related to fixnums, characters and arrays.
2001-10-11 17:44:57 +00:00
jjgarcia
8218528ffb
Fixnum product would overflow.
...
Bit fiddling operations with negative fixnums now work.
Remove unportable code of the type va_list d = cs.
Simplify gathering of &rest and &key arguments in compiled code.
2001-08-06 22:14:31 +00:00
jjgarcia
af2d5baf84
parse_key is now named va_parse_key
2001-07-29 15:51:08 +00:00
jjgarcia
afc2bd70d3
Make the code more portable with respect to changes on the direction of
...
growth of the stack and in the way va_arg() arguments can be accessed.
Fix the bytecodes compiler so that it handles toplevel forms properly and
so that it understands LOCALLY.
Split configure.in into configure.in+aclocal.m4 and improve the resulting
tests.
2001-07-27 17:01:28 +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