Commit graph

50 commits

Author SHA1 Message Date
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