jjgarcia
c2aa136143
Various minor fixes, and an important set of changes to teach the compiler
...
and the interpreter to understand (SETF fname) function names, and to handle
them without creating auxiliary symbols.
2003-04-28 15:55:22 +00:00
jjgarcia
f20736084b
Add more symbols to src/c/symbols_list.h, and resolve associated conflicts.
2003-04-28 09:25:58 +00:00
jjgarcia
02622043bc
New implementation of SUBTYPEP.
2003-04-10 14:32:02 +00:00
jjgarcia
6b76d155ee
Create new functions SI::{GET,PUT,REM}-SYSPROP to handle vital information
...
about functions, SETF forms, DEFTYPEs, etc. Property lists are no longer
used for this task.
2003-03-21 14:18:56 +00:00
jjgarcia
8bb27d3094
Remove public function putprop(); use si_putprop() instead.
...
Removed public functions FEtype_error_plist().
Low level function getf() and get() renamed as ecl_get[f]().
Simplified the loops which deal with property lists.
Assertions ASSERT and CHECK-TYPE moved from conditions.lisp to assert.lisp; old definitions removed.
2003-03-21 09:24:37 +00:00
jjgarcia
aabafc3c6c
Remove public functions remf() and remprop().
2003-03-20 15:47:44 +00:00
jjgarcia
41c0868469
Bunch of fixes. See CHANGELOG.
2003-03-17 10:39:08 +00:00
jjgarcia
b7ced3d4ba
Change the way Cblocks are created. Now, within a DLL, several Cblocks may
...
be created for the different components, but in the end they are chained together
and point to a main Cblock with the handle of the library.
2003-03-13 11:10:35 +00:00
jjgarcia
5478bbe21b
DLLs and files have now termination procedures, which unload the DLL or close
...
the file, when these objects are garbage collected.
2003-03-12 10:05:42 +00:00
jjgarcia
94f70da47b
Remove debug statement.
2003-03-11 18:22:51 +00:00
jjgarcia
e10ee7808b
When dealing with compiler-macros, ECL may enter an infinite loop.
2003-03-11 14:56:48 +00:00
jjgarcia
5f6f65b407
Bunch of fixes inspired by the ANSI test suite of GCL.
2003-03-10 09:10:13 +00:00
jjgarcia
9771e91572
+ New implementation of DESTRUCTURING-BIND
...
+ The bytecodes compiler now alloes a lambda list with &key and no keywords
+ WITH-HASHTABLE-ITERATOR implemented
+ QUIT is now silent
+ In MAKE-PATHNAME, values supplied with a value of NIL would be overwritten
by the content of :DEFAULTS.
2003-03-04 16:35:03 +00:00
jjgarcia
b0e60245a4
c::*funs* may contain symbols (like CB marking closure boundary),
...
function structures (marking function definitions), or lists with the
format (fname MACRO interpreted-function), to denote MACROLET
expansions.
2002-12-17 10:45:36 +00:00
jjgarcia
d21a1fd389
Previous fixed removed. Hopefully this time I got FTYPE declarations
...
correct: they are restricted to (FTYPE (FUNCTION (arg-types*) ret-type*) name*)
2002-12-17 09:53:04 +00:00
jjgarcia
8852166529
FTYPE should accept two types of declarations: the ones with a formal type
...
(FTYPE (FUNCTION (T T) T) MY-FUN1 MY-FUN2)
and the abbreviated ones
(FTYPE MY-FUN1 (T T) T)
2002-12-17 09:15:37 +00:00
jjgarcia
73447f1b3e
Set safe compilation as default.
2002-12-14 15:44:47 +00:00
jjgarcia
912a7fb03c
The declaration specifier for functions is FTYPE, not FUNCTION.
2002-12-14 15:37:29 +00:00
jjgarcia
62141f9f5d
Replace int -> cl_fixnum, cl_index, to avoid problems with 64-bit archit.
...
Make sure that structure/instance slots may be indexed with a simple integer.
2002-12-09 12:10:33 +00:00
jjgarcia
451ed9087d
When coercing the output of INLINE-ARGS, and found a (FIXNUM (T some-location)),
...
recognize that the "some-location" variable is NOT unboxed.
2002-12-05 09:52:07 +00:00
jjgarcia
f589ddf587
When compiling a (VALUES ...) form, put the result in VALUES; do not use
...
value0, because then the compiler assumes only one value is produced.
2002-12-05 09:48:52 +00:00
jjgarcia
de9f5afdaf
In MAYBE-PUSH-ARGS, a C variable was used initialized.
2002-12-05 09:45:38 +00:00
jjgarcia
151cf73044
Fix the names of the optimizers for SHIFT<< and SHIFT>>.
2002-12-05 09:42:58 +00:00
jjgarcia
69712a6b5a
More explicit error message at end of compilation time.
2002-11-28 09:43:19 +00:00
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
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
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
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
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
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
569a5ef6f4
When compiling (function (lambda-block f (x) ...)), a block definition is missing.
2002-11-05 13:29:34 +00:00
jjgarcia
b0ce08d0ea
Changes towards 0.7b comprise naming and calling conventions. See CHANGELOG.
2002-11-04 14:08:24 +00:00
jjgarcia
9f4a649747
Source code broke with last commit :-(
2002-10-22 12:28:22 +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
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
308ca50f5d
Export build-program as well.
2002-10-07 07:17:39 +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
37ff2b9644
Removed INT-CHAR. Use CODE-CHAR instead.
2002-05-13 13:52:45 +00:00
jjgarcia
6f10f3e925
Fix typo.
2002-05-13 07:24:10 +00:00
jjgarcia
6ec3b91890
Implement DEFINE-COMPILER-MACRO and COMPILER-MACRO-FUNCTION
2002-05-10 07:41:15 +00:00
jjgarcia
3d968c077a
ffi::definline has a bogus definition in ffi.lsp.
2002-02-12 16:06:18 +00:00
jjgarcia
af0504410d
Instead of producing a call to object_to_int, defCbody should call object_to_fixnum
2002-02-12 16:05:35 +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