jjgarcia
a6fea4e63e
After reading an object, READ should skip whitespaces until it fints the
...
beginning of a new line, the EOF, or a new token. This way (READ-LINE)
at the prompt, produces the expected result instead of an empty line.
2002-11-23 15:42:09 +00:00
jjgarcia
7a58f94bd0
We need machines.h do define unix.h.
2002-11-21 13:41:22 +00:00
jjgarcia
cfb16c1920
+ The tests for the type and size of cl_fixnum have been grouped.
...
FIXNUM_BITS and CHAR_BIT do not rely now on "char" being 8-bit
large.
+ All configuration settings are now grouped in config.h. This file
has two parts, and the second one, containing flags which are only
needed during the build process, is deleted when installing ECL.
+ File critical.h merged into lwp.h.
2002-11-20 17:26:21 +00:00
jjgarcia
7b4be96812
Remove more unused entries in external.h.
2002-11-18 17:28:02 +00:00
jjgarcia
05950d2eb9
ecl_boot=1 is required before init_CLOS() so that clear_compiler_properties()
...
works.
2002-11-18 12:59:19 +00:00
jjgarcia
a1cb0392e0
Make DISPATCH-FUNCTION a valid type.
2002-11-18 12:55:22 +00:00
jjgarcia
c08c51ab4a
Instead of defining cl_alloc* stuff, make them alias of functions in the Boehm-Weiser garbage collector, to save space.
2002-11-18 12:50:54 +00:00
jjgarcia
aefdb1995b
Introduce ecl_register_static_root() to register C static variables as containing pointers for garbage collection. Make ecl_register_static_root() do nothing in the Boehm-Weiser GC, because it already scans the whole data segment.
2002-11-18 12:48:58 +00:00
jjgarcia
fcb923948d
Removed si::clear-compiler-properties from the core library. It is defined later in the compiler.
2002-11-18 12:46:32 +00:00
jjgarcia
632312cfcb
Removed si::*inhibit-macro-special*.
2002-11-18 12:45:41 +00:00
jjgarcia
2f2a05798d
Replace static C variable sharp_eq_context with special lisp variable si::*sharp-eq-context*
2002-11-18 11:31:53 +00:00
jjgarcia
6b408bad43
Remove pathname_match_p and symbol_name, which are redundant. Clean external.h, removing names of functions which do ot exist.
2002-11-18 11:30:56 +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
3c71ec8ad2
Make use of GCC's __attribute__((regparm)) to simplify calling the error functions.
2002-11-18 11:27:51 +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
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
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
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
e2f5ecd373
Lambda lists of interpreted functions should have no limitation.
2002-11-08 11:01:46 +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
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
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
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
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
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
1897e278d6
*standard-output* and *terminal-io* are always bound to something.
2002-10-08 16:32:13 +00:00
jjgarcia
7a4c7788bf
Small optimization for APPLY[_closure].
2002-10-07 09:27:23 +00:00
jjgarcia
e2d71f3f18
default_dispatch_macro should be private.
2002-10-04 15:47:34 +00:00
jjgarcia
15b66bff98
Remove global variable read_VV_block. Use special variable instead.
2002-10-04 15:42:57 +00:00