Commit graph

69 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
ec0ddc1174 New function SEQUENCE-START-END 2010-05-20 12:30:52 +02:00
Juan Jose Garcia Ripoll
566cd5137e Fixed typo in string.d 2010-03-01 11:25:37 +01:00
Juan Jose Garcia Ripoll
86fd17197c Function get_string_start_end() rewritten to provide more useful error messages 2010-02-28 12:00:53 +01:00
Juan Jose Garcia Ripoll
01e227c402 Replaced many uses of type_of() with specialized macros (ECL_BIT_VECTOR_P, ECL_BASE_STRING_P, etc) 2010-02-28 01:09:13 +01:00
Juan Jose Garcia Ripoll
86c211a6a1 Optimize ecl-inl.h for small cons and use of ecl_unlikely. New macros ECL_CONSP, ECL_LISTP, ECL_ATOM, ECL_SYMBOLP 2010-02-27 09:47:05 +01:00
Juan Jose Garcia Ripoll
6e4d572bfb Tag many error checks using ecl_unlikely 2010-02-26 10:43:37 +01:00
Juan Jose Garcia Ripoll
9da71f93a9 Replaced ecl_check_type_string with FEwrong_type_*_arg 2010-02-25 22:22:12 +01:00
Juan Jose Garcia Ripoll
29a988d222 Replaced many calls to ecl_type_error() with the more expressive but uncorrectable FEwrong_type_nth_arg() 2010-02-25 15:32:42 +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
4bcd908a0a The function ecl_alloc_simple_vector() is responsible now for allocation of simple strings and it uses ecl_alloc_compact_object(). 2009-08-29 18:53:28 +02:00
Juan Jose Garcia Ripoll
da641873e4 In structures ecl_{array,vector,base_string,string}, replaced the bitfields hasfillp and adjustable with a single integer holding all flags. This solves several problems with Microsoft C compiler. 2009-07-26 11:56:26 +02:00
Juan Jose Garcia Ripoll
866d8c8604 The array element type is stored in the arrays, vectors and strings, thus simplifying identification and code. Slight speedup in ecl_aref. 2009-07-02 23:48:20 +02:00
Juan Jose Garcia Ripoll
8fe85d2e7c Introduce ECL_STACK_INDEX macro 2009-02-25 19:11:28 +01:00
Juan Jose Garcia Ripoll
150398b8b1 Extended strings are now arrays of 32-bit integers. 2009-02-07 19:54:34 +01:00
Juan Jose Garcia Ripoll
3c3dafa315 When ECL is built with --enable-unicode, it uses its own database for Unicode properties instead of tolower, toupper, etc. 2009-01-10 22:45:38 +01:00
Juan Jose Garcia Ripoll
c9b36e4005 Merged the new_signals branch. 2008-12-23 12:08:29 +01:00
Juan Jose Garcia Ripoll
609e1b8396 Fix support for unicode characters in readtables 2008-10-24 23:10:49 +02:00
Juan Jose Garcia Ripoll
7c5ab4f1fb Some functions now take a cl_env_ptr argument, becoming better isolated. 2008-10-11 22:32:54 +02: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
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