Commit graph

2746 commits

Author SHA1 Message Date
jjgarcia
eb36d14010 gentemp_prefix and gensym_prefix are now constant static variables and their
value is not modified by calls to GENSYM or GENTEMP.
2002-09-11 14:49:54 +00:00
jjgarcia
74c02ee5b3 Global variables bignum_register[], gc_time, backq_level are no longer public. 2002-09-11 13:39:44 +00:00
jjgarcia
441354af45 Make format.d use only stack allocated data, to make it reentrant. 2002-09-09 07:15:57 +00:00
jjgarcia
2e439d23ad FORMAT should not accept more than 7 parameters per directive. Also,
avoid the use of pointers in fmt_set_param[_positive]().
2002-09-08 10:00:07 +00:00
jjgarcia
9eb9d3bc88 Hide a lot of functions. Official interface for printer is made of
setupPRINT() and write_object().
2002-09-07 15:30:51 +00:00
jjgarcia
0d168a1aa5 Remove pointer write_ch_fun. Clean up a bit the procedure for preparing the
printer and printing circular objects.
2002-09-07 15:12:39 +00:00
jjgarcia
e9204d8d37 Fix typo. 2002-09-07 14:31:51 +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
fab70b7056 call_{structure_print_function,print_object} now share the same code. 2002-09-03 16:27:49 +00:00
jjgarcia
265a23d5ce Remove global variable intern_flag. Add, instead, a new parameter to
intern() and find_symbol().
2002-09-03 14:53:34 +00:00
jjgarcia
3a87ac41f4 Provide declarations for some functions & remove some #include's from ecl.h 2002-09-03 13:39:13 +00:00
jjgarcia
57a7261d34 Fix typo in copy_list_wildcards() 2002-09-03 12:42:47 +00:00
jjgarcia
ee6300ea76 Fixed typo in path_list_match(). 2002-09-03 12:41:50 +00:00
jjgarcia
91c4080337 Remove useless definitions. 2002-09-03 12:03:06 +00:00
jjgarcia
475c8627a6 Remove unused definitions. 2002-09-03 11:54:25 +00:00
jjgarcia
5339a44232 Fix typo in unreadc_stream(). 2002-08-29 15:49:18 +00:00
jjgarcia
41240fe8e9 Synonym streams can now point to CLOS streams. 2002-08-28 17:39:23 +00:00
jjgarcia
6c7dfc0477 LOAD accepts now a stream as input parameter. However, in this case it only
tolerates lisp source files, not compiled files or libraries. For example,
(LOAD (OPEN "foo.lsp")) is equivalent to (LOAD "foo.lsp").
2002-08-27 16:31:42 +00:00
jjgarcia
6a35761024 Introduce two new user-defined methods for CLOS streams: STREAM-INPUT-P and
STREAM-OUTPUT-P. Both should be defined, so that ECL may decide wether an
instance may be used for output or not.
2002-08-27 16:25:40 +00:00
jjgarcia
1179c35043 The interface for CLOS streams is cleared. First, output_ch_fun and read_ch_fun
disappear. All code pertaining CLOS streams is moved to file.d. This code
allows the user to supply an arbitrary object instead of a stream. The object
must have the following methods defined: STREAM-READ-CHAR, STREAM-UNREAD-CHAR,
STREAM-LISTEN, STREAM-CLEAR-INPUT, STREAM-WRITE-CHAR, STREAM-CLEAR-OUTPUT,
STREAM-FORCE-OUTPUT, STREAM-CLOSE. With these methods it can be used for
input and output. This implementation of streams is enabled with the flag
--with-clos-streams during configuration phase.
2002-08-27 13:46:04 +00:00
jjgarcia
cd71cbe5a3 Fix square root. 2002-07-08 07:35:55 +00:00
jjgarcia
b7cd0209b8 Use ISO-C99 functions to check whether a real number is finite. 2002-05-22 16:51:15 +00:00
jjgarcia
1286ec7528 No need to check for overflows while reading numbers -- make_shortfloat
and make_longfloat take care of that.
2002-05-22 16:50:41 +00:00
jjgarcia
723047975d Use ISO-C99 functions to extract exponents, mantisas, etc, instead of old
tricks based on the binary representation of numbers.
2002-05-22 16:36:41 +00:00
jjgarcia
e6922fb76c Function SI:NANI has been removed. Its purpose was to provide an
object which could not be printed or readed so that it could be
used to mark unbound slots in classes. Now the function SI:UNBOUND
performs the same task
2002-05-22 13:40:38 +00:00
jjgarcia
7e5cacd38e * Variable *EVAL-WHEN-COMPILE* is no longer used.
* FIND-CLASS belongs to the C library -- it can now be directly called.
* Class BUILT-IN renamed to BUILT-IN-CLASS
* Macro PROG1 slightly optimized
2002-05-17 16:37:21 +00:00
jjgarcia
7c142461af Added new type names for the different forms of streams (ECHO-STREAM, STRING-
STREAM, etc). Now TYPE_OF() returns these more specific names.
2002-05-13 07:21:15 +00:00
jjgarcia
dffbb731bd * SYMBOL-MACROLET now fails when redefining a symbol that has been declared
special.
* Declarations are now properly handled by DOTIMES/DOLIST and LOCALLY. See
  src/ansi-tests/section3.* for details.
