Commit graph

316 commits

Author SHA1 Message Date
jjgarcia
7489558f2b Do not use linking-calls when compiling PCL, because it is a waste of space and time, due to the use of generic functions. 2002-11-18 12:57:14 +00:00
jjgarcia
a1cb0392e0 Make DISPATCH-FUNCTION a valid type. 2002-11-18 12:55:22 +00:00
jjgarcia
673a0c212f Make cl_dealloc do nothing, since the bignum libraries tries to deallocate statically allocate data. 2002-11-18 12:54:07 +00:00
jjgarcia
63b1ed0e31 Move all si::c-export-fname proclamations to the sysfun.lsp file, because they are only required when compiling files. 2002-11-18 12:52:31 +00:00
jjgarcia
46a490ffe2 Function names have changed. Reflect this in the debugger. 2002-11-18 12:51:28 +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
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