Commit graph

301 commits

Author SHA1 Message Date
jjgarcia
bfcc390d7f Merge more functions (copy_tree, copy_list, etc), so that only the lisp version is used and this one takes a fixed number of arguments. 2002-11-18 11:23:52 +00:00
jjgarcia
7ecf198780 Make cl_acons a function with fixed number of arguments. 2002-11-18 11:22:45 +00:00
jjgarcia
1cae8539ff Make reader functions take a fixed number of arguments. 2002-11-18 11:21:06 +00:00
jjgarcia
a60d37ade4 Replace static C variable backq_level with special variable si::*backq-level* 2002-11-18 11:20:06 +00:00
jjgarcia
541842cc98 When binding optional values, we use two calls to BIND. This means
'BDS-BIND is pushed twice on *unwind-exit*, which results in two calls
to bds_unwind1, which is wrong.
2002-11-15 19:26:50 +00:00
jjgarcia
8ddd9acbbd Fixed a typo. 2002-11-15 19:00:47 +00:00
jjgarcia
72ceea3d3c Fixed FILE-NAMESTRING, implemented ENSURE-DIRECTORIES-EXIST, and added a
WITH-COMPILATION-UNIT which does nothing.
2002-11-14 18:38:34 +00:00
jjgarcia
12ba5b9035 FILE-NAMESTRING coerced pname to a string, instead of to a pathname. 2002-11-14 17:11:27 +00:00
jjgarcia
9bdb35ee31 Make the behavior of "**" in logical pathnames more intuitive. For
instance, now "HOME:FOO.LISP" matches the translation rule
("**/*.*" "~/**/*.*"), which formerly it did not. Also, add a logical
hostname for the home directory.
2002-11-14 16:32:18 +00:00
jjgarcia
804380bb4f Fix a typo. 2002-11-14 09:48:58 +00:00
jjgarcia
c3dbc31900 siSpretty_print_format does not exist. Use ADD-SYMBOL to refer to this
symbol and optimize run-time access via MANGLE-NAME.
2002-11-12 09:45:29 +00:00
jjgarcia
914f959599 1) Fix error in UNWIND-PROTECT forms: the destination frame nlj_fr has to
be saved, because it may be overwritten by a BLOCK or TAGBODY inside
the normal exit form.
2) Implement Invocation History Stack as a chain of stack-allocated records.
3) In compiled TAGBODY forms, replace tags with numbers to save space.
2002-11-11 12:57:21 +00:00
jjgarcia
35f15c5714 Rewrite bare.lsp.in so that compile.lsp may be loaded in an already compiled ECL. 2002-11-11 11:19:20 +00:00
jjgarcia
e7f462c87e GCC's -fstrict-aliasing makes code smaller, and it doesn't seem to go against
ECL's semantics.
2002-11-11 10:30:41 +00:00
jjgarcia
bd2128aa27 stacks.h is frequently used: include it in the list of edited files. 2002-11-11 10:28:44 +00:00
jjgarcia
e2f5ecd373 Lambda lists of interpreted functions should have no limitation. 2002-11-08 11:01:46 +00:00
jjgarcia
4ad0b6c0ec compile2.lsp.in no longer needed. 2002-11-08 10:00:26 +00:00
jjgarcia
785dcae46a Install gmp.h when ECL's version of the library is used. 2002-11-08 09:07:29 +00:00
jjgarcia
4af4dbdf67 Final 0.7b changelog. 2002-11-05 13:38:45 +00:00
jjgarcia
569a5ef6f4 When compiling (function (lambda-block f (x) ...)), a block definition is missing. 2002-11-05 13:29:34 +00:00
jjgarcia
aff037d412 Remove unportable hacks in BWGC, just in case someone wishes to an already
installed version.
2002-11-05 13:14:57 +00:00
jjgarcia
d77e370f56 In systems without DLOPEN, the list of *load-hooks* was corrupt. 2002-11-05 10:58:13 +00:00
jjgarcia
b0ce08d0ea Changes towards 0.7b comprise naming and calling conventions. See CHANGELOG. 2002-11-04 14:08:24 +00:00
jjgarcia
99cea6f75f Fix typo. 2002-10-25 14:42:20 +00:00
jjgarcia
3c45b04b40 0.7 released. 2002-10-25 13:05:53 +00:00
jjgarcia
959f5c83e8 0.7 Released. 2002-10-25 13:04:24 +00:00
jjgarcia
7b7b05bfc3 Build a the internet address properly. One cannot just pass the
unsigned long on architectures with "wrong" endianness.
2002-10-25 09:33:17 +00:00
jjgarcia
e819427147 Enforce strict typechecking on all functions. 2002-10-22 12:52:52 +00:00
jjgarcia
9f4a649747 Source code broke with last commit :-( 2002-10-22 12:28:22 +00:00
jjgarcia
32db83b88a The stack pointer in args[0].sp should point to the first value which
is not passed on the C stack.
2002-10-22 07:09:17 +00:00
jjgarcia
84e4a9bb92 Fix typo. 2002-10-21 12:33:43 +00:00
jjgarcia
a682c5accb Make MAYBE-PUSH-ARGS smaller. 2002-10-21 12:29:44 +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
10fbd27569 Add multival.d to the list of source files. 2002-10-21 09:26:50 +00:00
jjgarcia
40d3d5c9b1 Fix bogus link. 2002-10-21 09:25:17 +00:00
jjgarcia
5f92465b08 SI::LOOKUP-HOST-ENTRY should not signal an error when the host is not found. 2002-10-16 07:15:58 +00:00
jjgarcia
feeea3db1a Remove unused functions extended_{mul,div}(). 2002-10-16 07:11:01 +00:00
jjgarcia
9724cc060a Remove unused function object_to_string(). 2002-10-16 07:06:37 +00:00
jjgarcia
e919dcd6c7 Remove unused function make_list() 2002-10-16 06:59:50 +00:00
jjgarcia
874affc400 SUBSEQ should also work with vectors of bytes. 2002-10-16 06:56:47 +00:00
jjgarcia
f03ef8ae16 Added function SI:OPEN-UNIX-SOCKET-STREAM and SI:LOOKUP-HOST-ENTRY 2002-10-15 13:38:18 +00:00
jjgarcia
39539e5714 Add new operator OP_LFUNCTION and remove OP_CALL/OP_PCALL. This results in
a simplification of the code for OP_FUNCTION, which may assume that the
function to be searched is a global.
2002-10-13 17:13:25 +00:00
jjgarcia
0912497863 Simplify use of local variables, eliminating the redundant symbol from the
bytecodes.
2002-10-13 17:05:40 +00:00
jjgarcia
cd6d1e61ef Simplify the bytecodes a bit and add comments describing their use. 2002-10-13 16:57:24 +00:00
jjgarcia
3c7fe4535b Instead of having gcall() work like funcall(), create a function
[va_]compute_method() which computes the method we really want to call,
and use this function inside funcall(), apply(), etc.
2002-10-13 16:05:26 +00:00
jjgarcia
59a26b4751 Use same link_call() with and without CLOS. The use of static variables is
not thread safe.
2002-10-13 16:03:36 +00:00
jjgarcia
a5aaa3edf3 Use abs_{srcdir,builddir,top_srcdir}, to avoid problems with latest autoconf. 2002-10-13 16:02:23 +00:00
jjgarcia
29734ae79b New functions SI:SAFE-EVAL and cl_safe_eval() allow the user to evaluate
code with errors without jumping into the debugger. Useful when embedding
ECL in other programs.
2002-10-08 17:40:22 +00:00
jjgarcia
4c6036b3f8 Changed the algorithm of the list reader. A dot which is not escaped is read as
a symbol SI::. which is recognized by LEFT-PARENTHESIS-READER. This avoids
using global variables "in_list_flag" and "dot_flag". No need for function
read_object_recursive(), since read_object() is equivalent to it.
2002-10-08 16:50:28 +00:00
jjgarcia
fe2c419642 Configure Boehm's GC with --disable-threads so that ECL does not require
the posix threads library.
2002-10-08 16:48:37 +00:00