2002-05-13 07:19:26 +00:00
jjgarcia
7b9899db80 (SETF (CHAR string ndx) char) now properly ignores fill pointers. 2002-05-10 07:36:37 +00:00
jjgarcia
de69da1d5a SXHASH now generates identical keys for the copies of a random state object. 2002-05-10 07:36:07 +00:00
jjgarcia
33263c74c5 Hannu Koivisto: Now respects if-does-not-exist argument in all case 2002-02-12 15:59:15 +00:00
jjgarcia
09768d8f44 Implicit suffix rule may cause problems with gnumake. Replaced with pattern
rule which forces users of BSD systems to install gmake.
2002-02-11 13:19:16 +00:00
jjgarcia
ab82a93fda Solve bogus patch to si::pathname-translations. 2002-02-11 10:40:50 +00:00
jjgarcia
339300744e Local variable host clobbers argument to si::pathname_translations 2002-02-11 10:29:55 +00:00
jjgarcia
e6ee6f2a69 Ignore versions in logical pathnames and in physical pathnames, but parse
them in logical pathnames.
2002-02-07 10:15:33 +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
d6452b708e Implement si::mkdir and FEfilesystem_error. Simplify other error handlers. 2001-12-20 17:20:18 +00:00
jjgarcia
e60a6ceaa1 Fix typo regarding (enum cl_type). 2001-12-20 17:19:13 +00:00
jjgarcia
5d971b9de5 No need to override system() 2001-12-20 17:18:40 +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
f226ba3e00 Add si:setenv and fix si:getenv so that it accepts arguments of any length. 2001-12-17 10:30:25 +00:00
jjgarcia
fe296e2e54 Allow using a local copy of the Boehm-Weiser garbage collector. Clean up how
headers are grabbed from GMP and B-WGC
2001-12-13 14:18:20 +00:00
jjgarcia
3dc4807773 Allocate bignums as atomic objects which host no pointers 2001-12-12 08:06:51 +00:00
jjgarcia
6b625e6766 Variable SYS:*INIT-FUNCTION-PREFIX* should also be present in systems in which
dynamically linked libraries are not supported.
2001-12-11 07:24:42 +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
9f94c6f19d Remove unused files 2001-11-21 07:39:26 +00:00
jjgarcia
9b4bd625f4 +The compiler produced wrong code for RETURN-FROM forms inside an UNWIND-PROTECT.
+Deftype BIT-VECTOR would not expand to a vector type.
+Each compiled file has an entry point whose name is either
 init_CODE() or another name based on the name of the source file.
 The algorithm for computing these names has been slightly changed
 so that the entry points of ECLS's own library do not conflict with
 user defined entry points.
+A LET/LET* form in which the initializers for a variable have not
 the expected type produce a warning, but the code is accepted. For
 instance (LET (V) (DECLARE (TYPE FIXNUM V)) (SETQ V 1)) now
 compiles.
+(SETF name), where name is a symbol, is now a valid function name in all
 contexts. It is accepted by DEFUN, FUNCTION, FBOUNDP, FMAKUNBOUND, etc,
 and it can be the on the function position in any form.
+New specialized arrays for (UNSIGNED-BYTE 8) and (SIGNED-BYTE 8).
2001-11-17 11:02:12 +00:00
jjgarcia
8e29a86094 Symbolics' LOOP macro incorporated. 2001-10-17 18:42:44 +00:00
jjgarcia
7957040185 New interface for building standalone programs and libraries. 2001-10-17 16:40:22 +00:00