Commit graph

3435 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
fc0fc51eae src/c/read.d: the previous 'fix' for the circular reader lead to infinite recursion. This actual fix reimplements SBCL's strategy, using a hash table to prevent it. 2009-11-23 22:48:05 +01:00
Juan Jose Garcia Ripoll
e8b2573355 FDEFINITION/SYMBOL-FUNCTION cause an access violation instead of an undefined function message when acting on NIL 2009-11-20 10:25:01 +01:00
Juan Jose Garcia Ripoll
dd20362b96 Fix previous corrupt commit. 2009-11-20 08:48:43 +01:00
Juan Jose Garcia Ripoll
fd014c087b Solve two problems with circular references reader:
* #n= does not immediately substitute for the value, even if known.
* #. did not use the flag recursive-p when calling READ, and thus had
  no access to previously defined #n# reader values.
2009-11-20 00:25:22 +01:00
Juan Jose Garcia Ripoll
a0017d2185 Patch for tracker bug ID: 2900631. Losing non-primary values in compiled, proclaimed function calls (Abhishek) 2009-11-19 20:21:39 +01:00
Juan Jose Garcia Ripoll
fddb943c98 Upgrade ASDF to v1.369 2009-11-17 22:52:26 +01:00
Juan Jose Garcia Ripoll
a31b91ac42 Simplify LOG/LOG1P so that when passed a NaN they do not enter an infinite recursion. 2009-11-15 23:42:37 +01:00
Juan Jose Garcia Ripoll
ab9265d06f src/clos/slot.lsp: parse-slot did not retrieve the right name of a slot and thus failed in some corner cases. 2009-11-15 22:38:38 +01:00
Juan Jose Garcia Ripoll
9e4d21f859 LOG on #C(x x) produces a more accurate result which is stable when X == 0. ATAN with #C(0 x) now gives a result without infinite depth recursion. 2009-11-15 12:29:49 +01:00
Juan Jose Garcia Ripoll
67224a4d49 src/clos/standard.lsp: a previous patch prevented class slots to be reinitialized. 2009-11-15 11:02:26 +01:00
Juan Jose Garcia Ripoll
2d675630e7 src/c/list.d: in APPEND, add back error detection for non proper lists. 2009-11-15 10:49:33 +01:00
Juan Jose Garcia Ripoll
549f4b0e26 Rewrite c_multiple_value_bind using a switch instead of concatenated ifs. 2009-11-15 09:57:02 +01:00
Juan Jose Garcia Ripoll
09ea4242f7 Note the change which is now common to the compiler and interpreter. 2009-11-15 09:55:07 +01:00
Juan Jose Garcia Ripoll
ce3a51e6f7 src/lsp/setf.lsp: setf-expand-1 can be simplified now that multiple-value-bind with one variable is automatically optimized. 2009-11-14 18:13:04 +01:00
Juan Jose Garcia Ripoll
2c0cfb74c5 src/c/compiler.d: the interpreter optimizes MULTIPLE-VALUE-BIND with zero and one variables. 2009-11-14 18:12:12 +01:00
Juan Jose Garcia Ripoll
0b3075cb96 src/cmp/cmpmulti.lsp: c1multiple-value-bind replaces multiple-value-bind with a let form when there is only one variable to be bound. 2009-11-14 18:00:56 +01:00
Juan Jose Garcia Ripoll
1b3eda6e08 APPEND copied also the last argument. 2009-11-14 17:37:27 +01:00
Juan Jose Garcia Ripoll
8265f44396 src/clos/method.lsp: use the (APPEND ... NIL) idiom to ensure that a fresh list is produced. 2009-11-14 17:36:55 +01:00
Juan Jose Garcia Ripoll
b69d02dac6 src/lsp/defstruct.lsp: APPEND -> NCONC when using freshly created lists. 2009-11-14 17:36:28 +01:00
Juan Jose Garcia Ripoll
b4b2d12f7e src/c/pathname.d: use the (APPEND ... NIL) idiom to ensure that a fresh list is produced. 2009-11-14 17:35:42 +01:00
Juan Jose Garcia Ripoll
4b38dd326e src/lsp/defmacro: cleaned up the code in sys:expand-defmacro. 2009-11-14 16:13:58 +01:00
Juan Jose Garcia Ripoll
8734f8fcb6 src/lsp/defmacro.lsp: simplified the expander of DESTRUCTURING-BIND. 2009-11-14 16:09:04 +01:00
Juan Jose Garcia Ripoll
3447e860eb src/cmp/cmpmain.lsp: in C:BUILDER, when using SI:SAFE-EVAL to execute the prologue and epilogue codes, allow by default to start up the debugger. 2009-11-14 10:49:54 +01:00
Juan Jose Garcia Ripoll
f932239809 Output a newline character after the version number. 2009-11-10 08:10:26 +01:00
Juan Jose Garcia Ripoll
7b36d76089 New command line option --version to print version number. 2009-11-10 00:06:26 +01:00
Juan Jose Garcia Ripoll
6c380fba8e Remove debug statement. 2009-11-09 20:19:22 +01:00
Juan Jose Garcia Ripoll
b074cd8b36 FIND-SYMBOL now only accepts strings 2009-11-09 19:59:36 +01:00
Juan Jose Garcia Ripoll
6a94780559 LOAD works on special files (/dev/null and the like). 2009-11-09 19:25:01 +01:00
Juan Jose Garcia Ripoll
a316938550 EXT:QUIT now stores the exit code of the program and this is returned by standalone executables. 2009-11-09 10:12:45 +01:00
Juan Jose Garcia Ripoll
a7088a9c13 BREAK must set *DEBUGGER-HOOK* to NIL. 2009-11-09 09:30:49 +01:00
Juan Jose Garcia Ripoll
18f5cf2d92 The IGNORE/IGNORABLE declarations accept (but ignore) arguments of the for (FUNCTION function-name). 2009-11-08 16:39:19 +01:00
Juan Jose Garcia Ripoll
750059ca2a SAFE-EVAL never returned the error value when passed a third argument. 2009-11-08 15:45:28 +01:00
Juan Jose Garcia Ripoll
e44656e9bb src/cmp/cmpmain.lsp: when building a standalone executable, wrap everything with a CL_CATCH_ALL to provide an exit point for EXT:QUIT and also to protect from unwanted transfers of control. 2009-11-08 15:38:33 +01:00
Juan Jose Garcia Ripoll
57aa2b2310 Increase release number. 2009-11-08 15:19:04 +01:00
Juan Jose Garcia Ripoll
9c2297058c New function EXT:ARRAY-RAW-DATA returns an array of octets that overlaps with the data of a given array. 2009-11-08 15:04:37 +01:00
Alexander Gavrilov
c567ef5d1c Fix shared slot initialization.
Shared slots must not be initialized every time an
instance is created, and the initform must be called
in the dynamic context of defclass, i.e. immediately
and only once.
2009-11-08 00:59:10 +01:00
Alexander Gavrilov
46671dfbe4 Fix propagation of class finalization.
Instead of calling reinitialize-instance, directly
invoke finalize on the subclasses. Also remove subclass
links from parents when the superclass list is changed.
2009-11-08 00:58:54 +01:00
Juan Jose Garcia Ripoll
ce91c03f9d * Created a new class, FUNCALLABLE-STANDARD-CLASS.
* Create a new class STD-CLASS that sits between CLASS and the
  two children STANDARD-CLASS and FUNCALLABLE-STANDARD-CLASS.
