Commit graph

5506 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
5be366b8e0 Slot definitions are now always instances, not lists 2012-10-07 22:09:45 +02:00
Juan Jose Garcia Ripoll
519e6dcfbe std-accessors.lsp now after kernel.lsp because we might need to use actual methods for the accessors 2012-10-07 22:09:45 +02:00
Juan Jose Garcia Ripoll
a891a254d4 In std-accessors, use slot-value instead of accessors, so that the functions can be used to instantiate accessors at boot time. 2012-10-07 22:09:45 +02:00
Juan Jose Garcia Ripoll
d35e40d525 ENSURE-UP-TO-DATE-INSTANCE is unsafe. 2012-10-07 22:09:45 +02:00
Juan Jose Garcia Ripoll
9db8116248 STRUCTURE-CLASS and STRUCTURE-OBJECT are now created at boot time 2012-10-07 22:09:45 +02:00
Juan Jose Garcia Ripoll
6bb1155f84 in std-accessors.lsp, generate-accessors honors the value of slot-definition-location 2012-10-07 22:09:45 +02:00
Juan Jose Garcia Ripoll
43a5b0fdae Generating accessors happens at a later stage in std-accessors.lsp 2012-10-07 22:09:45 +02:00
Juan Jose Garcia Ripoll
e8ac760e2c Split the routines for generating accessor functions into a file that can be loaded at boot time 2012-10-07 22:09:45 +02:00
Juan Jose Garcia Ripoll
18e7a43603 Method combinations are built using with-early-make-instance 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
6459061654 In with-early-make-instance, only collect initialization forms from slots that are not initially unbound 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
864810c3a6 Fixed typo in method-combination-slots in hierarchy.lsp 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
9949e17b22 Fixes in with-early-make-instance 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
4f983c9770 In boot.lsp, add-method now uses direct access to slots 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
1b2d00ad72 Early definition of the standard class slots so that slot-value is available ASAP 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
06c14a2d1a FIND-DEFINITION still depended on generic functions 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
dff58e7765 Use slot-value in cpl.lsp so that it also works at boot time without accessors 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
88db3f8dbf Reorganize the code so that SLOT-VALUE is available at boot time. 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
3fc09351ea Final changes to make all accessors generic functions, including the MOP standard ones, avoiding infinite recursion. 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
53ffe3dd40 The dispatch protocol for generic functions no longer uses generic functions for accessing slots. The comments explain why. 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
ed78ecd2ea Fixed accessor redefinition (recursion problem still persists) 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
0563353926 Add missing copyright to stdmethod.lsp 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
2f51a8ee7a boot.lsp also creates standard-accessor-method classes 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
3eb0de2392 Reimplemented early make-method using with-early-make-instance 2012-10-07 22:09:44 +02:00
Juan Jose Garcia Ripoll
ec9b297701 Redo first-to-last change 2012-10-07 22:09:43 +02:00
Juan Jose Garcia Ripoll
376b17fde8 Undo the change that creates accessors 2012-10-07 22:09:43 +02:00
Juan Jose Garcia Ripoll
863aa5efdc Slot accesors are generic functions, they do not have a C name 2012-10-07 22:09:43 +02:00
Juan Jose Garcia Ripoll
ff18eac6ba Add missing quote in standard.lsp 2012-10-07 22:09:43 +02:00
Juan Jose Garcia Ripoll
3fdb849d65 Bootstrap accessors are now created as closures. 2012-10-07 22:09:43 +02:00
Juan Jose Garcia Ripoll
b0eeaabe26 Changed the boot order to create the classes before the generic functions utilities in kernel.lsp are available. 2012-10-07 22:09:43 +02:00
Juan Jose Garcia Ripoll
b390d289b5 Split from boot.lsp anything not related to the class hierarchy 2012-10-07 22:09:43 +02:00
Juan Jose Garcia Ripoll
409d27df97 Implemented WITH-EARLY-ACCESSORS to avoid using actual functions when bootstrapping the classes 2012-10-07 22:09:43 +02:00
Juan Jose Garcia Ripoll
bc2ddb6539 Change the syntax of early-make-instance to make it a with- macro where the instance can be early referenced 2012-10-07 22:09:43 +02:00
Juan Jose Garcia Ripoll
d799c7a4e7 All accessors are redefined as generic functions after bootstrapping ECL 2012-10-05 23:04:12 +02:00
Juan Jose Garcia Ripoll
5acf316523 The bootstrap version of ensure-generic-function is more complete 2012-10-05 22:35:05 +02:00
Juanjo Garcia-Ripoll
a691f4cc5b standard-generic-function and standard-method are now in boot.lsp 2012-10-05 17:05:54 +02:00
Juanjo Garcia-Ripoll
f79a276452 method, funcallable-standard-object and generic-function are now created in boot.lsp 2012-10-05 16:53:37 +02:00
Juanjo Garcia-Ripoll
3409980ba5 Save some space in boot.lsp by removing explicit metaclasses in the list 2012-10-05 16:02:52 +02:00
Juanjo Garcia-Ripoll
632e208a5c Builtin in classes are now also created in boot.lsp 2012-10-05 16:00:04 +02:00
Juanjo Garcia-Ripoll
add4b1bb29 The classes array is created in boot.lsp 2012-10-05 15:55:12 +02:00
Juanjo Garcia-Ripoll
4713332cf3 The whole class hierarchy root is built by make-empty-standard-class, without extra statements outside it 2012-10-05 15:38:02 +02:00
Juanjo Garcia-Ripoll
c5886d2471 Add functionality to MAKE-EMTPY-SSTANDARD-CLASS 2012-10-05 15:14:55 +02:00
Juan Jose Garcia Ripoll
afafaae325 file.d now signals file-errors and stream-errors when stream operators fail due to the C library 2012-10-02 00:39:24 +02:00
Juan Jose Garcia Ripoll
42f0b2eaa5 Fixed problems in ecl_register_current_thread(). First, allocation of environment and process structures could not proceed when ecl_process_env() did not return a valid environment. Second, we can only call GC_unregister_my_thread() when the thread was not created by the garbage collector itself, for which we must inspect the output of GC_register_my_thread() 2012-09-27 23:06:56 +02:00
Juan Jose Garcia Ripoll
87a529c883 Move on and use gc-unstable 2012-09-27 23:05:20 +02:00
Juan Jose Garcia Ripoll
160b29795c The errors when loading a shared library were stored in the wrong field in the codeblock 2012-09-24 22:16:57 +02:00
Juan Jose Garcia Ripoll
554fc892d4 In some circumstances, gethash acting on a weak hash would return corrupt values 2012-09-21 23:02:44 +02:00
Juan Jose Garcia Ripoll
ce653d889d Do not hard-code the name of generic function accessors in compiled code 2012-09-16 22:37:24 +02:00
Juan Jose Garcia Ripoll
91356f2db9 List CMP as a dependency of PREBUILT-ASDF (M. Cox) 2012-09-15 22:09:41 +02:00
Juan Jose Garcia Ripoll
dfc94901c4 delete-file, rename-file, chdir, mkdir and chmod now signal file-errors 2012-09-02 21:46:38 +02:00
Juan Jose Garcia Ripoll
5f4c7eee93 Coercions needed to compile on Windows with C++ compiler. 2012-08-25 00:24:46 +02:00