* Generic functions are now of type FUNCALLABLE-STANDARD-OBJECT.
Based on a patch by A. Gavrilov.
2009-11-08 00:58:36 +01:00
Alexander Gavrilov
35fd642cd6 built-in-class should be an instance of standard-class. 2009-11-07 23:46:50 +01:00
Alexander Gavrilov
9ce281fcc7 Fix the +the-standard-class+ constant.
It was NIL because of a typo. Also, class-slot-table
is actually called simply slot-table, and the order
of gethash arguments was wrong. However, it still
does not work, so disable the condition.
2009-11-07 23:46:35 +01:00
Juan Jose Garcia Ripoll
1d35794ba9 src/lsp/predlib.lsp: SUBTYPEP fails when one of the arguments is an unfinalized class. 2009-11-07 23:43:54 +01:00
Juan Jose Garcia Ripoll
8e9c6dcad6 ECL's compiler now interprets the IGNORABLE declaration. 2009-11-07 23:12:57 +01:00
Juan Jose Garcia Ripoll
f26fcc9001 Removed a spurious warning in ffi:def-foreign-var (Andy Hefner) 2009-11-07 22:27:29 +01:00
Juan Jose Garcia Ripoll
5b9d7c562b src/c/load.d:
* In cygwin, FASL files can not lack a file extension, because dlopen()
  then looks for a file ending in .dll and fails.
* In cygwin, files that are dlopen'ed must have executable permissions.
2009-11-01 20:28:04 +01:00
Juan Jose Garcia Ripoll
db15bbaa83 si:copy-file must be protected against interrupts 2009-11-01 20:26:23 +01:00
Juan Jose Garcia Ripoll
137c26782d In cygwin, the DLL has to be installed in two locations 2009-11-01 20:26:06 +01:00
Juan Jose Garcia Ripoll
438fac9bda FEwin32_error is exported also in cygwin 2009-11-01 20:25:37 +01:00
Juan Jose Garcia Ripoll
3ab430eb58 Note latest fixes in CHANGELOG. 2009-11-01 02:42:18 +01:00
Juan Jose Garcia Ripoll
e6eee9f5d1 contrib/asdf/asdf-ecl.lisp:
* added a field :prologue-code to the monolithic operation. This field works
  just like the previous :epilogue-code.
* gather-components uses a new way to list the set of load-op operations that
  ASDF would normally produce.
* library operations would collect too many object files by not filtering
  by system. This was probably a typo in bundle-sub-operations.
2009-11-01 02:41:15 +01:00
Juan Jose Garcia Ripoll
6e7caff184 The :prologue-code in cmp:builder is now executed after cl_boot() and it can be lisp code. 2009-11-01 02:38:36 +01:00